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
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"files":{".cargo_vcs_info.json":"fefdcc6258795ce85049261f9f88d1669594e83f753dd38e31e87c4368796fb6","AGENTS.md":"a9e2393b5fdd56c2538faa9ff7a3d695cbbb957f60afbd5e224df9440e7622ad","CHANGELOG.md":"876e5a74db78bdc53677ec4d489ce7b2fc87840f2dc094423cef406138082708","CONTRIBUTING.md":"a0980739c88a1b5fe71e487ec49ead40a33e96042d4cb2310240ac1a635c97d3","Cargo.lock":"f32f5bd954ceec0e5842b36274306f1d3102d612b90a093454fbb0bc75998d9b","Cargo.toml":"9d2e93e3dcb564ac24ac687ca2a4e850bbeb2ce6e336c2aa39918748b9d1cd12","Cargo.toml.orig":"8f1506e90613595f231e80e9dd434c07718b5be372a8091bda2ea8f3986b23e7","Cargo.toml.std":"318735caddb0c6f2212d081514d7f77ac63a5d40cbc0d09e30e1ae5f6aa0b4bb","LICENSE-APACHE":"9d185ac6703c4b0453974c0d85e9eee43e6941009296bb1f5eb0b54e2329e9f3","LICENSE-BSD":"83c1763356e822adde0a2cae748d938a73fdc263849ccff6b27776dff213bd32","LICENSE-MIT":"1a2f5c12ddc934d58956aa5dbdd3255fe55fd957633ab7d0d39e4f0daa73f7df","POLICIES.md":"43dbf7f7b6e003fe080099e51ea2b70b5d99fa2185ee54717a914202a42e1a82","README.md":"63f7477532c23478d2878b172811d8f941774291c01eb6d0197deb1986ad64aa","agent_docs/development.md":"1968154a95185b9380e469048fd2274b107a98ffb00b3da3dbc80aa4baf86147","agent_docs/reviewing.md":"34abe5cdc3cb774cb07ea772c966ee1fd8bfd30c355d6fbca73b750ce17e6caf","agent_docs/style.md":"754a8651c4a4d443b1daccbde1b8853c0a18ca0e6ed486b440bc82276479167b","agent_docs/ui_tests.md":"179c1f960543cc27fb8fb75c192ccac7ef470281a4c1d74bcd05d07af3a4d859","agent_docs/unsafe_code.md":"c283df811efe9f7ff39c52ceec88c73162ce7f31bb8507891ccd46010ff4ebcd","agent_docs/validation.md":"8c0b06d018421ba9652a3d0dc33c4bdc50fd9265cabce8455c06a790a62a5fe8","benches/as_bytes_dynamic_size.rs":"bc6f72309310e7762ea85a24497cc5eba947465e171186746b441a66916ab2e1","benches/as_bytes_dynamic_size.x86-64":"bf3814972480492d29eaef3593751d97f4c2be6a80c434cf8ea0a093b3260fe8","benches/as_bytes_dynamic_size.x86-64.mca":"6ae3d2b1ef02d99a8cd711e3362292247a0919c104e1af34f0fb82a1445dc3de","benches/as_bytes_static_size.rs":"6191adc7ad68ffdfd07dcc6966423249bfc25c5099a17a913b8e646d4507ad09","benches/as_bytes_static_size.x86-64":"55b7041c5758eb73dca0c2562959251ef1c35cd9433eb91e3546c88cd5a6a616","benches/as_bytes_static_size.x86-64.mca":"3980419dab11d8998d74544caf728583bd02b8ff16d5f879914bd3fe0c774e5f","benches/formats/coco_dynamic_padding.rs":"209c0e1835988be9c422c81a8fcaa5e884c4a54c383e49345df548b51b76645c","benches/formats/coco_dynamic_size.rs":"030c88042a4cb9ee91aa1daeec61008eaed2bf13101586a1b2857541280e1ee5","benches/formats/coco_static_size.rs":"209756544e8e3efc5504b7059674c2aed4a22e4318048c4cc3f9697e5959169c","benches/read_from_bytes.rs":"cb8054655e48401b6eec9d07a3e2a1d86b6dc0ca3d0dedf8beaa659769c629ac","benches/read_from_bytes.x86-64":"cbdf9358f44f216cdcfb75d9892401f03318ae447789b5b00b6f5f559df66c0f","benches/read_from_bytes.x86-64.mca":"630decf7391550c1111eb2d2c0c7233b3b7f72aa62cbcc35eec71e2651970882","benches/read_from_prefix.rs":"e5f5df80572e647103de6173d0ca33c8776f2cfe1a417462a0fc79e1b9e39471","benches/read_from_prefix.x86-64":"fbdbf6b88150477d10f7d2bc4186eb9cd839b2d906faa02d285b2cf65ef773a7","benches/read_from_prefix.x86-64.mca":"c66d38daa8aac4070f7d74d68c4f6adc897c1b9af8277c31454bad73b5afb420","benches/read_from_suffix.rs":"3c3e3c6d68bb7b88b7ce504c9e29beb407d9dddbd2d4bd267ae054b4b00ffb16","benches/read_from_suffix.x86-64":"8a20f508f04d2fef94eb8bd2aa28b345c746f3f1ff37b67fb03a54f1c19d8ba1","benches/read_from_suffix.x86-64.mca":"182f03a9956115c02d4ad8bac101f151417f9f75e892cd0929bee2a1d2854cd3","benches/ref_from_bytes_dynamic_padding.rs":"c9d8438e068a4501a5f481eb757a64311b57c593190f177bf24a2a5b5fb0e84e","benches/ref_from_bytes_dynamic_padding.x86-64":"890586ba29476a9ab07b47a3a283da2be9c94615cdfa4499e5bcad16e10e968f","benches/ref_from_bytes_dynamic_padding.x86-64.mca":"cc603a42e9203d3affaeea302294e29be4cbd4580ad6f831a7fca7bf9dfc883d","benches/ref_from_bytes_dynamic_size.rs":"9f985fdae45a02e2f1b337470fcbb8e807ea764afdab515cba08354464898e19","benches/ref_from_bytes_dynamic_size.x86-64":"25b7f40a1bf4684ec3a225dd14160be6dc5f56a1175e49ed8e263638e2b2b6e1","benches/ref_from_bytes_dynamic_size.x86-64.mca":"6408451cd2153d3b6e018f42bbd96459f57358713302924a06201eab5ea71442","benches/ref_from_bytes_static_size.rs":"00e41e4bfc6733f252a8c3574b2d35c6a5bc0c71cbc5c9cbb7640a40e58932e3","benches/ref_from_bytes_static_size.x86-64":"3afd096d8b10e175ca221681b2bf086ca0f4e13801bb10a3dfe112aef5020eec","benches/ref_from_bytes_static_size.x86-64.mca":"d5ff4ff29c3608dcdfb6a1c595df7589a127ebd567e5af2a2f24e2bea49c74c3","benches/ref_from_bytes_with_elems_dynamic_padding.rs":"74f7c09a405153198de91b66b61500dc8a5e90d8de77d73b5229af75c18e83a2","benches/ref_from_bytes_with_elems_dynamic_padding.x86-64":"3e5153d5fc5d49ee553462867f62a1dd9e5c0bcdf92cf77191eba048e2063382","benches/ref_from_bytes_with_elems_dynamic_padding.x86-64.mca":"71cbf3e617df0fb0ab274caa851f737d99d70e8c6bd98fe25e1a27b00734bc53","benches/ref_from_bytes_with_elems_dynamic_size.rs":"120c1c126db9c5392334200836765bee78bd33c7c73ca2b6a4363e80Line truncated
|
||||
Reference in new issue
Block a user