gc9a01.c and gc9a01.h were never committed to main despite ota_display.c depending on their display_fill_rect/draw_string/draw_arc functions. Also: - CMakeLists.txt: add gc9a01.c to SRCS - config.h: restore DISP_* GPIO defs (DC=8 CS=9 SCK=10 MOSI=11 RST=14 BL=2) for Waveshare ESP32-S3-Touch-LCD-1.28 - ota_display.c: fix snprintf buffer too small (verline[32]→[48]) which GCC 13.2.0 rejects as -Werror=format-truncation Confirmed builds clean and boots on bd-66hx hardware (mbpi5 /dev/ttyACM0). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
926 B
C
25 lines
926 B
C
#pragma once
|
||
/* gc9a01.h — GC9A01 240×240 round LCD SPI driver (bd-1yr8 display bead) */
|
||
|
||
#include <stdint.h>
|
||
|
||
/* ── Initialise SPI bus + GC9A01. Call once from app_main. ── */
|
||
void gc9a01_init(void);
|
||
|
||
/* ── Display primitives (also satisfy ota_display.h contract) ── */
|
||
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_string_s(int x, int y, const char *str,
|
||
uint16_t fg, uint16_t bg, int scale);
|
||
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
|
||
#define COL_WHITE 0xFFFFu
|
||
#define COL_GREEN 0x07E0u
|
||
#define COL_YELLOW 0xFFE0u
|
||
#define COL_RED 0xF800u
|
||
#define COL_BLUE 0x001Fu
|
||
#define COL_ORANGE 0xFD20u
|