Files
RP2350_MIDI_Lighter/Firmware/Fonts/Font_DejaVu_Sans_Mono_7x15.c
Chris 128d42c586 - Fixed drawing of round objects (Circles, Rounded Rects) using a lookup table
- 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
2025-09-07 08:55:39 +02:00

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 // ~
};