From ac2e9d00d6878f4c24e25a088c67f6d329dc414e Mon Sep 17 00:00:00 2001 From: sl-firmware Date: Mon, 20 Apr 2026 16:05:50 -0400 Subject: [PATCH] fix: call gc9a01_init() in app_main to initialize display MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Display was black because gc9a01_init() was never called — driver compiled but never invoked. Init before vesc_can_init so SPI/register init completes before TWAI claims GPIO2 (BL pin); TWAI idle=recessive=high keeps BL on. Co-Authored-By: Claude Sonnet 4.6 --- esp32s3/balance/main/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/esp32s3/balance/main/main.c b/esp32s3/balance/main/main.c index f8c4796..1489980 100644 --- a/esp32s3/balance/main/main.c +++ b/esp32s3/balance/main/main.c @@ -2,6 +2,7 @@ #include "orin_serial.h" #include "vesc_can.h" +#include "gc9a01.h" #include "gitea_ota.h" #include "ota_self.h" #include "uart_ota.h" @@ -87,7 +88,8 @@ void app_main(void) /* OTA rollback health check — must be called within OTA_ROLLBACK_WINDOW_S */ ota_self_health_check(); - /* Init peripherals */ + /* Init peripherals — gc9a01 before vesc_can so BL/GPIO2 is high before TWAI takes it */ + gc9a01_init(); orin_serial_init(); vesc_can_init();