#pragma once /* ota_display.h — OTA notification UI on GC9A01 round LCD (bd-1yr8) * * GC9A01 240×240 round display via SPI (IO12 CS, IO11 DC, IO10 RST, IO9 BL). * Calls into display_draw_* primitives (provided by display driver layer). * This module owns the "OTA notification overlay" rendered over the HUD. */ #include #include #include "ota_self.h" #include "uart_ota.h" /* ── Display primitives API (must be provided by display driver) ── */ void display_fill_rect(int x, int y, int w, int h, uint16_t rgb565); void display_draw_string(int x, int y, const char *str, uint16_t fg, uint16_t bg); void display_draw_arc(int cx, int cy, int r, int start_deg, int end_deg, int thickness, uint16_t color); /* ── Colour palette (RGB565) ── */ #define COL_BG 0x0000u /* black */ #define COL_WHITE 0xFFFFu #define COL_GREEN 0x07E0u #define COL_YELLOW 0xFFE0u #define COL_RED 0xF800u #define COL_BLUE 0x001Fu #define COL_ORANGE 0xFD20u /* ── OTA display task: runs at 5 Hz, overlays OTA state on HUD ── */ void ota_display_init(void); /* Called from main loop or display task to render the OTA overlay */ void ota_display_update(void);