feat: add display UI with splash screen, dashboard, and RSSI sparkline

Implement full SSD1306 OLED display support:
- Splash screen on boot (1.5s) with project name, version, board
- Dashboard showing radio state, config, counters, RSSI/SNR
- RSSI history sparkline (64-sample ring buffer, 2px-wide bars)
- DisplayOn/DisplayOff host commands routed via dedicated channel
- Pure render functions against generic DrawTarget (no hardware coupling)
- Display on/off control bypasses radio task entirely

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
swaitsandClaude Opus 4.6 committed 2026-03-29 20:42:54 -06:00
1 parent 7064110293
commit 3102fc747a
17624 files changed
+4564928 -38

No files matched your search

+90
View File
@@ -0,0 +1,90 @@
[device]
name = "esp32s3"
arch = "xtensa"
cores = "multi_core"
peripherals = [
# Peripherals available in the PAC:
"aes",
"apb_ctrl",
"apb_saradc",
"assist_debug",
"dma",
"ds",
"efuse",
"extmem",
"gpio",
"gpio_sd",
"hmac",
"i2c0",
"i2c1",
"i2s0",
"i2s1",
"interrupt_core0",
"interrupt_core1",
"io_mux",
"lcd_cam",
"ledc",
"mcpwm0",
"mcpwm1",
"pcnt",
"peri_backup",
"rmt",
"rng",
"rsa",
"rtc_cntl",
"rtc_i2c",
"rtc_io",
"sens",
"sensitive",
"sha",
"spi0",
"spi1",
"spi2",
"spi3",
"system",
"systimer",
"timg0",
"timg1",
"twai0",
"uart0",
"uart1",
"uart2",
"uhci0",
"uhci1",
"usb0",
"usb_device",
"usb_wrap",
"wcl",
"xts_aes",
]
symbols = [
# Additional peripherals defined by us (the developers):
"adc",
"assist_debug_region_monitor",
"gdma",
"phy",
"bt",
"wifi",
"psram",
"octal_psram",
"ulp_riscv_core",
"timg_timer1",
"very_large_intr_status",
# ROM capabilities
"rom_crc_le",
"rom_crc_be",
"rom_md5_bsd",
# Wakeup SOC based on ESP-IDF:
"pm_support_ext0_wakeup",
"pm_support_ext1_wakeup",
"pm_support_touch_sensor_wakeup",
"pm_support_wifi_wakeup",
"pm_support_bt_wakeup",
"uart_support_wakeup_int",
"ulp_supported",
"riscv_coproc_supported",
]