34 #elif defined(__AVR__) 35 #include <avr/pgmspace.h> 43 #define SSD1306_MORE_CHARS_REQUIRED 0xffff 45 #ifndef DOXYGEN_SHOULD_SKIP_THIS 52 #define RGB_COLOR8(r, g, b) ((r & 0xE0) | ((g >> 3) & 0x1C) | (b >> 6)) 55 #define GRAY_COLOR4(gray) (((gray >> 4) & 0x0F) | (gray & 0xF0)) 58 #define RGB_COLOR4(r, g, b) ((r >> 2) + (g >> 1) + (b >> 2)) 61 #define RGB8_TO_GRAY4(rgb) ((rgb >> 6) + ((rgb >> 2) & 0x07) + (rgb & 0x03)) 64 #define RGB_COLOR16(r, g, b) (((r << 8) & 0xF800) | ((g << 3) & 0x07E0) | (b >> 3)) 67 #define RGB8_TO_RGB16(c) \ 68 ((((uint16_t)c & 0b11100000) << 8) | (((uint16_t)c & 0b00011100) << 6) | (((uint16_t)c & 0b00000011) << 3)) 71 #define RGB16_TO_RGB8(c) \ 72 (((uint16_t)(c >> 8) & 0b11100000) | ((uint16_t)(c >> 6) & 0b00011100) | ((uint16_t)(c >> 3) & 0b00000011)) 74 #if defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) || \ 75 defined(__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) 97 CANVAS_MODE_BASIC = 0x00,
109 FONT_SIZE_NORMAL = 0,
115 #pragma pack(push, 1) 135 #ifdef CONFIG_SSD1306_UNICODE_ENABLE
uint8_t height
char height in pixels
const uint8_t * primary_table
font chars bits
uint8_t width
char width in pixels
const uint8_t * secondary_table
font chars bits
SFontHeaderRecord h
record, containing information on font
const uint8_t * glyph
char data, located in progmem.
uint8_t spacing
additional spaces after char in pixels
uint8_t spacing
spacing between two characters
uint8_t glyph_size
glyph size in bytes
uint8_t pages
height in pages (each page height is 8-pixels)
uint8_t count
count of characters