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":"7b1e9ab61ef0eed27319698d10c1540fe612e240da260f8228f7f062878a0d09","Cargo.toml":"293dadeee19d0ba292d734f3696152bf76609d75b1bce4bc88e5be5ede1731bb","Cargo.toml.orig":"5495afe6cbd0af33fbd5afe35d18439d37887ec8ad476315df8de881d571165b","README.md":"bac342a6d4e21c9e4934a414542d855f0f4a2ca6077b7efca5c04fa8df6d8869","build.rs":"0196fb21a218de974f9cbe9021ea542ebec1ec595b06328c35250742ee8d04f1","device.x":"a1374580ef526a1a311b897b582f511c083c6e55286e4360177eb7140298d601","src/aar.rs":"07daf4da00ce62fe2a81ce1fe6f8cc98eb183cdcf5814cab8f9bdb81fb27171a","src/aar/addrptr.rs":"c4db69c10af1585e7d727d5cb9826af237dc51882c3fe29a3f63adb13fadd482","src/aar/enable.rs":"9a5cb63951239ee2437587972eb4a98aef61e5bbb2b3b796bbcd682f28714ce1","src/aar/events_end.rs":"203c732cbe0d85c49066a4a175ee32d26041c215b5a5676a1d307c21b331a77f","src/aar/events_notresolved.rs":"1c2968218d6e9ba5d9a60efd74cd3fcf5aeaaf3efeb75d8e22d33c1b64869e21","src/aar/events_resolved.rs":"691e1aa1f7eadb280cc2691a6053ff4a304adc66435e34b0c3ee3ca9fff40bd9","src/aar/intenclr.rs":"8bc3c4e00d8d638969c998b3dcb15fcf1799cb8f36b7f85f1046e984b1d16124","src/aar/intenset.rs":"bff6068cb34fc8cc4864f905efd2252cfa6a47e68ac430c995572670afac283f","src/aar/irkptr.rs":"1fa88b9a29496c36f8f78ad499e10c1c05456943d5bfb7cfe3d63f031f14bd0a","src/aar/nirk.rs":"3e9e2215beb48d3797807c05d75a40219046d780bf85f74443bcf9690ff57902","src/aar/scratchptr.rs":"015e28702c009e20549ba160660c20b68b5d915f405f27f46c3a14c1462c6ed1","src/aar/status.rs":"79c07d04aef566dbf6075a8deb54fa05cb48ae8dbfb4bfefdf36ddaabc29518b","src/aar/tasks_start.rs":"f0b4fe21c0c55a616f9275541aa16133f3d1c6ec0c570bb4cb36b6b1104cdaa8","src/aar/tasks_stop.rs":"3e76073acade3359d0f24ca5e9ca9f32579c94f00fd8b531a4b5510eaaf624e7","src/acl.rs":"cea7bb0f0e61f59d94ad26c3be098dafa0ac59924f3d53770b54bdb085331f44","src/acl/acl.rs":"5ad79f4556dfb52d31c130f2b3ad0721c651ccc6e8f8283457d118a669b70e75","src/acl/acl/addr.rs":"b79d9aefe44aadfef1e1c2e23b5df11089b71929b2d6391736345c18b546c6d2","src/acl/acl/perm.rs":"a0147939569cbffc745861d346e0af7b1f641db6086e5eef514b1b5903f343c4","src/acl/acl/size.rs":"e1f3c74c0533e05cb64caf5566ddb903c3ec0de67a4967ae1ec0c3dc557ecc4d","src/approtect.rs":"a5cc7b184b6dfb8a6584872cf266c943c60faa551818d3ef08a5efc3ada5044f","src/approtect/disable.rs":"9c85feac6100efe190612adda9080de8e6c734456ffdca579cd5e5cd33c6d603","src/approtect/forceprotect.rs":"c71fa52f972fae6dca0686e127110a63f67cdb23f518eba7cc4b5375384e7b46","src/ccm.rs":"1e1b0cbf893bc707f3f9d118567096f5a0bf6616b7ba57e5642e1a73fcb46d1a","src/ccm/cnfptr.rs":"8e10303b2019438bf8ad5b9b115ee875c13679655d17da6e7eacb6d1ec50bd10","src/ccm/enable.rs":"32ee95dd3e53bfc9ec46d385b66ee3cfbe540b9115993550e0b63f5904d63c21","src/ccm/events_endcrypt.rs":"7d6adf8db87e2158cbbb00e6b23d17e8ac488170ae33f8fa24125b503fa6d719","src/ccm/events_endksgen.rs":"1252bc950258546a67ec78413f6e4b8878ad6de650d4df8ec6f94fa4208de4e6","src/ccm/events_error.rs":"51ecdaace2ea663fe6d8ebe3ceacaccd419f13e6007505957fa16fa473a71330","src/ccm/inptr.rs":"ff037087779f66ee364abefe58291fbb38a78859c835efd5c8e7ae5b5792f016","src/ccm/intenclr.rs":"bf8a1f24fcf21c017c503e574c5896a61a0b2e1d40e46ec8755cfd5586d32ed8","src/ccm/intenset.rs":"ef13b66eacc822ee4b8321dfa4ce2ee89f137c5629667600a7fa8d416764d14f","src/ccm/maxpacketsize.rs":"0393b21c2d155c87b3b94f98d926fba1f0cf86cc243d8a38d6d296889ffcf530","src/ccm/micstatus.rs":"3278103acbb4e8a092c28bb1b4df52e9a7a56b956977e62a65d628fe65b5443b","src/ccm/mode.rs":"3b5156c001aed9557c25e479569b18f2ac1dc56b6fa8e055f294afffea7341a4","src/ccm/outptr.rs":"769df1e86004fd76f381a344d467356529a7f309d2191c3601532fff299e11ce","src/ccm/rateoverride.rs":"9b20240a123bab4b989a7daf42034aaf080f8e893f4b9aaaeb1b2c817d8f4772","src/ccm/scratchptr.rs":"c8e67aa1c8c60354b31fd3c00c9c77c92eadf2223b4a202502885dc680627486","src/ccm/shorts.rs":"eee1daf215943602937cb7c922a74c3d454fce44669900ac7835409c3e816711","src/ccm/tasks_crypt.rs":"4cb266d24b5a25ccbe45e93c744ce4151b25062a67d818cbcc088b10086dcf4d","src/ccm/tasks_ksgen.rs":"20d7bd7eeba65edf2ec117f8871b3e1b23dd11d1c7772d63877f111505c97ed9","src/ccm/tasks_rateoverride.rs":"f34a685786be857b56416623640927f582b687a4051b2bdce4aae6b5074df0f0","src/ccm/tasks_stop.rs":"bcf624bb3d46fca75c11c02bf6e22a07c1f716c7a6f0d0d91254530dfd75fb1c","src/clock.rs":"fdc13e19e88d3d9e32018470be4907cd86c1fb7bc89d5d389ace56723ebcef7f","src/clock/ctiv.rs":"cecbc54dc16c4788b006dc8293f4d3a91e346fc1e505eca8a7f2b217b10c38bc","src/clock/events_ctstarted.rs":"9b0d95fd9f193e912615d92feebc685e11e3ff364b6d37e5d80e3d0493d7e2a2","src/clock/events_ctstopped.rs":"078842758c8a9321d8802229f8d515fa6137a1eebf49a1915cb20e359397669a","src/clock/events_ctto.rs":"b6b7d23e782740ce8e45b74f9e038d6cd094085d80c2e1bf084dd209ca7f5cb7","src/clock/events_done.rs":"2ce659d37a8c5544497c6853e808cde6892a8c5368feec77f08470ef52e0cb67","src/clock/events_hfclkstarted.rs":"80ca51d2f9ec5854498ca4dc63d0c84636e76ef72a2bb38fbf5336b25abee3e9","src/clock/events_lfclkstarted.rs":"46c574c9e21b07ad69d5495815856a230e258146Line truncated
|
||||
Reference in new issue
Block a user