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
@@ -0,0 +1,27 @@
|
||||
|
||||
|
||||
|
||||
SECTIONS {
|
||||
.rodata_dummy (NOLOAD) :
|
||||
{
|
||||
/* This dummy section represents the .flash.text section but in RODATA.
|
||||
* Thus, it must have its alignment and (at least) its size.
|
||||
*/
|
||||
|
||||
/* Start at the same alignment constraint than .flash.text */
|
||||
|
||||
. = ALIGN(ALIGNOF(.text));
|
||||
|
||||
/* Create an empty gap as big as .text section */
|
||||
|
||||
. = . + SIZEOF(.text);
|
||||
|
||||
/* Prepare the alignment of the section above. Few bytes (0x20) must be
|
||||
* added for the mapping header.
|
||||
*/
|
||||
|
||||
. = ALIGN(0x10000) + 0x20;
|
||||
_rodata_reserved_start = .;
|
||||
} > RODATA
|
||||
}
|
||||
INSERT BEFORE .rodata;
|
||||
@@ -0,0 +1,14 @@
|
||||
/*
|
||||
This fix up is required when the RTC fast memory is split across two address spaces.
|
||||
This fix up pads the _data bus_ address space by the size of the code accessed by the instruction bus.
|
||||
*/
|
||||
|
||||
SECTIONS {
|
||||
.rtc_fast.dummy (NOLOAD) :
|
||||
{
|
||||
_rtc_dummy_start = ABSOLUTE(.); /* needed to make section proper size */
|
||||
. = . + SIZEOF(.rtc_fast.text);
|
||||
_rtc_dummy_end = ABSOLUTE(.); /* needed to make section proper size */
|
||||
} > RTC_FAST_RWDATA
|
||||
}
|
||||
INSERT BEFORE .rtc_fast.data;
|
||||
Reference in new issue
Block a user