Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 51:f3b30020324f, committed 2022-01-14
- Comitter:
- tomazitas
- Date:
- Fri Jan 14 21:36:29 2022 +0000
- Parent:
- 50:c299b1099189
- Commit message:
- ...
Changed in this revision
N5110.cpp | Show annotated file Show diff for this revision Revisions of this file |
N5110.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/N5110.cpp Wed Jan 15 16:41:35 2020 +0000 +++ b/N5110.cpp Fri Jan 14 21:36:29 2022 +0000 @@ -56,17 +56,18 @@ void N5110::init() { turnOn(); // power up + wait_ms(10); // small delay seems to prevent spurious pixels during mbed reset reset(); // reset LCD - must be done within 100 ms - initSPI(); + // initSPI(); - setContrast(0.5); // this may need tuning (say 0.4 to 0.6) - setBias(5); // datasheet - 48:1 mux - don't mess with if you don't know what you're doing! (0 to 7) + setContrast(0.55); // this may need tuning (say 0.4 to 0.6) + setBias(3); // datasheet - 48:1 mux - don't mess with if you don't know what you're doing! (0 to 7) setTempCoefficient(0); // datasheet - may need increasing (range 0 to 3) at very low temperatures normalMode(); // normal video mode by default clearRAM(); // RAM is undefined at power-up so clear to be sure clear(); // clear buffer - setBrightness(0.1); + setBrightness(0.5); } // sets normal video mode (black on white) @@ -188,8 +189,8 @@ // function to initialise SPI peripheral void N5110::initSPI() { - _spi->format(8,0); // 8 bits, Mode 1 - polarity 0, phase 1 - base value of clock is 0, data captured on falling edge/propagated on rising edge - _spi->frequency(2250000); // maximum of screen is 4 MHz + _spi->format(8,1); // 8 bits, Mode 1 - polarity 0, phase 1 - base value of clock is 0, data captured on falling edge/propagated on rising edge + _spi->frequency(4000000); // maximum of screen is 4 MHz } // send a command to the display @@ -283,8 +284,8 @@ _sce->write(0); //set CE low to begin frame - for(int j = BANKS-1; j>=0; j--) { // be careful to use correct order (j,i) for horizontal addressing - for(int i =WIDTH-1; i>=0; i--) { + for(int j = 0; j < BANKS; j++) { // be careful to use correct order (j,i) for horizontal addressing + for(int i = 0; i < WIDTH; i++) { _spi->write(buffer[i][j]); // send buffer } }
--- a/N5110.h Wed Jan 15 16:41:35 2020 +0000 +++ b/N5110.h Fri Jan 14 21:36:29 2022 +0000 @@ -23,10 +23,10 @@ @brief The library can print primitive shapes (lines, circles, rectangles) @brief Acknowledgements to Chris Yan's Nokia_5110 Library. -@brief Revision 1.3 +@brief Revision 1.4 -@author Craig A. Evans -@date 7th February 2017 +@upgraded Dr. Edmond Nurellari +@date 1st December 2021 @code @@ -433,486 +433,102 @@ }; const unsigned char font5x7[480] = { - 0x0, -0x0, -0x0, -0x0, -0x0, -0x0, -0x0, -0x7d, -0x0, -0x0, -0x0, -0x70, -0x0, -0x70, -0x0, -0x14, -0x7f, -0x14, -0x7f, -0x14, -0x12, -0x2a, -0x7f, -0x2a, -0x24, -0x62, -0x64, -0x8, -0x13, -0x23, -0x36, -0x49, -0x55, -0x22, -0x5, -0x0, -0x50, -0x60, -0x0, -0x0, -0x0, -0x1c, -0x22, -0x41, -0x0, -0x0, -0x41, -0x22, -0x1c, -0x0, -0x8, -0x2a, -0x1c, -0x2a, -0x8, -0x8, -0x8, -0x3e, -0x8, -0x8, -0x0, -0x5, -0x6, -0x0, -0x0, -0x8, -0x8, -0x8, -0x8, -0x8, -0x0, -0x3, -0x3, -0x0, -0x0, -0x2, -0x4, -0x8, -0x10, -0x20, -0x3e, -0x45, -0x49, -0x51, -0x3e, -0x0, -0x21, -0x7f, -0x1, -0x0, -0x21, -0x43, -0x45, -0x49, -0x31, -0x42, -0x41, -0x51, -0x69, -0x46, -0xc, -0x14, -0x24, -0x7f, -0x4, -0x72, -0x51, -0x51, -0x51, -0x4e, -0x1e, -0x29, -0x49, -0x49, -0x6, -0x40, -0x47, -0x48, -0x50, -0x60, -0x36, -0x49, -0x49, -0x49, -0x36, -0x30, -0x49, -0x49, -0x4a, -0x3c, -0x0, -0x36, -0x36, -0x0, -0x0, -0x0, -0x35, -0x36, -0x0, -0x0, -0x0, -0x8, -0x14, -0x22, -0x41, -0x14, -0x14, -0x14, -0x14, -0x14, -0x41, -0x22, -0x14, -0x8, -0x0, -0x20, -0x40, -0x45, -0x48, -0x30, -0x26, -0x49, -0x4f, -0x41, -0x3e, -0x3f, -0x44, -0x44, -0x44, -0x3f, -0x7f, -0x49, -0x49, -0x49, -0x36, -0x3e, -0x41, -0x41, -0x41, -0x22, -0x7f, -0x41, -0x41, -0x22, -0x1c, -0x7f, -0x49, -0x49, -0x49, -0x41, -0x7f, -0x48, -0x48, -0x40, -0x40, -0x3e, -0x41, -0x41, -0x45, -0x26, -0x7f, -0x8, -0x8, -0x8, -0x7f, -0x0, -0x41, -0x7f, -0x41, -0x0, -0x2, -0x1, -0x41, -0x7e, -0x40, -0x7f, -0x8, -0x14, -0x22, -0x41, -0x7f, -0x1, -0x1, -0x1, -0x1, -0x7f, -0x20, -0x10, -0x20, -0x7f, -0x7f, -0x10, -0x8, -0x4, -0x7f, -0x3e, -0x41, -0x41, -0x41, -0x3e, -0x7f, -0x48, -0x48, -0x48, -0x30, -0x3e, -0x41, -0x45, -0x42, -0x3d, -0x7f, -0x48, -0x4c, -0x4a, -0x31, -0x31, -0x49, -0x49, -0x49, -0x46, -0x40, -0x40, -0x7f, -0x40, -0x40, -0x7e, -0x1, -0x1, -0x1, -0x7e, -0x7c, -0x2, -0x1, -0x2, -0x7c, -0x7f, -0x2, -0xc, -0x2, -0x7f, -0x63, -0x14, -0x8, -0x14, -0x63, -0x60, -0x10, -0xf, -0x10, -0x60, -0x43, -0x45, -0x49, -0x51, -0x61, -0x0, -0x0, -0x7f, -0x41, -0x41, -0x20, -0x10, -0x8, -0x4, -0x2, -0x41, -0x41, -0x7f, -0x0, -0x0, -0x10, -0x20, -0x40, -0x20, -0x10, -0x1, -0x1, -0x1, -0x1, -0x1, -0x0, -0x40, -0x20, -0x10, -0x0, -0x2, -0x15, -0x15, -0x15, -0xf, -0x7f, -0x9, -0x11, -0x11, -0xe, -0xe, -0x11, -0x11, -0x11, -0x2, -0xe, -0x11, -0x11, -0x9, -0x7f, -0xe, -0x15, -0x15, -0x15, -0xc, -0x8, -0x3f, -0x48, -0x40, -0x20, -0x8, -0x14, -0x15, -0x15, -0x1e, -0x7f, -0x8, -0x10, -0x10, -0xf, -0x0, -0x11, -0x5f, -0x1, -0x0, -0x2, -0x1, -0x11, -0x5e, -0x0, -0x0, -0x7f, -0x4, -0xa, -0x11, -0x0, -0x41, -0x7f, -0x1, -0x0, -0x1f, -0x10, -0xc, -0x10, -0xf, -0x1f, -0x8, -0x10, -0x10, -0xf, -0xe, -0x11, -0x11, -0x11, -0xe, -0x1f, -0x14, -0x14, -0x14, -0x8, -0x8, -0x14, -0x14, -0xc, -0x1f, -0x1f, -0x8, -0x10, -0x10, -0x8, -0x9, -0x15, -0x15, -0x15, -0x2, -0x10, -0x7e, -0x11, -0x1, -0x2, -0x1e, -0x1, -0x1, -0x2, -0x1f, -0x1c, -0x2, -0x1, -0x2, -0x1c, -0x1e, -0x1, -0x6, -0x1, -0x1e, -0x11, -0xa, -0x4, -0xa, -0x11, -0x18, -0x5, -0x5, -0x5, -0x1e, -0x11, -0x13, -0x15, -0x19, -0x11, -0x0, -0x8, -0x36, -0x41, -0x0, -0x0, -0x0, -0x7f, -0x0, -0x0, -0x0, -0x41, -0x36, -0x8, -0x0, -0x8, -0x8, -0x2a, -0x1c, -0x8, -0x8, -0x1c, -0x2a, -0x8, -0x8 + 0x00, 0x00, 0x00, 0x00, 0x00,// (space) + 0x00, 0x00, 0x5F, 0x00, 0x00,// ! + 0x00, 0x07, 0x00, 0x07, 0x00,// " + 0x14, 0x7F, 0x14, 0x7F, 0x14,// # + 0x24, 0x2A, 0x7F, 0x2A, 0x12,// $ + 0x23, 0x13, 0x08, 0x64, 0x62,// % + 0x36, 0x49, 0x55, 0x22, 0x50,// & + 0x00, 0x05, 0x03, 0x00, 0x00,// ' + 0x00, 0x1C, 0x22, 0x41, 0x00,// ( + 0x00, 0x41, 0x22, 0x1C, 0x00,// ) + 0x08, 0x2A, 0x1C, 0x2A, 0x08,// * + 0x08, 0x08, 0x3E, 0x08, 0x08,// + + 0x00, 0x50, 0x30, 0x00, 0x00,// , + 0x08, 0x08, 0x08, 0x08, 0x08,// - + 0x00, 0x60, 0x60, 0x00, 0x00,// . + 0x20, 0x10, 0x08, 0x04, 0x02,// / + 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0 + 0x00, 0x42, 0x7F, 0x40, 0x00,// 1 + 0x42, 0x61, 0x51, 0x49, 0x46,// 2 + 0x21, 0x41, 0x45, 0x4B, 0x31,// 3 + 0x18, 0x14, 0x12, 0x7F, 0x10,// 4 + 0x27, 0x45, 0x45, 0x45, 0x39,// 5 + 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6 + 0x01, 0x71, 0x09, 0x05, 0x03,// 7 + 0x36, 0x49, 0x49, 0x49, 0x36,// 8 + 0x06, 0x49, 0x49, 0x29, 0x1E,// 9 + 0x00, 0x36, 0x36, 0x00, 0x00,// : + 0x00, 0x56, 0x36, 0x00, 0x00,// ; + 0x00, 0x08, 0x14, 0x22, 0x41,// < + 0x14, 0x14, 0x14, 0x14, 0x14,// = + 0x41, 0x22, 0x14, 0x08, 0x00,// > + 0x02, 0x01, 0x51, 0x09, 0x06,// ? + 0x32, 0x49, 0x79, 0x41, 0x3E,// @ + 0x7E, 0x11, 0x11, 0x11, 0x7E,// A + 0x7F, 0x49, 0x49, 0x49, 0x36,// B + 0x3E, 0x41, 0x41, 0x41, 0x22,// C + 0x7F, 0x41, 0x41, 0x22, 0x1C,// D + 0x7F, 0x49, 0x49, 0x49, 0x41,// E + 0x7F, 0x09, 0x09, 0x01, 0x01,// F + 0x3E, 0x41, 0x41, 0x51, 0x32,// G + 0x7F, 0x08, 0x08, 0x08, 0x7F,// H + 0x00, 0x41, 0x7F, 0x41, 0x00,// I + 0x20, 0x40, 0x41, 0x3F, 0x01,// J + 0x7F, 0x08, 0x14, 0x22, 0x41,// K + 0x7F, 0x40, 0x40, 0x40, 0x40,// L + 0x7F, 0x02, 0x04, 0x02, 0x7F,// M + 0x7F, 0x04, 0x08, 0x10, 0x7F,// N + 0x3E, 0x41, 0x41, 0x41, 0x3E,// O + 0x7F, 0x09, 0x09, 0x09, 0x06,// P + 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q + 0x7F, 0x09, 0x19, 0x29, 0x46,// R + 0x46, 0x49, 0x49, 0x49, 0x31,// S + 0x01, 0x01, 0x7F, 0x01, 0x01,// T + 0x3F, 0x40, 0x40, 0x40, 0x3F,// U + 0x1F, 0x20, 0x40, 0x20, 0x1F,// V + 0x7F, 0x20, 0x18, 0x20, 0x7F,// W + 0x63, 0x14, 0x08, 0x14, 0x63,// X + 0x03, 0x04, 0x78, 0x04, 0x03,// Y + 0x61, 0x51, 0x49, 0x45, 0x43,// Z + 0x00, 0x00, 0x7F, 0x41, 0x41,// [ + 0x02, 0x04, 0x08, 0x10, 0x20,// "\" + 0x41, 0x41, 0x7F, 0x00, 0x00,// ] + 0x04, 0x02, 0x01, 0x02, 0x04,// ^ + 0x40, 0x40, 0x40, 0x40, 0x40,// _ + 0x00, 0x01, 0x02, 0x04, 0x00,// ` + 0x20, 0x54, 0x54, 0x54, 0x78,// a + 0x7F, 0x48, 0x44, 0x44, 0x38,// b + 0x38, 0x44, 0x44, 0x44, 0x20,// c + 0x38, 0x44, 0x44, 0x48, 0x7F,// d + 0x38, 0x54, 0x54, 0x54, 0x18,// e + 0x08, 0x7E, 0x09, 0x01, 0x02,// f + 0x08, 0x14, 0x54, 0x54, 0x3C,// g + 0x7F, 0x08, 0x04, 0x04, 0x78,// h + 0x00, 0x44, 0x7D, 0x40, 0x00,// i + 0x20, 0x40, 0x44, 0x3D, 0x00,// j + 0x00, 0x7F, 0x10, 0x28, 0x44,// k + 0x00, 0x41, 0x7F, 0x40, 0x00,// l + 0x7C, 0x04, 0x18, 0x04, 0x78,// m + 0x7C, 0x08, 0x04, 0x04, 0x78,// n + 0x38, 0x44, 0x44, 0x44, 0x38,// o + 0x7C, 0x14, 0x14, 0x14, 0x08,// p + 0x08, 0x14, 0x14, 0x18, 0x7C,// q + 0x7C, 0x08, 0x04, 0x04, 0x08,// r + 0x48, 0x54, 0x54, 0x54, 0x20,// s + 0x04, 0x3F, 0x44, 0x40, 0x20,// t + 0x3C, 0x40, 0x40, 0x20, 0x7C,// u + 0x1C, 0x20, 0x40, 0x20, 0x1C,// v + 0x3C, 0x40, 0x30, 0x40, 0x3C,// w + 0x44, 0x28, 0x10, 0x28, 0x44,// x + 0x0C, 0x50, 0x50, 0x50, 0x3C,// y + 0x44, 0x64, 0x54, 0x4C, 0x44,// z + 0x00, 0x08, 0x36, 0x41, 0x00,// { + 0x00, 0x00, 0x7F, 0x00, 0x00,// | + 0x00, 0x41, 0x36, 0x08, 0x00,// } + 0x08, 0x08, 0x2A, 0x1C, 0x08,// -> + 0x08, 0x1C, 0x2A, 0x08, 0x08 // <- }; #endif \ No newline at end of file