*
This commit is contained in:
@@ -0,0 +1,417 @@
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "AsciiLib.h"
|
||||
|
||||
#ifdef ASCII_8X16_MS_Gothic
|
||||
static unsigned char const AsciiLib[95][16] = {
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
|
||||
|
||||
{0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x18,0x18,0x00,0x00},/*"!",1*/
|
||||
|
||||
{0x36,0x24,0x48,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
|
||||
|
||||
{0x00,0x24,0x24,0x24,0x24,0xFE,0x48,0x48,0x48,0x48,0xFC,0x48,0x48,0x48,0x48,0x00},/*"#",3*/
|
||||
|
||||
{0x10,0x38,0x54,0x92,0x92,0x50,0x30,0x18,0x14,0x12,0x92,0x92,0x54,0x38,0x10,0x00},/*"$",4*/
|
||||
|
||||
{0x00,0x62,0x92,0x94,0x94,0x68,0x08,0x10,0x20,0x2C,0x52,0x52,0x92,0x8C,0x00,0x00},/*"%",5*/
|
||||
|
||||
{0x00,0x30,0x48,0x48,0x48,0x48,0x30,0x20,0x54,0x94,0x88,0x88,0x94,0x62,0x00,0x00},/*"&",6*/
|
||||
|
||||
{0x30,0x30,0x10,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
|
||||
|
||||
{0x04,0x08,0x10,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x10,0x10,0x08,0x04,0x00},/*"(",8*/
|
||||
|
||||
{0x40,0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x40,0x00},/*")",9*/
|
||||
|
||||
{0x00,0x00,0x00,0x10,0x92,0x54,0x38,0x10,0x38,0x54,0x92,0x10,0x00,0x00,0x00,0x00},/*"*",10*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x10,0x10,0x10,0xFE,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00},/*"+",11*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x10,0x20,0x00},/*",",12*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00},/*".",14*/
|
||||
|
||||
{0x00,0x02,0x02,0x04,0x04,0x08,0x08,0x10,0x20,0x20,0x40,0x40,0x80,0x80,0x00,0x00},/*"/",15*/
|
||||
|
||||
{0x00,0x30,0x48,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x48,0x30,0x00,0x00},/*"0",16*/
|
||||
|
||||
{0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00},/*"1",17*/
|
||||
|
||||
{0x00,0x30,0x48,0x84,0x84,0x04,0x08,0x08,0x10,0x20,0x20,0x40,0x80,0xFC,0x00,0x00},/*"2",18*/
|
||||
|
||||
{0x00,0x30,0x48,0x84,0x84,0x04,0x08,0x30,0x08,0x04,0x84,0x84,0x48,0x30,0x00,0x00},/*"3",19*/
|
||||
|
||||
{0x00,0x08,0x08,0x18,0x18,0x28,0x28,0x48,0x48,0x88,0xFC,0x08,0x08,0x08,0x00,0x00},/*"4",20*/
|
||||
|
||||
{0x00,0xFC,0x80,0x80,0x80,0xB0,0xC8,0x84,0x04,0x04,0x04,0x84,0x48,0x30,0x00,0x00},/*"5",21*/
|
||||
|
||||
{0x00,0x30,0x48,0x84,0x84,0x80,0xB0,0xC8,0x84,0x84,0x84,0x84,0x48,0x30,0x00,0x00},/*"6",22*/
|
||||
|
||||
{0x00,0xFC,0x04,0x04,0x08,0x08,0x08,0x10,0x10,0x10,0x20,0x20,0x20,0x20,0x00,0x00},/*"7",23*/
|
||||
|
||||
{0x00,0x30,0x48,0x84,0x84,0x84,0x48,0x30,0x48,0x84,0x84,0x84,0x48,0x30,0x00,0x00},/*"8",24*/
|
||||
|
||||
{0x00,0x30,0x48,0x84,0x84,0x84,0x84,0x4C,0x34,0x04,0x84,0x84,0x48,0x30,0x00,0x00},/*"9",25*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00},/*":",26*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x30,0x30,0x10,0x20,0x00},/*";",27*/
|
||||
|
||||
{0x00,0x00,0x04,0x08,0x10,0x20,0x40,0x80,0x40,0x20,0x10,0x08,0x04,0x00,0x00,0x00},/*"<",28*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00},/*"=",29*/
|
||||
|
||||
{0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00},/*">",30*/
|
||||
|
||||
{0x00,0x30,0x48,0x84,0x84,0x04,0x08,0x10,0x20,0x20,0x00,0x00,0x30,0x30,0x00,0x00},/*"?",31*/
|
||||
|
||||
{0x00,0x38,0x44,0x82,0x9A,0xAA,0xAA,0xAA,0xAA,0xAA,0x9C,0x80,0x42,0x3C,0x00,0x00},/*"@",32*/
|
||||
|
||||
{0x00,0x10,0x10,0x28,0x28,0x28,0x28,0x44,0x44,0x44,0x7C,0x82,0x82,0x82,0x00,0x00},/*"A",33*/
|
||||
|
||||
{0x00,0xF8,0x84,0x82,0x82,0x82,0x84,0xF8,0x84,0x82,0x82,0x82,0x84,0xF8,0x00,0x00},/*"B",34*/
|
||||
|
||||
{0x00,0x38,0x44,0x82,0x82,0x80,0x80,0x80,0x80,0x80,0x82,0x82,0x44,0x38,0x00,0x00},/*"C",35*/
|
||||
|
||||
{0x00,0xF8,0x84,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x84,0xF8,0x00,0x00},/*"D",36*/
|
||||
|
||||
{0x00,0xFE,0x80,0x80,0x80,0x80,0x80,0xFC,0x80,0x80,0x80,0x80,0x80,0xFE,0x00,0x00},/*"E",37*/
|
||||
|
||||
{0x00,0xFE,0x80,0x80,0x80,0x80,0x80,0xFC,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00},/*"F",38*/
|
||||
|
||||
{0x00,0x38,0x44,0x82,0x82,0x80,0x80,0x80,0x8E,0x82,0x82,0x82,0x46,0x3A,0x00,0x00},/*"G",39*/
|
||||
|
||||
{0x00,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x00,0x00},/*"H",40*/
|
||||
|
||||
{0x00,0x38,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00},/*"I",41*/
|
||||
|
||||
{0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x84,0x84,0x48,0x30,0x00,0x00},/*"J",42*/
|
||||
|
||||
{0x00,0x82,0x84,0x84,0x88,0x90,0x90,0xA0,0xD0,0x88,0x88,0x84,0x82,0x82,0x00,0x00},/*"K",43*/
|
||||
|
||||
{0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFE,0x00,0x00},/*"L",44*/
|
||||
|
||||
{0x00,0x82,0x82,0xC6,0xC6,0xC6,0xC6,0xAA,0xAA,0xAA,0xAA,0x92,0x92,0x92,0x00,0x00},/*"M",45*/
|
||||
|
||||
{0x00,0x82,0x82,0xC2,0xC2,0xA2,0xA2,0x92,0x92,0x8A,0x8A,0x86,0x86,0x82,0x00,0x00},/*"N",46*/
|
||||
|
||||
{0x00,0x38,0x44,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x44,0x38,0x00,0x00},/*"O",47*/
|
||||
|
||||
{0x00,0xF8,0x84,0x82,0x82,0x82,0x84,0xF8,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00},/*"P",48*/
|
||||
|
||||
{0x00,0x38,0x44,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x92,0x8A,0x44,0x3A,0x00,0x00},/*"Q",49*/
|
||||
|
||||
{0x00,0xF8,0x84,0x82,0x82,0x82,0x84,0xF8,0x88,0x88,0x84,0x84,0x82,0x82,0x00,0x00},/*"R",50*/
|
||||
|
||||
{0x00,0x38,0x44,0x82,0x82,0x80,0x60,0x18,0x04,0x02,0x82,0x82,0x44,0x38,0x00,0x00},/*"S",51*/
|
||||
|
||||
{0x00,0xFE,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00},/*"T",52*/
|
||||
|
||||
{0x00,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x44,0x38,0x00,0x00},/*"U",53*/
|
||||
|
||||
{0x00,0x82,0x82,0x82,0x44,0x44,0x44,0x44,0x28,0x28,0x28,0x10,0x10,0x10,0x00,0x00},/*"V",54*/
|
||||
|
||||
{0x00,0x92,0x92,0x92,0x92,0xAA,0xAA,0xAA,0xAA,0x44,0x44,0x44,0x44,0x44,0x00,0x00},/*"W",55*/
|
||||
|
||||
{0x00,0x82,0x82,0x44,0x44,0x28,0x28,0x10,0x28,0x28,0x44,0x44,0x82,0x82,0x00,0x00},/*"X",56*/
|
||||
|
||||
{0x00,0x82,0x82,0x44,0x44,0x28,0x28,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00},/*"Y",57*/
|
||||
|
||||
{0x00,0xFE,0x02,0x04,0x04,0x08,0x08,0x10,0x20,0x20,0x40,0x40,0x80,0xFE,0x00,0x00},/*"Z",58*/
|
||||
|
||||
{0x7C,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C,0x00},/*"[",59*/
|
||||
|
||||
{0x00,0x82,0x82,0x44,0x44,0x28,0x28,0x7C,0x10,0x10,0x7C,0x10,0x10,0x10,0x00,0x00},/*"\",60*/
|
||||
|
||||
{0x7C,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x7C,0x00},/*"]",61*/
|
||||
|
||||
{0x10,0x28,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},/*"_",63*/
|
||||
|
||||
{0x30,0x30,0x10,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",64*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x84,0x04,0x3C,0x44,0x84,0x8C,0x76,0x00,0x00},/*"a",65*/
|
||||
|
||||
{0x00,0x80,0x80,0x80,0x80,0x80,0xB8,0xC4,0x82,0x82,0x82,0x82,0xC4,0xB8,0x00,0x00},/*"b",66*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x80,0x80,0x80,0x80,0x42,0x3C,0x00,0x00},/*"c",67*/
|
||||
|
||||
{0x00,0x02,0x02,0x02,0x02,0x02,0x3A,0x46,0x82,0x82,0x82,0x82,0x46,0x3A,0x00,0x00},/*"d",68*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x44,0x82,0xFE,0x80,0x80,0x42,0x3C,0x00,0x00},/*"e",69*/
|
||||
|
||||
{0x00,0x18,0x20,0x20,0x20,0x20,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00},/*"f",70*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x3A,0x44,0x44,0x38,0x40,0x7C,0x82,0x82,0x7C,0x00},/*"g",71*/
|
||||
|
||||
{0x00,0x80,0x80,0x80,0x80,0x80,0xB8,0xC4,0x82,0x82,0x82,0x82,0x82,0x82,0x00,0x00},/*"h",72*/
|
||||
|
||||
{0x00,0x00,0x10,0x10,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00},/*"i",73*/
|
||||
|
||||
{0x00,0x00,0x10,0x10,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x60,0x00},/*"j",74*/
|
||||
|
||||
{0x00,0x80,0x80,0x80,0x80,0x80,0x84,0x88,0x90,0xA0,0xD0,0x88,0x84,0x82,0x00,0x00},/*"k",75*/
|
||||
|
||||
{0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00},/*"l",76*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0xAC,0xD2,0x92,0x92,0x92,0x92,0x92,0x92,0x00,0x00},/*"m",77*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0xB8,0xC4,0x82,0x82,0x82,0x82,0x82,0x82,0x00,0x00},/*"n",78*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x44,0x82,0x82,0x82,0x82,0x44,0x38,0x00,0x00},/*"o",79*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0xB8,0xC4,0x82,0x82,0x82,0xC4,0xB8,0x80,0x80,0x00},/*"p",80*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x3A,0x46,0x82,0x82,0x82,0x46,0x3A,0x02,0x02,0x00},/*"q",81*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x2E,0x30,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00},/*"r",82*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x82,0x80,0x60,0x1C,0x02,0x82,0x7C,0x00,0x00},/*"s",83*/
|
||||
|
||||
{0x00,0x00,0x20,0x20,0x20,0x20,0xF8,0x20,0x20,0x20,0x20,0x20,0x20,0x18,0x00,0x00},/*"t",84*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x82,0x82,0x82,0x82,0x82,0x46,0x3A,0x00,0x00},/*"u",85*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x82,0x44,0x44,0x28,0x28,0x10,0x10,0x00,0x00},/*"v",86*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x92,0x92,0x92,0xAA,0xAA,0x44,0x44,0x44,0x00,0x00},/*"w",87*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x44,0x28,0x10,0x10,0x28,0x44,0x82,0x00,0x00},/*"x",88*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x82,0x82,0x44,0x44,0x28,0x28,0x10,0x20,0xC0,0x00},/*"y",89*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x04,0x08,0x10,0x20,0x40,0x80,0xFE,0x00,0x00},/*"z",90*/
|
||||
|
||||
{0x1C,0x10,0x10,0x10,0x10,0x10,0x10,0x20,0x10,0x10,0x10,0x10,0x10,0x10,0x1C,0x00},/*"{",91*/
|
||||
|
||||
{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},/*"|",92*/
|
||||
|
||||
{0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x70,0x00},/*"}",93*/
|
||||
|
||||
{0x64,0x98,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef ASCII_8X16_System
|
||||
static unsigned char const AsciiLib[95][16] = {
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
|
||||
|
||||
{0x00,0x00,0x00,0x18,0x3C,0x3C,0x3C,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00},/*"!",1*/
|
||||
|
||||
{0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
|
||||
|
||||
{0x00,0x00,0x00,0x36,0x36,0x7F,0x36,0x36,0x36,0x7F,0x36,0x36,0x00,0x00,0x00,0x00},/*"#",3*/
|
||||
|
||||
{0x00,0x18,0x18,0x3C,0x66,0x60,0x30,0x18,0x0C,0x06,0x66,0x3C,0x18,0x18,0x00,0x00},/*"$",4*/
|
||||
|
||||
{0x00,0x00,0x70,0xD8,0xDA,0x76,0x0C,0x18,0x30,0x6E,0x5B,0x1B,0x0E,0x00,0x00,0x00},/*"%",5*/
|
||||
|
||||
{0x00,0x00,0x00,0x38,0x6C,0x6C,0x38,0x60,0x6F,0x66,0x66,0x3B,0x00,0x00,0x00,0x00},/*"&",6*/
|
||||
|
||||
{0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
|
||||
|
||||
{0x00,0x00,0x00,0x0C,0x18,0x18,0x30,0x30,0x30,0x30,0x30,0x18,0x18,0x0C,0x00,0x00},/*"(",8*/
|
||||
|
||||
{0x00,0x00,0x00,0x30,0x18,0x18,0x0C,0x0C,0x0C,0x0C,0x0C,0x18,0x18,0x30,0x00,0x00},/*")",9*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x36,0x1C,0x7F,0x1C,0x36,0x00,0x00,0x00,0x00,0x00,0x00},/*"*",10*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x7E,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00},/*"+",11*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x0C,0x18,0x00,0x00},/*",",12*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00},/*".",14*/
|
||||
|
||||
{0x00,0x00,0x00,0x06,0x06,0x0C,0x0C,0x18,0x18,0x30,0x30,0x60,0x60,0x00,0x00,0x00},/*"/",15*/
|
||||
|
||||
{0x00,0x00,0x00,0x1E,0x33,0x37,0x37,0x33,0x3B,0x3B,0x33,0x1E,0x00,0x00,0x00,0x00},/*"0",16*/
|
||||
|
||||
{0x00,0x00,0x00,0x0C,0x1C,0x7C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x00,0x00,0x00,0x00},/*"1",17*/
|
||||
|
||||
{0x00,0x00,0x00,0x3C,0x66,0x66,0x06,0x0C,0x18,0x30,0x60,0x7E,0x00,0x00,0x00,0x00},/*"2",18*/
|
||||
|
||||
{0x00,0x00,0x00,0x3C,0x66,0x66,0x06,0x1C,0x06,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"3",19*/
|
||||
|
||||
{0x00,0x00,0x00,0x30,0x30,0x36,0x36,0x36,0x66,0x7F,0x06,0x06,0x00,0x00,0x00,0x00},/*"4",20*/
|
||||
|
||||
{0x00,0x00,0x00,0x7E,0x60,0x60,0x60,0x7C,0x06,0x06,0x0C,0x78,0x00,0x00,0x00,0x00},/*"5",21*/
|
||||
|
||||
{0x00,0x00,0x00,0x1C,0x18,0x30,0x7C,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"6",22*/
|
||||
|
||||
{0x00,0x00,0x00,0x7E,0x06,0x0C,0x0C,0x18,0x18,0x30,0x30,0x30,0x00,0x00,0x00,0x00},/*"7",23*/
|
||||
|
||||
{0x00,0x00,0x00,0x3C,0x66,0x66,0x76,0x3C,0x6E,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"8",24*/
|
||||
|
||||
{0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x3E,0x0C,0x18,0x38,0x00,0x00,0x00,0x00},/*"9",25*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00},/*":",26*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x1C,0x1C,0x0C,0x18,0x00,0x00},/*";",27*/
|
||||
|
||||
{0x00,0x00,0x00,0x06,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x06,0x00,0x00,0x00,0x00},/*"<",28*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"=",29*/
|
||||
|
||||
{0x00,0x00,0x00,0x60,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x60,0x00,0x00,0x00,0x00},/*">",30*/
|
||||
|
||||
{0x00,0x00,0x00,0x3C,0x66,0x66,0x0C,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00},/*"?",31*/
|
||||
|
||||
{0x00,0x00,0x00,0x7E,0xC3,0xC3,0xCF,0xDB,0xDB,0xCF,0xC0,0x7F,0x00,0x00,0x00,0x00},/*"@",32*/
|
||||
|
||||
{0x00,0x00,0x00,0x18,0x3C,0x66,0x66,0x66,0x7E,0x66,0x66,0x66,0x00,0x00,0x00,0x00},/*"A",33*/
|
||||
|
||||
{0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x7C,0x66,0x66,0x66,0x7C,0x00,0x00,0x00,0x00},/*"B",34*/
|
||||
|
||||
{0x00,0x00,0x00,0x3C,0x66,0x66,0x60,0x60,0x60,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"C",35*/
|
||||
|
||||
{0x00,0x00,0x00,0x78,0x6C,0x66,0x66,0x66,0x66,0x66,0x6C,0x78,0x00,0x00,0x00,0x00},/*"D",36*/
|
||||
|
||||
{0x00,0x00,0x00,0x7E,0x60,0x60,0x60,0x7C,0x60,0x60,0x60,0x7E,0x00,0x00,0x00,0x00},/*"E",37*/
|
||||
|
||||
{0x00,0x00,0x00,0x7E,0x60,0x60,0x60,0x7C,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00},/*"F",38*/
|
||||
|
||||
{0x00,0x00,0x00,0x3C,0x66,0x66,0x60,0x60,0x6E,0x66,0x66,0x3E,0x00,0x00,0x00,0x00},/*"G",39*/
|
||||
|
||||
{0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x7E,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00},/*"H",40*/
|
||||
|
||||
{0x00,0x00,0x00,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00},/*"I",41*/
|
||||
|
||||
{0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"J",42*/
|
||||
|
||||
{0x00,0x00,0x00,0x66,0x66,0x6C,0x6C,0x78,0x6C,0x6C,0x66,0x66,0x00,0x00,0x00,0x00},/*"K",43*/
|
||||
|
||||
{0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x7E,0x00,0x00,0x00,0x00},/*"L",44*/
|
||||
|
||||
{0x00,0x00,0x00,0x63,0x63,0x77,0x6B,0x6B,0x6B,0x63,0x63,0x63,0x00,0x00,0x00,0x00},/*"M",45*/
|
||||
|
||||
{0x00,0x00,0x00,0x63,0x63,0x73,0x7B,0x6F,0x67,0x63,0x63,0x63,0x00,0x00,0x00,0x00},/*"N",46*/
|
||||
|
||||
{0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"O",47*/
|
||||
|
||||
{0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x7C,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00},/*"P",48*/
|
||||
|
||||
{0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x0C,0x06,0x00,0x00},/*"Q",49*/
|
||||
|
||||
{0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x7C,0x6C,0x66,0x66,0x66,0x00,0x00,0x00,0x00},/*"R",50*/
|
||||
|
||||
{0x00,0x00,0x00,0x3C,0x66,0x60,0x30,0x18,0x0C,0x06,0x66,0x3C,0x00,0x00,0x00,0x00},/*"S",51*/
|
||||
|
||||
{0x00,0x00,0x00,0x7E,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*"T",52*/
|
||||
|
||||
{0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"U",53*/
|
||||
|
||||
{0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x18,0x00,0x00,0x00,0x00},/*"V",54*/
|
||||
|
||||
{0x00,0x00,0x00,0x63,0x63,0x63,0x6B,0x6B,0x6B,0x36,0x36,0x36,0x00,0x00,0x00,0x00},/*"W",55*/
|
||||
|
||||
{0x00,0x00,0x00,0x66,0x66,0x34,0x18,0x18,0x2C,0x66,0x66,0x66,0x00,0x00,0x00,0x00},/*"X",56*/
|
||||
|
||||
{0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x3C,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*"Y",57*/
|
||||
|
||||
{0x00,0x00,0x00,0x7E,0x06,0x06,0x0C,0x18,0x30,0x60,0x60,0x7E,0x00,0x00,0x00,0x00},/*"Z",58*/
|
||||
|
||||
{0x00,0x00,0x00,0x3C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x00},/*"[",59*/
|
||||
|
||||
{0x00,0x00,0x00,0x60,0x60,0x30,0x30,0x18,0x18,0x0C,0x0C,0x06,0x06,0x00,0x00,0x00},/*"\",60*/
|
||||
|
||||
{0x00,0x00,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00},/*"]",61*/
|
||||
|
||||
{0x00,0x18,0x3C,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00},/*"_",63*/
|
||||
|
||||
{0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",64*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x3C,0x06,0x06,0x3E,0x66,0x66,0x3E,0x00,0x00,0x00,0x00},/*"a",65*/
|
||||
|
||||
{0x00,0x00,0x00,0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0x66,0x7C,0x00,0x00,0x00,0x00},/*"b",66*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x60,0x60,0x60,0x66,0x3C,0x00,0x00,0x00,0x00},/*"c",67*/
|
||||
|
||||
{0x00,0x00,0x00,0x06,0x06,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x00,0x00,0x00,0x00},/*"d",68*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x66,0x7E,0x60,0x60,0x3C,0x00,0x00,0x00,0x00},/*"e",69*/
|
||||
|
||||
{0x00,0x00,0x00,0x1E,0x30,0x30,0x30,0x7E,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00},/*"f",70*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x06,0x06,0x7C,0x00},/*"g",71*/
|
||||
|
||||
{0x00,0x00,0x00,0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00},/*"h",72*/
|
||||
|
||||
{0x00,0x00,0x18,0x18,0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,0x00,0x00},/*"i",73*/
|
||||
|
||||
{0x00,0x00,0x0C,0x0C,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x78,0x00},/*"j",74*/
|
||||
|
||||
{0x00,0x00,0x00,0x60,0x60,0x66,0x66,0x6C,0x78,0x6C,0x66,0x66,0x00,0x00,0x00,0x00},/*"k",75*/
|
||||
|
||||
{0x00,0x00,0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,0x00,0x00},/*"l",76*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x7E,0x6B,0x6B,0x6B,0x6B,0x6B,0x63,0x00,0x00,0x00,0x00},/*"m",77*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00},/*"n",78*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00},/*"o",79*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x66,0x7C,0x60,0x60,0x60,0x00},/*"p",80*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x06,0x06,0x06,0x00},/*"q",81*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x66,0x6E,0x70,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00},/*"r",82*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x3E,0x60,0x60,0x3C,0x06,0x06,0x7C,0x00,0x00,0x00,0x00},/*"s",83*/
|
||||
|
||||
{0x00,0x00,0x00,0x30,0x30,0x7E,0x30,0x30,0x30,0x30,0x30,0x1E,0x00,0x00,0x00,0x00},/*"t",84*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3E,0x00,0x00,0x00,0x00},/*"u",85*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x3C,0x18,0x00,0x00,0x00,0x00},/*"v",86*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x63,0x6B,0x6B,0x6B,0x6B,0x36,0x36,0x00,0x00,0x00,0x00},/*"w",87*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x3C,0x18,0x3C,0x66,0x66,0x00,0x00,0x00,0x00},/*"x",88*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x0C,0x18,0xF0,0x00},/*"y",89*/
|
||||
|
||||
{0x00,0x00,0x00,0x00,0x00,0x7E,0x06,0x0C,0x18,0x30,0x60,0x7E,0x00,0x00,0x00,0x00},/*"z",90*/
|
||||
|
||||
{0x00,0x00,0x00,0x0C,0x18,0x18,0x18,0x30,0x60,0x30,0x18,0x18,0x18,0x0C,0x00,0x00},/*"{",91*/
|
||||
|
||||
{0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00},/*"|",92*/
|
||||
|
||||
{0x00,0x00,0x00,0x30,0x18,0x18,0x18,0x0C,0x06,0x0C,0x18,0x18,0x18,0x30,0x00,0x00},/*"}",93*/
|
||||
|
||||
{0x00,0x00,0x00,0x71,0xDB,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* Function Name : GetASCIICode
|
||||
* Description :
|
||||
* Input :
|
||||
* Output :
|
||||
* Return : None
|
||||
* Attention : None
|
||||
*******************************************************************************/
|
||||
void GetASCIICode(unsigned char* pBuffer,unsigned char ASCII)
|
||||
{
|
||||
memcpy(pBuffer,AsciiLib[(ASCII - 32)] ,16);
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************************************************
|
||||
END FILE
|
||||
*********************************************************************************************************/
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
|
||||
#ifndef __AsciiLib_H
|
||||
#define __AsciiLib_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include <string.h>
|
||||
|
||||
/* Private define ------------------------------------------------------------*/
|
||||
//#define ASCII_8X16_MS_Gothic
|
||||
#define ASCII_8X16_System
|
||||
|
||||
/* Private function prototypes -----------------------------------------------*/
|
||||
void GetASCIICode(unsigned char* pBuffer,unsigned char ASCII);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*********************************************************************************************************
|
||||
END FILE
|
||||
*********************************************************************************************************/
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,123 @@
|
||||
/*********************************************************************************************************
|
||||
*
|
||||
* File : LCD.h
|
||||
* Hardware Environment:
|
||||
* Build Environment : RealView MDK-ARM Version: 4.20
|
||||
* Version : V1.0
|
||||
* By :
|
||||
*
|
||||
* (c) Copyright 2005-2011, WaveShare
|
||||
* http://www.waveshare.net
|
||||
* All Rights Reserved
|
||||
*
|
||||
*********************************************************************************************************/
|
||||
|
||||
#ifndef __GLCD_H
|
||||
#define __GLCD_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include <math.h>
|
||||
#include "stm32f4xx.h"
|
||||
#include "config.h"
|
||||
#include "AsciiLib.h"
|
||||
|
||||
/* Private define ------------------------------------------------------------*/
|
||||
#define USE_16BIT_PMP
|
||||
|
||||
/*********************************************************************
|
||||
* Overview: Horizontal and vertical display resolution
|
||||
* (from the glass datasheet).
|
||||
*********************************************************************/
|
||||
//#define DISP_HOR_RESOLUTION 320
|
||||
//#define DISP_VER_RESOLUTION 240
|
||||
|
||||
//#define DISP_ORIENTATION 0
|
||||
//#define DISP_ORIENTATION 90
|
||||
//#define DISP_ORIENTATION 180
|
||||
#define DISP_ORIENTATION 270
|
||||
|
||||
/* Private define ------------------------------------------------------------*/
|
||||
|
||||
#if ( DISP_ORIENTATION == 90 ) || ( DISP_ORIENTATION == 270 )
|
||||
|
||||
#define MAX_X 320
|
||||
#define MAX_Y 240
|
||||
|
||||
#elif ( DISP_ORIENTATION == 0 ) || ( DISP_ORIENTATION == 180 )
|
||||
|
||||
#define MAX_X 240
|
||||
#define MAX_Y 320
|
||||
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
* Overview: Horizontal synchronization timing in pixels
|
||||
* (from the glass datasheet).
|
||||
*********************************************************************/
|
||||
//#define DISP_HOR_PULSE_WIDTH 20 /* 20 */
|
||||
//#define DISP_HOR_BACK_PORCH 51 /* 48 */
|
||||
//#define DISP_HOR_FRONT_PORCH 20 /* 20 */
|
||||
|
||||
/*********************************************************************
|
||||
* Overview: Vertical synchronization timing in lines
|
||||
* (from the glass datasheet).
|
||||
*********************************************************************/
|
||||
//#define DISP_VER_PULSE_WIDTH 2 /* 2 */
|
||||
//#define DISP_VER_BACK_PORCH 12 /* 16 */
|
||||
//#define DISP_VER_FRONT_PORCH 4 /* 4 */
|
||||
|
||||
/*********************************************************************
|
||||
* Definition for SPI interface for HIMAX 8238-A relevant to hardware
|
||||
* layout; Hardware dependent!
|
||||
*********************************************************************/
|
||||
#define GPIO3 3
|
||||
#define GPIO2 2
|
||||
#define GPIO1 1
|
||||
#define GPIO0 0
|
||||
#define LCD_RESET (1<<GPIO3) /* LCD Reset signal (Reset for display panel, NOT ssd1963) */
|
||||
#define LCD_SPENA (1<<GPIO0) /* SPI EN signal */
|
||||
#define LCD_SPCLK (1<<GPIO1) /* SPI CLK */
|
||||
#define LCD_SPDAT (1<<GPIO2) /* SPI DATA */
|
||||
|
||||
/* LCD color */
|
||||
#define White 0xFFFF
|
||||
#define Black 0x0000
|
||||
#define Grey 0xF7DE
|
||||
#define Blue 0x001F
|
||||
#define Blue2 0x051F
|
||||
#define Red 0xF800
|
||||
#define Magenta 0xF81F
|
||||
#define Green 0x07E0
|
||||
#define Cyan 0x7FFF
|
||||
#define Yellow 0xFFE0
|
||||
|
||||
#define RGB565CONVERT(red, green, blue) (int) (((red >> 3) << 11) | ((green >> 2) << 5) | (blue >> 3))
|
||||
|
||||
/* Private function prototypes -----------------------------------------------*/
|
||||
void LCD_Initializtion(void);
|
||||
void LCD_Clear(uint16_t Color);
|
||||
//void LCD_SetBacklight(uint8_t intensity);
|
||||
uint16_t LCD_GetPoint(uint16_t Xpos,uint16_t Ypos);
|
||||
void LCD_SetPoint(uint16_t Xpos,uint16_t Ypos,uint16_t point);
|
||||
void PutChar(uint16_t Xpos,uint16_t Ypos,uint8_t c,uint16_t charColor,uint16_t bkColor);
|
||||
void LCD_DrawLine( uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1 , uint16_t color );
|
||||
void PutChinese(uint16_t Xpos,uint16_t Ypos,uint8_t *str,uint16_t Color,uint16_t bkColor);
|
||||
void GUI_Text(uint16_t Xpos, uint16_t Ypos, uint8_t *str,uint16_t Color, uint16_t bkColor);
|
||||
void GUI_Chinese(uint16_t Xpos, uint16_t Ypos, uint8_t *str,uint16_t Color, uint16_t bkColor);
|
||||
void LCD_DrawPicture(uint16_t StartX,uint16_t StartY,uint16_t EndX,uint16_t EndY,uint16_t *pic);
|
||||
|
||||
|
||||
__inline void LCD_WriteIndex(uint16_t index);
|
||||
__inline void LCD_WriteData(uint16_t data);
|
||||
__inline uint16_t LCD_ReadData(void);
|
||||
__inline uint16_t LCD_ReadReg(uint16_t LCD_Reg);
|
||||
__inline void LCD_WriteReg(uint16_t LCD_Reg,uint16_t LCD_RegValue);
|
||||
static void LCD_SetCursor( uint16_t Xpos, uint16_t Ypos );
|
||||
void delay_ms(uint16_t ms);
|
||||
|
||||
#endif
|
||||
|
||||
/*********************************************************************************************************
|
||||
END FILE
|
||||
*********************************************************************************************************/
|
||||
|
||||
@@ -0,0 +1,637 @@
|
||||
/*********************************************************************************************************
|
||||
*
|
||||
* File : GLCD_UCGUI.c
|
||||
* Hardware Environment:
|
||||
* Build Environment : RealView MDK-ARM Version: 4.20
|
||||
* Version : V1.0
|
||||
* By :
|
||||
*
|
||||
* (c) Copyright 2005-2011, WaveShare
|
||||
* http://www.waveshare.net
|
||||
* All Rights Reserved
|
||||
*
|
||||
*********************************************************************************************************/
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "uCGUI\inc\LCD_Private.h" /* private modul definitions & config */
|
||||
#include "uCGUI\inc\GUI_Private.h"
|
||||
#include "uCGUI\inc\GUIDebug.h"
|
||||
#include "GLCD.h"
|
||||
|
||||
/* Private define ------------------------------------------------------------*/
|
||||
#define BKCOLOR LCD_BKCOLORINDEX
|
||||
#define COLOR LCD_COLORINDEX
|
||||
|
||||
|
||||
#if (LCD_CONTROLLER == HY32D)
|
||||
|
||||
int LCD_L0_Init(void)
|
||||
{
|
||||
LCD_Initializtion();
|
||||
return 0;
|
||||
}
|
||||
|
||||
void LCD_L0_SetPixelIndex(int x, int y, int PixelIndex)
|
||||
{
|
||||
LCD_SetPoint(x,y,PixelIndex);
|
||||
}
|
||||
|
||||
unsigned int LCD_L0_GetPixelIndex(int x, int y)
|
||||
{
|
||||
return LCD_GetPoint(x,y);
|
||||
}
|
||||
|
||||
void LCD_L0_SetOrg(int x,int y)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void LCD_L0_XorPixel(int x, int y)
|
||||
{
|
||||
LCD_PIXELINDEX Index = LCD_GetPoint(x,y);
|
||||
LCD_SetPoint(x,y,LCD_NUM_COLORS-1-Index);
|
||||
}
|
||||
|
||||
void LCD_L0_DrawHLine (int x0, int y, int x1)
|
||||
{
|
||||
LCD_DrawLine(x0,y,x1,y,LCD_COLORINDEX);
|
||||
}
|
||||
|
||||
void LCD_L0_DrawVLine (int x, int y0, int y1)
|
||||
{
|
||||
LCD_DrawLine(x,y0,x,y1,LCD_COLORINDEX);
|
||||
}
|
||||
|
||||
void LCD_L0_FillRect(int x0, int y0, int x1, int y1) {
|
||||
#if !LCD_SWAP_XY
|
||||
for (; y0 <= y1; y0++) {
|
||||
LCD_L0_DrawHLine(x0,y0, x1);
|
||||
}
|
||||
#else
|
||||
for (; x0 <= x1; x0++) {
|
||||
LCD_L0_DrawVLine(x0,y0, y1);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void DrawBitLine1BPP(int x, int y, U8 const*p, int Diff, int xsize, const LCD_PIXELINDEX*pTrans)
|
||||
{
|
||||
LCD_PIXELINDEX pixels;
|
||||
LCD_PIXELINDEX Index0 = *(pTrans+0);
|
||||
LCD_PIXELINDEX Index1 = *(pTrans+1);
|
||||
/*
|
||||
// Jump to right entry point
|
||||
*/
|
||||
pixels = *p;
|
||||
switch (GUI_Context.DrawMode & (LCD_DRAWMODE_TRANS|LCD_DRAWMODE_XOR)) {
|
||||
case 0:
|
||||
#if defined (SETNEXTPIXEL) /* Optimization ! */
|
||||
x+=Diff;
|
||||
ili9320_SetCursor(x,y);
|
||||
#endif
|
||||
switch (Diff&7) {
|
||||
case 0:
|
||||
goto WriteBit0;
|
||||
case 1:
|
||||
goto WriteBit1;
|
||||
case 2:
|
||||
goto WriteBit2;
|
||||
case 3:
|
||||
goto WriteBit3;
|
||||
case 4:
|
||||
goto WriteBit4;
|
||||
case 5:
|
||||
goto WriteBit5;
|
||||
case 6:
|
||||
goto WriteBit6;
|
||||
case 7:
|
||||
goto WriteBit7;
|
||||
}
|
||||
break;
|
||||
case LCD_DRAWMODE_TRANS:
|
||||
switch (Diff&7) {
|
||||
case 0:
|
||||
goto WriteTBit0;
|
||||
case 1:
|
||||
goto WriteTBit1;
|
||||
case 2:
|
||||
goto WriteTBit2;
|
||||
case 3:
|
||||
goto WriteTBit3;
|
||||
case 4:
|
||||
goto WriteTBit4;
|
||||
case 5:
|
||||
goto WriteTBit5;
|
||||
case 6:
|
||||
goto WriteTBit6;
|
||||
case 7:
|
||||
goto WriteTBit7;
|
||||
}
|
||||
break;
|
||||
case LCD_DRAWMODE_XOR:
|
||||
switch (Diff&7) {
|
||||
case 0:
|
||||
goto WriteXBit0;
|
||||
case 1:
|
||||
goto WriteXBit1;
|
||||
case 2:
|
||||
goto WriteXBit2;
|
||||
case 3:
|
||||
goto WriteXBit3;
|
||||
case 4:
|
||||
goto WriteXBit4;
|
||||
case 5:
|
||||
goto WriteXBit5;
|
||||
case 6:
|
||||
goto WriteXBit6;
|
||||
case 7:
|
||||
goto WriteXBit7;
|
||||
}
|
||||
}
|
||||
/*
|
||||
Write with transparency
|
||||
*/
|
||||
|
||||
WriteTBit0:
|
||||
if (pixels&(1<<7)) LCD_SetPoint(x+0, y, Index1);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteTBit1:
|
||||
if (pixels&(1<<6)) LCD_SetPoint(x+1, y, Index1);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteTBit2:
|
||||
if (pixels&(1<<5)) LCD_SetPoint(x+2, y, Index1);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteTBit3:
|
||||
if (pixels&(1<<4)) LCD_SetPoint(x+3, y, Index1);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteTBit4:
|
||||
if (pixels&(1<<3)) LCD_SetPoint(x+4, y, Index1);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteTBit5:
|
||||
if (pixels&(1<<2)) LCD_SetPoint(x+5, y, Index1);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteTBit6:
|
||||
if (pixels&(1<<1)) LCD_SetPoint(x+6, y, Index1);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteTBit7:
|
||||
if (pixels&(1<<0)) LCD_SetPoint(x+7, y, Index1);
|
||||
if (!--xsize)
|
||||
return;
|
||||
x+=8;
|
||||
pixels = *(++p);
|
||||
goto WriteTBit0;
|
||||
|
||||
/*
|
||||
Write without transparency
|
||||
*/
|
||||
|
||||
WriteBit0:
|
||||
LCD_SetPoint(x+0, y, (pixels&(1<<7)) ? Index1 : Index0);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteBit1:
|
||||
LCD_SetPoint(x+1, y, (pixels&(1<<6)) ? Index1 : Index0);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteBit2:
|
||||
LCD_SetPoint(x+2, y, (pixels&(1<<5)) ? Index1 : Index0);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteBit3:
|
||||
LCD_SetPoint(x+3, y, (pixels&(1<<4)) ? Index1 : Index0);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteBit4:
|
||||
LCD_SetPoint(x+4, y, (pixels&(1<<3)) ? Index1 : Index0);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteBit5:
|
||||
LCD_SetPoint(x+5, y, (pixels&(1<<2)) ? Index1 : Index0);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteBit6:
|
||||
LCD_SetPoint(x+6, y, (pixels&(1<<1)) ? Index1 : Index0);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteBit7:
|
||||
LCD_SetPoint(x+7, y, (pixels&(1<<0)) ? Index1 : Index0);
|
||||
if (!--xsize)
|
||||
return;
|
||||
x+=8;
|
||||
pixels = *(++p);
|
||||
goto WriteBit0;
|
||||
|
||||
/*
|
||||
Write XOR mode
|
||||
*/
|
||||
|
||||
WriteXBit0:
|
||||
if (pixels&(1<<7))
|
||||
LCD_L0_XorPixel(x+0, y);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteXBit1:
|
||||
if (pixels&(1<<6))
|
||||
LCD_L0_XorPixel(x+1, y);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteXBit2:
|
||||
if (pixels&(1<<5))
|
||||
LCD_L0_XorPixel(x+2, y);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteXBit3:
|
||||
if (pixels&(1<<4))
|
||||
LCD_L0_XorPixel(x+3, y);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteXBit4:
|
||||
if (pixels&(1<<3))
|
||||
LCD_L0_XorPixel(x+4, y);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteXBit5:
|
||||
if (pixels&(1<<2))
|
||||
LCD_L0_XorPixel(x+5, y);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteXBit6:
|
||||
if (pixels&(1<<1))
|
||||
LCD_L0_XorPixel(x+6, y);
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteXBit7:
|
||||
if (pixels&(1<<0))
|
||||
LCD_L0_XorPixel(x+7, y);
|
||||
if (!--xsize)
|
||||
return;
|
||||
x+=8;
|
||||
pixels = *(++p);
|
||||
goto WriteXBit0;
|
||||
|
||||
}
|
||||
|
||||
static void DrawBitLine2BPP(int x, int y, U8 const*p, int Diff, int xsize, const LCD_PIXELINDEX*pTrans) {
|
||||
LCD_PIXELINDEX pixels;
|
||||
/*
|
||||
// Jump to right entry point
|
||||
*/
|
||||
pixels = *p;
|
||||
if (pTrans) {
|
||||
/*
|
||||
with palette
|
||||
*/
|
||||
if (GUI_Context.DrawMode & LCD_DRAWMODE_TRANS) switch (Diff&3) {
|
||||
case 0:
|
||||
goto WriteTBit0;
|
||||
case 1:
|
||||
goto WriteTBit1;
|
||||
case 2:
|
||||
goto WriteTBit2;
|
||||
default:
|
||||
goto WriteTBit3;
|
||||
} else switch (Diff&3) {
|
||||
case 0:
|
||||
goto WriteBit0;
|
||||
case 1:
|
||||
goto WriteBit1;
|
||||
case 2:
|
||||
goto WriteBit2;
|
||||
default:
|
||||
goto WriteBit3;
|
||||
}
|
||||
/*
|
||||
Write without transparency
|
||||
*/
|
||||
WriteBit0:
|
||||
LCD_SetPoint(x+0, y, *(pTrans+(pixels>>6)));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteBit1:
|
||||
LCD_SetPoint(x+1, y, *(pTrans+(3&(pixels>>4))));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteBit2:
|
||||
LCD_SetPoint(x+2, y, *(pTrans+(3&(pixels>>2))));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteBit3:
|
||||
LCD_SetPoint(x+3, y, *(pTrans+(3&(pixels))));
|
||||
if (!--xsize)
|
||||
return;
|
||||
pixels = *(++p);
|
||||
x+=4;
|
||||
goto WriteBit0;
|
||||
/*
|
||||
Write with transparency
|
||||
*/
|
||||
WriteTBit0:
|
||||
if (pixels&(3<<6))
|
||||
LCD_SetPoint(x+0, y, *(pTrans+(pixels>>6)));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteTBit1:
|
||||
if (pixels&(3<<4))
|
||||
LCD_SetPoint(x+1, y, *(pTrans+(3&(pixels>>4))));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteTBit2:
|
||||
if (pixels&(3<<2))
|
||||
LCD_SetPoint(x+2, y, *(pTrans+(3&(pixels>>2))));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteTBit3:
|
||||
if (pixels&(3<<0))
|
||||
LCD_SetPoint(x+3, y, *(pTrans+(3&(pixels))));
|
||||
if (!--xsize)
|
||||
return;
|
||||
pixels = *(++p);
|
||||
x+=4;
|
||||
goto WriteTBit0;
|
||||
} else {
|
||||
/*
|
||||
without palette
|
||||
*/
|
||||
if (GUI_Context.DrawMode & LCD_DRAWMODE_TRANS) switch (Diff&3) {
|
||||
case 0:
|
||||
goto WriteDDPTBit0;
|
||||
case 1:
|
||||
goto WriteDDPTBit1;
|
||||
case 2:
|
||||
goto WriteDDPTBit2;
|
||||
default:
|
||||
goto WriteDDPTBit3;
|
||||
} else switch (Diff&3) {
|
||||
case 0:
|
||||
goto WriteDDPBit0;
|
||||
case 1:
|
||||
goto WriteDDPBit1;
|
||||
case 2:
|
||||
goto WriteDDPBit2;
|
||||
default:
|
||||
goto WriteDDPBit3;
|
||||
}
|
||||
/*
|
||||
Write without transparency
|
||||
*/
|
||||
WriteDDPBit0:
|
||||
LCD_SetPoint(x+0, y, (pixels>>6));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteDDPBit1:
|
||||
LCD_SetPoint(x+1, y, (3&(pixels>>4)));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteDDPBit2:
|
||||
LCD_SetPoint(x+2, y, (3&(pixels>>2)));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteDDPBit3:
|
||||
LCD_SetPoint(x+3, y, (3&(pixels)));
|
||||
if (!--xsize)
|
||||
return;
|
||||
pixels = *(++p);
|
||||
x+=4;
|
||||
goto WriteDDPBit0;
|
||||
/*
|
||||
Write with transparency
|
||||
*/
|
||||
WriteDDPTBit0:
|
||||
if (pixels&(3<<6))
|
||||
LCD_SetPoint(x+0, y, (pixels>>6));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteDDPTBit1:
|
||||
if (pixels&(3<<4))
|
||||
LCD_SetPoint(x+1, y, (3&(pixels>>4)));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteDDPTBit2:
|
||||
if (pixels&(3<<2))
|
||||
LCD_SetPoint(x+2, y, (3&(pixels>>2)));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteDDPTBit3:
|
||||
if (pixels&(3<<0))
|
||||
LCD_SetPoint(x+3, y, (3&(pixels)));
|
||||
if (!--xsize)
|
||||
return;
|
||||
pixels = *(++p);
|
||||
x+=4;
|
||||
goto WriteDDPTBit0;
|
||||
}
|
||||
}
|
||||
|
||||
static void DrawBitLine4BPP(int x, int y, U8 const*p, int Diff, int xsize, const LCD_PIXELINDEX*pTrans)
|
||||
{
|
||||
LCD_PIXELINDEX pixels;
|
||||
|
||||
pixels = *p;
|
||||
if (pTrans)
|
||||
{
|
||||
if (GUI_Context.DrawMode & LCD_DRAWMODE_TRANS)
|
||||
{
|
||||
if ((Diff&1) ==0)
|
||||
goto WriteTBit0;
|
||||
goto WriteTBit1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((Diff&1) ==0)
|
||||
goto WriteBit0;
|
||||
goto WriteBit1;
|
||||
}
|
||||
|
||||
WriteBit0:
|
||||
LCD_SetPoint(x+0, y, *(pTrans+(pixels>>4)));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteBit1:
|
||||
LCD_SetPoint(x+1, y, *(pTrans+(pixels&0xf)));
|
||||
if (!--xsize)
|
||||
return;
|
||||
x+=2;
|
||||
pixels = *(++p);
|
||||
goto WriteBit0;
|
||||
/*
|
||||
Write with transparency
|
||||
*/
|
||||
WriteTBit0:
|
||||
if (pixels>>4)
|
||||
LCD_SetPoint(x+0, y, *(pTrans+(pixels>>4)));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteTBit1:
|
||||
if (pixels&0xf)
|
||||
LCD_SetPoint(x+1, y, *(pTrans+(pixels&0xf)));
|
||||
if (!--xsize)
|
||||
return;
|
||||
x+=2;
|
||||
pixels = *(++p);
|
||||
goto WriteTBit0;
|
||||
} else {
|
||||
/*
|
||||
without palette
|
||||
*/
|
||||
if (GUI_Context.DrawMode & LCD_DRAWMODE_TRANS) {
|
||||
if ((Diff&1) ==0)
|
||||
goto WriteDDPTBit0;
|
||||
goto WriteDDPTBit1;
|
||||
} else {
|
||||
if ((Diff&1) ==0)
|
||||
goto WriteDDPBit0;
|
||||
goto WriteDDPBit1;
|
||||
}
|
||||
/*
|
||||
Write without transparency
|
||||
*/
|
||||
WriteDDPBit0:
|
||||
LCD_SetPoint(x+0, y, (pixels>>4));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteDDPBit1:
|
||||
LCD_SetPoint(x+1, y, (pixels&0xf));
|
||||
if (!--xsize)
|
||||
return;
|
||||
x+=2;
|
||||
pixels = *(++p);
|
||||
goto WriteDDPBit0;
|
||||
/*
|
||||
Write with transparency
|
||||
*/
|
||||
WriteDDPTBit0:
|
||||
if (pixels>>4)
|
||||
LCD_SetPoint(x+0, y, (pixels>>4));
|
||||
if (!--xsize)
|
||||
return;
|
||||
WriteDDPTBit1:
|
||||
if (pixels&0xf)
|
||||
LCD_SetPoint(x+1, y, (pixels&0xf));
|
||||
if (!--xsize)
|
||||
return;
|
||||
x+=2;
|
||||
pixels = *(++p);
|
||||
goto WriteDDPTBit0;
|
||||
}
|
||||
}
|
||||
|
||||
void DrawBitLine8BPP(int x, int y, U8 const*p, int xsize, const LCD_PIXELINDEX*pTrans) {
|
||||
LCD_PIXELINDEX pixel;
|
||||
if ((GUI_Context.DrawMode & LCD_DRAWMODE_TRANS)==0) {
|
||||
if (pTrans) {
|
||||
for (;xsize > 0; xsize--,x++,p++) {
|
||||
pixel = *p;
|
||||
LCD_SetPoint(x, y, *(pTrans+pixel));
|
||||
}
|
||||
} else {
|
||||
for (;xsize > 0; xsize--,x++,p++) {
|
||||
LCD_SetPoint(x, y, *p);
|
||||
}
|
||||
}
|
||||
} else { /* Handle transparent bitmap */
|
||||
if (pTrans) {
|
||||
for (; xsize > 0; xsize--, x++, p++) {
|
||||
pixel = *p;
|
||||
if (pixel) {
|
||||
LCD_SetPoint(x+0, y, *(pTrans+pixel));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (; xsize > 0; xsize--, x++, p++) {
|
||||
pixel = *p;
|
||||
if (pixel) {
|
||||
LCD_SetPoint(x+0, y, pixel);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DrawBitLine16BPP(int x, int y, U16 const*p, int xsize)
|
||||
{
|
||||
LCD_PIXELINDEX Index;
|
||||
if ((GUI_Context.DrawMode & LCD_DRAWMODE_TRANS)==0)
|
||||
{
|
||||
for (;xsize > 0; xsize--,x++,p++)
|
||||
{
|
||||
LCD_SetPoint(x, y, *p);
|
||||
}
|
||||
}
|
||||
else
|
||||
{ /* Handle transparent bitmap */
|
||||
for (; xsize > 0; xsize--, x++, p++)
|
||||
{
|
||||
Index = *p;
|
||||
if (Index)
|
||||
{
|
||||
LCD_SetPoint(x+0, y, Index);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void LCD_L0_DrawBitmap (int x0, int y0,
|
||||
int xsize, int ysize,
|
||||
int BitsPerPixel,
|
||||
int BytesPerLine,
|
||||
const U8* pData, int Diff,
|
||||
const LCD_PIXELINDEX* pTrans)
|
||||
{
|
||||
int i;
|
||||
switch (BitsPerPixel)
|
||||
{
|
||||
case 1:
|
||||
for (i=0; i<ysize; i++)
|
||||
{
|
||||
DrawBitLine1BPP(x0, i+y0, pData, Diff, xsize, pTrans);
|
||||
pData += BytesPerLine;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
for (i=0; i<ysize; i++)
|
||||
{
|
||||
DrawBitLine2BPP(x0, i+y0, pData, Diff, xsize, pTrans);
|
||||
pData += BytesPerLine;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
for (i=0; i<ysize; i++)
|
||||
{
|
||||
DrawBitLine4BPP(x0, i+y0, pData, Diff, xsize, pTrans);
|
||||
pData += BytesPerLine;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
for (i=0; i<ysize; i++)
|
||||
{
|
||||
DrawBitLine8BPP(x0, i+y0, pData, xsize, pTrans);
|
||||
pData += BytesPerLine;
|
||||
}
|
||||
break;
|
||||
case 16:
|
||||
for (i=0; i<ysize; i++)
|
||||
{
|
||||
DrawBitLine16BPP(x0, i+y0, (U16*)pData, xsize);
|
||||
pData += BytesPerLine;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void LCD_L0_SetLUTEntry(U8 Pos, LCD_COLOR color){}
|
||||
void LCD_L0_On(void){}
|
||||
|
||||
#endif /* (LCD_CONTROLLER == HY32D) */
|
||||
|
||||
|
||||
/*********************************************************************************************************
|
||||
END FILE
|
||||
*********************************************************************************************************/
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,21 @@
|
||||
|
||||
|
||||
#ifndef __HZLIB_H
|
||||
#define __HZLIB_H
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include <string.h>
|
||||
|
||||
/* Private function prototypes -----------------------------------------------*/
|
||||
void GetGBKCode(unsigned char* pBuffer,unsigned char * c);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*********************************************************************************************************
|
||||
END FILE
|
||||
*********************************************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user