16 changed files with 536 additions and 221 deletions
-
6.vscode/settings.json
-
228app/app.uvoptx
-
20app/app.uvprojx
-
4app/config/sdk_config.h
-
88app/src/basic/ssd1306/driver_ssd1306_basic.c
-
30app/src/basic/ssd1306/driver_ssd1306_basic.h
-
77app/src/basic/ssd1306/fontlib.c
-
40app/src/basic/ssd1306/fontlib.h
-
55app/src/one_conduction/display_manager.c
-
5app/src/one_conduction/display_manager.h
-
125app/src/one_conduction/font.h
-
1app/src/one_conduction/one_conduction_board.c
-
2libznordic
-
BINres/PCtoLCD2002完美版.zip
-
BINres/img2lcd_cfg.png
-
64res/logo_mono.c
@ -0,0 +1,77 @@ |
|||
#include "fontlib.h" |
|||
|
|||
static FontLibrary_t s_fontlibrary[10]; |
|||
static uint8_t s_fontlibrarylen = 0; |
|||
|
|||
uint8_t utf8_iterator_start(StrIterator_t *iterator, const char *chr) { |
|||
iterator->str = chr; |
|||
iterator->nowoff = 0; |
|||
} |
|||
uint8_t utf8_iterator_isend(StrIterator_t *iterator) { return iterator->str[iterator->nowoff] == '\0'; } |
|||
void utf8_iterator_next(StrIterator_t *iterator, const char **nowchr) { |
|||
*nowchr = iterator->str + iterator->nowoff; |
|||
if (*nowchr[0] == '\0') { |
|||
*nowchr = NULL; |
|||
return; |
|||
} |
|||
while (iterator->str[iterator->nowoff] != '\0') { |
|||
if ((iterator->str[iterator->nowoff] < 0x80)) { |
|||
iterator->nowoff++; |
|||
break; |
|||
} else { |
|||
iterator->nowoff += 3; |
|||
break; |
|||
} |
|||
} |
|||
} |
|||
|
|||
void FontLibrary_regsiter(FontLibrary_t *lib) { s_fontlibrary[s_fontlibrarylen++] = *lib; } |
|||
|
|||
FontLibrary_t *FontLibrary_findlib(FontCode_t fontcode, uint8_t widthPixel, uint8_t heightPixel, bool isAscii) { |
|||
for (size_t i = 0; i < s_fontlibrarylen; i++) { |
|||
if (s_fontlibrary[i].fontCode == fontcode && // |
|||
s_fontlibrary[i].isAscii == isAscii && // |
|||
s_fontlibrary[i].widthPixel == widthPixel && // |
|||
s_fontlibrary[i].heightPixel == heightPixel) { |
|||
return &s_fontlibrary[i]; |
|||
} |
|||
} |
|||
return NULL; |
|||
} |
|||
|
|||
void FontLibrary_findchar(FontLibrary_t *lib, const char *chr, const uint8_t **font) { |
|||
*font = NULL; |
|||
|
|||
uint8_t eachIndexWidth = 1; |
|||
if (lib->isAscii) { |
|||
eachIndexWidth = 1; |
|||
} else { |
|||
if (lib->fontCode == kutf8) { |
|||
eachIndexWidth = 3; |
|||
} else if (lib->fontCode == kgbk) { |
|||
eachIndexWidth = 2; |
|||
} |
|||
} |
|||
|
|||
if (eachIndexWidth == 1) { |
|||
for (int i = 0; i < lib->fontIndexLen; i += 1) { |
|||
if (lib->fontIndex[i] == chr[0]) { |
|||
*font = &lib->font[i * lib->widthPixel * lib->heightPixel / 8]; |
|||
} |
|||
} |
|||
} else if (eachIndexWidth == 2) { |
|||
for (int i = 0; i < lib->fontIndexLen; i += 2) { |
|||
if (lib->fontIndex[i] == chr[0] && lib->fontIndex[i + 1] == chr[1]) { |
|||
*font = &lib->font[i / 2 * lib->widthPixel * lib->heightPixel / 8]; |
|||
} |
|||
} |
|||
} else if (eachIndexWidth == 3) { |
|||
for (int i = 0; i < lib->fontIndexLen; i += 3) { |
|||
if (lib->fontIndex[i] == chr[0] && lib->fontIndex[i + 1] == chr[1] && lib->fontIndex[i + 2] == chr[2]) { |
|||
*font = &lib->font[i / 3 * lib->widthPixel * lib->heightPixel / 8]; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
bool utf8_is_ascii(uint8_t *chr) { return chr[0] < 0x80; } |
@ -0,0 +1,40 @@ |
|||
#pragma once |
|||
#include <stdbool.h> |
|||
#include <stdint.h> |
|||
#include <stdio.h> |
|||
typedef enum { |
|||
kutf8, |
|||
kgbk, |
|||
} FontCode_t; |
|||
|
|||
typedef enum { |
|||
kFontSize08x16, |
|||
kFontSize16x16, |
|||
} FontSize_t; |
|||
|
|||
typedef struct { |
|||
const uint8_t *font; |
|||
|
|||
const char *fontIndex; |
|||
int fontIndexLen; |
|||
|
|||
FontCode_t fontCode; |
|||
bool isAscii; |
|||
|
|||
uint8_t widthPixel; |
|||
uint8_t heightPixel; |
|||
} FontLibrary_t; |
|||
|
|||
typedef struct { |
|||
const char *str; |
|||
int nowoff; |
|||
} StrIterator_t; |
|||
|
|||
uint8_t utf8_iterator_start(StrIterator_t *iterator, const char *chr); |
|||
uint8_t utf8_iterator_isend(StrIterator_t *iterator); |
|||
void utf8_iterator_next(StrIterator_t *iterator, const char **nowchr); |
|||
bool utf8_is_ascii(uint8_t *chr); |
|||
|
|||
void FontLibrary_regsiter(FontLibrary_t *lib); |
|||
FontLibrary_t *FontLibrary_findlib(FontCode_t fontcode, uint8_t widthPixel, uint8_t heightPixel, bool isAscii); |
|||
void FontLibrary_findchar(FontLibrary_t *lib, const char *chr, const uint8_t **font); |
@ -0,0 +1,125 @@ |
|||
// https://www.23bei.com/tool-965.html |
|||
#pragma ocne |
|||
#include <stdint.h> |
|||
#if 0 |
|||
const char fontclocklib_code[] = { |
|||
0x00, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x01, 0xFF, 0xE0, 0x03, 0xFF, 0xF0, 0x07, 0x80, 0x78, 0x06, // |
|||
0x00, 0x18, 0x04, 0x00, 0x08, 0x06, 0x00, 0x18, 0x07, 0x80, 0x78, 0x03, 0xFF, 0xF0, 0x01, 0xFF, // |
|||
0xE0, 0x00, 0x7F, 0x80, // |
|||
0x00, 0x00, 0x00, 0x02, 0x00, 0x10, 0x02, 0x00, 0x10, 0x02, 0x00, 0x10, 0x07, 0xFF, 0xF0, 0x0F, // |
|||
0xFF, 0xF0, 0x0F, 0xFF, 0xF0, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x00, 0x00, // |
|||
0x00, 0x00, 0x00, 0x00, // |
|||
0x03, 0x80, 0x70, 0x07, 0x80, 0xF0, 0x0D, 0x81, 0xB0, 0x08, 0x03, 0x30, 0x08, 0x06, 0x30, 0x08, // |
|||
0x0C, 0x30, 0x0C, 0x38, 0x30, 0x0F, 0xF8, 0x30, 0x07, 0xF1, 0xF0, 0x03, 0xC1, 0xF0, 0x00, 0x00, // |
|||
0x00, 0x00, 0x00, 0x00, // |
|||
0x03, 0x81, 0xC0, 0x07, 0x81, 0xE0, 0x0F, 0x81, 0xF0, 0x08, 0x10, 0x10, 0x08, 0x10, 0x10, 0x0C, // |
|||
0x30, 0x10, 0x0F, 0xF8, 0x30, 0x07, 0xEF, 0xF0, 0x03, 0xCF, 0xE0, 0x00, 0x03, 0xC0, 0x00, 0x00, // |
|||
0x00, 0x00, 0x00, 0x00, // |
|||
0x00, 0x06, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x3A, 0x00, 0x00, 0xE2, 0x00, 0x01, 0xC2, 0x10, 0x07, // |
|||
0x02, 0x10, 0x0F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF0, 0x1F, 0xFF, 0xF0, 0x00, 0x02, 0x10, 0x00, 0x02, // |
|||
0x10, 0x00, 0x00, 0x00, // |
|||
0x00, 0x01, 0xC0, 0x0F, 0xF9, 0xE0, 0x0F, 0xF9, 0xB0, 0x0C, 0x30, 0x10, 0x0C, 0x20, 0x10, 0x0C, // |
|||
0x20, 0x10, 0x0C, 0x30, 0x70, 0x0C, 0x3F, 0xF0, 0x0C, 0x1F, 0xE0, 0x0C, 0x0F, 0x80, 0x00, 0x00, // |
|||
0x00, 0x00, 0x00, 0x00, // |
|||
0x00, 0x7F, 0x00, 0x03, 0xFF, 0xC0, 0x07, 0xFF, 0xE0, 0x07, 0x18, 0x70, 0x0C, 0x30, 0x30, 0x08, // |
|||
0x20, 0x10, 0x08, 0x20, 0x10, 0x0E, 0x30, 0x30, 0x0E, 0x3F, 0xE0, 0x06, 0x1F, 0xE0, 0x00, 0x0F, // |
|||
0x80, 0x00, 0x00, 0x00, // |
|||
0x00, 0x00, 0x00, 0x07, 0x80, 0x00, 0x0F, 0x80, 0x00, 0x0E, 0x00, 0x00, 0x0C, 0x01, 0xF0, 0x0C, // |
|||
0x0F, 0xF0, 0x0C, 0x3F, 0xF0, 0x0D, 0xF0, 0x00, 0x0F, 0xC0, 0x00, 0x0E, 0x00, 0x00, 0x0C, 0x00, // |
|||
0x00, 0x00, 0x00, 0x00, // |
|||
0x03, 0xC3, 0xC0, 0x07, 0xEF, 0xE0, 0x0F, 0xEF, 0xE0, 0x0C, 0x78, 0x30, 0x08, 0x30, 0x10, 0x08, // |
|||
0x38, 0x10, 0x08, 0x18, 0x10, 0x0C, 0x3C, 0x30, 0x0F, 0xEF, 0xF0, 0x07, 0xE7, 0xE0, 0x03, 0x83, // |
|||
0xC0, 0x00, 0x00, 0x00, // |
|||
0x01, 0xF0, 0x00, 0x07, 0xF8, 0x60, 0x07, 0xFC, 0x70, 0x0E, 0x0C, 0x70, 0x08, 0x04, 0x10, 0x08, // |
|||
0x04, 0x10, 0x08, 0x0C, 0x30, 0x0E, 0x19, 0xE0, 0x07, 0xFF, 0xE0, 0x03, 0xFF, 0x80, 0x00, 0xFE, // |
|||
0x00, 0x00, 0x00, 0x00, // |
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x70, 0x00, // |
|||
0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0xE0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // |
|||
0x00, 0x00, 0x00, 0x00, // |
|||
}; |
|||
|
|||
static FontLibrary_t fontclocklib = { |
|||
.font = fontclocklib_code, |
|||
.fontIndex = "0123456789:", |
|||
.fontIndexLen = 12, |
|||
.fontCode = kutf8, |
|||
.isAscii = true, |
|||
.widthPixel = 24, |
|||
.heightPixel = 24, |
|||
}; |
|||
#endif |
|||
|
|||
// DB 00H 00H 07H F0H 0FH F8H 18H 0CH 10H 04H 18H 0CH 0FH F8H 07H F0H;"0",0 |
|||
// DB 10H 08H 10H 08H 3FH F8H 3FH F8H 00H 08H 00H 08H 00H 00H 00H 00H;"1",1 |
|||
// DB 1CH 18H 3CH 38H 20H 68H 20H C8H 23H 88H 3FH 18H 1CH 18H 00H 00H;"2",2 |
|||
// DB 18H 30H 38H 38H 22H 08H 22H 08H 27H 18H 3DH F0H 18H E0H 00H 00H;"3",3 |
|||
// DB 01H C0H 07H C0H 0EH 48H 18H 48H 3FH F8H 3FH F8H 00H 48H 00H 00H;"4",4 |
|||
// DB 3FH 30H 3FH 38H 23H 08H 22H 08H 23H 18H 21H F0H 20H E0H 00H 00H;"5",5 |
|||
// DB 0FH E0H 1FH F0H 33H 18H 22H 08H 33H 18H 31H F0H 00H E0H 00H 00H;"6",6 |
|||
// DB 38H 00H 38H 00H 21H F8H 27H F8H 3EH 00H 38H 00H 20H 00H 00H 00H;"7",7 |
|||
// DB 1CH 70H 3EH F8H 23H 88H 21H 08H 23H 88H 3EH F8H 1CH 70H 00H 00H;"8",8 |
|||
// DB 0EH 00H 1FH 18H 31H 98H 20H 88H 31H 98H 1FH F0H 0FH E0H 00H 00H;"9",9 |
|||
// DB 00H 00H 00H 00H 06H 18H 06H 18H 06H 18H 00H 00H 00H 00H 00H 00H;":",10 |
|||
|
|||
#if 0 |
|||
//32*32 |
|||
const char fontclocklib_code[] = { |
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x40, 0x40, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFE, 0xFF, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0xFF, 0xFE, 0xF0, |
|||
0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x04, 0x04, 0x06, 0x07, 0x03, 0x01, 0x00, 0x00, /*"0",0*/ |
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x06, 0x07, 0x07, 0x07, 0x06, 0x04, 0x04, 0x04, 0x00, 0x00, /*"1",1*/ |
|||
0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x40, 0x40, 0x40, 0x40, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x1F, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0xFF, 0x7F, 0x3E, 0x00, |
|||
0x00, 0x00, 0x00, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x00, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x01, 0x00, /*"2",2*/ |
|||
0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0x40, 0x40, 0x40, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x00, 0x80, 0x80, 0x80, 0xC0, 0xE1, 0x7F, 0x3F, 0x1E, 0x00, 0x00, |
|||
0x00, 0x00, 0xE0, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0xFF, 0xFE, 0x78, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x06, 0x04, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03, 0x01, 0x00, 0x00, /*"3",3*/ |
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0x70, 0x3C, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, |
|||
0x00, 0x10, 0x1C, 0x1E, 0x13, 0x11, 0x10, 0x10, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x0F, 0x0F, 0x0F, 0x0F, 0x08, 0x08, 0x08, /*"4",4*/ |
|||
0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xC7, 0x60, 0x20, 0x20, 0x20, 0x60, 0xE0, 0xC0, 0x80, 0x00, 0x00, |
|||
0x00, 0x00, 0xE0, 0xE1, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x04, 0x04, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03, 0x01, 0x00, 0x00, /*"5",5*/ |
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x40, 0x40, 0x40, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFC, 0xFE, 0x8F, 0x81, 0xC0, 0x40, 0x40, 0x40, 0xC0, 0xC3, 0x83, 0x03, 0x00, |
|||
0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xC3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03, 0x01, 0x00, /*"6",6*/ |
|||
0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x03, 0x01, 0x00, 0x00, 0x80, 0xE0, 0x78, 0x1E, 0x07, 0x01, 0x00, 0x00, |
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFC, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /*"7",7*/ |
|||
0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x40, 0x40, 0x40, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x3F, 0x7F, 0xF1, 0xE0, 0xC0, 0x80, 0x80, 0x80, 0xE1, 0x7F, 0x3F, 0x1E, 0x00, |
|||
0x00, 0xF8, 0xFC, 0xFE, 0x07, 0x03, 0x01, 0x01, 0x01, 0x03, 0x07, 0x0F, 0xFE, 0xFC, 0xF8, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x06, 0x04, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03, 0x01, 0x00, 0x00, /*"8",8*/ |
|||
0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0x40, 0x40, 0x40, 0x40, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xFF, 0xFE, 0xF8, 0x00, |
|||
0x00, 0x00, 0x81, 0x83, 0x87, 0x06, 0x04, 0x04, 0x04, 0x06, 0x83, 0xF3, 0xFF, 0x7F, 0x0F, 0x00, 0x00, 0x00, 0x03, 0x03, 0x07, 0x04, 0x04, 0x04, 0x06, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, /*"9",9*/ |
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, |
|||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, /*":",10*/ |
|||
}; |
|||
static FontLibrary_t fontclocklib = { |
|||
.font = fontclocklib_code, |
|||
.fontIndex = "0123456789:", |
|||
.fontIndexLen = 12, |
|||
.fontCode = kutf8, |
|||
.isAscii = true, |
|||
.widthPixel = 16, |
|||
.heightPixel = 32, |
|||
}; |
|||
#endif |
|||
|
|||
//24*24 |
|||
const char fontclocklib_code[] = { |
|||
|
|||
0x00,0x00,0x80,0xC0,0xE0,0x60,0x20,0x60,0xE0,0xC0,0x80,0x00,0x00,0xFE,0xFF,0xFF,0x01,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFE,0x00,0x01,0x07,0x0F,0x1E,0x18,0x10,0x18,0x1E,0x0F,0x07,0x01,/*"0",0*/ |
|||
0x00,0x00,0x80,0x80,0x80,0xC0,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x1F,0x1F,0x1F,0x10,0x10,0x10,0x00,/*"1",1*/ |
|||
0x00,0x80,0xC0,0x60,0x20,0x20,0x20,0x60,0xE0,0xC0,0x80,0x00,0x00,0x03,0x03,0x03,0x80,0xC0,0x60,0x38,0x3F,0x1F,0x07,0x00,0x00,0x1C,0x1E,0x1B,0x19,0x18,0x18,0x18,0x18,0x1F,0x1F,0x00,/*"2",2*/ |
|||
0x00,0x80,0xC0,0xE0,0x20,0x20,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x03,0x03,0x03,0x10,0x10,0x18,0x3F,0xEF,0xE7,0x80,0x00,0x00,0x07,0x0F,0x1F,0x10,0x10,0x10,0x18,0x1F,0x0F,0x07,0x00,/*"3",3*/ |
|||
0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x00,0xC0,0xF0,0xB8,0x8E,0x87,0x81,0xFF,0xFF,0xFF,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x1F,0x1F,0x1F,0x10,0x10,/*"4",4*/ |
|||
0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x3F,0x3F,0x18,0x08,0x08,0x18,0xF8,0xF0,0xE0,0x00,0x00,0x07,0x0F,0x1B,0x10,0x10,0x10,0x1C,0x1F,0x0F,0x03,0x00,/*"5",5*/ |
|||
0x00,0x00,0x80,0xC0,0xC0,0x60,0x20,0x20,0xE0,0xE0,0xC0,0x00,0x00,0xFC,0xFF,0xFF,0x31,0x18,0x08,0x08,0x18,0xF8,0xF0,0xE0,0x00,0x01,0x07,0x0F,0x1C,0x18,0x10,0x10,0x18,0x0F,0x0F,0x03,/*"6",6*/ |
|||
0x00,0x00,0xC0,0xE0,0xE0,0x60,0x60,0x60,0x60,0xE0,0xE0,0x60,0x00,0x00,0x03,0x03,0x00,0x00,0xE0,0xF8,0x1F,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,/*"7",7*/ |
|||
0x00,0x80,0xC0,0xE0,0x60,0x20,0x20,0x20,0x60,0xE0,0xC0,0x80,0x00,0x87,0xEF,0xEF,0x3C,0x18,0x38,0x30,0x78,0xEF,0xCF,0x83,0x00,0x07,0x0F,0x0F,0x18,0x10,0x10,0x10,0x18,0x1F,0x0F,0x07,/*"8",8*/ |
|||
0x00,0x00,0xC0,0xC0,0xE0,0x20,0x20,0x20,0xE0,0xC0,0x80,0x00,0x00,0x1F,0x3F,0x7F,0x60,0x40,0x40,0x60,0x30,0xFF,0xFF,0xFE,0x00,0x00,0x0C,0x1C,0x1C,0x10,0x10,0x18,0x0F,0x0F,0x03,0x00,/*"9",9*/ |
|||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0E,0x0E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x1C,0x00,0x00,0x00,/*":",10*/ |
|||
|
|||
}; |
|||
static FontLibrary_t fontclocklib = { |
|||
.font = fontclocklib_code, |
|||
.fontIndex = "0123456789:", |
|||
.fontIndexLen = 12, |
|||
.fontCode = kutf8, |
|||
.isAscii = true, |
|||
.widthPixel = 12, |
|||
.heightPixel = 24, |
|||
}; |
@ -1 +1 @@ |
|||
Subproject commit 326ebab17be4472520b0b077f59edf09be8e0dda |
|||
Subproject commit 75bac4942446a40e70c2e5d1cbfe5171a869fd69 |
Before Width: 713 | Height: 519 | Size: 23 KiB After Width: 716 | Height: 524 | Size: 23 KiB |
Write
Preview
Loading…
Cancel
Save
Reference in new issue