31 extern uint16_t ssd1306_color;
32 extern uint8_t s_ssd1306_invertByte;
33 extern lcduint_t ssd1306_cursorX;
34 extern lcduint_t ssd1306_cursorY;
36 #ifdef CONFIG_SSD1306_UNICODE_ENABLE 37 extern uint8_t g_ssd1306_unicode;
45 static void ssd1306_drawBufferPitch16(lcdint_t x, lcdint_t y, lcduint_t w, lcduint_t h, lcduint_t pitch,
const uint8_t *data)
50 lcduint_t line = w << 1;
56 data += pitch - (w << 1);
63 ssd1306_drawBufferPitch16(x, y, w, h, w<<1, data);
68 ssd1306_drawBufferPitch16( x, y, w, h, pitch, data );
77 uint16_t blackColor = s_ssd1306_invertByte ? ssd1306_color : 0x00;
78 uint16_t color = s_ssd1306_invertByte ? 0x00 : ssd1306_color;
85 uint8_t data = *bitmap;
159 lcduint_t dx = x1 > x2 ? (x1 - x2): (x2 - x1);
160 lcduint_t dy = y1 > y2 ? (y1 - y2): (y2 - y1);
175 x1 < x2 ? x1++: x1--;
193 if (y1 < y2) y1++;
else y1--;
219 uint16_t count = (x2 - x1 + 1) * (y2 - y1 + 1);
230 uint16_t blackColor = s_ssd1306_invertByte ? ssd1306_color : 0x00;
231 uint16_t color = s_ssd1306_invertByte ? 0x00 : ssd1306_color;
238 uint8_t data = pgm_read_byte( bitmap );
261 uint32_t count = (w) * (h);
273 uint32_t count = w * h;
289 uint16_t unicode = ssd1306_unicode16FromUtf8(c);
308 uint8_t gotoNewLine = 1;
311 uint16_t unicode = ssd1306_unicode16FromUtf8(ch);
319 ssd1306_cursorY += s_fixedFont.
h.
height;
332 uint16_t color = ssd1306_color;
333 ssd1306_color = s_ssd1306_invertByte ? color : 0x0000;
335 ssd1306_cursorX + char_info.
width + char_info.
spacing - 1,
336 ssd1306_cursorY + s_fixedFont.
h.
height - 1 );
337 ssd1306_color = color;
#define RGB_COLOR16(r, g, b)
void ssd1306_printChar16(uint8_t c)
uint8_t height
char height in pixels
void ssd1306_fillScreen16(uint16_t fill_Data)
void(* send)(uint8_t data)
void ssd1306_drawBitmap16(lcdint_t xpos, lcdint_t ypos, lcduint_t w, lcduint_t h, const uint8_t *bitmap)
uint8_t ssd1306_printFixed16(lcdint_t x, lcdint_t y, const char *ch, EFontStyle style)
void ssd1306_drawRect16(lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2)
void ssd1306_putColorPixel16(lcdint_t x, lcdint_t y, uint16_t color)
void(* send_pixels16)(uint16_t data)
Sends RGB pixel encoded in 5-6-5 format to OLED driver. Sends RGB pixel encoded in 5-6-5 format to OL...
void(* set_block)(lcduint_t x, lcduint_t y, lcduint_t w)
Sets block in RAM of lcd display controller to write data to.
void ssd1306_drawMonoBuffer16(lcdint_t xpos, lcdint_t ypos, lcduint_t w, lcduint_t h, const uint8_t *bitmap)
void ssd1306_setCursor16(lcduint_t x, lcduint_t y)
void ssd1306_clearBlock16(uint8_t x, uint8_t y, uint8_t w, uint8_t h)
void ssd1306_setRgbColor16(uint8_t r, uint8_t g, uint8_t b)
Sets default color.
void ssd1306_drawBufferFast16(lcdint_t x, lcdint_t y, lcduint_t w, lcduint_t h, const uint8_t *data)
ssd1306_lcd_t ssd1306_lcd
void ssd1306_fillRect16(lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2)
void ssd1306_putPixel16(lcdint_t x, lcdint_t y)
ssd1306_interface_t ssd1306_intf
uint8_t width
char width in pixels
size_t ssd1306_write16(uint8_t ch)
Prints single character to display at current cursor position.
size_t ssd1306_print16(const char ch[])
Prints null-terminated string to display at current cursor position.
SFixedFontInfo s_fixedFont
void ssd1306_drawHLine16(lcdint_t x1, lcdint_t y1, lcdint_t x2)
void ssd1306_clearScreen16(void)
SFontHeaderRecord h
record, containing information on font
const uint8_t * glyph
char data, located in progmem.
void ssd1306_drawLine16(lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2)
uint8_t spacing
additional spaces after char in pixels
void ssd1306_getCharBitmap(uint16_t unicode, SCharInfo *info)
returns char data for currently set (active) font.
void ssd1306_drawMonoBitmap16(lcdint_t xpos, lcdint_t ypos, lcduint_t w, lcduint_t h, const uint8_t *bitmap)
#define SSD1306_MORE_CHARS_REQUIRED
void ssd1306_drawBufferEx16(lcdint_t x, lcdint_t y, lcduint_t w, lcduint_t h, lcduint_t pitch, const uint8_t *data)
#define ssd1306_swap_data(a, b, type)
void ssd1306_drawVLine16(lcdint_t x1, lcdint_t y1, lcdint_t y2)