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":"a3d3ad6e16001b70437106c8d035cade91eeed5289bd2ff15638d44d3d651030","Cargo.toml":"ded2df8f3060891c711992bb36973a1c921d0dddb14e971750e82c22f8bf2262","Cargo.toml.orig":"cb19e99a4ee0fe83cbc099ce995ad2f336de7faa0fd8685d95f97ac7f110ce2b","README.md":"bac342a6d4e21c9e4934a414542d855f0f4a2ca6077b7efca5c04fa8df6d8869","build.rs":"0196fb21a218de974f9cbe9021ea542ebec1ec595b06328c35250742ee8d04f1","device.x":"20adf02cdbc0cfd6ef2970fadbb5e33f5796dce583690a144955d4e2ad8f3179","src/aar.rs":"07daf4da00ce62fe2a81ce1fe6f8cc98eb183cdcf5814cab8f9bdb81fb27171a","src/aar/addrptr.rs":"c4db69c10af1585e7d727d5cb9826af237dc51882c3fe29a3f63adb13fadd482","src/aar/enable.rs":"9a5cb63951239ee2437587972eb4a98aef61e5bbb2b3b796bbcd682f28714ce1","src/aar/events_end.rs":"1ec71d885d9850bddb6cd8e892b7519eccd73f38a739b55cbca35a7f94fa2619","src/aar/events_notresolved.rs":"3994928c5520f3a653c1fb340d38183acc3d04add8f0faaa608d6457819f7eed","src/aar/events_resolved.rs":"9aa158378ad51b963f794eea822acdfd2e27ad6120b3b2bdec2361a9f34795cd","src/aar/intenclr.rs":"fb8a7ebf9ca6404b7e7be5e4e843af550be6c46e481cef0cc0ce906c93e9d799","src/aar/intenset.rs":"43ee8ec4d962fb0f1c7d6b6ef4ed12d8db8f49947148c64fd65e0ae96b7d060d","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":"c9b2013d0924e0a038861065f814caa2394b1c66a84f4b0d0884830faf3ae952","src/aar/tasks_stop.rs":"a8240e83d06c4472bff6e10ecbb5b21c5e09d02d637116aea342b00e862e3a76","src/acl.rs":"3fb4877a1031fc91295b02deef949a22028eee24fef93beedd29aa5f2866087c","src/acl/acl.rs":"e34c9774aa8578185e699c6a6a66ba3697b25676a716a1109e0bd4b940387845","src/acl/acl/addr.rs":"586b239999bdcea5f7188fad4b33022901e7b7eb5c4bf545c1eca0f65f812188","src/acl/acl/perm.rs":"59acd0d7352c541c0b99152efb25b0c9cebae5f8704f17cdab8132bed2555626","src/acl/acl/size.rs":"4c16dae0a3863bde561b303cfcc18eec5e92e1ffe74ea60ead00c021b01af4b8","src/acl/acl/unused0.rs":"96db98b5b2bd8c55b7e5af755bf509e24e7cc23beedc3e9eb2b915b92bb8e984","src/cc_host_rgf.rs":"ce513f167437a6820c619864e3fcd3e36f5b59ec100110c9925ef15e985339d8","src/cc_host_rgf/host_cryptokey_sel.rs":"6ade4fba171216144a42f0ba4ff2a357eb2e033b89bc9cc2c6fbd32ea906cda1","src/cc_host_rgf/host_iot_kdr0.rs":"1269e31e03e384248d71aecd52c7995451aa93a4ea52af22c301edbf5bc3a473","src/cc_host_rgf/host_iot_kdr1.rs":"872e0965be15b1b6c013d42a9183130a12d4acd9614896455f285bd851a26888","src/cc_host_rgf/host_iot_kdr2.rs":"dc410736f517667dc0a754ad84fc8c03e3835108b8a2ef7d244a45f7db61a645","src/cc_host_rgf/host_iot_kdr3.rs":"7ddb2bd1056751d4fa03d57c944ccc51df31a219bf3a233c6ba984f2e06aa418","src/cc_host_rgf/host_iot_kprtl_lock.rs":"18be36fee3faafcca42fc6f3ab6b5a69e792ebf69bb2a4e5eb632f0d6c2706f3","src/cc_host_rgf/host_iot_lcs.rs":"b743f0d67940dd3baf4a779d9f91f94b31a7956870a3393fd5613743b46c0877","src/ccm.rs":"37ce0b99a8beac733e15e41df35c67ba42e61f5bb589e76d9d63d5879d200e34","src/ccm/cnfptr.rs":"8e10303b2019438bf8ad5b9b115ee875c13679655d17da6e7eacb6d1ec50bd10","src/ccm/enable.rs":"32ee95dd3e53bfc9ec46d385b66ee3cfbe540b9115993550e0b63f5904d63c21","src/ccm/events_endcrypt.rs":"a38d951be41d77e341ef4d1b0847e101b228f70a0e087b8b02e6b90248d31efd","src/ccm/events_endksgen.rs":"657616b958c0d96e0004297d4d5883b4937bf0ffd16338993ad9590661a65da2","src/ccm/events_error.rs":"8d60beacf1a3df711afd2d2eb14554896a725081ad91e54254c5c499bea985ab","src/ccm/inptr.rs":"ff037087779f66ee364abefe58291fbb38a78859c835efd5c8e7ae5b5792f016","src/ccm/intenclr.rs":"94365e6b6e79f90bb2c266b11d4ab4ba09856f6bc624e7332debf51815743e7b","src/ccm/intenset.rs":"51daa64df63d1869c2cf5a2c9c128d6d363ce1bca283f354b63e4cad9cd1b2ce","src/ccm/maxpacketsize.rs":"28ad81df6d39907709bb4a9131646f070e11d2856a6fdd753ecf019418886f12","src/ccm/micstatus.rs":"3278103acbb4e8a092c28bb1b4df52e9a7a56b956977e62a65d628fe65b5443b","src/ccm/mode.rs":"5bfd662f031f70aef8d3032f9e576183802580f9dc917bbf439823a639453b19","src/ccm/outptr.rs":"769df1e86004fd76f381a344d467356529a7f309d2191c3601532fff299e11ce","src/ccm/rateoverride.rs":"9b20240a123bab4b989a7daf42034aaf080f8e893f4b9aaaeb1b2c817d8f4772","src/ccm/scratchptr.rs":"e9dad5a681f2e06c86069bfd89079fd2b74881521d5eed6198352921dd45bca4","src/ccm/shorts.rs":"65f898f9c5444f12357d6ab306677e9ca3b14a76bcbf7f5f0e1c8f736edf0bf4","src/ccm/tasks_crypt.rs":"25925f3193d7bffe7978e291907dedcd1bb976c308e40e918504126f4bf8f362","src/ccm/tasks_ksgen.rs":"ea1949186aa7302c9f62d83c08d3de05c8d7687f04055ed7c1942477bb50bf9f","src/ccm/tasks_rateoverride.rs":"695d19772603b4dce7386eb912005869a8ce7094cf1592ae638f086c9d5674b7","src/ccm/tasks_stop.rs":"caccd6734bf34bcd4dc9133e1fa6d803ab77bf1addbd053d7844bc232445c30b","src/clock.rs":"4b29c2878ea5ed2b3fedf3e251686e67accf03828c6aff01dd6cd4052af4f8c0","src/clock/ctiv.rs":"cecbcLine truncated
|
||||
Reference in new issue
Block a user