├── Font.h ├── README.md ├── ST7789.c └── ST7789.h /Font.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Font.h 3 | * 4 | * Created on: 2019. 2. 14. 5 | * Author: yoons 6 | */ 7 | 8 | #ifndef FONT_H_ 9 | #define FONT_H_ 10 | 11 | const unsigned int FONT1_n32[5] = {24, 32, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000};//sp 12 | const unsigned int FONT1_n33[5] = {6, 11, 0x00820820, 0x82002000, 0x00000000}; 13 | const unsigned int FONT1_n34[5] = {6, 11, 0x01450000, 0x00000000, 0x00000000}; 14 | const unsigned int FONT1_n35[5] = {6, 11, 0x01453E51, 0x4F945000, 0x00000000}; 15 | const unsigned int FONT1_n36[5] = {6, 11, 0x21CAA860, 0xC2AA7080, 0x00000000}; 16 | const unsigned int FONT1_n37[5] = {6, 11, 0x00042AB1, 0x852AA840, 0x00000000}; 17 | const unsigned int FONT1_n38[5] = {6, 11, 0x01892462, 0xA9246800, 0x00000000}; 18 | const unsigned int FONT1_n39[5] = {6, 11, 0x00820000, 0x00000000, 0x00000000}; 19 | const unsigned int FONT1_n40[5] = {6, 11, 0x10821041, 0x04082040, 0x00000000}; 20 | const unsigned int FONT1_n41[5] = {6, 11, 0x40820410, 0x41082100, 0x00000000}; 21 | const unsigned int FONT1_n42[5] = {6, 11, 0x00000823, 0xE2140000, 0x00000000}; 22 | const unsigned int FONT1_n43[5] = {6, 11, 0x00000823, 0xE2080000, 0x00000000}; 23 | const unsigned int FONT1_n44[5] = {6, 11, 0x00000000, 0x00002084, 0x00000000}; 24 | const unsigned int FONT1_n45[5] = {6, 11, 0x00000003, 0xE0000000, 0x00000000}; 25 | const unsigned int FONT1_n46[18] = {16, 32, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x03c007e0,0x07e007e0,0x07e003c0,0x00000000,0x00000000}; 26 | const unsigned int FONT1_n47[5] = {6, 11, 0x08210420, 0x84108200, 0x00000000}; 27 | const unsigned int FONT1_n48[26] = {24, 32, 0x00000000,0x7F0001FF,0xE007FFF0,0x0FFFF80F,0xFFF81FE3,0xFC1FC1FC,0x3F80FE3F,0x80FE3F80,0xFE3F80FE,0x3F80FE3F,0x80FE3F80,0xFE3F80FE,0x3F80FE3F,0x80FF3F80,0xFE3F80FE,0x3F80FE3F,0x80FE3F80,0xFE3F80FE,0x1FC1FC1F,0xE3FC0FFF,0xF80FFFF8,0x07FFF001,0xFFE0007F,0x00000000};//0 28 | const unsigned int FONT1_n49[26] = {24, 32, 0x00000000,0x3F00007F,0x00007F00,0x01FF001F,0xFF001FFF,0x001FFF00,0x1FFF001F,0xFF00007F,0x00007F00,0x007F0000,0x7F00007F,0x00007F00,0x007F0000,0x7F00007F,0x00007F00,0x007F0000,0x7F00007F,0x00007F00,0x007F001F,0xFFFC1FFF,0xFC1FFFFC,0x1FFFFC1F,0xFFFC0000,0x00000000}; 29 | const unsigned int FONT1_n50[26] = {24, 32, 0x00000003,0xFE001FFF,0x803FFFE0,0x3FFFF03F,0xFFF03FFF,0xF83C0FF8,0x2007F800,0x03F80003,0xF80003F8,0x0003F800,0x07F80007,0xF0000FF0,0x000FE000,0x1FE0003F,0xC0007F80,0x00FF0001,0xFE0003FC,0x0007F800,0x0FF0001F,0xE0007FFF,0xFC7FFFFC,0x7FFFFC7F,0xFFFC7FFF,0xFC000000}; 30 | const unsigned int FONT1_n51[26] = {24, 32, 0x00000001,0xFF001FFF,0xE03FFFF0,0x3FFFF83F,0xFFFC3FFF,0xFC3C03FC,0x3001FC00,0x01FC0001,0xFC0003F8,0x0007F800,0xFFF000FF,0xC000FFC0,0x00FFF000,0xFFF80003,0xFC0001FE,0x0000FE00,0x00FE0001,0xFE6001FE,0x7C07FE7F,0xFFFC7FFF,0xFC7FFFF8,0x3FFFF03F,0xFFC003FE,0x00000000}; 31 | const unsigned int FONT1_n52[26] = {24, 32, 0x00000000,0x0000000F,0xF0000FF0,0x001FF000,0x3FF0007F,0xF0007FF0,0x00FFF001,0xFFF003F7,0xF003E7F0,0x07C7F00F,0xC7F01F87,0xF01F07F0,0x3E07F07E,0x07F0FC07,0xF0FFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0x0007F000,0x07F00007,0xF00007F0,0x0007F000,0x07F00007,0xF0000000}; 32 | const unsigned int FONT1_n53[26] = {24, 32, 0x00000000,0x00001FFF,0xFE1FFFFE,0x1FFFFE1F,0xFFFE1FFF,0xFC1FC000,0x1FC0001F,0xC0001FC0,0x001FC000,0x1FFF801F,0xFFE01FFF,0xF81FFFFC,0x1FFFFC18,0x03FE0001,0xFE0000FE,0x0000FE00,0x00FE0001,0xFE3001FE,0x3E07FE3F,0xFFFC3FFF,0xF83FFFF8,0x3FFFE01F,0xFFC001FE,0x00000000}; 33 | const unsigned int FONT1_n54[26] = {24, 32, 0x00000000,0x1FF000FF,0xF003FFF0,0x07FFF00F,0xFFF01FF0,0x101FE000,0x3FC0003F,0x80003F80,0x007F1F80,0x7FFFE07F,0xFFF87FFF,0xF87FFFFC,0x7F03FC7F,0x01FE7F01,0xFE7F01FE,0x7F01FE7F,0x01FE7F01,0xFE3F81FC,0x3F81FC3F,0xC7FC1FFF,0xF80FFFF0,0x07FFE003,0xFFC0007E,0x00000000}; 34 | const unsigned int FONT1_n55[26] = {24, 32, 0x00000000,0x00003FFF,0xFC3FFFFC,0x3FFFFC3F,0xFFFC3FFF,0xFC0003F8,0x0003F800,0x07F00007,0xF0000FE0,0x000FE000,0x1FC0001F,0xC0003F80,0x003F8000,0x7F0000FF,0x0000FE00,0x01FE0001,0xFC0003FC,0x0003F800,0x07F00007,0xF0000FE0,0x000FE000,0x1FC00000,0x00000000,0x00000000}; 35 | const unsigned int FONT1_n56[26] = {24, 32, 0x00000000,0xFF8003FF,0xF00FFFF8,0x1FFFFC1F,0xFFFE3FC1,0xFE3F80FE,0x3F80FE3F,0x80FE3FC0,0xFE3FE0FC,0x1FF9FC0F,0xFFF007FF,0xE003FFF0,0x07FFF81F,0xFFFC3F87,0xFE3F81FF,0x7F00FF7F,0x007F7F00,0x7F7F807F,0x7F80FF3F,0xE1FE3FFF,0xFE1FFFFC,0x0FFFF803,0xFFE0007F,0x00000000}; 36 | const unsigned int FONT1_n57[26] = {24, 32, 0x00000000,0x7F0003FF,0xC007FFF0,0x0FFFF81F,0xFFFC3FE3,0xFC3FC1FE,0x3F80FE7F,0x80FE7F80,0xFE7F80FE,0x7F80FE7F,0x80FE3FC0,0xFE3FE1FE,0x3FFFFE1F,0xFFFE0FFF,0xFE07FEFE,0x01F8FE00,0x00FE0001,0xFC0003FC,0x0007F80C,0x1FF80FFF,0xF00FFFE0,0x0FFF800F,0xFF0007F0,0x00000000};//9 37 | const unsigned int FONT1_n58[26] = {16, 32, 0x00000000,0x00000000,0x00000000,0x00000000,0x000001C0,0x01C001C0,0x01C00000,0x00000000,0x00000000,0x00000000,0x000001C0,0x01C001C0,0x01C00000,0x00000000,0x00000000}; 38 | const unsigned int FONT1_n59[5] = {6, 11, 0x00000800, 0x00084000, 0x00000000}; 39 | const unsigned int FONT1_n60[5] = {6, 11, 0x00000662, 0x06060000, 0x00000000}; 40 | const unsigned int FONT1_n61[5] = {6, 11, 0x000000F8, 0x0F800000, 0x00000000}; 41 | const unsigned int FONT1_n62[5] = {6, 11, 0x00003030, 0x23300000, 0x00000000}; 42 | const unsigned int FONT1_n63[5] = {6, 11, 0x01C88210, 0x82002000, 0x00000000}; 43 | const unsigned int FONT1_n64[5] = {6, 11, 0x01C8A6AA, 0xAAAE81C0, 0x00000000}; 44 | const unsigned int FONT1_n65[10] = {16, 16, 0x00000000, 0x01E001E0, 0x03E003F0, 0x03700730, 0x073807F8, 0x0FF80E1C, 0x0E1C1C1E, 0x00000000};//A 45 | const unsigned int FONT1_n66[5] = {6, 11, 0x03C8A2F2, 0x28A2F000, 0x00000000}; 46 | const unsigned int FONT1_n67[5] = {6, 11, 0x01C8A082, 0x08227000, 0x00000000}; 47 | const unsigned int FONT1_n68[26] = {24, 32, 0x00000000,0x00000000,0x00000000,0x3ffc003f,0xff803fff,0xc03fffe0,0x3e0ff03e,0x03f03e01,0xf83e01f8,0x3e00f83e,0x00f83e00,0xf83e00f8,0x3e00f83e,0x00f83e00,0xf83e01f8,0x3e01f03e,0x03f03e0f,0xe03fffc0,0x3fff803f,0xff003ff8,0x00000000,0x00000000,0x00000000,0x00000000};//D 48 | const unsigned int FONT1_n69[5] = {6, 11, 0x03E820FA, 0x0820F800, 0x00000000}; 49 | const unsigned int FONT1_n70[5] = {6, 11, 0x03E820F2, 0x08208000, 0x00000000}; 50 | const unsigned int FONT1_n71[5] = {6, 11, 0x01C8A0BA, 0x28A66800, 0x00000000}; 51 | const unsigned int FONT1_n72[5] = {6, 11, 0x0228A2FA, 0x28A28800, 0x00000000}; 52 | const unsigned int FONT1_n73[5] = {6, 11, 0x00820820, 0x82082000, 0x00000000}; 53 | const unsigned int FONT1_n74[5] = {6, 11, 0x00410410, 0x49246000, 0x00000000}; 54 | const unsigned int FONT1_n75[5] = {6, 11, 0x022928C2, 0x89228800, 0x00000000}; 55 | const unsigned int FONT1_n76[5] = {6, 11, 0x02082082, 0x0820F800, 0x00000000}; 56 | const unsigned int FONT1_n77[26] = {24, 32, 0x00000000,0x00000000,0x00000000,0xfe003fff,0x003fff00,0x7fff007f,0xff807fff,0x80fff780,0xf7f7c0f7,0xf7c1e7f3,0xc1eff3e1,0xeff3e3cf,0xf1e3cff1,0xf3cff1f7,0x8ff0f78f,0xf0ff8ff0,0xff0ff07f,0x0ff07f0f,0xf03e0ff0,0x3e0ff03e,0x0f000000,0x00000000,0x00000000,0x00000000};//M 57 | const unsigned int FONT1_n78[5] = {6, 11, 0x022CB2AA, 0xA9A68800, 0x00000000}; 58 | const unsigned int FONT1_n79[5] = {6, 11, 0x01C8A28A, 0x28A27000, 0x00000000}; 59 | const unsigned int FONT1_n80[10] = {16, 16, 0x00000000, 0x0FF00FF8, 0x0F3C0F1C, 0x0F1C0F3C, 0x0FF80FF0, 0x0F000F00, 0x0F000F00, 0x00000000};//P 60 | const unsigned int FONT1_n81[5] = {6, 11, 0x01C8A28A, 0x2AA67020, 0x00000000}; 61 | const unsigned int FONT1_n82[5] = {6, 11, 0x03C8A28B, 0xC8A28800, 0x00000000}; 62 | const unsigned int FONT1_n83[5] = {6, 11, 0x01C8A060, 0x40A27000, 0x00000000}; 63 | const unsigned int FONT1_n84[5] = {6, 11, 0x03E20820, 0x82082000, 0x00000000}; 64 | const unsigned int FONT1_n85[5] = {6, 11, 0x0228A28A, 0x28A27000, 0x00000000}; 65 | const unsigned int FONT1_n86[5] = {6, 11, 0x0228A251, 0x45082000, 0x00000000}; 66 | const unsigned int FONT1_n87[5] = {6, 11, 0x02AAAAAA, 0xA5145000, 0x00000000}; 67 | const unsigned int FONT1_n88[5] = {6, 11, 0x02289420, 0x85228800, 0x00000000}; 68 | const unsigned int FONT1_n89[26] = {24, 32, 0x00000000,0x00000000,0x00000000,0x00000000,0x00003f00,0xf81f00f8,0x1f81f00f,0x81f00fc3,0xe007c3e0,0x07c7c003,0xe7c003e7,0x8001ff80,0x01ff0000,0xff0000fe,0x00007e00,0x007c0000,0x7c00007c,0x00007c00,0x007c0000,0x7c00007c,0x00007c00,0x007c0000,0x00000000,0x00000000};//Y 69 | const unsigned int FONT1_n90[5] = {6, 11, 0x03E10420, 0x8410F800, 0x00000000}; 70 | const unsigned int FONT1_n91[5] = {6, 11, 0x30820820, 0x820820C0, 0x00000000}; 71 | const unsigned int FONT1_n92[5] = {6, 11, 0x01557F55, 0x528A2800, 0x00000000}; 72 | const unsigned int FONT1_n93[5] = {6, 11, 0x30410410, 0x410410C0, 0x00000000}; 73 | const unsigned int FONT1_n94[5] = {6, 11, 0x00852200, 0x00000000, 0x00000000}; 74 | const unsigned int FONT1_n95[5] = {6, 11, 0x00000000, 0x000003E0, 0x00000000}; 75 | const unsigned int FONT1_n96[5] = {6, 11, 0x00820000, 0x00000000, 0x00000000}; 76 | const unsigned int FONT1_n97[5] = {6, 11, 0x00001C89, 0xE8A27800, 0x00000000}; 77 | const unsigned int FONT1_n98[5] = {6, 11, 0x02083C8A, 0x28A2F000, 0x00000000}; 78 | const unsigned int FONT1_n99[5] = {6, 11, 0x00001C8A, 0x08227000, 0x00000000}; 79 | const unsigned int FONT1_n100[5] = {6, 11, 0x00209E8A, 0x28A27800, 0x00000000}; 80 | const unsigned int FONT1_n101[5] = {6, 11, 0x00001C8B, 0xE8227000, 0x00000000}; 81 | const unsigned int FONT1_n102[5] = {6, 11, 0x00C21C20, 0x82082000, 0x00000000}; 82 | const unsigned int FONT1_n103[5] = {6, 11, 0x00001E8A, 0x289E0A27, 0x00000000}; 83 | const unsigned int FONT1_n104[5] = {6, 11, 0x02083C8A, 0x28A28800, 0x00000000}; 84 | const unsigned int FONT1_n105[5] = {6, 11, 0x00800820, 0x82082000, 0x00000000}; 85 | const unsigned int FONT1_n106[5] = {6, 11, 0x00800820, 0x82082084, 0x00000000}; 86 | const unsigned int FONT1_n107[5] = {6, 11, 0x020824A3, 0x0C289000, 0x00000000}; 87 | const unsigned int FONT1_n108[5] = {6, 11, 0x00820820, 0x82082000, 0x00000000}; 88 | const unsigned int FONT1_n109[5] = {6, 11, 0x000034AA, 0xAAAAA800, 0x00000000}; 89 | const unsigned int FONT1_n110[5] = {6, 11, 0x00003C8A, 0x28A28800, 0x00000000}; 90 | const unsigned int FONT1_n111[5] = {6, 11, 0x00001C8A, 0x28A27000, 0x00000000}; 91 | const unsigned int FONT1_n112[5] = {6, 11, 0x00003C8A, 0x28A2F208, 0x00000000}; 92 | const unsigned int FONT1_n113[5] = {6, 11, 0x00001E8A, 0x28A27820, 0x80000000}; 93 | const unsigned int FONT1_n114[5] = {6, 11, 0x00001C41, 0x04104000, 0x00000000}; 94 | const unsigned int FONT1_n115[5] = {6, 11, 0x00001C89, 0x81227000, 0x00000000}; 95 | const unsigned int FONT1_n116[5] = {6, 11, 0x00821C20, 0x82083000, 0x00000000}; 96 | const unsigned int FONT1_n117[5] = {6, 11, 0x0000228A, 0x28A27000, 0x00000000}; 97 | const unsigned int FONT1_n118[5] = {6, 11, 0x00002289, 0x45082000, 0x00000000}; 98 | const unsigned int FONT1_n119[5] = {6, 11, 0x00002AAA, 0xAA945000, 0x00000000}; 99 | const unsigned int FONT1_n120[5] = {6, 11, 0x00002250, 0x82148800, 0x00000000}; 100 | const unsigned int FONT1_n121[5] = {6, 11, 0x0000228A, 0x2514208C, 0x00000000}; 101 | const unsigned int FONT1_n122[5] = {6, 11, 0x00003C10, 0x8420F000, 0x00000000}; 102 | const unsigned int FONT1_n123[5] = {6, 11, 0x30820840, 0x820820C0, 0x00000000}; 103 | const unsigned int FONT1_n124[5] = {6, 11, 0x20820820, 0x82082080, 0x00000000}; 104 | const unsigned int FONT1_n125[5] = {6, 11, 0x60820810, 0x82082180, 0x00000000}; 105 | const unsigned int FONT1_n126[5] = {6, 11, 0x0000006A, 0x40000000, 0x00000000}; 106 | const unsigned int *FONT_1[95] = {FONT1_n32, FONT1_n33, FONT1_n34, FONT1_n35, FONT1_n36, FONT1_n37, FONT1_n38, FONT1_n39, FONT1_n40, FONT1_n41, FONT1_n42, FONT1_n43, FONT1_n44, FONT1_n45, FONT1_n46, FONT1_n47, FONT1_n48, FONT1_n49, FONT1_n50, FONT1_n51, FONT1_n52, FONT1_n53, FONT1_n54, FONT1_n55, FONT1_n56, FONT1_n57, FONT1_n58, FONT1_n59, FONT1_n60, FONT1_n61, FONT1_n62, FONT1_n63, FONT1_n64, FONT1_n65, FONT1_n66, FONT1_n67, FONT1_n68, FONT1_n69, FONT1_n70, FONT1_n71, FONT1_n72, FONT1_n73, FONT1_n74, FONT1_n75, FONT1_n76, FONT1_n77, FONT1_n78, FONT1_n79, FONT1_n80, FONT1_n81, FONT1_n82, FONT1_n83, FONT1_n84, FONT1_n85, FONT1_n86, FONT1_n87, FONT1_n88, FONT1_n89, FONT1_n90, FONT1_n91, FONT1_n92, FONT1_n93, FONT1_n94, FONT1_n95, FONT1_n96, FONT1_n97, FONT1_n98, FONT1_n99, FONT1_n100, FONT1_n101, FONT1_n102, FONT1_n103, FONT1_n104, FONT1_n105, FONT1_n106, FONT1_n107, FONT1_n108, FONT1_n109, FONT1_n110, FONT1_n111, FONT1_n112, FONT1_n113, FONT1_n114, FONT1_n115, FONT1_n116, FONT1_n117, FONT1_n118, FONT1_n119, FONT1_n120, FONT1_n121, FONT1_n122, FONT1_n123, FONT1_n124, FONT1_n125, FONT1_n126}; 107 | // grimpan tahoma 24 point 108 | 109 | const unsigned int FONT8_n32[5] = {6, 11, 0x00000000, 0x00000000, 0x00000000}; 110 | const unsigned int FONT8_n33[5] = {6, 11, 0x00820820, 0x82002000, 0x00000000}; 111 | const unsigned int FONT8_n34[5] = {6, 11, 0x01450000, 0x00000000, 0x00000000}; 112 | const unsigned int FONT8_n35[5] = {6, 11, 0x01453E51, 0x4F945000, 0x00000000}; 113 | const unsigned int FONT8_n36[5] = {6, 11, 0x21CAA860, 0xC2AA7080, 0x00000000}; 114 | const unsigned int FONT8_n37[5] = {6, 11, 0x00042AB1, 0x852AA840, 0x00000000}; 115 | const unsigned int FONT8_n38[5] = {6, 11, 0x01892462, 0xA9246800, 0x00000000}; 116 | const unsigned int FONT8_n39[5] = {6, 11, 0x00820000, 0x00000000, 0x00000000}; 117 | const unsigned int FONT8_n40[5] = {6, 11, 0x10821041, 0x04082040, 0x00000000}; 118 | const unsigned int FONT8_n41[5] = {6, 11, 0x40820410, 0x41082100, 0x00000000}; 119 | const unsigned int FONT8_n42[5] = {6, 11, 0x00000823, 0xE2140000, 0x00000000}; 120 | const unsigned int FONT8_n43[5] = {6, 11, 0x00000823, 0xE2080000, 0x00000000}; 121 | const unsigned int FONT8_n44[5] = {6, 11, 0x00000000, 0x00002084, 0x00000000}; 122 | const unsigned int FONT8_n45[5] = {6, 11, 0x00000003, 0xE0000000, 0x00000000}; 123 | const unsigned int FONT8_n46[5] = {6, 11, 0x00000000, 0x00004100, 0x00000000}; 124 | const unsigned int FONT8_n47[5] = {6, 11, 0x08210420, 0x84108200, 0x00000000}; 125 | const unsigned int FONT8_n48[5] = {6, 11, 0x01C8A28A, 0x28A27000, 0x00000000}; 126 | const unsigned int FONT8_n49[5] = {6, 11, 0x008E0820, 0x82082000, 0x00000000}; 127 | const unsigned int FONT8_n50[5] = {6, 11, 0x01C8A210, 0x8420F800, 0x00000000}; 128 | const unsigned int FONT8_n51[5] = {6, 11, 0x01C88270, 0x20A27000, 0x00000000}; 129 | const unsigned int FONT8_n52[5] = {6, 11, 0x00C31452, 0x4F841000, 0x00000000}; 130 | const unsigned int FONT8_n53[5] = {6, 11, 0x03E820F0, 0x20A27000, 0x00000000}; 131 | const unsigned int FONT8_n54[5] = {6, 11, 0x01C8A0F2, 0x28A27000, 0x00000000}; 132 | const unsigned int FONT8_n55[5] = {6, 11, 0x03E08410, 0x42082000, 0x00000000}; 133 | const unsigned int FONT8_n56[5] = {6, 11, 0x01C8A272, 0x28A27000, 0x00000000}; 134 | const unsigned int FONT8_n57[5] = {6, 11, 0x01C8A289, 0xE0A27000, 0x00000000}; 135 | const unsigned int FONT8_n58[5] = {6, 11, 0x00000800, 0x00080000, 0x00000000}; 136 | const unsigned int FONT8_n59[5] = {6, 11, 0x00000800, 0x00084000, 0x00000000}; 137 | const unsigned int FONT8_n60[5] = {6, 11, 0x00000662, 0x06060000, 0x00000000}; 138 | const unsigned int FONT8_n61[5] = {6, 11, 0x000000F8, 0x0F800000, 0x00000000}; 139 | const unsigned int FONT8_n62[5] = {6, 11, 0x00003030, 0x23300000, 0x00000000}; 140 | const unsigned int FONT8_n63[5] = {6, 11, 0x01C88210, 0x82002000, 0x00000000}; 141 | const unsigned int FONT8_n64[5] = {6, 11, 0x01C8A6AA, 0xAAAE81C0, 0x00000000}; 142 | const unsigned int FONT8_n65[5] = {6, 11, 0x00821451, 0x4FA28800, 0x00000000}; 143 | const unsigned int FONT8_n66[5] = {6, 11, 0x03C8A2F2, 0x28A2F000, 0x00000000}; 144 | const unsigned int FONT8_n67[5] = {6, 11, 0x01C8A082, 0x08227000, 0x00000000}; 145 | const unsigned int FONT8_n68[5] = {6, 11, 0x03C8A28A, 0x28A2F000, 0x00000000}; 146 | const unsigned int FONT8_n69[5] = {6, 11, 0x03E820FA, 0x0820F800, 0x00000000}; 147 | const unsigned int FONT8_n70[5] = {6, 11, 0x03E820F2, 0x08208000, 0x00000000}; 148 | const unsigned int FONT8_n71[5] = {6, 11, 0x01C8A0BA, 0x28A66800, 0x00000000}; 149 | const unsigned int FONT8_n72[5] = {6, 11, 0x0228A2FA, 0x28A28800, 0x00000000}; 150 | const unsigned int FONT8_n73[5] = {6, 11, 0x00820820, 0x82082000, 0x00000000}; 151 | const unsigned int FONT8_n74[5] = {6, 11, 0x00410410, 0x49246000, 0x00000000}; 152 | const unsigned int FONT8_n75[5] = {6, 11, 0x022928C2, 0x89228800, 0x00000000}; 153 | const unsigned int FONT8_n76[5] = {6, 11, 0x02082082, 0x0820F800, 0x00000000}; 154 | const unsigned int FONT8_n77[5] = {6, 11, 0x0228B6DA, 0xAAAA8800, 0x00000000}; 155 | const unsigned int FONT8_n78[5] = {6, 11, 0x022CB2AA, 0xA9A68800, 0x00000000}; 156 | const unsigned int FONT8_n79[5] = {6, 11, 0x01C8A28A, 0x28A27000, 0x00000000}; 157 | const unsigned int FONT8_n80[5] = {6, 11, 0x03C8A28B, 0xC8208000, 0x00000000}; 158 | const unsigned int FONT8_n81[5] = {6, 11, 0x01C8A28A, 0x2AA67020, 0x00000000}; 159 | const unsigned int FONT8_n82[5] = {6, 11, 0x03C8A28B, 0xC8A28800, 0x00000000}; 160 | const unsigned int FONT8_n83[5] = {6, 11, 0x01C8A060, 0x40A27000, 0x00000000}; 161 | const unsigned int FONT8_n84[5] = {6, 11, 0x03E20820, 0x82082000, 0x00000000}; 162 | const unsigned int FONT8_n85[5] = {6, 11, 0x0228A28A, 0x28A27000, 0x00000000}; 163 | const unsigned int FONT8_n86[5] = {6, 11, 0x0228A251, 0x45082000, 0x00000000}; 164 | const unsigned int FONT8_n87[5] = {6, 11, 0x02AAAAAA, 0xA5145000, 0x00000000}; 165 | const unsigned int FONT8_n88[5] = {6, 11, 0x02289420, 0x85228800, 0x00000000}; 166 | const unsigned int FONT8_n89[5] = {6, 11, 0x02289450, 0x82082000, 0x00000000}; 167 | const unsigned int FONT8_n90[5] = {6, 11, 0x03E10420, 0x8410F800, 0x00000000}; 168 | const unsigned int FONT8_n91[5] = {6, 11, 0x30820820, 0x820820C0, 0x00000000}; 169 | const unsigned int FONT8_n92[5] = {6, 11, 0x01557F55, 0x528A2800, 0x00000000}; 170 | const unsigned int FONT8_n93[5] = {6, 11, 0x30410410, 0x410410C0, 0x00000000}; 171 | const unsigned int FONT8_n94[5] = {6, 11, 0x00852200, 0x00000000, 0x00000000}; 172 | const unsigned int FONT8_n95[5] = {6, 11, 0x00000000, 0x000003E0, 0x00000000}; 173 | const unsigned int FONT8_n96[5] = {6, 11, 0x00820000, 0x00000000, 0x00000000}; 174 | const unsigned int FONT8_n97[5] = {6, 11, 0x00001C89, 0xE8A27800, 0x00000000}; 175 | const unsigned int FONT8_n98[5] = {6, 11, 0x02083C8A, 0x28A2F000, 0x00000000}; 176 | const unsigned int FONT8_n99[5] = {6, 11, 0x00001C8A, 0x08227000, 0x00000000}; 177 | const unsigned int FONT8_n100[5] = {6, 11, 0x00209E8A, 0x28A27800, 0x00000000}; 178 | const unsigned int FONT8_n101[5] = {6, 11, 0x00001C8B, 0xE8227000, 0x00000000}; 179 | const unsigned int FONT8_n102[5] = {6, 11, 0x00C21C20, 0x82082000, 0x00000000}; 180 | const unsigned int FONT8_n103[5] = {6, 11, 0x00001E8A, 0x289E0A27, 0x00000000}; 181 | const unsigned int FONT8_n104[5] = {6, 11, 0x02083C8A, 0x28A28800, 0x00000000}; 182 | const unsigned int FONT8_n105[5] = {6, 11, 0x00800820, 0x82082000, 0x00000000}; 183 | const unsigned int FONT8_n106[5] = {6, 11, 0x00800820, 0x82082084, 0x00000000}; 184 | const unsigned int FONT8_n107[5] = {6, 11, 0x020824A3, 0x0C289000, 0x00000000}; 185 | const unsigned int FONT8_n108[5] = {6, 11, 0x00820820, 0x82082000, 0x00000000}; 186 | const unsigned int FONT8_n109[5] = {6, 11, 0x000034AA, 0xAAAAA800, 0x00000000}; 187 | const unsigned int FONT8_n110[5] = {6, 11, 0x00003C8A, 0x28A28800, 0x00000000}; 188 | const unsigned int FONT8_n111[5] = {6, 11, 0x00001C8A, 0x28A27000, 0x00000000}; 189 | const unsigned int FONT8_n112[5] = {6, 11, 0x00003C8A, 0x28A2F208, 0x00000000}; 190 | const unsigned int FONT8_n113[5] = {6, 11, 0x00001E8A, 0x28A27820, 0x80000000}; 191 | const unsigned int FONT8_n114[5] = {6, 11, 0x00001C41, 0x04104000, 0x00000000}; 192 | const unsigned int FONT8_n115[5] = {6, 11, 0x00001C89, 0x81227000, 0x00000000}; 193 | const unsigned int FONT8_n116[5] = {6, 11, 0x00821C20, 0x82083000, 0x00000000}; 194 | const unsigned int FONT8_n117[5] = {6, 11, 0x0000228A, 0x28A27000, 0x00000000}; 195 | const unsigned int FONT8_n118[5] = {6, 11, 0x00002289, 0x45082000, 0x00000000}; 196 | const unsigned int FONT8_n119[5] = {6, 11, 0x00002AAA, 0xAA945000, 0x00000000}; 197 | const unsigned int FONT8_n120[5] = {6, 11, 0x00002250, 0x82148800, 0x00000000}; 198 | const unsigned int FONT8_n121[5] = {6, 11, 0x0000228A, 0x2514208C, 0x00000000}; 199 | const unsigned int FONT8_n122[5] = {6, 11, 0x00003C10, 0x8420F000, 0x00000000}; 200 | const unsigned int FONT8_n123[5] = {6, 11, 0x30820840, 0x820820C0, 0x00000000}; 201 | const unsigned int FONT8_n124[5] = {6, 11, 0x20820820, 0x82082080, 0x00000000}; 202 | const unsigned int FONT8_n125[5] = {6, 11, 0x60820810, 0x82082180, 0x00000000}; 203 | const unsigned int FONT8_n126[5] = {6, 11, 0x0000006A, 0x40000000, 0x00000000}; 204 | const unsigned int *FONT_8[95] = {FONT8_n32, FONT8_n33, FONT8_n34, FONT8_n35, FONT8_n36, FONT8_n37, FONT8_n38, FONT8_n39, FONT8_n40, FONT8_n41, FONT8_n42, FONT8_n43, FONT8_n44, FONT8_n45, FONT8_n46, FONT8_n47, FONT8_n48, FONT8_n49, FONT8_n50, FONT8_n51, FONT8_n52, FONT8_n53, FONT8_n54, FONT8_n55, FONT8_n56, FONT8_n57, FONT8_n58, FONT8_n59, FONT8_n60, FONT8_n61, FONT8_n62, FONT8_n63, FONT8_n64, FONT8_n65, FONT8_n66, FONT8_n67, FONT8_n68, FONT8_n69, FONT8_n70, FONT8_n71, FONT8_n72, FONT8_n73, FONT8_n74, FONT8_n75, FONT8_n76, FONT8_n77, FONT8_n78, FONT8_n79, FONT8_n80, FONT8_n81, FONT8_n82, FONT8_n83, FONT8_n84, FONT8_n85, FONT8_n86, FONT8_n87, FONT8_n88, FONT8_n89, FONT8_n90, FONT8_n91, FONT8_n92, FONT8_n93, FONT8_n94, FONT8_n95, FONT8_n96, FONT8_n97, FONT8_n98, FONT8_n99, FONT8_n100, FONT8_n101, FONT8_n102, FONT8_n103, FONT8_n104, FONT8_n105, FONT8_n106, FONT8_n107, FONT8_n108, FONT8_n109, FONT8_n110, FONT8_n111, FONT8_n112, FONT8_n113, FONT8_n114, FONT8_n115, FONT8_n116, FONT8_n117, FONT8_n118, FONT8_n119, FONT8_n120, FONT8_n121, FONT8_n122, FONT8_n123, FONT8_n124, FONT8_n125, FONT8_n126}; 205 | 206 | const unsigned int FONT2_n32[14] = {16, 24, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}; 207 | const unsigned int FONT2_n33[5] = {6, 11, 0x00820820, 0x82002000, 0x00000000}; 208 | const unsigned int FONT2_n34[5] = {6, 11, 0x01450000, 0x00000000, 0x00000000}; 209 | const unsigned int FONT2_n35[5] = {6, 11, 0x01453E51, 0x4F945000, 0x00000000}; 210 | const unsigned int FONT2_n36[5] = {6, 11, 0x21CAA860, 0xC2AA7080, 0x00000000}; 211 | const unsigned int FONT2_n37[5] = {6, 11, 0x00042AB1, 0x852AA840, 0x00000000}; 212 | const unsigned int FONT2_n38[5] = {6, 11, 0x01892462, 0xA9246800, 0x00000000}; 213 | const unsigned int FONT2_n39[5] = {6, 11, 0x00820000, 0x00000000, 0x00000000}; 214 | const unsigned int FONT2_n40[5] = {6, 11, 0x10821041, 0x04082040, 0x00000000}; 215 | const unsigned int FONT2_n41[5] = {6, 11, 0x40820410, 0x41082100, 0x00000000}; 216 | const unsigned int FONT2_n42[5] = {6, 11, 0x00000823, 0xE2140000, 0x00000000}; 217 | const unsigned int FONT2_n43[5] = {6, 11, 0x00000823, 0xE2080000, 0x00000000}; 218 | const unsigned int FONT2_n44[5] = {6, 11, 0x00000000, 0x00002084, 0x00000000}; 219 | const unsigned int FONT2_n45[14] = {16, 24, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x0ff00ff0,0x0ff00ff0,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}; 220 | const unsigned int FONT2_n46[8] = {8, 24, 0x00000000,0x00000000,0x00000000,0x00000000,0x00003c3c,0x3c3c0000}; 221 | const unsigned int FONT2_n47[5] = {6, 11, 0x08210420, 0x84108200, 0x00000000}; 222 | const unsigned int FONT2_n48[14] = {16, 24, 0x00000000,0x07e01ff8,0x3ffc7ffe,0x7c3e7c3e,0xf81ff81f,0xf81ff81f,0xf81ff81f,0xf81ff81f,0x7c3e7c3e,0x7ffe3ffc,0x1ff807e0,0x00000000};//0 223 | const unsigned int FONT2_n49[14] = {16, 24, 0x00000000,0x01e003e0,0x07e03fe0,0x3fe03fe0,0x03e003e0,0x03e003e0,0x03e003e0,0x03e003e0,0x03e003e0,0x3ffe3ffe,0x3ffe3ffe,0x00000000};//1 224 | const unsigned int FONT2_n50[14] = {16, 24, 0x00000000,0x1fc07ff0,0x7ff87ffc,0x60fc407c,0x007c007c,0x007c00f8,0x01f003f0,0x07e00fc0,0x1f003e00,0xfffefffe,0xfffefffe,0x00000000};//2 225 | const unsigned int FONT2_n51[14] = {16, 24, 0x00000000,0x0fe07ff8,0x7ffc7ffe,0x707e403e,0x003e007c,0x07fc07f0,0x07f807fe,0x003e001f,0x403f707e,0x7ffe7ffc,0x7ff81fe0,0x00000000};///3 226 | const unsigned int FONT2_n52[14] = {16, 24, 0x00000000,0x00fc01fc,0x03fc03fc,0x07fc0f7c,0x1e7c3c7c,0x3c7c787c,0xf07cffff,0xffffffff,0xffff007c,0x007c007c,0x007c007c,0x00000000};///4 227 | const unsigned int FONT2_n53[14] = {16, 24, 0x00000000,0x3ffe3ffe,0x3ffe3ffe,0x3c003c00,0x3c003ff0,0x3ffc3ffe,0x3ffe207e,0x003f001f,0x403e707e,0x7ffe7ffc,0x7ff81fe0,0x00000000};///5 228 | const unsigned int FONT2_n54[14] = {16, 24, 0x00000000,0x01fc07fc,0x1ffc1ffc,0x3f047e00,0x7c007df0,0x7ffc7ffe,0xfffffc3f,0x781f781f,0x7c1f7c1f,0x3e3e3ffc,0x1ff807e0,0x00000000};//6 229 | const unsigned int FONT2_n55[14] = {16, 24, 0x00000000,0x7fff7fff,0x7fff7fff,0x003e003e,0x007c007c,0x00f801f8,0x01f003f0,0x03e007c0,0x07c00f80,0x1f801f00,0x3f003e00,0x00000000};//7 230 | const unsigned int FONT2_n56[14] = {16, 24, 0x00000000,0x07f01ffc,0x3ffe7c3e,0x781e781e,0x7c3e7f3c,0x3ff81ff8,0x3ffc7cfe,0xf83ff81f,0xf81ff81f,0xfc3e7ffe,0x3ffc0fe0,0x00000000};//8 231 | const unsigned int FONT2_n57[14] = {16, 24, 0x00000000,0x07e01ff8,0x3ffc7c7c,0xf83ef81e,0xf81ef81f,0xfc1fffff,0x7ffe3ffe,0x0fbe003e,0x007e20fc,0x3ff83ff8,0x3fe03f80,0x00000000};//9 232 | const unsigned int FONT2_n58[5] = {6, 11, 0x00000800, 0x00080000, 0x00000000}; 233 | const unsigned int FONT2_n59[5] = {6, 11, 0x00000800, 0x00084000, 0x00000000}; 234 | const unsigned int FONT2_n60[5] = {6, 11, 0x00000662, 0x06060000, 0x00000000}; 235 | const unsigned int FONT2_n61[5] = {6, 11, 0x000000F8, 0x0F800000, 0x00000000}; 236 | const unsigned int FONT2_n62[5] = {6, 11, 0x00003030, 0x23300000, 0x00000000}; 237 | const unsigned int FONT2_n63[5] = {6, 11, 0x01C88210, 0x82002000, 0x00000000}; 238 | const unsigned int FONT2_n64[5] = {6, 11, 0x01C8A6AA, 0xAAAE81C0, 0x00000000}; 239 | const unsigned int FONT2_n65[5] = {6, 11, 0x00821451, 0x4FA28800, 0x00000000}; 240 | const unsigned int FONT2_n66[5] = {6, 11, 0x03C8A2F2, 0x28A2F000, 0x00000000}; 241 | const unsigned int FONT2_n67[5] = {6, 11, 0x01C8A082, 0x08227000, 0x00000000}; 242 | const unsigned int FONT2_n68[5] = {6, 11, 0x03C8A28A, 0x28A2F000, 0x00000000}; 243 | const unsigned int FONT2_n69[5] = {6, 11, 0x03E820FA, 0x0820F800, 0x00000000}; 244 | const unsigned int FONT2_n70[5] = {6, 11, 0x03E820F2, 0x08208000, 0x00000000}; 245 | const unsigned int FONT2_n71[5] = {6, 11, 0x01C8A0BA, 0x28A66800, 0x00000000}; 246 | const unsigned int FONT2_n72[5] = {6, 11, 0x0228A2FA, 0x28A28800, 0x00000000}; 247 | const unsigned int FONT2_n73[5] = {6, 11, 0x00820820, 0x82082000, 0x00000000}; 248 | const unsigned int FONT2_n74[5] = {6, 11, 0x00410410, 0x49246000, 0x00000000}; 249 | const unsigned int FONT2_n75[5] = {6, 11, 0x022928C2, 0x89228800, 0x00000000}; 250 | const unsigned int FONT2_n76[5] = {6, 11, 0x02082082, 0x0820F800, 0x00000000}; 251 | const unsigned int FONT2_n77[5] = {6, 11, 0x0228B6DA, 0xAAAA8800, 0x00000000}; 252 | const unsigned int FONT2_n78[5] = {6, 11, 0x022CB2AA, 0xA9A68800, 0x00000000}; 253 | const unsigned int FONT2_n79[5] = {6, 11, 0x01C8A28A, 0x28A27000, 0x00000000}; 254 | const unsigned int FONT2_n80[5] = {6, 11, 0x03C8A28B, 0xC8208000, 0x00000000}; 255 | const unsigned int FONT2_n81[5] = {6, 11, 0x01C8A28A, 0x2AA67020, 0x00000000}; 256 | const unsigned int FONT2_n82[5] = {6, 11, 0x03C8A28B, 0xC8A28800, 0x00000000}; 257 | const unsigned int FONT2_n83[5] = {6, 11, 0x01C8A060, 0x40A27000, 0x00000000}; 258 | const unsigned int FONT2_n84[5] = {6, 11, 0x03E20820, 0x82082000, 0x00000000}; 259 | const unsigned int FONT2_n85[5] = {6, 11, 0x0228A28A, 0x28A27000, 0x00000000}; 260 | const unsigned int FONT2_n86[5] = {6, 11, 0x0228A251, 0x45082000, 0x00000000}; 261 | const unsigned int FONT2_n87[5] = {6, 11, 0x02AAAAAA, 0xA5145000, 0x00000000}; 262 | const unsigned int FONT2_n88[5] = {6, 11, 0x02289420, 0x85228800, 0x00000000}; 263 | const unsigned int FONT2_n89[5] = {6, 11, 0x02289450, 0x82082000, 0x00000000}; 264 | const unsigned int FONT2_n90[5] = {6, 11, 0x03E10420, 0x8410F800, 0x00000000}; 265 | const unsigned int FONT2_n91[5] = {6, 11, 0x30820820, 0x820820C0, 0x00000000}; 266 | const unsigned int FONT2_n92[5] = {6, 11, 0x01557F55, 0x528A2800, 0x00000000}; 267 | const unsigned int FONT2_n93[5] = {6, 11, 0x30410410, 0x410410C0, 0x00000000}; 268 | const unsigned int FONT2_n94[5] = {6, 11, 0x00852200, 0x00000000, 0x00000000}; 269 | const unsigned int FONT2_n95[5] = {6, 11, 0x00000000, 0x000003E0, 0x00000000}; 270 | const unsigned int FONT2_n96[5] = {6, 11, 0x00820000, 0x00000000, 0x00000000}; 271 | const unsigned int FONT2_n97[5] = {6, 11, 0x00001C89, 0xE8A27800, 0x00000000}; 272 | const unsigned int FONT2_n98[5] = {6, 11, 0x02083C8A, 0x28A2F000, 0x00000000}; 273 | const unsigned int FONT2_n99[5] = {6, 11, 0x00001C8A, 0x08227000, 0x00000000}; 274 | const unsigned int FONT2_n100[5] = {6, 11, 0x00209E8A, 0x28A27800, 0x00000000}; 275 | const unsigned int FONT2_n101[5] = {6, 11, 0x00001C8B, 0xE8227000, 0x00000000}; 276 | const unsigned int FONT2_n102[5] = {6, 11, 0x00C21C20, 0x82082000, 0x00000000}; 277 | const unsigned int FONT2_n103[5] = {6, 11, 0x00001E8A, 0x289E0A27, 0x00000000}; 278 | const unsigned int FONT2_n104[5] = {6, 11, 0x02083C8A, 0x28A28800, 0x00000000}; 279 | const unsigned int FONT2_n105[5] = {6, 11, 0x00800820, 0x82082000, 0x00000000}; 280 | const unsigned int FONT2_n106[5] = {6, 11, 0x00800820, 0x82082084, 0x00000000}; 281 | const unsigned int FONT2_n107[5] = {6, 11, 0x020824A3, 0x0C289000, 0x00000000}; 282 | const unsigned int FONT2_n108[5] = {6, 11, 0x00820820, 0x82082000, 0x00000000}; 283 | const unsigned int FONT2_n109[5] = {6, 11, 0x000034AA, 0xAAAAA800, 0x00000000}; 284 | const unsigned int FONT2_n110[5] = {6, 11, 0x00003C8A, 0x28A28800, 0x00000000}; 285 | const unsigned int FONT2_n111[5] = {6, 11, 0x00001C8A, 0x28A27000, 0x00000000}; 286 | const unsigned int FONT2_n112[5] = {6, 11, 0x00003C8A, 0x28A2F208, 0x00000000}; 287 | const unsigned int FONT2_n113[5] = {6, 11, 0x00001E8A, 0x28A27820, 0x80000000}; 288 | const unsigned int FONT2_n114[5] = {6, 11, 0x00001C41, 0x04104000, 0x00000000}; 289 | const unsigned int FONT2_n115[5] = {6, 11, 0x00001C89, 0x81227000, 0x00000000}; 290 | const unsigned int FONT2_n116[5] = {6, 11, 0x00821C20, 0x82083000, 0x00000000}; 291 | const unsigned int FONT2_n117[5] = {6, 11, 0x0000228A, 0x28A27000, 0x00000000}; 292 | const unsigned int FONT2_n118[5] = {6, 11, 0x00002289, 0x45082000, 0x00000000}; 293 | const unsigned int FONT2_n119[5] = {6, 11, 0x00002AAA, 0xAA945000, 0x00000000}; 294 | const unsigned int FONT2_n120[5] = {6, 11, 0x00002250, 0x82148800, 0x00000000}; 295 | const unsigned int FONT2_n121[5] = {6, 11, 0x0000228A, 0x2514208C, 0x00000000}; 296 | const unsigned int FONT2_n122[5] = {6, 11, 0x00003C10, 0x8420F000, 0x00000000}; 297 | const unsigned int FONT2_n123[5] = {6, 11, 0x30820840, 0x820820C0, 0x00000000}; 298 | const unsigned int FONT2_n124[5] = {6, 11, 0x20820820, 0x82082080, 0x00000000}; 299 | const unsigned int FONT2_n125[5] = {6, 11, 0x60820810, 0x82082180, 0x00000000}; 300 | const unsigned int FONT2_n126[5] = {6, 11, 0x0000006A, 0x40000000, 0x00000000}; 301 | const unsigned int *FONT_2[95] = {FONT2_n32, FONT2_n33, FONT2_n34, FONT2_n35, FONT2_n36, FONT2_n37, FONT2_n38, FONT2_n39, FONT2_n40, FONT2_n41, FONT2_n42, FONT2_n43, FONT2_n44, FONT2_n45, FONT2_n46, FONT2_n47, FONT2_n48, FONT2_n49, FONT2_n50, FONT2_n51, FONT2_n52, FONT2_n53, FONT2_n54, FONT2_n55, FONT2_n56, FONT2_n57, FONT2_n58, FONT2_n59, FONT2_n60, FONT2_n61, FONT2_n62, FONT2_n63, FONT2_n64, FONT2_n65, FONT2_n66, FONT2_n67, FONT2_n68, FONT2_n69, FONT2_n70, FONT2_n71, FONT2_n72, FONT2_n73, FONT2_n74, FONT2_n75, FONT2_n76, FONT2_n77, FONT2_n78, FONT2_n79, FONT2_n80, FONT2_n81, FONT2_n82, FONT2_n83, FONT2_n84, FONT2_n85, FONT2_n86, FONT2_n87, FONT2_n88, FONT2_n89, FONT2_n90, FONT2_n91, FONT2_n92, FONT2_n93, FONT2_n94, FONT2_n95, FONT2_n96, FONT2_n97, FONT2_n98, FONT2_n99, FONT2_n100, FONT2_n101, FONT2_n102, FONT2_n103, FONT2_n104, FONT2_n105, FONT2_n106, FONT2_n107, FONT2_n108, FONT2_n109, FONT2_n110, FONT2_n111, FONT2_n112, FONT2_n113, FONT2_n114, FONT2_n115, FONT2_n116, FONT2_n117, FONT2_n118, FONT2_n119, FONT2_n120, FONT2_n121, FONT2_n122, FONT2_n123, FONT2_n124, FONT2_n125, FONT2_n126}; 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | #endif /* FONT_H_ */ 315 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CubeMX-ST7789 2 | ## Overview 3 | CubeMX uses C code, not C++. 4 | 5 | Adafruit distributes "Adafruit 1.54" TFT ST7789 C++ library". 6 | 7 | It does not works in the code generated by CubeMX because C code can't detect class. 8 | 9 | So we ported C code which based on GPIO. 10 | 11 | ## Discription 12 | 13 | ### Font.h 14 | * Size of "FONT8_n#" is 6x11 pixel, and # means ASKII code. 15 | * Size of "FONT2_n#" is 16x24 pixel, but only numbers and ":", "." we changed from "FONT8_n#". 16 | * Size of "FONT1_n#" is 24x32 pixel, but only numbers and ":", "." we changed from "FONT8_n#". 17 | 18 | ### ST7789.h 19 | * ST7789_Init() function : Initialize function to use ST7789.h 20 | * ST7789_Clear() function : Define background color using (x1,y1) and (x2,y2) locaion 21 | * (xs,ys) in draW~ funcions means upperleft location. 22 | * color : 0x0000 white to 0xFFFF black. 23 | -------------------------------------------------------------------------------- /ST7789.c: -------------------------------------------------------------------------------- 1 | #include "ST7789.h" 2 | //88 3 | void ST7789_Init(){ 4 | 5 | LCD_SCK1; 6 | LCD_CS0; 7 | LCD_RST0; 8 | 9 | HAL_Delay(10); 10 | 11 | LCD_RST1; 12 | HAL_Delay(10); 13 | 14 | ST7789_sendCmd(0x11); 15 | 16 | HAL_Delay(10); 17 | ST7789_sendCmd(0x3A); 18 | ST7789_sendData(0x05); 19 | ST7789_sendCmd(0x29); 20 | 21 | } 22 | void ST7789_senddata(unsigned char data){ 23 | unsigned char i; 24 | LCD_CS0; 25 | for(i=0;i<8;i++){ 26 | if(data & 0x80){LCD_MOSI1;} 27 | else LCD_MOSI0; 28 | data=data<<1; 29 | LCD_SCK0; 30 | LCD_SCK1; 31 | } 32 | LCD_CS1; 33 | } 34 | void ST7789_sendCmd(unsigned char cmd){ 35 | LCD_DC0; 36 | ST7789_senddata(cmd); 37 | } 38 | void ST7789_sendData(unsigned char data){ 39 | LCD_DC1; 40 | ST7789_senddata(data); 41 | } 42 | void ST7789_pix(unsigned char x,unsigned char y, unsigned int color){ 43 | ST7789_sendCmd(0x2A); 44 | ST7789_sendData(0x00); 45 | ST7789_sendData(x); 46 | 47 | ST7789_sendCmd(0x2B); 48 | ST7789_sendData(0x00); 49 | ST7789_sendData(y); 50 | 51 | ST7789_sendCmd(0x2C); 52 | ST7789_sendData((color & 0xFF00)>>8); 53 | ST7789_sendData(color & 0x00FF); 54 | } 55 | void ST7789_at(unsigned char startx,unsigned char starty,unsigned char stopx,unsigned char stopy){ 56 | ST7789_sendCmd(0x2A); 57 | ST7789_sendData(0x00); 58 | ST7789_sendData(startx); 59 | ST7789_sendData(0x00); 60 | ST7789_sendData(stopx); 61 | 62 | ST7789_sendCmd(0x2B); 63 | ST7789_sendData(0x00); 64 | ST7789_sendData(starty); 65 | ST7789_sendData(0x00); 66 | ST7789_sendData(stopy); 67 | } 68 | void ST7789_drawImage(uint32_t xs, uint32_t ys, const uint32_t *image,unsigned int color) 69 | { 70 | uint32_t i, x, y, sx, sy; 71 | 72 | sx = image[0]; 73 | sy = image[1]; 74 | 75 | for (i = 0; i < sx * sy; i++) 76 | { 77 | x = xs + (i % sx); 78 | y = ys + (i / sx); 79 | 80 | if ((image[2 + (i / 32)] >> (31 - (i % 32))) & 0x1) 81 | ST7789_pix(x, y,color); 82 | else 83 | ST7789_pix(x, y,0x0); 84 | } 85 | } 86 | void ST7789_drawChar(uint32_t xs, uint32_t ys, const uint32_t ** font, uint8_t ascii,unsigned int color) 87 | { 88 | if ((ascii < 32) || (ascii > 126)) 89 | ascii = 0; 90 | else 91 | ascii -= 32; 92 | 93 | ST7789_drawImage(xs, ys, font[ascii],color); 94 | } 95 | void ST7789_drawInt(uint32_t xs, uint32_t ys, const uint32_t ** font, int n,unsigned int color) 96 | { 97 | int r = 1; 98 | int offset = 0; 99 | 100 | if (n == 0) 101 | { 102 | ST7789_drawChar(xs, ys, font, '0',color); 103 | return; 104 | } 105 | 106 | if (n < 0) 107 | { 108 | ST7789_drawChar(xs, ys, font, '-',color); 109 | offset += font[0][0]; 110 | n = -n; 111 | } 112 | 113 | while (n / r) 114 | r *= 10; 115 | 116 | while (r != 1) 117 | { 118 | r /= 10; 119 | ST7789_drawChar(xs + offset, ys, font, (uint8_t)((n % (r * 10)) / r + '0'),color); 120 | offset += font[0][0]; 121 | } 122 | } 123 | void ST7789_drawString(uint32_t xs, uint32_t ys, const uint32_t ** font, uint8_t *str,unsigned int color) 124 | { 125 | while (*str != 0) 126 | { 127 | ST7789_drawChar(xs, ys, font, *(str++),color); 128 | xs += font[0][0]; 129 | }; 130 | } 131 | void ST7789_Clear(uint32_t x1,uint32_t x2,uint32_t y1,uint32_t y2){ 132 | int y,x; 133 | for(y=y1;y