From 089d9746daed303a343842ff652ac0a3547a455f Mon Sep 17 00:00:00 2001 From: Maxwell Beck Date: Tue, 27 Oct 2026 21:34:51 -0500 Subject: logo splash --- src/ssd1306.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'src/ssd1306.c') diff --git a/src/ssd1306.c b/src/ssd1306.c index e1c00ff..04991a2 100644 --- a/src/ssd1306.c +++ b/src/ssd1306.c @@ -77,22 +77,34 @@ int ssd_power_on(ssd1306_t *display) { return ssd_send(display); } -int ssd_push_char(ssd1306_t *display, const char c) { - uint8_t scr = ascii_to_screen[c]; +int ssd_putscr(ssd1306_t *display, const uint8_t c, bool shift) { + ssd_push(display, SSD1306_CTRL_DATA); for (int i = 0; i < 8; i++) { - int ret = ssd_push(display, c64_chars[scr + 256][i]); + int b; + if (shift) { + b = c64_chars[c + 256][i]; + } else { + b = c64_chars[c][i]; + } + + int ret = ssd_push(display, b); if (ret < 0) { return ret; } } - return PICO_OK; + return ssd_send(display); +} + +int ssd_putchar(ssd1306_t *display, const char c) { + uint8_t scr = ascii_to_screen[c]; + return ssd_putscr(display, scr, true); } int ssd_push_str(ssd1306_t *display, const char *str) { for (int i = 0; str[i]; i++) { - int ret = ssd_push_char(display, str[i]); + int ret = ssd_putchar(display, str[i]); if (ret < 0) { return ret; } -- cgit v1.3.1