summaryrefslogtreecommitdiffstats
path: root/drivers/qwiic/micro_oled.c
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2021-04-19 13:08:01 +1000
committerGitHub <noreply@github.com>2021-04-19 13:08:01 +1000
commita0089aa34519ec4fcf7cee6a352424e4b7cba7da (patch)
treecf33fef21d6302e72da5c5cff3d9d42d106634da /drivers/qwiic/micro_oled.c
parenteb7e668eb908de9d41ab9d088effb8adedf520b5 (diff)
Fixup Satisfaction75 bootprocess. (#12621)
- Use normal ChibiOS I2C driver. - Move drawing code to housekeeping -- previously it was during matrix scan, which gets executed during bootmagic checks. However, bootmagic is invoked before QWIIC subsystem is enabled, which means I2C isn't configured yet. All I2C calls to the OLED fail with timeouts while bootmagic is being checked. Housekeeping ensures this is executed once the system has initialised and settled. - QWIIC OLED driver: properly clear out OLED buffer when clearing screen.
Diffstat (limited to 'drivers/qwiic/micro_oled.c')
-rw-r--r--drivers/qwiic/micro_oled.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/qwiic/micro_oled.c b/drivers/qwiic/micro_oled.c
index c7a4ee081d..bbeb140cbe 100644
--- a/drivers/qwiic/micro_oled.c
+++ b/drivers/qwiic/micro_oled.c
@@ -206,6 +206,8 @@ void clear_screen(void) {
send_data(0);
}
}
+
+ memset(micro_oled_screen_current, 0, LCDWIDTH * LCDHEIGHT / 8);
}
/** \brief Clear SSD1306's memory.