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":"67864aabffdb9e6b7e5d90c157587aea1772b0a7cd16b0047430b47fc54447e3","Cargo.toml":"5cc09633a700c8a2ad0d49ff40424864e8d98cb0e4f6b69850c6bc7d39403e06","Cargo.toml.orig":"48cf7c25cb692a7029efa0f732c63ccdd7c39ae7fc352a9dcc6283a640d523bc","README.md":"bac342a6d4e21c9e4934a414542d855f0f4a2ca6077b7efca5c04fa8df6d8869","build.rs":"0196fb21a218de974f9cbe9021ea542ebec1ec595b06328c35250742ee8d04f1","device.x":"f8e9f6171552cf8214ee4fa6c8740290ef207918c0a058bc7804ae1718b115a5","src/aar_ns.rs":"6a0c30da9538e9ec6e0bb369e81a234ee20e16a4d44c69c22fd149091823c709","src/aar_ns/addrptr.rs":"c4db69c10af1585e7d727d5cb9826af237dc51882c3fe29a3f63adb13fadd482","src/aar_ns/enable.rs":"9a5cb63951239ee2437587972eb4a98aef61e5bbb2b3b796bbcd682f28714ce1","src/aar_ns/events_end.rs":"203c732cbe0d85c49066a4a175ee32d26041c215b5a5676a1d307c21b331a77f","src/aar_ns/events_notresolved.rs":"1c2968218d6e9ba5d9a60efd74cd3fcf5aeaaf3efeb75d8e22d33c1b64869e21","src/aar_ns/events_resolved.rs":"691e1aa1f7eadb280cc2691a6053ff4a304adc66435e34b0c3ee3ca9fff40bd9","src/aar_ns/intenclr.rs":"8bc3c4e00d8d638969c998b3dcb15fcf1799cb8f36b7f85f1046e984b1d16124","src/aar_ns/intenset.rs":"bff6068cb34fc8cc4864f905efd2252cfa6a47e68ac430c995572670afac283f","src/aar_ns/irkptr.rs":"1fa88b9a29496c36f8f78ad499e10c1c05456943d5bfb7cfe3d63f031f14bd0a","src/aar_ns/nirk.rs":"3e9e2215beb48d3797807c05d75a40219046d780bf85f74443bcf9690ff57902","src/aar_ns/publish_end.rs":"ec3ebe9548713a3f83296f2159c967688bf584481f9eb7eccd9b4107730bb3e2","src/aar_ns/publish_notresolved.rs":"c8c4f3076bae2b051306db24c925a981807e6340f17ebd094355035a44cc3b7b","src/aar_ns/publish_resolved.rs":"2c5681ec028fb1ea17173e33a09b231c1b2719b8c21e10d1512ce5ff159b47e6","src/aar_ns/scratchptr.rs":"015e28702c009e20549ba160660c20b68b5d915f405f27f46c3a14c1462c6ed1","src/aar_ns/status.rs":"79c07d04aef566dbf6075a8deb54fa05cb48ae8dbfb4bfefdf36ddaabc29518b","src/aar_ns/subscribe_start.rs":"63500c6cee3c457da62af57d2a4efe11b59b4f7040fcefc6825ab0dd6eaabbb3","src/aar_ns/subscribe_stop.rs":"6dd50f6dd97753f64cb4079d224e152651fc6f7e20dfd7705873920a0edf8588","src/aar_ns/tasks_start.rs":"f0b4fe21c0c55a616f9275541aa16133f3d1c6ec0c570bb4cb36b6b1104cdaa8","src/aar_ns/tasks_stop.rs":"3e76073acade3359d0f24ca5e9ca9f32579c94f00fd8b531a4b5510eaaf624e7","src/acl_ns.rs":"cea7bb0f0e61f59d94ad26c3be098dafa0ac59924f3d53770b54bdb085331f44","src/acl_ns/acl.rs":"0882674e42a2eefbb706a86327734c8197267bfcb9f2c8c45f7b036f78b70702","src/acl_ns/acl/addr.rs":"b79d9aefe44aadfef1e1c2e23b5df11089b71929b2d6391736345c18b546c6d2","src/acl_ns/acl/perm.rs":"ef826b91121c3fd6f64d56e69eedac03516c25c69c7cb5999662694a40ac264a","src/acl_ns/acl/size.rs":"abb34d4a1e2c64b7a92233b8555fd4b5f8bdc8d3387e405961d312ea75ca9355","src/appmutex_ns.rs":"66405f3b30e718e89b8fc65321fd4936012752ddc4badf9fd3535c68faf75ca6","src/appmutex_ns/mutex.rs":"22fe9a2cf6561b204df747f6f424a3c172446e6d39216585cbd5086c652a37b3","src/ccm_ns.rs":"2f4e05f9492504d3b536713cd68d0f7b6b736f59a18be396949eaec1dd14cdaa","src/ccm_ns/cnfptr.rs":"dc25690334bd2a51accc1d248d40843f4f9474cdb5cd34eb479cdffb4032daa0","src/ccm_ns/enable.rs":"32ee95dd3e53bfc9ec46d385b66ee3cfbe540b9115993550e0b63f5904d63c21","src/ccm_ns/events_endcrypt.rs":"7d6adf8db87e2158cbbb00e6b23d17e8ac488170ae33f8fa24125b503fa6d719","src/ccm_ns/events_endksgen.rs":"1252bc950258546a67ec78413f6e4b8878ad6de650d4df8ec6f94fa4208de4e6","src/ccm_ns/events_error.rs":"51ecdaace2ea663fe6d8ebe3ceacaccd419f13e6007505957fa16fa473a71330","src/ccm_ns/headermask.rs":"ce1e0bffb0cebc50238259ee59ef6884517c8edde7f0aa89e650ecccc4f44e7d","src/ccm_ns/inptr.rs":"ff037087779f66ee364abefe58291fbb38a78859c835efd5c8e7ae5b5792f016","src/ccm_ns/intenclr.rs":"bf8a1f24fcf21c017c503e574c5896a61a0b2e1d40e46ec8755cfd5586d32ed8","src/ccm_ns/intenset.rs":"ef13b66eacc822ee4b8321dfa4ce2ee89f137c5629667600a7fa8d416764d14f","src/ccm_ns/maxpacketsize.rs":"6a50b0f3df8341c3a38fd735b916be09c6b8cfc36a2642e28e9d8fac195f2352","src/ccm_ns/micstatus.rs":"3278103acbb4e8a092c28bb1b4df52e9a7a56b956977e62a65d628fe65b5443b","src/ccm_ns/mode.rs":"de46d13321c7674e64e2dd586f0f53cfb7f8a87f575e904eb08795f70e6ec21a","src/ccm_ns/outptr.rs":"769df1e86004fd76f381a344d467356529a7f309d2191c3601532fff299e11ce","src/ccm_ns/publish_endcrypt.rs":"c28a7dbd4bfb3f8e3d399208769cec24cde8c145269274d0733db9e7146c7c88","src/ccm_ns/publish_endksgen.rs":"7fe1b0054f05725c742e89e5aea265699a337208df6592426e1aeada06af1e9a","src/ccm_ns/publish_error.rs":"6fcacecd57b27cac361ea0dca48c7357ed0bd89ebfa6bd56c68e7d9ed2ffaf08","src/ccm_ns/rateoverride.rs":"e89cb9b513e7a322e0d0008b587f0d642cf81de1f2083e347aa3b6e1f5c93c55","src/ccm_ns/scratchptr.rs":"c8e67aa1c8c60354b31fd3c00c9c77c92eadf2223b4a202502885dc680627486","src/ccm_ns/shorts.rs":"eee1daf215943602937cb7c922a74c3d454fce44669900ac7835409c3e816711","src/ccm_ns/subscribe_crypt.rs":"cb862422ce3cf496571b15857ce7360625d998cb7a07e5605d8b8abb9d09e7f1","src/ccm_ns/subscribe_ksgen.rs":"17e228b1ac6a55905bf22a17300363f178649bdbca5452599f9d8c9e704d7e7a","src/ccm_ns/subLine truncated
|
||||
Reference in new issue
Block a user