Nokia 5110 Library
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 |
diff -r c299b1099189 -r f3b30020324f N5110.cpp --- 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 } }
diff -r c299b1099189 -r f3b30020324f N5110.h --- 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