- Added function to read out the display_buffer via USB-Serial - Added basic structure and files for later complete firmware (still in progress) - Added Doc folder with schematic in it - Added Python script and batch file to read out the display buffer and open the image in gimp
110 lines
8.6 KiB
C
110 lines
8.6 KiB
C
#include <stdint.h>
|
|
|
|
const uint8_t _Font_DejaVu_Sans_Mono_7x15[] = {
|
|
0x00, 0x00, // Size of zero indicates fixed width font, actual length is width * height
|
|
0x07, // Width
|
|
0x0f, // Height
|
|
0x20, // First Char
|
|
0x5f, // Char Count
|
|
|
|
// Fixed width; char width table not used !!!!
|
|
|
|
// Font Data
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //
|
|
0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // !
|
|
0x00, 0x00, 0x38, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // "
|
|
0x00, 0x40, 0xe0, 0x50, 0xc0, 0x70, 0x40, 0x02, 0x0e, 0x03, 0x0a, 0x07, 0x02, 0x00, // #
|
|
0x00, 0xe0, 0x90, 0xf8, 0x10, 0x20, 0x00, 0x00, 0x04, 0x08, 0x3f, 0x09, 0x07, 0x00, // $
|
|
0x30, 0x48, 0x48, 0xb0, 0x80, 0x40, 0x00, 0x00, 0x01, 0x01, 0x06, 0x09, 0x09, 0x06, // %
|
|
0x00, 0x00, 0xf0, 0xc8, 0x08, 0x08, 0x00, 0x00, 0x07, 0x0c, 0x08, 0x0b, 0x06, 0x0b, // &
|
|
0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // '
|
|
0x00, 0x00, 0x00, 0xe0, 0x1c, 0x04, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x10, 0x00, // (
|
|
0x00, 0x00, 0x04, 0x1c, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1c, 0x03, 0x00, 0x00, // )
|
|
0x00, 0x90, 0x60, 0xf8, 0x60, 0x90, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, // *
|
|
0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x0f, 0x01, 0x01, 0x01, // +
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0c, 0x00, 0x00, 0x00, // ,
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, // -
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, // .
|
|
0x00, 0x00, 0x00, 0x00, 0xc0, 0x30, 0x08, 0x00, 0x10, 0x0c, 0x03, 0x00, 0x00, 0x00, // /
|
|
0x00, 0xe0, 0x18, 0x08, 0x88, 0x18, 0xe0, 0x00, 0x03, 0x0c, 0x08, 0x08, 0x0c, 0x03, // 0
|
|
0x00, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x00, // 1
|
|
0x00, 0x10, 0x08, 0x08, 0x08, 0x88, 0x70, 0x00, 0x08, 0x0c, 0x0a, 0x09, 0x08, 0x08, // 2
|
|
0x00, 0x10, 0x08, 0x88, 0x88, 0x88, 0x70, 0x00, 0x04, 0x08, 0x08, 0x08, 0x08, 0x07, // 3
|
|
0x00, 0x00, 0xc0, 0x60, 0x18, 0xf8, 0x00, 0x00, 0x03, 0x02, 0x02, 0x02, 0x0f, 0x02, // 4
|
|
0x00, 0x78, 0x48, 0x48, 0x48, 0xc8, 0x80, 0x00, 0x04, 0x08, 0x08, 0x08, 0x0c, 0x07, // 5
|
|
0x00, 0xe0, 0x90, 0x48, 0x48, 0xc8, 0x90, 0x00, 0x03, 0x0c, 0x08, 0x08, 0x0c, 0x07, // 6
|
|
0x00, 0x08, 0x08, 0x08, 0x88, 0x78, 0x18, 0x00, 0x00, 0x08, 0x06, 0x01, 0x00, 0x00, // 7
|
|
0x00, 0x70, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x07, 0x08, 0x08, 0x08, 0x08, 0x07, // 8
|
|
0x00, 0xf0, 0x18, 0x08, 0x08, 0x98, 0xe0, 0x00, 0x04, 0x09, 0x09, 0x09, 0x04, 0x03, // 9
|
|
0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, // :
|
|
0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0c, 0x00, 0x00, 0x00, // ;
|
|
0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, // <
|
|
0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, // =
|
|
0x00, 0x20, 0x40, 0x40, 0x40, 0x80, 0x80, 0x00, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, // >
|
|
0x00, 0x00, 0x10, 0x88, 0xc8, 0x48, 0x30, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, // ?
|
|
0x00, 0xc0, 0x20, 0x10, 0x90, 0xb0, 0xe0, 0x00, 0x0f, 0x18, 0x23, 0x24, 0x24, 0x07, // @
|
|
0x00, 0x00, 0xc0, 0x38, 0x38, 0xc0, 0x00, 0x00, 0x0c, 0x03, 0x02, 0x02, 0x03, 0x0c, // A
|
|
0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x0f, 0x08, 0x08, 0x08, 0x08, 0x07, // B
|
|
0x00, 0xe0, 0x10, 0x08, 0x08, 0x08, 0x10, 0x00, 0x03, 0x04, 0x08, 0x08, 0x08, 0x04, // C
|
|
0x00, 0xf8, 0x08, 0x08, 0x08, 0x10, 0xe0, 0x00, 0x0f, 0x08, 0x08, 0x08, 0x04, 0x03, // D
|
|
0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x0f, 0x08, 0x08, 0x08, 0x08, 0x08, // E
|
|
0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, // F
|
|
0x00, 0xe0, 0x10, 0x08, 0x08, 0x88, 0x90, 0x00, 0x03, 0x04, 0x08, 0x08, 0x08, 0x07, // G
|
|
0x00, 0xf8, 0x80, 0x80, 0x80, 0x80, 0xf8, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x0f, // H
|
|
0x00, 0x08, 0x08, 0xf8, 0x08, 0x08, 0x00, 0x00, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x00, // I
|
|
0x00, 0x00, 0x00, 0x08, 0x08, 0xf8, 0x00, 0x00, 0x04, 0x08, 0x08, 0x08, 0x07, 0x00, // J
|
|
0x00, 0xf8, 0x80, 0xc0, 0x20, 0x10, 0x08, 0x00, 0x0f, 0x00, 0x00, 0x03, 0x06, 0x08, // K
|
|
0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x08, 0x08, 0x08, 0x08, 0x08, // L
|
|
0x00, 0xf8, 0x30, 0xc0, 0xc0, 0x30, 0xf8, 0x00, 0x0f, 0x00, 0x01, 0x01, 0x00, 0x0f, // M
|
|
0x00, 0xf8, 0x18, 0xe0, 0x80, 0x00, 0xf8, 0x00, 0x0f, 0x00, 0x00, 0x03, 0x0c, 0x0f, // N
|
|
0x00, 0xe0, 0x18, 0x08, 0x08, 0x18, 0xe0, 0x00, 0x03, 0x0c, 0x08, 0x08, 0x0c, 0x03, // O
|
|
0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, // P
|
|
0x00, 0xe0, 0x18, 0x08, 0x08, 0x18, 0xe0, 0x00, 0x03, 0x0c, 0x08, 0x08, 0x3c, 0x07, // Q
|
|
0x00, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x01, 0x06, // R
|
|
0x00, 0x70, 0xc8, 0x88, 0x88, 0x88, 0x10, 0x00, 0x04, 0x08, 0x08, 0x08, 0x08, 0x07, // S
|
|
0x08, 0x08, 0x08, 0xf8, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, // T
|
|
0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x07, 0x08, 0x08, 0x08, 0x08, 0x07, // U
|
|
0x00, 0x18, 0xe0, 0x00, 0x00, 0xe0, 0x18, 0x00, 0x00, 0x01, 0x0e, 0x0e, 0x01, 0x00, // V
|
|
0xf8, 0x00, 0xc0, 0x30, 0xc0, 0x00, 0xf8, 0x01, 0x0e, 0x03, 0x00, 0x03, 0x0e, 0x01, // W
|
|
0x00, 0x08, 0x30, 0xc0, 0xc0, 0x30, 0x08, 0x00, 0x08, 0x06, 0x01, 0x01, 0x06, 0x08, // X
|
|
0x08, 0x10, 0x60, 0x80, 0x60, 0x10, 0x08, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, // Y
|
|
0x00, 0x08, 0x08, 0x88, 0xc8, 0x38, 0x18, 0x00, 0x0c, 0x0e, 0x09, 0x08, 0x08, 0x08, // Z
|
|
0x00, 0x00, 0x00, 0xfc, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x10, 0x00, 0x00, // [
|
|
0x00, 0x08, 0x30, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x10, // "\"
|
|
0x00, 0x00, 0x04, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1f, 0x00, 0x00, 0x00, // ]
|
|
0x20, 0x10, 0x08, 0x08, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ^
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, // _
|
|
0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // `
|
|
0x00, 0x40, 0x20, 0x20, 0x20, 0xc0, 0x00, 0x00, 0x06, 0x09, 0x09, 0x09, 0x0f, 0x00, // a
|
|
0x00, 0xfc, 0x20, 0x20, 0x20, 0xc0, 0x00, 0x00, 0x0f, 0x08, 0x08, 0x08, 0x07, 0x00, // b
|
|
0x00, 0xc0, 0x60, 0x20, 0x20, 0x40, 0x00, 0x00, 0x07, 0x0c, 0x08, 0x08, 0x08, 0x00, // c
|
|
0x00, 0xc0, 0x20, 0x20, 0x20, 0xfc, 0x00, 0x00, 0x07, 0x08, 0x08, 0x08, 0x0f, 0x00, // d
|
|
0x00, 0xc0, 0x60, 0x20, 0x20, 0xc0, 0x00, 0x00, 0x07, 0x09, 0x09, 0x09, 0x05, 0x00, // e
|
|
0x00, 0x20, 0x20, 0xf8, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, // f
|
|
0x00, 0xc0, 0x20, 0x20, 0x20, 0xe0, 0x00, 0x00, 0x07, 0x28, 0x48, 0x48, 0x3f, 0x00, // g
|
|
0x00, 0xfc, 0x40, 0x20, 0x20, 0xc0, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, // h
|
|
0x00, 0x20, 0x20, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0f, 0x08, 0x08, 0x00, // i
|
|
0x00, 0x00, 0x20, 0x20, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x3f, 0x00, 0x00, // j
|
|
0x00, 0xfc, 0x00, 0x80, 0x40, 0x20, 0x00, 0x00, 0x0f, 0x01, 0x02, 0x04, 0x08, 0x00, // k
|
|
0x00, 0x04, 0x04, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x08, 0x00, // l
|
|
0x00, 0xe0, 0x20, 0xe0, 0x20, 0xe0, 0x00, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0x0f, 0x00, // m
|
|
0x00, 0xe0, 0x40, 0x20, 0x20, 0xc0, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, // n
|
|
0x00, 0xc0, 0x20, 0x20, 0x20, 0xc0, 0x00, 0x00, 0x07, 0x08, 0x08, 0x08, 0x07, 0x00, // o
|
|
0x00, 0xe0, 0x20, 0x20, 0x20, 0xc0, 0x00, 0x00, 0x7f, 0x08, 0x08, 0x08, 0x07, 0x00, // p
|
|
0x00, 0xc0, 0x20, 0x20, 0x20, 0xe0, 0x00, 0x00, 0x07, 0x08, 0x08, 0x08, 0x7f, 0x00, // q
|
|
0x00, 0x00, 0xe0, 0x60, 0x20, 0x20, 0x40, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, // r
|
|
0x00, 0xc0, 0x20, 0x20, 0x20, 0x40, 0x00, 0x00, 0x04, 0x09, 0x09, 0x09, 0x06, 0x00, // s
|
|
0x00, 0x20, 0x20, 0xf8, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x08, 0x08, 0x00, // t
|
|
0x00, 0xe0, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x07, 0x08, 0x08, 0x08, 0x0f, 0x00, // u
|
|
0x00, 0x60, 0x80, 0x00, 0x80, 0x60, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x03, 0x00, 0x00, // v
|
|
0x60, 0x80, 0x00, 0x80, 0x00, 0x80, 0x60, 0x00, 0x03, 0x0e, 0x01, 0x0e, 0x03, 0x00, // w
|
|
0x00, 0x20, 0xc0, 0x00, 0xc0, 0x20, 0x00, 0x00, 0x08, 0x06, 0x01, 0x06, 0x08, 0x00, // x
|
|
0x00, 0x60, 0x80, 0x00, 0x80, 0x60, 0x00, 0x00, 0x40, 0x67, 0x1c, 0x03, 0x00, 0x00, // y
|
|
0x00, 0x20, 0x20, 0x20, 0xa0, 0x60, 0x00, 0x00, 0x0c, 0x0a, 0x09, 0x08, 0x08, 0x00, // z
|
|
0x00, 0x80, 0x80, 0x7c, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x10, 0x10, 0x00, // {
|
|
0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, // |
|
|
0x00, 0x04, 0x04, 0x7c, 0x80, 0x80, 0x00, 0x00, 0x10, 0x10, 0x1f, 0x00, 0x00, 0x00, // }
|
|
0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01 // ~
|
|
};
|
|
|