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:
17624 files changed
+4564928
-38
No files matched your search
Vendored
+43
@@ -0,0 +1,43 @@
|
||||
#IF flip-link
|
||||
/* no Xtensa chip is supported - so we can assume RISC-V */
|
||||
SECTIONS {
|
||||
/* must be last segment using RWDATA */
|
||||
.stack (NOLOAD) : ALIGN(4)
|
||||
{
|
||||
_stack_end = ABSOLUTE(.);
|
||||
_stack_end_cpu0 = ABSOLUTE(.);
|
||||
|
||||
/* Since we cannot know how much the alignment padding of the sections will add we shrink the stack for "the worst case"
|
||||
*/
|
||||
. = . + LENGTH(RWDATA) - (SIZEOF(.trap) + SIZEOF(.rwtext) + SIZEOF(.rwtext.wifi) + SIZEOF(.data) + SIZEOF(.bss) + SIZEOF(.noinit) + SIZEOF(.data.wifi)) - 304;
|
||||
|
||||
. = ALIGN (4);
|
||||
_stack_start = ABSOLUTE(.);
|
||||
_stack_start_cpu0 = ABSOLUTE(.);
|
||||
} > RWDATA
|
||||
}
|
||||
INSERT BEFORE .trap;
|
||||
|
||||
#ELSE
|
||||
|
||||
SECTIONS {
|
||||
/* must be last segment using RWDATA */
|
||||
.stack (NOLOAD) : ALIGN(4)
|
||||
{
|
||||
. = ALIGN (4);
|
||||
_stack_end = ABSOLUTE(.);
|
||||
_stack_end_cpu0 = ABSOLUTE(.);
|
||||
} > RWDATA
|
||||
}
|
||||
|
||||
PROVIDE(_stack_start = ORIGIN(RWDATA) + LENGTH(RWDATA));
|
||||
PROVIDE(_stack_start_cpu0 = ORIGIN(RWDATA) + LENGTH(RWDATA));
|
||||
|
||||
#ENDIF
|
||||
|
||||
/*
|
||||
Provide the stack_guard for `stack-protector`
|
||||
|
||||
Ideally the offset should be configurable - should be done once we have https://github.com/esp-rs/esp-hal/issues/1111
|
||||
*/
|
||||
PROVIDE(__stack_chk_guard = _stack_end + 4096);
|
||||
Reference in new issue
Block a user