Jen ulozeni kopie z githubu
This commit is contained in:
5
components/fb_gfx/CMakeLists.txt
Normal file
5
components/fb_gfx/CMakeLists.txt
Normal file
@ -0,0 +1,5 @@
|
||||
set(COMPONENT_SRCS "fb_gfx.c")
|
||||
set(COMPONENT_ADD_INCLUDEDIRS "include")
|
||||
set(COMPONENT_PRIV_INCLUDEDIRS "")
|
||||
set(COMPONENT_PRIV_REQUIRES newlib)
|
||||
register_component()
|
250
components/fb_gfx/FreeMonoBold12pt7b.h
Executable file
250
components/fb_gfx/FreeMonoBold12pt7b.h
Executable file
@ -0,0 +1,250 @@
|
||||
const uint8_t FreeMonoBold12pt7bBitmaps[] = {
|
||||
0xFF, 0xFF, 0xFF, 0xF6, 0x66, 0x60, 0x6F, 0x60, 0xE7, 0xE7, 0x62, 0x42,
|
||||
0x42, 0x42, 0x42, 0x11, 0x87, 0x30, 0xC6, 0x18, 0xC3, 0x31, 0xFF, 0xFF,
|
||||
0xF9, 0x98, 0x33, 0x06, 0x60, 0xCC, 0x7F, 0xEF, 0xFC, 0x66, 0x0C, 0xC3,
|
||||
0x98, 0x63, 0x04, 0x40, 0x0C, 0x03, 0x00, 0xC0, 0xFE, 0x7F, 0x9C, 0x66,
|
||||
0x09, 0x80, 0x78, 0x0F, 0xE0, 0x7F, 0x03, 0xE0, 0xF8, 0x7F, 0xFB, 0xFC,
|
||||
0x0C, 0x03, 0x00, 0xC0, 0x30, 0x38, 0x1F, 0x0C, 0x42, 0x10, 0xC4, 0x1F,
|
||||
0x03, 0x9C, 0x3C, 0x7F, 0x33, 0xE0, 0x8C, 0x21, 0x08, 0xC3, 0xE0, 0x70,
|
||||
0x3E, 0x1F, 0xC6, 0x61, 0x80, 0x70, 0x0C, 0x07, 0x83, 0xEE, 0xDF, 0xB3,
|
||||
0xCC, 0x73, 0xFE, 0x7F, 0x80, 0xFD, 0x24, 0x90, 0x39, 0xDC, 0xE6, 0x73,
|
||||
0x18, 0xC6, 0x31, 0x8C, 0x31, 0x8E, 0x31, 0xC4, 0xE7, 0x1C, 0xE3, 0x1C,
|
||||
0x63, 0x18, 0xC6, 0x31, 0x98, 0xCE, 0x67, 0x10, 0x0C, 0x03, 0x00, 0xC3,
|
||||
0xB7, 0xFF, 0xDF, 0xE1, 0xE0, 0xFC, 0x33, 0x0C, 0xC0, 0x06, 0x00, 0x60,
|
||||
0x06, 0x00, 0x60, 0x06, 0x0F, 0xFF, 0xFF, 0xF0, 0x60, 0x06, 0x00, 0x60,
|
||||
0x06, 0x00, 0x60, 0x06, 0x00, 0x3B, 0x9C, 0xCE, 0x62, 0x00, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x80, 0x00, 0x40, 0x30, 0x1C, 0x07, 0x03, 0x80, 0xE0, 0x30,
|
||||
0x1C, 0x06, 0x03, 0x80, 0xC0, 0x70, 0x18, 0x0E, 0x03, 0x01, 0xC0, 0x60,
|
||||
0x38, 0x0E, 0x01, 0x00, 0x1E, 0x0F, 0xC6, 0x1B, 0x87, 0xC0, 0xF0, 0x3C,
|
||||
0x0F, 0x03, 0xC0, 0xF0, 0x3C, 0x0F, 0x87, 0x61, 0x8F, 0xC1, 0xE0, 0x1C,
|
||||
0x0F, 0x0F, 0xC3, 0xB0, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00,
|
||||
0xC0, 0x30, 0x0C, 0x3F, 0xFF, 0xFC, 0x1F, 0x1F, 0xEE, 0x1F, 0x83, 0xC0,
|
||||
0xC0, 0x70, 0x38, 0x1E, 0x0F, 0x07, 0x83, 0xC1, 0xE3, 0xF0, 0xFF, 0xFF,
|
||||
0xFC, 0x3F, 0x0F, 0xF1, 0x87, 0x00, 0x60, 0x0C, 0x03, 0x83, 0xE0, 0x7C,
|
||||
0x01, 0xC0, 0x0C, 0x01, 0x80, 0x3C, 0x0F, 0xFF, 0x9F, 0xC0, 0x07, 0x07,
|
||||
0x83, 0xC3, 0xE1, 0xB1, 0xD8, 0xCC, 0xC6, 0xE3, 0x7F, 0xFF, 0xE0, 0x61,
|
||||
0xF8, 0xFC, 0x7F, 0x9F, 0xE6, 0x01, 0x80, 0x60, 0x1F, 0x87, 0xF9, 0x86,
|
||||
0x00, 0xC0, 0x30, 0x0C, 0x03, 0xC1, 0xBF, 0xE7, 0xE0, 0x07, 0xC7, 0xF3,
|
||||
0xC1, 0xC0, 0x60, 0x38, 0x0E, 0xF3, 0xFE, 0xF1, 0xF8, 0x3E, 0x0F, 0x83,
|
||||
0x71, 0xCF, 0xE1, 0xF0, 0xFF, 0xFF, 0xFC, 0x1F, 0x07, 0x01, 0x80, 0x60,
|
||||
0x38, 0x0C, 0x03, 0x01, 0xC0, 0x60, 0x18, 0x0E, 0x03, 0x00, 0xC0, 0x1E,
|
||||
0x1F, 0xEE, 0x1F, 0x03, 0xC0, 0xF0, 0x36, 0x19, 0xFE, 0x7F, 0xB8, 0x7C,
|
||||
0x0F, 0x03, 0xE1, 0xDF, 0xE3, 0xF0, 0x3E, 0x1F, 0xCE, 0x3B, 0x07, 0xC1,
|
||||
0xF0, 0x7E, 0x3D, 0xFF, 0x3D, 0xC0, 0x70, 0x18, 0x0E, 0x0F, 0x3F, 0x8F,
|
||||
0x80, 0xFF, 0x80, 0x00, 0xFF, 0x80, 0x77, 0x70, 0x00, 0x00, 0x76, 0x6C,
|
||||
0xC8, 0x80, 0x00, 0x30, 0x0F, 0x03, 0xE0, 0xF8, 0x3E, 0x0F, 0x80, 0x3E,
|
||||
0x00, 0xF8, 0x03, 0xE0, 0x0F, 0x00, 0x20, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xF0, 0x60, 0x0F, 0x80, 0x3E, 0x00, 0xF8,
|
||||
0x03, 0xE0, 0x1F, 0x07, 0xC1, 0xF0, 0x7C, 0x0F, 0x00, 0x40, 0x00, 0x7C,
|
||||
0x7F, 0xB0, 0xF8, 0x30, 0x18, 0x1C, 0x3C, 0x3C, 0x18, 0x08, 0x00, 0x07,
|
||||
0x03, 0x81, 0xC0, 0x1E, 0x07, 0xF1, 0xC7, 0x30, 0x6C, 0x0D, 0x87, 0xB3,
|
||||
0xF6, 0xE6, 0xD8, 0xDB, 0x1B, 0x73, 0x67, 0xFC, 0x7F, 0x80, 0x30, 0x03,
|
||||
0x00, 0x71, 0xC7, 0xF8, 0x7C, 0x00, 0x3F, 0x80, 0x7F, 0x80, 0x1F, 0x00,
|
||||
0x76, 0x00, 0xEE, 0x01, 0x8C, 0x07, 0x18, 0x0E, 0x38, 0x1F, 0xF0, 0x7F,
|
||||
0xF0, 0xC0, 0x61, 0x80, 0xCF, 0xC7, 0xFF, 0x8F, 0xC0, 0xFF, 0xC7, 0xFF,
|
||||
0x0C, 0x1C, 0x60, 0x63, 0x03, 0x18, 0x38, 0xFF, 0x87, 0xFE, 0x30, 0x39,
|
||||
0x80, 0xCC, 0x06, 0x60, 0x7F, 0xFF, 0x7F, 0xF0, 0x0F, 0xF3, 0xFF, 0x70,
|
||||
0x76, 0x03, 0xC0, 0x3C, 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0x60,
|
||||
0x37, 0x07, 0x3F, 0xF0, 0xFC, 0xFF, 0x0F, 0xFC, 0x60, 0xE6, 0x06, 0x60,
|
||||
0x36, 0x03, 0x60, 0x36, 0x03, 0x60, 0x36, 0x03, 0x60, 0x76, 0x0E, 0xFF,
|
||||
0xCF, 0xF8, 0xFF, 0xF7, 0xFF, 0x8C, 0x0C, 0x60, 0x63, 0x1B, 0x18, 0xC0,
|
||||
0xFE, 0x07, 0xF0, 0x31, 0x81, 0x8C, 0xCC, 0x06, 0x60, 0x3F, 0xFF, 0xFF,
|
||||
0xFC, 0xFF, 0xFF, 0xFF, 0xCC, 0x06, 0x60, 0x33, 0x19, 0x98, 0xC0, 0xFE,
|
||||
0x07, 0xF0, 0x31, 0x81, 0x8C, 0x0C, 0x00, 0x60, 0x0F, 0xF0, 0x7F, 0x80,
|
||||
0x0F, 0xF1, 0xFF, 0x9C, 0x1C, 0xC0, 0x6C, 0x03, 0x60, 0x03, 0x00, 0x18,
|
||||
0x7F, 0xC3, 0xFE, 0x01, 0xB8, 0x0C, 0xE0, 0xE3, 0xFF, 0x07, 0xE0, 0x7C,
|
||||
0xF9, 0xF3, 0xE3, 0x03, 0x0C, 0x0C, 0x30, 0x30, 0xC0, 0xC3, 0xFF, 0x0F,
|
||||
0xFC, 0x30, 0x30, 0xC0, 0xC3, 0x03, 0x0C, 0x0C, 0xFC, 0xFF, 0xF3, 0xF0,
|
||||
0xFF, 0xFF, 0xF0, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03,
|
||||
0x00, 0xC0, 0x30, 0xFF, 0xFF, 0xF0, 0x0F, 0xF8, 0x7F, 0xC0, 0x30, 0x01,
|
||||
0x80, 0x0C, 0x00, 0x60, 0x03, 0x18, 0x18, 0xC0, 0xC6, 0x06, 0x30, 0x31,
|
||||
0xC3, 0x0F, 0xF8, 0x1F, 0x00, 0xFC, 0xFB, 0xF3, 0xE3, 0x0E, 0x0C, 0x70,
|
||||
0x33, 0x80, 0xFC, 0x03, 0xF0, 0x0F, 0xE0, 0x39, 0xC0, 0xC3, 0x03, 0x0E,
|
||||
0x0C, 0x18, 0xFC, 0x7F, 0xF0, 0xF0, 0xFF, 0x0F, 0xF0, 0x18, 0x01, 0x80,
|
||||
0x18, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x31, 0x83, 0x18, 0x31, 0x83,
|
||||
0xFF, 0xFF, 0xFF, 0xF0, 0x3F, 0xC0, 0xF7, 0x87, 0x9E, 0x1E, 0x7C, 0xF9,
|
||||
0xB3, 0xE6, 0xFD, 0x99, 0xF6, 0x67, 0x99, 0x8E, 0x66, 0x31, 0x98, 0x06,
|
||||
0xFC, 0xFF, 0xF3, 0xF0, 0xF1, 0xFF, 0xCF, 0xCF, 0x0C, 0x78, 0x63, 0xE3,
|
||||
0x1B, 0x18, 0xDC, 0xC6, 0x76, 0x31, 0xB1, 0x8F, 0x8C, 0x3C, 0x61, 0xE7,
|
||||
0xE7, 0x3F, 0x18, 0x0F, 0x03, 0xFC, 0x70, 0xE6, 0x06, 0xE0, 0x7C, 0x03,
|
||||
0xC0, 0x3C, 0x03, 0xC0, 0x3E, 0x07, 0x60, 0x67, 0x0E, 0x3F, 0xC0, 0xF0,
|
||||
0xFF, 0x8F, 0xFE, 0x30, 0x73, 0x03, 0x30, 0x33, 0x03, 0x30, 0x73, 0xFE,
|
||||
0x3F, 0x83, 0x00, 0x30, 0x03, 0x00, 0xFF, 0x0F, 0xF0, 0x0F, 0x03, 0xFC,
|
||||
0x70, 0xE6, 0x06, 0xE0, 0x7C, 0x03, 0xC0, 0x3C, 0x03, 0xC0, 0x3E, 0x07,
|
||||
0x60, 0x67, 0x0E, 0x3F, 0xC1, 0xF0, 0x18, 0x33, 0xFF, 0x3F, 0xE0, 0xFF,
|
||||
0x83, 0xFF, 0x83, 0x07, 0x0C, 0x0C, 0x30, 0x30, 0xC1, 0xC3, 0xFE, 0x0F,
|
||||
0xF0, 0x31, 0xE0, 0xC3, 0x83, 0x07, 0x0C, 0x0C, 0xFE, 0x3F, 0xF8, 0x70,
|
||||
0x3F, 0xDF, 0xFE, 0x1F, 0x03, 0xC0, 0xF8, 0x07, 0xE0, 0x7E, 0x01, 0xF0,
|
||||
0x3C, 0x0F, 0x87, 0xFF, 0xBF, 0xC0, 0xFF, 0xFF, 0xFF, 0xC6, 0x3C, 0x63,
|
||||
0xC6, 0x3C, 0x63, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60,
|
||||
0x3F, 0xC3, 0xFC, 0xFF, 0xFF, 0xFF, 0x60, 0x66, 0x06, 0x60, 0x66, 0x06,
|
||||
0x60, 0x66, 0x06, 0x60, 0x66, 0x06, 0x60, 0x63, 0x9C, 0x1F, 0xC0, 0xF0,
|
||||
0xFC, 0x3F, 0xFC, 0x3F, 0x30, 0x0C, 0x38, 0x1C, 0x18, 0x18, 0x1C, 0x38,
|
||||
0x1C, 0x38, 0x0E, 0x70, 0x0E, 0x70, 0x0F, 0x60, 0x07, 0xE0, 0x07, 0xE0,
|
||||
0x03, 0xC0, 0x03, 0xC0, 0xFC, 0xFF, 0xF3, 0xF6, 0x01, 0xDC, 0xC6, 0x77,
|
||||
0x99, 0xDE, 0x67, 0x79, 0x8D, 0xFE, 0x3F, 0xF8, 0xF3, 0xE3, 0xCF, 0x8F,
|
||||
0x3C, 0x38, 0x70, 0xE1, 0xC0, 0xF8, 0xFB, 0xE3, 0xE3, 0x86, 0x0F, 0x38,
|
||||
0x1F, 0xC0, 0x3E, 0x00, 0x70, 0x03, 0xE0, 0x0F, 0x80, 0x77, 0x03, 0x8E,
|
||||
0x1E, 0x1C, 0xFC, 0xFF, 0xF3, 0xF0, 0xF9, 0xFF, 0x9F, 0x30, 0xC3, 0x9C,
|
||||
0x19, 0x81, 0xF8, 0x0F, 0x00, 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0x60,
|
||||
0x3F, 0xC3, 0xFC, 0xFF, 0xBF, 0xEC, 0x3B, 0x0C, 0xC6, 0x33, 0x80, 0xC0,
|
||||
0x60, 0x38, 0xCC, 0x36, 0x0F, 0x03, 0xFF, 0xFF, 0xF0, 0xFF, 0xF1, 0x8C,
|
||||
0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC7, 0xFE, 0x40, 0x30, 0x0E,
|
||||
0x01, 0x80, 0x70, 0x0C, 0x03, 0x80, 0x60, 0x1C, 0x03, 0x00, 0xE0, 0x18,
|
||||
0x07, 0x00, 0xC0, 0x38, 0x0E, 0x01, 0xC0, 0x70, 0x0C, 0x01, 0xFF, 0xC6,
|
||||
0x31, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x1F, 0xFE, 0x04, 0x03,
|
||||
0x01, 0xE0, 0xFC, 0x7B, 0x9C, 0x7E, 0x1F, 0x03, 0xFF, 0xFF, 0xFF, 0xF0,
|
||||
0xCE, 0x73, 0x3F, 0x07, 0xF8, 0x00, 0xC0, 0x0C, 0x1F, 0xC7, 0xFC, 0x60,
|
||||
0xCC, 0x0C, 0xC1, 0xCF, 0xFF, 0x3F, 0xF0, 0xF0, 0x07, 0x80, 0x0C, 0x00,
|
||||
0x60, 0x03, 0x7C, 0x1F, 0xF8, 0xF1, 0xC7, 0x07, 0x30, 0x19, 0x80, 0xCC,
|
||||
0x06, 0x60, 0x73, 0xC7, 0x7F, 0xFB, 0xDF, 0x00, 0x1F, 0xB3, 0xFF, 0x70,
|
||||
0xFE, 0x07, 0xC0, 0x3C, 0x00, 0xC0, 0x0C, 0x00, 0x70, 0x77, 0xFF, 0x1F,
|
||||
0xC0, 0x01, 0xE0, 0x0F, 0x00, 0x18, 0x00, 0xC1, 0xF6, 0x3F, 0xF1, 0xC7,
|
||||
0x9C, 0x1C, 0xC0, 0x66, 0x03, 0x30, 0x19, 0x81, 0xC7, 0x1E, 0x3F, 0xFC,
|
||||
0x7D, 0xE0, 0x1F, 0x83, 0xFC, 0x70, 0xEE, 0x07, 0xFF, 0xFF, 0xFF, 0xE0,
|
||||
0x0E, 0x00, 0x70, 0x73, 0xFF, 0x1F, 0xC0, 0x07, 0xC3, 0xFC, 0x60, 0x0C,
|
||||
0x0F, 0xFD, 0xFF, 0x86, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x01,
|
||||
0x81, 0xFF, 0xBF, 0xF0, 0x1F, 0x79, 0xFF, 0xDC, 0x79, 0x81, 0xCC, 0x06,
|
||||
0x60, 0x33, 0x01, 0x9C, 0x1C, 0x71, 0xE1, 0xFF, 0x07, 0xD8, 0x00, 0xC0,
|
||||
0x06, 0x00, 0x70, 0x7F, 0x03, 0xF0, 0xF0, 0x03, 0xC0, 0x03, 0x00, 0x0C,
|
||||
0x00, 0x37, 0xC0, 0xFF, 0x83, 0xC7, 0x0C, 0x0C, 0x30, 0x30, 0xC0, 0xC3,
|
||||
0x03, 0x0C, 0x0C, 0x30, 0x33, 0xF3, 0xFF, 0xCF, 0xC0, 0x06, 0x00, 0xC0,
|
||||
0x00, 0x3F, 0x07, 0xE0, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x18,
|
||||
0x03, 0x0F, 0xFF, 0xFF, 0xC0, 0x06, 0x06, 0x00, 0xFF, 0xFF, 0x03, 0x03,
|
||||
0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0xFE, 0xFC,
|
||||
0xF0, 0x07, 0x80, 0x0C, 0x00, 0x60, 0x03, 0x3F, 0x19, 0xF8, 0xDE, 0x07,
|
||||
0xE0, 0x3E, 0x01, 0xF0, 0x0F, 0xC0, 0x6F, 0x03, 0x1C, 0x78, 0xFF, 0xC7,
|
||||
0xE0, 0x7E, 0x0F, 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30,
|
||||
0x06, 0x00, 0xC0, 0x18, 0x03, 0x00, 0x61, 0xFF, 0xFF, 0xF8, 0xFE, 0xF1,
|
||||
0xFF, 0xF1, 0xCE, 0x63, 0x18, 0xC6, 0x31, 0x8C, 0x63, 0x18, 0xC6, 0x31,
|
||||
0x8C, 0x63, 0x19, 0xF7, 0xBF, 0xEF, 0x78, 0x77, 0xC1, 0xFF, 0x83, 0xC7,
|
||||
0x0C, 0x0C, 0x30, 0x30, 0xC0, 0xC3, 0x03, 0x0C, 0x0C, 0x30, 0x33, 0xF1,
|
||||
0xFF, 0xC7, 0xC0, 0x1F, 0x83, 0xFC, 0x70, 0xEE, 0x07, 0xC0, 0x3C, 0x03,
|
||||
0xC0, 0x3E, 0x07, 0x70, 0xE3, 0xFC, 0x1F, 0x80, 0xF7, 0xE3, 0xFF, 0xC3,
|
||||
0xC3, 0x8E, 0x07, 0x30, 0x0C, 0xC0, 0x33, 0x00, 0xCE, 0x07, 0x3C, 0x38,
|
||||
0xFF, 0xC3, 0x7E, 0x0C, 0x00, 0x30, 0x00, 0xC0, 0x0F, 0xE0, 0x3F, 0x80,
|
||||
0x1F, 0xBC, 0xFF, 0xF7, 0x0F, 0x38, 0x1C, 0xC0, 0x33, 0x00, 0xCC, 0x03,
|
||||
0x38, 0x1C, 0x70, 0xF0, 0xFF, 0xC1, 0xFB, 0x00, 0x0C, 0x00, 0x30, 0x00,
|
||||
0xC0, 0x1F, 0xC0, 0x7F, 0x79, 0xE7, 0xFF, 0x1F, 0x31, 0xC0, 0x18, 0x01,
|
||||
0x80, 0x18, 0x01, 0x80, 0x18, 0x0F, 0xFC, 0xFF, 0xC0, 0x3F, 0x9F, 0xFE,
|
||||
0x1F, 0x82, 0xFE, 0x1F, 0xE0, 0xFF, 0x03, 0xE0, 0xFF, 0xFF, 0xF0, 0x30,
|
||||
0x06, 0x00, 0xC0, 0x7F, 0xEF, 0xFC, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06,
|
||||
0x00, 0xC0, 0x18, 0x71, 0xFE, 0x1F, 0x00, 0xF1, 0xF7, 0x8F, 0x8C, 0x0C,
|
||||
0x60, 0x63, 0x03, 0x18, 0x18, 0xC0, 0xC6, 0x06, 0x38, 0xF0, 0xFF, 0xC3,
|
||||
0xEE, 0xFC, 0xFF, 0xF3, 0xF3, 0x87, 0x0E, 0x1C, 0x1C, 0x60, 0x73, 0x80,
|
||||
0xEC, 0x03, 0xF0, 0x07, 0x80, 0x1E, 0x00, 0x78, 0x00, 0xF8, 0x7F, 0xE1,
|
||||
0xF7, 0x39, 0x8C, 0xE6, 0x37, 0xB0, 0xFF, 0xC3, 0xFF, 0x07, 0xBC, 0x1C,
|
||||
0xF0, 0x73, 0x81, 0x86, 0x00, 0x7C, 0xF9, 0xF3, 0xE3, 0xCF, 0x07, 0xF8,
|
||||
0x0F, 0xC0, 0x1E, 0x00, 0xFC, 0x07, 0x38, 0x38, 0x73, 0xF3, 0xFF, 0xCF,
|
||||
0xC0, 0xF9, 0xFF, 0x9F, 0x70, 0xE3, 0x0C, 0x39, 0xC1, 0x98, 0x19, 0x81,
|
||||
0xF8, 0x0F, 0x00, 0xF0, 0x06, 0x00, 0x60, 0x0E, 0x00, 0xC0, 0xFF, 0x0F,
|
||||
0xF0, 0x7F, 0xCF, 0xF9, 0x8E, 0x33, 0x80, 0x70, 0x1C, 0x07, 0x01, 0xC6,
|
||||
0x70, 0xFF, 0xFF, 0xFF, 0x80, 0x0E, 0x3C, 0x60, 0xC1, 0x83, 0x06, 0x0C,
|
||||
0x39, 0xE3, 0xC0, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x3C, 0x38, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xF0, 0xE1, 0xC0, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x30, 0x3C,
|
||||
0x79, 0x83, 0x06, 0x0C, 0x18, 0x31, 0xE3, 0x80, 0x3C, 0x37, 0xE7, 0x67,
|
||||
0xE6, 0x1C };
|
||||
|
||||
const GFXglyph FreeMonoBold12pt7bGlyphs[] = {
|
||||
{ 0, 0, 0, 14, 0, 1 }, // 0x20 ' '
|
||||
{ 0, 4, 15, 14, 5, -14 }, // 0x21 '!'
|
||||
{ 8, 8, 7, 14, 3, -13 }, // 0x22 '"'
|
||||
{ 15, 11, 18, 14, 2, -15 }, // 0x23 '#'
|
||||
{ 40, 10, 20, 14, 2, -16 }, // 0x24 '$'
|
||||
{ 65, 10, 15, 14, 2, -14 }, // 0x25 '%'
|
||||
{ 84, 10, 13, 14, 2, -12 }, // 0x26 '&'
|
||||
{ 101, 3, 7, 14, 5, -13 }, // 0x27 '''
|
||||
{ 104, 5, 19, 14, 6, -14 }, // 0x28 '('
|
||||
{ 116, 5, 19, 14, 3, -14 }, // 0x29 ')'
|
||||
{ 128, 10, 10, 14, 2, -14 }, // 0x2A '*'
|
||||
{ 141, 12, 13, 14, 1, -12 }, // 0x2B '+'
|
||||
{ 161, 5, 7, 14, 4, -2 }, // 0x2C ','
|
||||
{ 166, 12, 2, 14, 1, -7 }, // 0x2D '-'
|
||||
{ 169, 3, 3, 14, 5, -2 }, // 0x2E '.'
|
||||
{ 171, 10, 20, 14, 2, -16 }, // 0x2F '/'
|
||||
{ 196, 10, 15, 14, 2, -14 }, // 0x30 '0'
|
||||
{ 215, 10, 15, 14, 2, -14 }, // 0x31 '1'
|
||||
{ 234, 10, 15, 14, 2, -14 }, // 0x32 '2'
|
||||
{ 253, 11, 15, 14, 1, -14 }, // 0x33 '3'
|
||||
{ 274, 9, 14, 14, 2, -13 }, // 0x34 '4'
|
||||
{ 290, 10, 15, 14, 2, -14 }, // 0x35 '5'
|
||||
{ 309, 10, 15, 14, 2, -14 }, // 0x36 '6'
|
||||
{ 328, 10, 15, 14, 2, -14 }, // 0x37 '7'
|
||||
{ 347, 10, 15, 14, 2, -14 }, // 0x38 '8'
|
||||
{ 366, 10, 15, 14, 3, -14 }, // 0x39 '9'
|
||||
{ 385, 3, 11, 14, 5, -10 }, // 0x3A ':'
|
||||
{ 390, 4, 15, 14, 4, -10 }, // 0x3B ';'
|
||||
{ 398, 12, 11, 14, 1, -11 }, // 0x3C '<'
|
||||
{ 415, 12, 7, 14, 1, -9 }, // 0x3D '='
|
||||
{ 426, 12, 11, 14, 1, -11 }, // 0x3E '>'
|
||||
{ 443, 9, 14, 14, 3, -13 }, // 0x3F '?'
|
||||
{ 459, 11, 19, 14, 2, -14 }, // 0x40 '@'
|
||||
{ 486, 15, 14, 14, -1, -13 }, // 0x41 'A'
|
||||
{ 513, 13, 14, 14, 0, -13 }, // 0x42 'B'
|
||||
{ 536, 12, 14, 14, 1, -13 }, // 0x43 'C'
|
||||
{ 557, 12, 14, 14, 1, -13 }, // 0x44 'D'
|
||||
{ 578, 13, 14, 14, 0, -13 }, // 0x45 'E'
|
||||
{ 601, 13, 14, 14, 0, -13 }, // 0x46 'F'
|
||||
{ 624, 13, 14, 14, 1, -13 }, // 0x47 'G'
|
||||
{ 647, 14, 14, 14, 0, -13 }, // 0x48 'H'
|
||||
{ 672, 10, 14, 14, 2, -13 }, // 0x49 'I'
|
||||
{ 690, 13, 14, 14, 1, -13 }, // 0x4A 'J'
|
||||
{ 713, 14, 14, 14, 0, -13 }, // 0x4B 'K'
|
||||
{ 738, 12, 14, 14, 1, -13 }, // 0x4C 'L'
|
||||
{ 759, 14, 14, 14, 0, -13 }, // 0x4D 'M'
|
||||
{ 784, 13, 14, 14, 0, -13 }, // 0x4E 'N'
|
||||
{ 807, 12, 14, 14, 1, -13 }, // 0x4F 'O'
|
||||
{ 828, 12, 14, 14, 0, -13 }, // 0x50 'P'
|
||||
{ 849, 12, 17, 14, 1, -13 }, // 0x51 'Q'
|
||||
{ 875, 14, 14, 14, 0, -13 }, // 0x52 'R'
|
||||
{ 900, 10, 14, 14, 2, -13 }, // 0x53 'S'
|
||||
{ 918, 12, 14, 14, 1, -13 }, // 0x54 'T'
|
||||
{ 939, 12, 14, 14, 1, -13 }, // 0x55 'U'
|
||||
{ 960, 16, 14, 14, -1, -13 }, // 0x56 'V'
|
||||
{ 988, 14, 14, 14, 0, -13 }, // 0x57 'W'
|
||||
{ 1013, 14, 14, 14, 0, -13 }, // 0x58 'X'
|
||||
{ 1038, 12, 14, 14, 1, -13 }, // 0x59 'Y'
|
||||
{ 1059, 10, 14, 14, 2, -13 }, // 0x5A 'Z'
|
||||
{ 1077, 5, 19, 14, 6, -14 }, // 0x5B '['
|
||||
{ 1089, 10, 20, 14, 2, -16 }, // 0x5C '\'
|
||||
{ 1114, 5, 19, 14, 3, -14 }, // 0x5D ']'
|
||||
{ 1126, 10, 8, 14, 2, -15 }, // 0x5E '^'
|
||||
{ 1136, 14, 2, 14, 0, 4 }, // 0x5F '_'
|
||||
{ 1140, 4, 4, 14, 4, -15 }, // 0x60 '`'
|
||||
{ 1142, 12, 11, 14, 1, -10 }, // 0x61 'a'
|
||||
{ 1159, 13, 15, 14, 0, -14 }, // 0x62 'b'
|
||||
{ 1184, 12, 11, 14, 1, -10 }, // 0x63 'c'
|
||||
{ 1201, 13, 15, 14, 1, -14 }, // 0x64 'd'
|
||||
{ 1226, 12, 11, 14, 1, -10 }, // 0x65 'e'
|
||||
{ 1243, 11, 15, 14, 2, -14 }, // 0x66 'f'
|
||||
{ 1264, 13, 16, 14, 1, -10 }, // 0x67 'g'
|
||||
{ 1290, 14, 15, 14, 0, -14 }, // 0x68 'h'
|
||||
{ 1317, 11, 14, 14, 1, -13 }, // 0x69 'i'
|
||||
{ 1337, 8, 19, 15, 3, -13 }, // 0x6A 'j'
|
||||
{ 1356, 13, 15, 14, 1, -14 }, // 0x6B 'k'
|
||||
{ 1381, 11, 15, 14, 1, -14 }, // 0x6C 'l'
|
||||
{ 1402, 15, 11, 14, 0, -10 }, // 0x6D 'm'
|
||||
{ 1423, 14, 11, 14, 0, -10 }, // 0x6E 'n'
|
||||
{ 1443, 12, 11, 14, 1, -10 }, // 0x6F 'o'
|
||||
{ 1460, 14, 16, 14, 0, -10 }, // 0x70 'p'
|
||||
{ 1488, 14, 16, 14, 0, -10 }, // 0x71 'q'
|
||||
{ 1516, 12, 11, 14, 1, -10 }, // 0x72 'r'
|
||||
{ 1533, 10, 11, 14, 2, -10 }, // 0x73 's'
|
||||
{ 1547, 11, 14, 14, 1, -13 }, // 0x74 't'
|
||||
{ 1567, 13, 11, 14, 0, -10 }, // 0x75 'u'
|
||||
{ 1585, 14, 11, 14, 0, -10 }, // 0x76 'v'
|
||||
{ 1605, 14, 11, 14, 0, -10 }, // 0x77 'w'
|
||||
{ 1625, 14, 11, 14, 0, -10 }, // 0x78 'x'
|
||||
{ 1645, 12, 16, 14, 1, -10 }, // 0x79 'y'
|
||||
{ 1669, 11, 11, 14, 1, -10 }, // 0x7A 'z'
|
||||
{ 1685, 7, 19, 14, 3, -14 }, // 0x7B '{'
|
||||
{ 1702, 2, 19, 14, 6, -14 }, // 0x7C '|'
|
||||
{ 1707, 7, 19, 14, 4, -14 }, // 0x7D '}'
|
||||
{ 1724, 12, 4, 14, 1, -7 } }; // 0x7E '~'
|
||||
|
||||
const GFXfont FreeMonoBold12pt7b = {
|
||||
(uint8_t *)FreeMonoBold12pt7bBitmaps,
|
||||
(GFXglyph *)FreeMonoBold12pt7bGlyphs,
|
||||
0x20, 0x7E, 24, 17 };
|
||||
|
||||
// Approx. 2402 bytes
|
2
components/fb_gfx/component.mk
Executable file
2
components/fb_gfx/component.mk
Executable file
@ -0,0 +1,2 @@
|
||||
COMPONENT_ADD_INCLUDEDIRS := include
|
||||
COMPONENT_SRCDIRS := .
|
167
components/fb_gfx/fb_gfx.c
Normal file
167
components/fb_gfx/fb_gfx.c
Normal file
@ -0,0 +1,167 @@
|
||||
// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
#include "stdint.h"
|
||||
#include "stdarg.h"
|
||||
#include "string.h"
|
||||
#include "stdio.h"
|
||||
#include "stdlib.h"
|
||||
#include "fb_gfx.h"
|
||||
|
||||
typedef struct { // Data stored PER GLYPH
|
||||
uint16_t bitmapOffset; // Pointer into GFXfont->bitmap
|
||||
uint8_t width, height; // Bitmap dimensions in pixels
|
||||
uint8_t xAdvance; // Distance to advance cursor (x axis)
|
||||
int8_t xOffset, yOffset; // Dist from cursor pos to UL corner
|
||||
} GFXglyph;
|
||||
|
||||
typedef struct { // Data stored for FONT AS A WHOLE:
|
||||
uint8_t *bitmap; // Glyph bitmaps, concatenated
|
||||
GFXglyph *glyph; // Glyph array
|
||||
uint8_t first, last; // ASCII extents
|
||||
uint8_t yAdvance; // Newline distance (y axis)
|
||||
uint8_t yOffset; // Y offset of the font zero line (y axis)
|
||||
} GFXfont;
|
||||
|
||||
#include "FreeMonoBold12pt7b.h"//14x24
|
||||
#define gfxFont ((GFXfont*)(&FreeMonoBold12pt7b))
|
||||
|
||||
void fb_gfx_fillRect(fb_data_t *fb, int32_t x, int32_t y, int32_t w, int32_t h, uint32_t color)
|
||||
{
|
||||
int32_t line_step = (fb->width - w) * fb->bytes_per_pixel;
|
||||
uint8_t *data = fb->data + ((x + (y * fb->width)) * fb->bytes_per_pixel);
|
||||
uint8_t c0 = color >> 16;
|
||||
uint8_t c1 = color >> 8;
|
||||
uint8_t c2 = color;
|
||||
for (int i=0; i<h; i++){
|
||||
for (int j=0; j<w; j++){
|
||||
if(fb->bytes_per_pixel == 2){
|
||||
data[0] = c1;
|
||||
data[1] = c2;
|
||||
} else if(fb->bytes_per_pixel == 1){
|
||||
data[0] = c2;
|
||||
} else {
|
||||
data[0] = c0;
|
||||
data[1] = c1;
|
||||
data[2] = c2;
|
||||
}
|
||||
data+=fb->bytes_per_pixel;
|
||||
}
|
||||
data += line_step;
|
||||
}
|
||||
}
|
||||
|
||||
void fb_gfx_drawFastHLine(fb_data_t *fb, int32_t x, int32_t y, int32_t w, uint32_t color)
|
||||
{
|
||||
fb_gfx_fillRect(fb, x, y, w, 1, color);
|
||||
}
|
||||
|
||||
void fb_gfx_drawFastVLine(fb_data_t *fb, int32_t x, int32_t y, int32_t h, uint32_t color)
|
||||
{
|
||||
fb_gfx_fillRect(fb, x, y, 1, h, color);
|
||||
}
|
||||
|
||||
uint8_t fb_gfx_putc(fb_data_t *fb, int32_t x, int32_t y, uint32_t color, unsigned char c)
|
||||
{
|
||||
uint16_t line_width;
|
||||
uint8_t xa = 0, bit = 0, bits = 0, xx, yy;
|
||||
uint8_t *bitmap;
|
||||
GFXglyph *glyph;
|
||||
|
||||
if ((c < 32) || (c < gfxFont->first) || (c > gfxFont->last)) {
|
||||
return xa;
|
||||
}
|
||||
|
||||
c -= gfxFont->first;
|
||||
|
||||
glyph = &(gfxFont->glyph[c]);
|
||||
bitmap = gfxFont->bitmap + glyph->bitmapOffset;
|
||||
|
||||
xa = glyph->xAdvance;
|
||||
x += glyph->xOffset;
|
||||
y += glyph->yOffset;
|
||||
y += gfxFont->yOffset;
|
||||
line_width = 0;
|
||||
|
||||
for(yy=0; yy<glyph->height; yy++) {
|
||||
for(xx=0; xx<glyph->width; xx++) {
|
||||
if(bit == 0) {
|
||||
bits = *bitmap++;
|
||||
bit = 0x80;
|
||||
}
|
||||
if(bits & bit) {
|
||||
line_width++;
|
||||
} else if (line_width) {
|
||||
fb_gfx_drawFastHLine(fb, x+xx-line_width, y+yy, line_width, color);
|
||||
line_width=0;
|
||||
}
|
||||
bit >>= 1;
|
||||
}
|
||||
if (line_width) {
|
||||
fb_gfx_drawFastHLine(fb, x+xx-line_width, y+yy, line_width, color);
|
||||
line_width=0;
|
||||
}
|
||||
}
|
||||
return xa;
|
||||
}
|
||||
|
||||
uint32_t fb_gfx_print(fb_data_t *fb, int32_t x, int32_t y, uint32_t color, const char * str)
|
||||
{
|
||||
uint32_t l = 0;
|
||||
int xc = x, yc = y, lc = fb->width - gfxFont->glyph[0].xAdvance;
|
||||
uint8_t fh = gfxFont->yAdvance;
|
||||
char c = *str++;
|
||||
while(c){
|
||||
if(c != '\r'){
|
||||
if(c == '\n'){
|
||||
yc += fh;
|
||||
xc = x;
|
||||
} else {
|
||||
if(xc > lc){
|
||||
yc += fh;
|
||||
xc = x;
|
||||
}
|
||||
xc += fb_gfx_putc(fb, xc, yc, color, c);
|
||||
}
|
||||
}
|
||||
l++;
|
||||
c = *str++;
|
||||
}
|
||||
return l;
|
||||
}
|
||||
|
||||
uint32_t fb_gfx_printf(fb_data_t *fb, int32_t x, int32_t y, uint32_t color, const char *format, ...)
|
||||
{
|
||||
char loc_buf[64];
|
||||
char * temp = loc_buf;
|
||||
int len;
|
||||
va_list arg;
|
||||
va_list copy;
|
||||
va_start(arg, format);
|
||||
va_copy(copy, arg);
|
||||
len = vsnprintf(loc_buf, sizeof(loc_buf), format, arg);
|
||||
va_end(copy);
|
||||
if(len >= sizeof(loc_buf)){
|
||||
temp = (char*)malloc(len+1);
|
||||
if(temp == NULL) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
vsnprintf(temp, len+1, format, arg);
|
||||
va_end(arg);
|
||||
fb_gfx_print(fb, x, y, color, temp);
|
||||
if(len > 64){
|
||||
free(temp);
|
||||
}
|
||||
return len;
|
||||
}
|
44
components/fb_gfx/include/fb_gfx.h
Normal file
44
components/fb_gfx/include/fb_gfx.h
Normal file
@ -0,0 +1,44 @@
|
||||
// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
#ifndef _FB_GFX_H_
|
||||
#define _FB_GFX_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
FB_RGB888, FB_BGR888, FB_RGB565, FB_BGR565, FB_GRAY
|
||||
} fb_format_t;
|
||||
|
||||
typedef struct {
|
||||
int width;
|
||||
int height;
|
||||
int bytes_per_pixel;
|
||||
fb_format_t format;
|
||||
uint8_t * data;
|
||||
} fb_data_t;
|
||||
|
||||
void fb_gfx_fillRect (fb_data_t *fb, int32_t x, int32_t y, int32_t w, int32_t h, uint32_t color);
|
||||
void fb_gfx_drawFastHLine(fb_data_t *fb, int32_t x, int32_t y, int32_t w, uint32_t color);
|
||||
void fb_gfx_drawFastVLine(fb_data_t *fb, int32_t x, int32_t y, int32_t h, uint32_t color);
|
||||
uint8_t fb_gfx_putc (fb_data_t *fb, int32_t x, int32_t y, uint32_t color, unsigned char c);
|
||||
uint32_t fb_gfx_print (fb_data_t *fb, int32_t x, int32_t y, uint32_t color, const char * str);
|
||||
uint32_t fb_gfx_printf (fb_data_t *fb, int32_t x, int32_t y, uint32_t color, const char *format, ...);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _FB_GFX_H_ */
|
Reference in New Issue
Block a user