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
+1
@@ -0,0 +1 @@
|
||||
{"files":{".cargo_vcs_info.json":"40610718adf8ded0c5f9048fb4e55069acb2450472a84274e2c1b781712dbaac","Cargo.toml":"b02d734a84b9ce49ba3f7f73fef2d06f8bf41fec18eb644edb0dd70989f16f4a","Cargo.toml.orig":"8db73dd4a3892e813699fa7992d33bf76e44faa1b7d70dcebaf3d565da6ae622","README.md":"bac342a6d4e21c9e4934a414542d855f0f4a2ca6077b7efca5c04fa8df6d8869","build.rs":"0196fb21a218de974f9cbe9021ea542ebec1ec595b06328c35250742ee8d04f1","device.x":"85245b05e8b3cda7ba6a2fd24d53678d4fabf60f69a6ab9666b1787e1faa52b3","src/aar.rs":"07daf4da00ce62fe2a81ce1fe6f8cc98eb183cdcf5814cab8f9bdb81fb27171a","src/aar/addrptr.rs":"c4db69c10af1585e7d727d5cb9826af237dc51882c3fe29a3f63adb13fadd482","src/aar/enable.rs":"9a5cb63951239ee2437587972eb4a98aef61e5bbb2b3b796bbcd682f28714ce1","src/aar/events_end.rs":"eb4c3ae62d358af57f54da334992b60d8953fe7a27ee814b2518823f712da8ae","src/aar/events_notresolved.rs":"5b1060b46d69219cd25c55b40f6ded343fed7506232cf650023bcc365372fa7a","src/aar/events_resolved.rs":"2a11df0205bd25b23688bb3896ff78ddd3908c5ae6bcefd60f8b05a7a82509b7","src/aar/intenclr.rs":"00948c7004df9185487efb44113c03c20121551480a6b9805bc3489dacd61a05","src/aar/intenset.rs":"26fa57011f031112657789e03d508e478c57c663277d71f52f4cb28ee58c2188","src/aar/irkptr.rs":"1fa88b9a29496c36f8f78ad499e10c1c05456943d5bfb7cfe3d63f031f14bd0a","src/aar/nirk.rs":"4232a823cf677d3958bb190cee7e9af11b5f41df101578283b83a0d2ad22eff1","src/aar/scratchptr.rs":"f4d0da4a538968bc3fb3dc5c85e544dfcbb267fc02849d9dfe9460053263a462","src/aar/status.rs":"79c07d04aef566dbf6075a8deb54fa05cb48ae8dbfb4bfefdf36ddaabc29518b","src/aar/tasks_start.rs":"0a3e55923771c0dce84b8ace03879c66714472db1dbfafdd9f9d7ee700c052e5","src/aar/tasks_stop.rs":"8aed0f7ba9e85cf76d25fb57b5f4a1780bab02722a06899006f7e69131391d72","src/bprot.rs":"e07c73a2b25730d3b2e0f5a72e2bf2be4df472a619ffe5b0f735008c4899aadf","src/bprot/config0.rs":"f539a896dfae9d27caae49183507e693dcd98a1430b7481db02bfdbd43fc1aab","src/bprot/config1.rs":"04f586cf50c1a46676beb14d75db3230d9020f46f4022671ceb512faacfc4fcf","src/bprot/config2.rs":"51b2a958ca8127c72c40d4a5071b3444ee96f2d5383144930f4949d05a613d05","src/bprot/config3.rs":"82740e1d52ba6c33f715aa4fe4c9bd1605147b931653fd1dce135b547fbd2ae2","src/bprot/disableindebug.rs":"b7c990bd21ba3a3a8c8e41550e1619d31d0cc8437fca36bdc9b9089568083642","src/bprot/unused0.rs":"96db98b5b2bd8c55b7e5af755bf509e24e7cc23beedc3e9eb2b915b92bb8e984","src/ccm.rs":"071fc1ef27d661496b628f0575662e2658fba7d750d849a67a7c30632740b390","src/ccm/cnfptr.rs":"8e10303b2019438bf8ad5b9b115ee875c13679655d17da6e7eacb6d1ec50bd10","src/ccm/enable.rs":"32ee95dd3e53bfc9ec46d385b66ee3cfbe540b9115993550e0b63f5904d63c21","src/ccm/events_endcrypt.rs":"7c4819ad9b7e351ce599c22b7fe14b07e6bed5c7ad6f8224d58df424601119d4","src/ccm/events_endksgen.rs":"df975722edb42c5e60d63fc9edc6b53152f00998a70961888ddb8fca4a614d52","src/ccm/events_error.rs":"6282f6eefd2825790c519800a79a3f825eebb4264a4591fef49e37e9eaf0ee45","src/ccm/inptr.rs":"ff037087779f66ee364abefe58291fbb38a78859c835efd5c8e7ae5b5792f016","src/ccm/intenclr.rs":"ed09b2c32879e6db08e3298af5deb914ca276db6479dbf81aa00616b065b29a5","src/ccm/intenset.rs":"c7848e1d0dfe9803df637d1cc5c99178f111d5bdb100fc4c46e1c1e4841f29a7","src/ccm/micstatus.rs":"3278103acbb4e8a092c28bb1b4df52e9a7a56b956977e62a65d628fe65b5443b","src/ccm/mode.rs":"1b0a82adf94ee1d36ef528dddb8aa199f330833de3dca2b7e2c7ad775ec89e1c","src/ccm/outptr.rs":"769df1e86004fd76f381a344d467356529a7f309d2191c3601532fff299e11ce","src/ccm/scratchptr.rs":"e9dad5a681f2e06c86069bfd89079fd2b74881521d5eed6198352921dd45bca4","src/ccm/shorts.rs":"65f898f9c5444f12357d6ab306677e9ca3b14a76bcbf7f5f0e1c8f736edf0bf4","src/ccm/tasks_crypt.rs":"4caa14f081de78aa28add4e705d0ea63006c081f4d358178d879e897aca9d0b4","src/ccm/tasks_ksgen.rs":"64829ab53ad9cdce088043ff24bfea785bf08b9a78a351d36a1772a2ee0d63d4","src/ccm/tasks_stop.rs":"58a7bbe8ed5b76ba9b73ebb874faa190fb34d81d4df0449632f1935416d68d4c","src/clock.rs":"10cc5dde8cac48b3100b26574de96bf735204646c0d0c4e3d7a0e826a9ef1138","src/clock/ctiv.rs":"cecbc54dc16c4788b006dc8293f4d3a91e346fc1e505eca8a7f2b217b10c38bc","src/clock/events_ctto.rs":"7fae3b7241969d3728bcfb0204059d5a44aadf514850691884adae02446a72d5","src/clock/events_done.rs":"5d3eff5ff8e766e971ddf4050f1da05b365fb76cce0f1606918a9e31e07fa99c","src/clock/events_hfclkstarted.rs":"1df44a59d6f65982612cc71ec48f6cde3eb15f37a1a19e54fb8d5b8de081c1e8","src/clock/events_lfclkstarted.rs":"d5b7873559bdf55308dd6cc373d0481155e475d75801ef219035221aea01cc06","src/clock/hfclkrun.rs":"ab621d0295a37c07a876d156102bac0c4790725864ec84c699422235157550b4","src/clock/hfclkstat.rs":"9510d5a4f5192854e976faaa33e47aa894d1e4b7931e3aa5265c3ae6b63db36b","src/clock/intenclr.rs":"5e9ae58d108e10e02fe295b61b0ec703584479dc3fbe0453e5f10de2da4b9858","src/clock/intenset.rs":"7734da1a4b9e4b8a1b9b5575b547e5967c6e3b12ac48cbfd0966f09a856948dc","src/clock/lfclkrun.rs":"ba062438e43618deaa8e834875a15b1a535469393e9796f6d85281129af2c397","src/clock/lfclksrc.rs":"445d5ffb5e1ea2e1ea3d1f1847442dbc3b96569313ec5da29b8cca1587Line truncated
|
||||
Reference in new issue
Block a user