GraphicLCD
GraphicLCD.cpp@0:7b99602b9bb1, 2019-06-04 (annotated)
- Committer:
- williequesada
- Date:
- Tue Jun 04 16:02:42 2019 +0000
- Revision:
- 0:7b99602b9bb1
compartir a Pablo
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
williequesada | 0:7b99602b9bb1 | 1 | |
williequesada | 0:7b99602b9bb1 | 2 | #include "GraphicLCD.h" |
williequesada | 0:7b99602b9bb1 | 3 | #include "mbed.h" |
williequesada | 0:7b99602b9bb1 | 4 | #include "stdio.h" |
williequesada | 0:7b99602b9bb1 | 5 | |
williequesada | 0:7b99602b9bb1 | 6 | #define MaxColumn 240 |
williequesada | 0:7b99602b9bb1 | 7 | #define MaxRow 64 |
williequesada | 0:7b99602b9bb1 | 8 | #define graphic_home_address ((MaxColumn /8) *(MaxRow/8)) |
williequesada | 0:7b99602b9bb1 | 9 | #define LOW_BYTE 0 |
williequesada | 0:7b99602b9bb1 | 10 | #define HI_BYTE 30 |
williequesada | 0:7b99602b9bb1 | 11 | |
williequesada | 0:7b99602b9bb1 | 12 | const uint8_t Font_HelvR14[] = { // {Width, Height, Down, Start, Data30} https://github.com/olikraus/u8glib/blob/master/tools/font/bdf/courR14.bdf |
williequesada | 0:7b99602b9bb1 | 13 | |
williequesada | 0:7b99602b9bb1 | 14 | 4,0,0,0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Space |
williequesada | 0:7b99602b9bb1 | 15 | 8,4,0,0,0x03,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ! Tilde |
williequesada | 0:7b99602b9bb1 | 16 | 6,5,0,0,0xCC,0x00,0xCC,0x00,0xCC,0x00,0x44,0x00,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " |
williequesada | 0:7b99602b9bb1 | 17 | 8,15,1,0,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x12,0x00,0x7F,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0xFE,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00,0x24,0x00, // # |
williequesada | 0:7b99602b9bb1 | 18 | 6,15,1,0,0x10,0x00,0x10,0x00,0x74,0x00,0x8C,0x00,0x84,0x00,0x80,0x00,0x60,0x00,0x18,0x00,0x04,0x00,0x84,0x00,0xC4,0x00,0xB8,0x00,0x10,0x00,0x10,0x00,0x10,0x00, // $ |
williequesada | 0:7b99602b9bb1 | 19 | 9,12,0,1,0x38,0x00,0x44,0x00,0x44,0x00,0x44,0x00,0x39,0x80,0x0E,0x00,0x30,0x00,0xCE,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // % |
williequesada | 0:7b99602b9bb1 | 20 | 7,10,0,4,0x38,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x74,0x00,0x88,0x00,0x88,0x00,0x98,0x00,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // & |
williequesada | 0:7b99602b9bb1 | 21 | 2,5,0,0,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' |
williequesada | 0:7b99602b9bb1 | 22 | 3,14,0,0,0x20,0x00,0x40,0x00,0x40,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00, // ( |
williequesada | 0:7b99602b9bb1 | 23 | 8,8,0,4,0x10,0x00,0x10,0x00,0x10,0x00,0xFE,0x00,0x10,0x00,0x28,0x00,0x44,0x00,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ) |
williequesada | 0:7b99602b9bb1 | 24 | 8,14,0,0,0x14,0x00,0x14,0x00,0x3E,0x00,0x7F,0x00,0x77,0x00,0xD4,0x00,0xD4,0x00,0xD4,0x00,0xD4,0x00,0x77,0x00,0x7F,0x00,0x3E,0x00,0x14,0x00,0x14,0x00,0x00,0x00, // * |
williequesada | 0:7b99602b9bb1 | 25 | 9,9,0,3,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0xFF,0x80,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // + |
williequesada | 0:7b99602b9bb1 | 26 | 5,4,0,9,0x30,0x00,0x30,0x00,0x60,0x00,0x40,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // , |
williequesada | 0:7b99602b9bb1 | 27 | 8,2,0,6,0xFF,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // - |
williequesada | 0:7b99602b9bb1 | 28 | 2,2,0,12,0xC0,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // . |
williequesada | 0:7b99602b9bb1 | 29 | 8,16,0,0,0x01,0x00,0x01,0x00,0x02,0x00,0x02,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0x08,0x00,0x10,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x80,0x00, // / |
williequesada | 0:7b99602b9bb1 | 30 | 8,13,0,1,0x3C,0x00,0x7E,0x00,0x66,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0x66,0x00,0x7E,0x00,0x3C,0x00,0x00,0x00,0x00,0x00, // 0 |
williequesada | 0:7b99602b9bb1 | 31 | 5,13,0,1,0x18,0x00,0xF8,0x00,0xF8,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00, // 1 |
williequesada | 0:7b99602b9bb1 | 32 | 8,13,0,1,0x3C,0x00,0xFE,0x00,0xC3,0x00,0x03,0x00,0x07,0x00,0x0E,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0xC0,0x00,0xFF,0x00,0xFF,0x00,0x00,0x00,0x00,0x00, // 2 |
williequesada | 0:7b99602b9bb1 | 33 | 8,13,0,1,0x3E,0x00,0x7F,0x00,0xC3,0x00,0xC3,0x00,0x06,0x00,0x1C,0x00,0x1E,0x00,0x07,0x00,0x03,0x00,0xC3,0x00,0xC7,0x00,0x7E,0x00,0x3C,0x00,0x00,0x00,0x00,0x00, // 3 |
williequesada | 0:7b99602b9bb1 | 34 | 9,13,0,1,0x03,0x00,0x07,0x00,0x0F,0x00,0x1B,0x00,0x33,0x00,0x33,0x00,0x63,0x00,0xC3,0x00,0xFF,0x80,0xFF,0x80,0x03,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00, // 4 |
williequesada | 0:7b99602b9bb1 | 35 | 8,13,0,1,0xFE,0x00,0xFE,0x00,0xC0,0x00,0xC0,0x00,0xFC,0x00,0xFE,0x00,0xC7,0x00,0x03,0x00,0x03,0x00,0xC3,0x00,0xC7,0x00,0xFE,0x00,0x7C,0x00,0x00,0x00,0x00,0x00, // 5 |
williequesada | 0:7b99602b9bb1 | 36 | 8,13,0,1,0x3C,0x00,0x7F,0x00,0x63,0x00,0xC0,0x00,0xC0,0x00,0xDC,0x00,0xFE,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xE3,0x00,0x7E,0x00,0x3C,0x00,0x00,0x00,0x00,0x00, // 6 |
williequesada | 0:7b99602b9bb1 | 37 | 8,13,0,1,0xFF,0x00,0xFF,0x00,0x03,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x18,0x00,0x18,0x00,0x30,0x00,0x30,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00, // 7 |
williequesada | 0:7b99602b9bb1 | 38 | 8,13,0,1,0x3C,0x00,0x7E,0x00,0xE7,0x00,0xC3,0x00,0xC3,0x00,0x66,0x00,0x7E,0x00,0xE7,0x00,0xC3,0x00,0xC3,0x00,0xE7,0x00,0x7E,0x00,0x3C,0x00,0x00,0x00,0x00,0x00, // 8 |
williequesada | 0:7b99602b9bb1 | 39 | 8,13,0,1,0x3C,0x00,0x7E,0x00,0xC7,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0x7F,0x00,0x3B,0x00,0x03,0x00,0x03,0x00,0xC6,0x00,0xFE,0x00,0x7C,0x00,0x00,0x00,0x00,0x00, // 9 |
williequesada | 0:7b99602b9bb1 | 40 | 2,8,0,5,0xC0,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // : |
williequesada | 0:7b99602b9bb1 | 41 | 4,11,2,5,0x30,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x60,0x00,0x40,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ; |
williequesada | 0:7b99602b9bb1 | 42 | 10,9,0,4,0x00,0xC0,0x03,0x00,0x0C,0x00,0x30,0x00,0xC0,0x00,0x30,0x00,0x0C,0x00,0x03,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // < |
williequesada | 0:7b99602b9bb1 | 43 | 9,4,0,5,0xFF,0x80,0x00,0x00,0x00,0x00,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // = |
williequesada | 0:7b99602b9bb1 | 44 | 10,9,0,4,0xC0,0x00,0x30,0x00,0x0C,0x00,0x03,0x00,0x00,0xC0,0x03,0x00,0x0C,0x00,0x30,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // > |
williequesada | 0:7b99602b9bb1 | 45 | 7,11,0,2,0x7C,0x00,0x82,0x00,0x82,0x00,0x02,0x00,0x02,0x00,0x1C,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ? |
williequesada | 0:7b99602b9bb1 | 46 | 8,13,0,1,0x38,0x00,0x44,0x00,0x82,0x00,0x82,0x00,0x8E,0x00,0x92,0x00,0x92,0x00,0x92,0x00,0x8F,0x00,0x80,0x00,0x80,0x00,0x43,0x00,0x3C,0x00,0x00,0x00,0x00,0x00, // @ |
williequesada | 0:7b99602b9bb1 | 47 | 12,14,0,0,0x06,0x00,0x06,0x00,0x0F,0x00,0x0F,0x00,0x19,0x80,0x19,0x80,0x30,0xC0,0x30,0xC0,0x3F,0xC0,0x7F,0xE0,0x60,0x60,0x60,0x60,0xC0,0x30,0xC0,0x30,0x00,0x00, // A |
williequesada | 0:7b99602b9bb1 | 48 | 11,14,0,0,0xFF,0x00,0xFF,0x80,0xC1,0xC0,0xC0,0xC0,0xC0,0xC0,0xC1,0x80,0xFF,0x80,0xFF,0xC0,0xC0,0xE0,0xC0,0x60,0xC0,0x60,0xC0,0xE0,0xFF,0xC0,0xFF,0x80,0x00,0x00, // B |
williequesada | 0:7b99602b9bb1 | 49 | 12,14,0,0,0x0F,0x80,0x3F,0xE0,0x70,0x70,0x60,0x30,0xE0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xE0,0x00,0x60,0x30,0x70,0x70,0x3F,0xE0,0x0F,0x80,0x00,0x00, // C |
williequesada | 0:7b99602b9bb1 | 50 | 12,14,0,0,0xFF,0x80,0xFF,0xC0,0xC0,0xE0,0xC0,0x60,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x60,0xC0,0xE0,0xFF,0xC0,0xFF,0x80,0x00,0x00, // D |
williequesada | 0:7b99602b9bb1 | 51 | 10,14,0,0,0xFF,0xC0,0xFF,0xC0,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xFF,0x80,0xFF,0x80,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xFF,0xC0,0xFF,0xC0,0x00,0x00, // E |
williequesada | 0:7b99602b9bb1 | 52 | 9,14,0,0,0xFF,0x80,0xFF,0x80,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xFF,0x00,0xFF,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x00,0x00, // F |
williequesada | 0:7b99602b9bb1 | 53 | 13,14,0,0,0x0F,0xC0,0x3F,0xF0,0x70,0x38,0x60,0x18,0xE0,0x18,0xC0,0x00,0xC0,0x00,0xC0,0xF8,0xC0,0xF8,0xE0,0x18,0x60,0x18,0x70,0x38,0x3F,0xF8,0x0F,0xD8,0x00,0x00, // G |
williequesada | 0:7b99602b9bb1 | 54 | 11,14,0,0,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xFF,0xE0,0xFF,0xE0,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0x00,0x00, // H |
williequesada | 0:7b99602b9bb1 | 55 | 2,14,0,0,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x00,0x00, // I |
williequesada | 0:7b99602b9bb1 | 56 | 8,14,0,0,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0xC3,0x00,0xC3,0x00,0xE7,0x00,0x7E,0x00,0x3C,0x00,0x00,0x00, // J |
williequesada | 0:7b99602b9bb1 | 57 | 12,14,0,0,0xC0,0xE0,0xC1,0xC0,0xC3,0x80,0xC7,0x00,0xCE,0x00,0xDC,0x00,0xF8,0x00,0xFC,0x00,0xCE,0x00,0xC7,0x00,0xC3,0x80,0xC1,0xC0,0xC0,0xE0,0xC0,0x70,0x00,0x00, // K |
williequesada | 0:7b99602b9bb1 | 58 | 9,14,0,0,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xFF,0x80,0xFF,0x80,0x00,0x00, // L |
williequesada | 0:7b99602b9bb1 | 59 | 14,14,0,0,0xC0,0x0C,0xC0,0x0C,0xE0,0x1C,0xE0,0x1C,0xF0,0x3C,0xF0,0x3C,0xD8,0x6C,0xD8,0x6C,0xCC,0xCC,0xCC,0xCC,0xC4,0x8C,0xC7,0x8C,0xC3,0x0C,0xC3,0x0C,0x00,0x00, // M |
williequesada | 0:7b99602b9bb1 | 60 | 11,14,0,0,0xC0,0x60,0xE0,0x60,0xF0,0x60,0xF0,0x60,0xD8,0x60,0xCC,0x60,0xCC,0x60,0xC6,0x60,0xC6,0x60,0xC3,0x60,0xC1,0xE0,0xC1,0xE0,0xC0,0xE0,0xC0,0x60,0x00,0x00, // N |
williequesada | 0:7b99602b9bb1 | 61 | 13,14,0,0,0x0F,0x80,0x3F,0xE0,0x70,0x70,0x60,0x30,0xE0,0x38,0xC0,0x18,0xC0,0x18,0xC0,0x18,0xC0,0x18,0xE0,0x38,0x60,0x30,0x70,0x70,0x3F,0xE0,0x0F,0x80,0x00,0x00, // O |
williequesada | 0:7b99602b9bb1 | 62 | 10,14,0,0,0xFF,0x00,0xFF,0x80,0xC1,0xC0,0xC0,0xC0,0xC0,0xC0,0xC1,0xC0,0xFF,0x80,0xFF,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x00,0x00, // P |
williequesada | 0:7b99602b9bb1 | 63 | 13,15,1,0,0x0F,0x80,0x3F,0xE0,0x70,0x70,0x60,0x30,0xE0,0x38,0xC0,0x18,0xC0,0x18,0xC0,0x18,0xC0,0x18,0xE1,0xB8,0x61,0xB0,0x70,0xF0,0x3F,0xE0,0x0F,0xB0,0x00,0x30, // Q |
williequesada | 0:7b99602b9bb1 | 64 | 11,14,0,0,0xFF,0x80,0xFF,0xC0,0xC0,0xE0,0xC0,0x60,0xC0,0x60,0xC0,0xE0,0xFF,0xC0,0xFF,0x80,0xC0,0xC0,0xC0,0xC0,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0x00,0x00, // R |
williequesada | 0:7b99602b9bb1 | 65 | 10,14,0,0,0x1E,0x00,0x7F,0x80,0xE1,0xC0,0xC0,0xC0,0xE0,0x00,0x7C,0x00,0x1F,0x00,0x03,0x80,0x01,0xC0,0x00,0xC0,0xC0,0xC0,0xE1,0xC0,0x7F,0x80,0x3F,0x00,0x00,0x00, // S |
williequesada | 0:7b99602b9bb1 | 66 | 10,14,0,0,0xFF,0xC0,0xFF,0xC0,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00, // T |
williequesada | 0:7b99602b9bb1 | 67 | 11,14,0,0,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0xC0,0x60,0x60,0xC0,0x7F,0xC0,0x1F,0x00,0x00,0x00, // U |
williequesada | 0:7b99602b9bb1 | 68 | 12,14,0,0,0xC0,0x30,0xC0,0x30,0x60,0x60,0x60,0x60,0x60,0x60,0x30,0xC0,0x30,0xC0,0x30,0xC0,0x19,0x80,0x19,0x80,0x19,0x80,0x0F,0x00,0x0F,0x00,0x06,0x00,0x00,0x00, // V |
williequesada | 0:7b99602b9bb1 | 69 | 16,14,0,0,0xC1,0x83,0xC1,0x83,0xC1,0x83,0xC3,0xC3,0x63,0xC6,0x62,0x46,0x66,0x66,0x66,0x66,0x36,0x6C,0x36,0x6C,0x34,0x2C,0x1C,0x38,0x18,0x18,0x18,0x18,0x00,0x00, // W |
williequesada | 0:7b99602b9bb1 | 70 | 11,14,0,0,0xC0,0x60,0xC0,0x60,0x60,0xC0,0x71,0xC0,0x31,0x80,0x1B,0x00,0x0E,0x00,0x0E,0x00,0x1B,0x00,0x31,0x80,0x71,0xC0,0x60,0xC0,0xC0,0x60,0xC0,0x60,0x00,0x00, // X |
williequesada | 0:7b99602b9bb1 | 71 | 12,14,0,0,0xC0,0x30,0xC0,0x30,0x60,0x60,0x60,0x60,0x30,0xC0,0x39,0xC0,0x19,0x80,0x0F,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00, // Y |
williequesada | 0:7b99602b9bb1 | 72 | 10,14,0,0,0xFF,0xC0,0xFF,0xC0,0x00,0xC0,0x01,0x80,0x03,0x00,0x06,0x00,0x0C,0x00,0x1C,0x00,0x18,0x00,0x30,0x00,0x60,0x00,0xC0,0x00,0xFF,0xC0,0xFF,0xC0,0x00,0x00, // Z |
williequesada | 0:7b99602b9bb1 | 73 | 4,15,1,0,0xF0,0x00,0xF0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xF0,0x00,0xF0,0x00, // [ |
williequesada | 0:7b99602b9bb1 | 74 | 5,14,0,0,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x00,0x00, // / |
williequesada | 0:7b99602b9bb1 | 75 | 4,15,1,0,0xF0,0x00,0xF0,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0xF0,0x00,0xF0,0x00, // ] |
williequesada | 0:7b99602b9bb1 | 76 | 7,6,0,0,0x10,0x00,0x38,0x00,0x6C,0x00,0x6C,0x00,0xC6,0x00,0xC6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ |
williequesada | 0:7b99602b9bb1 | 77 | 11,2,0,12,0xFF,0xE0,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // _ |
williequesada | 0:7b99602b9bb1 | 78 | 4,3,0,0,0xC0,0x00,0x60,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " |
williequesada | 0:7b99602b9bb1 | 79 | 9,10,0,4,0x7E,0x00,0xE7,0x00,0xC3,0x00,0x07,0x00,0x7F,0x00,0xE3,0x00,0xC3,0x00,0xC3,0x00,0xE7,0x80,0x79,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // a |
williequesada | 0:7b99602b9bb1 | 80 | 9,14,0,0,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xDE,0x00,0xFF,0x00,0xE3,0x00,0xC1,0x80,0xC1,0x80,0xC1,0x80,0xC1,0x80,0xE3,0x00,0xFF,0x00,0xDE,0x00,0x00,0x00, // b |
williequesada | 0:7b99602b9bb1 | 81 | 8,14,0,4,0x3E,0x00,0x7F,0x00,0x63,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x63,0x00,0x7F,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c |
williequesada | 0:7b99602b9bb1 | 82 | 9,14,0,0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x3D,0x80,0x7F,0x80,0x63,0x80,0xC1,0x80,0xC1,0x80,0xC1,0x80,0xC1,0x80,0x63,0x80,0x7F,0x80,0x3D,0x80,0x00,0x00, // d |
williequesada | 0:7b99602b9bb1 | 83 | 8,10,0,4,0x3C,0x00,0x7E,0x00,0xC3,0x00,0xC3,0x00,0xFF,0x00,0xC0,0x00,0xC0,0x00,0xE3,0x00,0x7F,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // e |
williequesada | 0:7b99602b9bb1 | 84 | 6,14,0,0,0x1C,0x00,0x3C,0x00,0x30,0x00,0x30,0x00,0xFC,0x00,0xFC,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x00,0x00, // f |
williequesada | 0:7b99602b9bb1 | 85 | 9,14,4,4,0x3D,0x80,0x7F,0x80,0x61,0x80,0xC1,0x80,0xC1,0x80,0xC1,0x80,0xC1,0x80,0x63,0x80,0x7F,0x80,0x3D,0x80,0x01,0x80,0x63,0x00,0x7F,0x00,0x1C,0x00,0x00,0x00, // g |
williequesada | 0:7b99602b9bb1 | 86 | 8,14,0,0,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xDE,0x00,0xFF,0x00,0xE3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0x00,0x00, // h |
williequesada | 0:7b99602b9bb1 | 87 | 2,12,0,2,0xC0,0x00,0xC0,0x00,0x00,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x00,0x00, // i |
williequesada | 0:7b99602b9bb1 | 88 | 4,15,4,3,0x30,0x00,0x30,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x30,0x30,0xF0,0xE0,0x00, // j |
williequesada | 0:7b99602b9bb1 | 89 | 8,14,0,0,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC6,0x00,0xCC,0x00,0xD8,0x00,0xF0,0x00,0xF8,0x00,0xD8,0x00,0xCC,0x00,0xCE,0x00,0xC6,0x00,0xC7,0x00,0x00,0x00, // k |
williequesada | 0:7b99602b9bb1 | 90 | 2,14,0,0,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x00,0x00, // l |
williequesada | 0:7b99602b9bb1 | 91 | 14,10,0,4,0xDE,0x78,0xFF,0xFC,0xE3,0x8C,0xC3,0x0C,0xC3,0x0C,0xC3,0x0C,0xC3,0x0C,0xC3,0x0C,0xC3,0x0C,0xC3,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // m |
williequesada | 0:7b99602b9bb1 | 92 | 8,10,0,4,0xDE,0x00,0xFF,0x00,0xE3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // n |
williequesada | 0:7b99602b9bb1 | 93 | 9,10,0,4,0x3E,0x00,0x7F,0x00,0x63,0x00,0xC1,0x80,0xC1,0x80,0xC1,0x80,0xC1,0x80,0x63,0x00,0x7F,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // o |
williequesada | 0:7b99602b9bb1 | 94 | 9,14,4,4,0xDE,0x00,0xFF,0x00,0xE3,0x00,0xC1,0x80,0xC1,0x80,0xC1,0x80,0xC1,0x80,0xE3,0x00,0xFF,0x00,0xDE,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x00,0x00, // p |
williequesada | 0:7b99602b9bb1 | 95 | 9,14,4,4,0x3D,0x80,0x7F,0x80,0x63,0x80,0xC1,0x80,0xC1,0x80,0xC1,0x80,0xC1,0x80,0x63,0x80,0x7F,0x80,0x3D,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x00,0x00, // q |
williequesada | 0:7b99602b9bb1 | 96 | 5,10,0,4,0xD8,0x00,0xD8,0x00,0xE0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // r |
williequesada | 0:7b99602b9bb1 | 97 | 7,10,0,4,0x3C,0x00,0x7E,0x00,0xC6,0x00,0xC0,0x00,0xFC,0x00,0x3E,0x00,0x06,0x00,0xC6,0x00,0xFC,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // s |
williequesada | 0:7b99602b9bb1 | 98 | 6,13,0,1,0x30,0x00,0x30,0x00,0x30,0x00,0xFC,0x00,0xFC,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x3C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00, // t |
williequesada | 0:7b99602b9bb1 | 99 | 8,10,0,4,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC3,0x00,0xC7,0x00,0xFF,0x00,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // u |
williequesada | 0:7b99602b9bb1 | 100 | 8,10,0,4,0xC3,0x00,0xC3,0x00,0xC3,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x24,0x00,0x3C,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // v |
williequesada | 0:7b99602b9bb1 | 101 | 12,10,0,4,0xC6,0x30,0xC6,0x30,0xC6,0x30,0x66,0x60,0x66,0x60,0x69,0x60,0x29,0x40,0x39,0xC0,0x19,0x80,0x19,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // w |
williequesada | 0:7b99602b9bb1 | 102 | 8,10,0,4,0xC3,0x00,0xE7,0x00,0x66,0x00,0x3C,0x00,0x18,0x00,0x18,0x00,0x3C,0x00,0x66,0x00,0xE7,0x00,0xC3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // x |
williequesada | 0:7b99602b9bb1 | 103 | 8,14,4,4,0xC3,0x00,0xC3,0x00,0xC3,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x24,0x00,0x3C,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x70,0x00,0x70,0x00,0x00,0x00, // y |
williequesada | 0:7b99602b9bb1 | 104 | 7,10,0,4,0xFE,0x00,0xFE,0x00,0x06,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x60,0x00,0xC0,0x00,0xFE,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // z |
williequesada | 0:7b99602b9bb1 | 105 | }; |
williequesada | 0:7b99602b9bb1 | 106 | |
williequesada | 0:7b99602b9bb1 | 107 | uint8_t GLCD_Picture[30][64]; |
williequesada | 0:7b99602b9bb1 | 108 | |
williequesada | 0:7b99602b9bb1 | 109 | int HoraHosting=1000; |
williequesada | 0:7b99602b9bb1 | 110 | int MinutosHosting=11; |
williequesada | 0:7b99602b9bb1 | 111 | |
williequesada | 0:7b99602b9bb1 | 112 | GLCD::GLCD(PinName D1, PinName D2,PinName D3, PinName D4,PinName D5, PinName D6,PinName D7, PinName D8,PinName CD,PinName RESET,PinName CE,PinName WR,PinName RD,PinName Power, PinName Light) : _D1(D1),_D2(D2),_D3(D3),_D4(D4),_D5(D5),_D6(D6),_D7(D7),_D8(D8),_CD(CD),_RESET(RESET),_CE(CE),_WR(WR),_RD(RD), _Power(Power), _LIGHT(Light){ |
williequesada | 0:7b99602b9bb1 | 113 | _D1 = 0; |
williequesada | 0:7b99602b9bb1 | 114 | _D2 = 0; |
williequesada | 0:7b99602b9bb1 | 115 | _D3 = 0; |
williequesada | 0:7b99602b9bb1 | 116 | _D4 = 0; |
williequesada | 0:7b99602b9bb1 | 117 | _D5 = 0; |
williequesada | 0:7b99602b9bb1 | 118 | _D6 = 0; |
williequesada | 0:7b99602b9bb1 | 119 | _D7 = 0; |
williequesada | 0:7b99602b9bb1 | 120 | _D8 = 0; |
williequesada | 0:7b99602b9bb1 | 121 | _CD = 0; |
williequesada | 0:7b99602b9bb1 | 122 | _CE = 0; |
williequesada | 0:7b99602b9bb1 | 123 | _WR = 0; |
williequesada | 0:7b99602b9bb1 | 124 | _RD = 0; |
williequesada | 0:7b99602b9bb1 | 125 | _RESET = 0; |
williequesada | 0:7b99602b9bb1 | 126 | _Power = 1; |
williequesada | 0:7b99602b9bb1 | 127 | _LIGHT = 0; |
williequesada | 0:7b99602b9bb1 | 128 | } |
williequesada | 0:7b99602b9bb1 | 129 | void GLCD::WriteData(uint8_t Data) |
williequesada | 0:7b99602b9bb1 | 130 | { |
williequesada | 0:7b99602b9bb1 | 131 | _D1=((Data >> 0) & 1); |
williequesada | 0:7b99602b9bb1 | 132 | _D2=((Data >> 1) & 1); |
williequesada | 0:7b99602b9bb1 | 133 | _D3=((Data >> 2) & 1); |
williequesada | 0:7b99602b9bb1 | 134 | _D4=((Data >> 3) & 1); |
williequesada | 0:7b99602b9bb1 | 135 | _D5=((Data >> 4) & 1); |
williequesada | 0:7b99602b9bb1 | 136 | _D6=((Data >> 5) & 1); |
williequesada | 0:7b99602b9bb1 | 137 | _D7=((Data >> 6) & 1); |
williequesada | 0:7b99602b9bb1 | 138 | _D8=((Data >> 7) & 1); |
williequesada | 0:7b99602b9bb1 | 139 | |
williequesada | 0:7b99602b9bb1 | 140 | wait_us(10); |
williequesada | 0:7b99602b9bb1 | 141 | _CD=0; |
williequesada | 0:7b99602b9bb1 | 142 | wait_us(10); |
williequesada | 0:7b99602b9bb1 | 143 | _CE=0; |
williequesada | 0:7b99602b9bb1 | 144 | wait_us(10); |
williequesada | 0:7b99602b9bb1 | 145 | _WR=0; |
williequesada | 0:7b99602b9bb1 | 146 | wait_us(15); |
williequesada | 0:7b99602b9bb1 | 147 | _CE=1; |
williequesada | 0:7b99602b9bb1 | 148 | wait_us(10); |
williequesada | 0:7b99602b9bb1 | 149 | _WR=1; |
williequesada | 0:7b99602b9bb1 | 150 | wait_us(10); |
williequesada | 0:7b99602b9bb1 | 151 | } |
williequesada | 0:7b99602b9bb1 | 152 | |
williequesada | 0:7b99602b9bb1 | 153 | void GLCD::WriteCommand(uint8_t Command) |
williequesada | 0:7b99602b9bb1 | 154 | { |
williequesada | 0:7b99602b9bb1 | 155 | _D1=((Command >> 0) & 1); |
williequesada | 0:7b99602b9bb1 | 156 | _D2=((Command >> 1) & 1); |
williequesada | 0:7b99602b9bb1 | 157 | _D3=((Command >> 2) & 1); |
williequesada | 0:7b99602b9bb1 | 158 | _D4=((Command >> 3) & 1); |
williequesada | 0:7b99602b9bb1 | 159 | _D5=((Command >> 4) & 1); |
williequesada | 0:7b99602b9bb1 | 160 | _D6=((Command >> 5) & 1); |
williequesada | 0:7b99602b9bb1 | 161 | _D7=((Command >> 6) & 1); |
williequesada | 0:7b99602b9bb1 | 162 | _D8=((Command >> 7) & 1); |
williequesada | 0:7b99602b9bb1 | 163 | |
williequesada | 0:7b99602b9bb1 | 164 | wait_us(10); |
williequesada | 0:7b99602b9bb1 | 165 | _CD=1; |
williequesada | 0:7b99602b9bb1 | 166 | wait_us(10); |
williequesada | 0:7b99602b9bb1 | 167 | _CE=0; |
williequesada | 0:7b99602b9bb1 | 168 | wait_us(10); |
williequesada | 0:7b99602b9bb1 | 169 | _WR=0; |
williequesada | 0:7b99602b9bb1 | 170 | wait_us(15); |
williequesada | 0:7b99602b9bb1 | 171 | _CE=1; |
williequesada | 0:7b99602b9bb1 | 172 | wait_us(10); |
williequesada | 0:7b99602b9bb1 | 173 | _WR=1; |
williequesada | 0:7b99602b9bb1 | 174 | wait_us(10); |
williequesada | 0:7b99602b9bb1 | 175 | } |
williequesada | 0:7b99602b9bb1 | 176 | |
williequesada | 0:7b99602b9bb1 | 177 | void GLCD::Limits() |
williequesada | 0:7b99602b9bb1 | 178 | { |
williequesada | 0:7b99602b9bb1 | 179 | uint8_t x,y; |
williequesada | 0:7b99602b9bb1 | 180 | GLCD_Picture[0][0]=0x1F; |
williequesada | 0:7b99602b9bb1 | 181 | GLCD_Picture[0][63]=0x1F; |
williequesada | 0:7b99602b9bb1 | 182 | GLCD_Picture[29][0]=0xF8; |
williequesada | 0:7b99602b9bb1 | 183 | GLCD_Picture[29][63]=0xF8; |
williequesada | 0:7b99602b9bb1 | 184 | |
williequesada | 0:7b99602b9bb1 | 185 | GLCD_Picture[0][1]=0x20; |
williequesada | 0:7b99602b9bb1 | 186 | GLCD_Picture[29][1]=0x04; |
williequesada | 0:7b99602b9bb1 | 187 | GLCD_Picture[0][62]=0x20; |
williequesada | 0:7b99602b9bb1 | 188 | GLCD_Picture[29][62]=0x04; |
williequesada | 0:7b99602b9bb1 | 189 | |
williequesada | 0:7b99602b9bb1 | 190 | GLCD_Picture[0][2]=0x40; |
williequesada | 0:7b99602b9bb1 | 191 | GLCD_Picture[29][2]=0x02; |
williequesada | 0:7b99602b9bb1 | 192 | GLCD_Picture[0][61]=0x40; |
williequesada | 0:7b99602b9bb1 | 193 | GLCD_Picture[29][61]=0x02; |
williequesada | 0:7b99602b9bb1 | 194 | |
williequesada | 0:7b99602b9bb1 | 195 | for (x=1; x<29; x++) { |
williequesada | 0:7b99602b9bb1 | 196 | GLCD_Picture[x][0]=0xFF; |
williequesada | 0:7b99602b9bb1 | 197 | GLCD_Picture[x][63]=0xFF; |
williequesada | 0:7b99602b9bb1 | 198 | } |
williequesada | 0:7b99602b9bb1 | 199 | for (y=3; y<61; y++) { |
williequesada | 0:7b99602b9bb1 | 200 | GLCD_Picture[0][y]=0x80; |
williequesada | 0:7b99602b9bb1 | 201 | GLCD_Picture[29][y]=0x01; |
williequesada | 0:7b99602b9bb1 | 202 | } |
williequesada | 0:7b99602b9bb1 | 203 | } |
williequesada | 0:7b99602b9bb1 | 204 | |
williequesada | 0:7b99602b9bb1 | 205 | void GLCD::Fill() |
williequesada | 0:7b99602b9bb1 | 206 | { |
williequesada | 0:7b99602b9bb1 | 207 | uint8_t x,y; |
williequesada | 0:7b99602b9bb1 | 208 | WriteCommand(0x98); |
williequesada | 0:7b99602b9bb1 | 209 | WriteData(LOW_BYTE); |
williequesada | 0:7b99602b9bb1 | 210 | WriteData(HI_BYTE); |
williequesada | 0:7b99602b9bb1 | 211 | WriteCommand(0x24); |
williequesada | 0:7b99602b9bb1 | 212 | WriteCommand(0xB0); |
williequesada | 0:7b99602b9bb1 | 213 | |
williequesada | 0:7b99602b9bb1 | 214 | for (y=0; y<MaxRow; y++) { |
williequesada | 0:7b99602b9bb1 | 215 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 216 | WriteData(0xFF); |
williequesada | 0:7b99602b9bb1 | 217 | } |
williequesada | 0:7b99602b9bb1 | 218 | } |
williequesada | 0:7b99602b9bb1 | 219 | WriteCommand(0xB2); //set auto write reset |
williequesada | 0:7b99602b9bb1 | 220 | } |
williequesada | 0:7b99602b9bb1 | 221 | |
williequesada | 0:7b99602b9bb1 | 222 | void GLCD::Clean() |
williequesada | 0:7b99602b9bb1 | 223 | { |
williequesada | 0:7b99602b9bb1 | 224 | uint8_t x,y; |
williequesada | 0:7b99602b9bb1 | 225 | WriteCommand(0x98); |
williequesada | 0:7b99602b9bb1 | 226 | WriteData(LOW_BYTE); |
williequesada | 0:7b99602b9bb1 | 227 | WriteData(HI_BYTE); |
williequesada | 0:7b99602b9bb1 | 228 | WriteCommand(0x24); |
williequesada | 0:7b99602b9bb1 | 229 | WriteCommand(0xB0); |
williequesada | 0:7b99602b9bb1 | 230 | |
williequesada | 0:7b99602b9bb1 | 231 | for (y=0; y<MaxRow; y++) { |
williequesada | 0:7b99602b9bb1 | 232 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 233 | WriteData(0x00); |
williequesada | 0:7b99602b9bb1 | 234 | GLCD_Picture[x][y]=0x00; |
williequesada | 0:7b99602b9bb1 | 235 | } |
williequesada | 0:7b99602b9bb1 | 236 | } |
williequesada | 0:7b99602b9bb1 | 237 | WriteCommand(0xB2); //set auto write reset |
williequesada | 0:7b99602b9bb1 | 238 | } |
williequesada | 0:7b99602b9bb1 | 239 | |
williequesada | 0:7b99602b9bb1 | 240 | void GLCD::On() |
williequesada | 0:7b99602b9bb1 | 241 | { |
williequesada | 0:7b99602b9bb1 | 242 | _Power = 0; |
williequesada | 0:7b99602b9bb1 | 243 | wait_us(50); |
williequesada | 0:7b99602b9bb1 | 244 | if(HoraHosting>990 || HoraHosting<360){ |
williequesada | 0:7b99602b9bb1 | 245 | _LIGHT=1; |
williequesada | 0:7b99602b9bb1 | 246 | } else { |
williequesada | 0:7b99602b9bb1 | 247 | _LIGHT=0; |
williequesada | 0:7b99602b9bb1 | 248 | } |
williequesada | 0:7b99602b9bb1 | 249 | wait_ms(20); |
williequesada | 0:7b99602b9bb1 | 250 | } |
williequesada | 0:7b99602b9bb1 | 251 | |
williequesada | 0:7b99602b9bb1 | 252 | void GLCD::Light(){ |
williequesada | 0:7b99602b9bb1 | 253 | MinutosHosting++; |
williequesada | 0:7b99602b9bb1 | 254 | if(MinutosHosting>11){ |
williequesada | 0:7b99602b9bb1 | 255 | HoraHosting++; |
williequesada | 0:7b99602b9bb1 | 256 | MinutosHosting=0; |
williequesada | 0:7b99602b9bb1 | 257 | } |
williequesada | 0:7b99602b9bb1 | 258 | } |
williequesada | 0:7b99602b9bb1 | 259 | |
williequesada | 0:7b99602b9bb1 | 260 | void GLCD::LightSet(char Hour[]){ |
williequesada | 0:7b99602b9bb1 | 261 | HoraHosting=((uint8_t)Hour[0]-48)*600+((uint8_t)Hour[1]-48)*60+((uint8_t)Hour[3]-48)*10 + ((uint8_t)Hour[4]-48); |
williequesada | 0:7b99602b9bb1 | 262 | } |
williequesada | 0:7b99602b9bb1 | 263 | |
williequesada | 0:7b99602b9bb1 | 264 | void GLCD::Off() |
williequesada | 0:7b99602b9bb1 | 265 | { |
williequesada | 0:7b99602b9bb1 | 266 | _D1=0; |
williequesada | 0:7b99602b9bb1 | 267 | _D2=0; |
williequesada | 0:7b99602b9bb1 | 268 | _D3=0; |
williequesada | 0:7b99602b9bb1 | 269 | _D4=0; |
williequesada | 0:7b99602b9bb1 | 270 | _D5=0; |
williequesada | 0:7b99602b9bb1 | 271 | _D6=0; |
williequesada | 0:7b99602b9bb1 | 272 | _D7=0; |
williequesada | 0:7b99602b9bb1 | 273 | _D8=0; |
williequesada | 0:7b99602b9bb1 | 274 | _CD=0; |
williequesada | 0:7b99602b9bb1 | 275 | _CE=0; |
williequesada | 0:7b99602b9bb1 | 276 | _WR=0; |
williequesada | 0:7b99602b9bb1 | 277 | _RD = 0; |
williequesada | 0:7b99602b9bb1 | 278 | _RESET = 0; |
williequesada | 0:7b99602b9bb1 | 279 | _Power = 1; |
williequesada | 0:7b99602b9bb1 | 280 | _LIGHT = 0; |
williequesada | 0:7b99602b9bb1 | 281 | } |
williequesada | 0:7b99602b9bb1 | 282 | |
williequesada | 0:7b99602b9bb1 | 283 | |
williequesada | 0:7b99602b9bb1 | 284 | void GLCD::Horizontal() |
williequesada | 0:7b99602b9bb1 | 285 | { |
williequesada | 0:7b99602b9bb1 | 286 | uint8_t x,y; |
williequesada | 0:7b99602b9bb1 | 287 | WriteCommand(0x98); |
williequesada | 0:7b99602b9bb1 | 288 | WriteData(LOW_BYTE); |
williequesada | 0:7b99602b9bb1 | 289 | WriteData(HI_BYTE); |
williequesada | 0:7b99602b9bb1 | 290 | WriteCommand(0x24); |
williequesada | 0:7b99602b9bb1 | 291 | WriteCommand(0xB0); |
williequesada | 0:7b99602b9bb1 | 292 | for (y=0; y<MaxRow/2; y++) { |
williequesada | 0:7b99602b9bb1 | 293 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 294 | WriteData(0xFF); |
williequesada | 0:7b99602b9bb1 | 295 | } |
williequesada | 0:7b99602b9bb1 | 296 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 297 | WriteData(0x00); |
williequesada | 0:7b99602b9bb1 | 298 | } |
williequesada | 0:7b99602b9bb1 | 299 | } |
williequesada | 0:7b99602b9bb1 | 300 | WriteCommand(0xB2); //set auto write reset |
williequesada | 0:7b99602b9bb1 | 301 | } |
williequesada | 0:7b99602b9bb1 | 302 | |
williequesada | 0:7b99602b9bb1 | 303 | void GLCD::Cross() |
williequesada | 0:7b99602b9bb1 | 304 | { |
williequesada | 0:7b99602b9bb1 | 305 | uint8_t x,y; |
williequesada | 0:7b99602b9bb1 | 306 | WriteCommand(0x98); |
williequesada | 0:7b99602b9bb1 | 307 | WriteData(LOW_BYTE); |
williequesada | 0:7b99602b9bb1 | 308 | WriteData(HI_BYTE); |
williequesada | 0:7b99602b9bb1 | 309 | WriteCommand(0x24); |
williequesada | 0:7b99602b9bb1 | 310 | WriteCommand(0xB0); |
williequesada | 0:7b99602b9bb1 | 311 | |
williequesada | 0:7b99602b9bb1 | 312 | for (y=0; y<MaxRow/8; y++) { |
williequesada | 0:7b99602b9bb1 | 313 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 314 | WriteData(0x01); |
williequesada | 0:7b99602b9bb1 | 315 | } |
williequesada | 0:7b99602b9bb1 | 316 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 317 | WriteData(0x03); |
williequesada | 0:7b99602b9bb1 | 318 | } |
williequesada | 0:7b99602b9bb1 | 319 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 320 | WriteData(0x07); |
williequesada | 0:7b99602b9bb1 | 321 | } |
williequesada | 0:7b99602b9bb1 | 322 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 323 | WriteData(0x0F); |
williequesada | 0:7b99602b9bb1 | 324 | } |
williequesada | 0:7b99602b9bb1 | 325 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 326 | WriteData(0x1F); |
williequesada | 0:7b99602b9bb1 | 327 | } |
williequesada | 0:7b99602b9bb1 | 328 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 329 | WriteData(0x3F); |
williequesada | 0:7b99602b9bb1 | 330 | } |
williequesada | 0:7b99602b9bb1 | 331 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 332 | WriteData(0x7F); |
williequesada | 0:7b99602b9bb1 | 333 | } |
williequesada | 0:7b99602b9bb1 | 334 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 335 | WriteData(0xFF); |
williequesada | 0:7b99602b9bb1 | 336 | } |
williequesada | 0:7b99602b9bb1 | 337 | } |
williequesada | 0:7b99602b9bb1 | 338 | WriteCommand(0xB2); //set auto write reset |
williequesada | 0:7b99602b9bb1 | 339 | } |
williequesada | 0:7b99602b9bb1 | 340 | |
williequesada | 0:7b99602b9bb1 | 341 | void GLCD::Vertical() |
williequesada | 0:7b99602b9bb1 | 342 | { |
williequesada | 0:7b99602b9bb1 | 343 | uint8_t x,y; |
williequesada | 0:7b99602b9bb1 | 344 | WriteCommand(0x98); |
williequesada | 0:7b99602b9bb1 | 345 | WriteData(LOW_BYTE); |
williequesada | 0:7b99602b9bb1 | 346 | WriteData(HI_BYTE); |
williequesada | 0:7b99602b9bb1 | 347 | WriteCommand(0x24); |
williequesada | 0:7b99602b9bb1 | 348 | WriteCommand(0xB0); |
williequesada | 0:7b99602b9bb1 | 349 | |
williequesada | 0:7b99602b9bb1 | 350 | for (y=0; y<MaxRow; y++) { |
williequesada | 0:7b99602b9bb1 | 351 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 352 | WriteData(0x0F); |
williequesada | 0:7b99602b9bb1 | 353 | } |
williequesada | 0:7b99602b9bb1 | 354 | } |
williequesada | 0:7b99602b9bb1 | 355 | WriteCommand(0xB2); //set auto write reset |
williequesada | 0:7b99602b9bb1 | 356 | } |
williequesada | 0:7b99602b9bb1 | 357 | |
williequesada | 0:7b99602b9bb1 | 358 | void GLCD::Show() |
williequesada | 0:7b99602b9bb1 | 359 | { |
williequesada | 0:7b99602b9bb1 | 360 | uint8_t x,y; |
williequesada | 0:7b99602b9bb1 | 361 | WriteCommand(0x98); |
williequesada | 0:7b99602b9bb1 | 362 | WriteData(LOW_BYTE); |
williequesada | 0:7b99602b9bb1 | 363 | WriteData(HI_BYTE); |
williequesada | 0:7b99602b9bb1 | 364 | WriteCommand(0x24); |
williequesada | 0:7b99602b9bb1 | 365 | WriteCommand(0xB0); |
williequesada | 0:7b99602b9bb1 | 366 | |
williequesada | 0:7b99602b9bb1 | 367 | for (y=0; y<MaxRow; y++) { |
williequesada | 0:7b99602b9bb1 | 368 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 369 | WriteData(GLCD_Picture[x][y]); |
williequesada | 0:7b99602b9bb1 | 370 | //print_bits(GLCD_Picture[x][y]); |
williequesada | 0:7b99602b9bb1 | 371 | GLCD_Picture[x][y]=0x00; |
williequesada | 0:7b99602b9bb1 | 372 | } |
williequesada | 0:7b99602b9bb1 | 373 | //Computer.printf("\n"); |
williequesada | 0:7b99602b9bb1 | 374 | } |
williequesada | 0:7b99602b9bb1 | 375 | WriteCommand(0xB2); //set auto write reset |
williequesada | 0:7b99602b9bb1 | 376 | } |
williequesada | 0:7b99602b9bb1 | 377 | |
williequesada | 0:7b99602b9bb1 | 378 | void GLCD::Characters() |
williequesada | 0:7b99602b9bb1 | 379 | { |
williequesada | 0:7b99602b9bb1 | 380 | uint8_t x,y,k=0; |
williequesada | 0:7b99602b9bb1 | 381 | WriteCommand(0x94); //Text display only |
williequesada | 0:7b99602b9bb1 | 382 | WriteData(0x00); |
williequesada | 0:7b99602b9bb1 | 383 | WriteData(0x00); |
williequesada | 0:7b99602b9bb1 | 384 | WriteCommand(0x24); |
williequesada | 0:7b99602b9bb1 | 385 | WriteCommand(0xB0); |
williequesada | 0:7b99602b9bb1 | 386 | |
williequesada | 0:7b99602b9bb1 | 387 | for (y=0; y<MaxRow/8; y++) { |
williequesada | 0:7b99602b9bb1 | 388 | for (x=0; x<MaxColumn/8; x++) { |
williequesada | 0:7b99602b9bb1 | 389 | WriteData(k+6); |
williequesada | 0:7b99602b9bb1 | 390 | k++; |
williequesada | 0:7b99602b9bb1 | 391 | if(k==0x80) { |
williequesada | 0:7b99602b9bb1 | 392 | k=0x00; |
williequesada | 0:7b99602b9bb1 | 393 | } |
williequesada | 0:7b99602b9bb1 | 394 | } |
williequesada | 0:7b99602b9bb1 | 395 | } |
williequesada | 0:7b99602b9bb1 | 396 | WriteCommand(0xB2); //set auto write reset |
williequesada | 0:7b99602b9bb1 | 397 | } |
williequesada | 0:7b99602b9bb1 | 398 | |
williequesada | 0:7b99602b9bb1 | 399 | void GLCD::Init() |
williequesada | 0:7b99602b9bb1 | 400 | { |
williequesada | 0:7b99602b9bb1 | 401 | uint8_t LOW_BYTE1; |
williequesada | 0:7b99602b9bb1 | 402 | |
williequesada | 0:7b99602b9bb1 | 403 | _RESET=0; |
williequesada | 0:7b99602b9bb1 | 404 | wait_us(120); |
williequesada | 0:7b99602b9bb1 | 405 | _RESET=1; |
williequesada | 0:7b99602b9bb1 | 406 | wait_us(120); |
williequesada | 0:7b99602b9bb1 | 407 | WriteData(0x00); |
williequesada | 0:7b99602b9bb1 | 408 | WriteData(0x00); |
williequesada | 0:7b99602b9bb1 | 409 | WriteCommand(0x40); |
williequesada | 0:7b99602b9bb1 | 410 | WriteData(LOW_BYTE); |
williequesada | 0:7b99602b9bb1 | 411 | WriteData(HI_BYTE); |
williequesada | 0:7b99602b9bb1 | 412 | WriteCommand(0x42); |
williequesada | 0:7b99602b9bb1 | 413 | LOW_BYTE1 = MaxColumn /8; |
williequesada | 0:7b99602b9bb1 | 414 | WriteData(LOW_BYTE1); |
williequesada | 0:7b99602b9bb1 | 415 | WriteData(0x00); |
williequesada | 0:7b99602b9bb1 | 416 | WriteCommand(0x41); |
williequesada | 0:7b99602b9bb1 | 417 | LOW_BYTE1 = MaxColumn /8; |
williequesada | 0:7b99602b9bb1 | 418 | WriteData(LOW_BYTE1); |
williequesada | 0:7b99602b9bb1 | 419 | WriteData(0x00); |
williequesada | 0:7b99602b9bb1 | 420 | WriteCommand(0x43); |
williequesada | 0:7b99602b9bb1 | 421 | WriteCommand(0x80); |
williequesada | 0:7b99602b9bb1 | 422 | WriteCommand(0x98); |
williequesada | 0:7b99602b9bb1 | 423 | } |
williequesada | 0:7b99602b9bb1 | 424 | |
williequesada | 0:7b99602b9bb1 | 425 | void GLCD::Pixel(int x, int y) |
williequesada | 0:7b99602b9bb1 | 426 | { |
williequesada | 0:7b99602b9bb1 | 427 | if(x > MaxColumn || y > MaxRow || x < 0 || y < 0) { // first check parameter |
williequesada | 0:7b99602b9bb1 | 428 | return; |
williequesada | 0:7b99602b9bb1 | 429 | } else { // XOR mode |
williequesada | 0:7b99602b9bb1 | 430 | GLCD_Picture[(x/8)][y] ^= (1 << (7-(x%8))); |
williequesada | 0:7b99602b9bb1 | 431 | } |
williequesada | 0:7b99602b9bb1 | 432 | } |
williequesada | 0:7b99602b9bb1 | 433 | |
williequesada | 0:7b99602b9bb1 | 434 | void GLCD::Rectangle(int X0, int Y0, int X1, int Y1) |
williequesada | 0:7b99602b9bb1 | 435 | { |
williequesada | 0:7b99602b9bb1 | 436 | int LongR, LongC, Var; |
williequesada | 0:7b99602b9bb1 | 437 | Y1=Y1+Y0; // Rotate variables |
williequesada | 0:7b99602b9bb1 | 438 | X1=X1+X0; |
williequesada | 0:7b99602b9bb1 | 439 | if(X0 > X1) { |
williequesada | 0:7b99602b9bb1 | 440 | Var = X0; |
williequesada | 0:7b99602b9bb1 | 441 | X0 = X1; |
williequesada | 0:7b99602b9bb1 | 442 | X1 = Var; |
williequesada | 0:7b99602b9bb1 | 443 | } |
williequesada | 0:7b99602b9bb1 | 444 | if(Y0 > Y1) { |
williequesada | 0:7b99602b9bb1 | 445 | Var = Y0; |
williequesada | 0:7b99602b9bb1 | 446 | Y0 = Y1; |
williequesada | 0:7b99602b9bb1 | 447 | Y1 = Var; |
williequesada | 0:7b99602b9bb1 | 448 | } |
williequesada | 0:7b99602b9bb1 | 449 | for(LongR=X0; LongR<=X1; LongR++) { // Limits and export by pixel funcion |
williequesada | 0:7b99602b9bb1 | 450 | for(LongC=Y0; LongC<=Y1; LongC++) { |
williequesada | 0:7b99602b9bb1 | 451 | Pixel(LongR,LongC); |
williequesada | 0:7b99602b9bb1 | 452 | } |
williequesada | 0:7b99602b9bb1 | 453 | } |
williequesada | 0:7b99602b9bb1 | 454 | } |
williequesada | 0:7b99602b9bb1 | 455 | int GLCD::PutChar(int X,int Y,int Letter) // recibe position XY and position of the letter in font array |
williequesada | 0:7b99602b9bb1 | 456 | { |
williequesada | 0:7b99602b9bb1 | 457 | Letter=(Letter-32)*34; |
williequesada | 0:7b99602b9bb1 | 458 | int Char_Width=Font_HelvR14[Letter];// {Width, Height, Down, Start, Data30} |
williequesada | 0:7b99602b9bb1 | 459 | int Char_Start=Y+Font_HelvR14[Letter+3]; |
williequesada | 0:7b99602b9bb1 | 460 | int Char_Finish=Y+Font_HelvR14[Letter+1]+Font_HelvR14[Letter+3]; |
williequesada | 0:7b99602b9bb1 | 461 | int Byte1=X/8; // 3 pixel bytes per char, start in X |
williequesada | 0:7b99602b9bb1 | 462 | int Byte2=Byte1+1; |
williequesada | 0:7b99602b9bb1 | 463 | int Byte3=Byte1+2; |
williequesada | 0:7b99602b9bb1 | 464 | int ByteLine=Letter+4; |
williequesada | 0:7b99602b9bb1 | 465 | int ByteShiftRight=X%8; |
williequesada | 0:7b99602b9bb1 | 466 | int ByteShiftLeft=8-(X%8); |
williequesada | 0:7b99602b9bb1 | 467 | if ((Char_Finish>MaxRow)||((Char_Width+X)>MaxColumn)) { |
williequesada | 0:7b99602b9bb1 | 468 | return 0; |
williequesada | 0:7b99602b9bb1 | 469 | } |
williequesada | 0:7b99602b9bb1 | 470 | if (Char_Width>8) { |
williequesada | 0:7b99602b9bb1 | 471 | for(int Line=Char_Start; Line<Char_Finish; Line++) { |
williequesada | 0:7b99602b9bb1 | 472 | GLCD_Picture[Byte1][Line] |= Font_HelvR14[ByteLine]>>ByteShiftRight; |
williequesada | 0:7b99602b9bb1 | 473 | GLCD_Picture[Byte2][Line] |= Font_HelvR14[ByteLine]<<ByteShiftLeft; |
williequesada | 0:7b99602b9bb1 | 474 | GLCD_Picture[Byte2][Line] |= Font_HelvR14[ByteLine+1]>>ByteShiftRight; |
williequesada | 0:7b99602b9bb1 | 475 | GLCD_Picture[Byte3][Line] |= Font_HelvR14[ByteLine+1]<<ByteShiftLeft; |
williequesada | 0:7b99602b9bb1 | 476 | ByteLine+=2; |
williequesada | 0:7b99602b9bb1 | 477 | } |
williequesada | 0:7b99602b9bb1 | 478 | return Char_Width; |
williequesada | 0:7b99602b9bb1 | 479 | } |
williequesada | 0:7b99602b9bb1 | 480 | if (Char_Width<=8) { |
williequesada | 0:7b99602b9bb1 | 481 | for(int Line=Char_Start; Line<Char_Finish; Line++) { |
williequesada | 0:7b99602b9bb1 | 482 | GLCD_Picture[Byte1][Line] |= Font_HelvR14[ByteLine]>>ByteShiftRight; |
williequesada | 0:7b99602b9bb1 | 483 | GLCD_Picture[Byte2][Line] |= Font_HelvR14[ByteLine]<<ByteShiftLeft; |
williequesada | 0:7b99602b9bb1 | 484 | ByteLine+=2; |
williequesada | 0:7b99602b9bb1 | 485 | } |
williequesada | 0:7b99602b9bb1 | 486 | return Char_Width; |
williequesada | 0:7b99602b9bb1 | 487 | } |
williequesada | 0:7b99602b9bb1 | 488 | return 0; |
williequesada | 0:7b99602b9bb1 | 489 | } |
williequesada | 0:7b99602b9bb1 | 490 | |
williequesada | 0:7b99602b9bb1 | 491 | void GLCD::PutString(int X, int Y, char String[]) |
williequesada | 0:7b99602b9bb1 | 492 | { |
williequesada | 0:7b99602b9bb1 | 493 | int Char; |
williequesada | 0:7b99602b9bb1 | 494 | int Position=X; |
williequesada | 0:7b99602b9bb1 | 495 | |
williequesada | 0:7b99602b9bb1 | 496 | for(int StringLine=0; StringLine<strlen(String); StringLine++) { |
williequesada | 0:7b99602b9bb1 | 497 | Char=String[StringLine]; |
williequesada | 0:7b99602b9bb1 | 498 | Position+=GLCD::PutChar(Position,Y,Char)+2; |
williequesada | 0:7b99602b9bb1 | 499 | } |
williequesada | 0:7b99602b9bb1 | 500 | } |