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":"4153fb5e6c4c69012d293a1c6c48732882085450bb53c67ad30f54713804fbd8","Cargo.toml":"6672cf9f71d7709d6a707e47885fb44281281eb3f5848945d616b6c66309f61f","Cargo.toml.orig":"b9f6682aa1432964743824cf57c87b195c4873ba493db8c73c849cbcd4a50bd2","README.md":"bac342a6d4e21c9e4934a414542d855f0f4a2ca6077b7efca5c04fa8df6d8869","build.rs":"0196fb21a218de974f9cbe9021ea542ebec1ec595b06328c35250742ee8d04f1","device.x":"4a6b6387a5a6f1e7d3ea506f42d8284161ab500327d3087a99fa56dc6ad6039c","src/aar.rs":"71744d8bffbe1eca991aa0df8ae86fdf5e59023d197defeaba3548142b44a764","src/aar/addrptr.rs":"6ba2b80d041d0df882dceba0f458315c1e7f5861a841a3db0262911cdf9cd31f","src/aar/enable.rs":"a3d67fa5ce88a8c1953bb51984ed21c91d7ae910e80705b09376b3898146832a","src/aar/events_end.rs":"245d61e9d39c1b056d55cff38391bfa18299bef552d8aa3bab986aecb297789d","src/aar/events_notresolved.rs":"0d2bea2cb7f7b12cad22da154b0c6c36854ff4fc71aea6243116e988cd6ecc78","src/aar/events_resolved.rs":"a67f1224aa939bf7d458eb1f66446e5a5eda41debbb3b05f150edbcee91c3c9b","src/aar/intenclr.rs":"c5950230bb07319e67675bc4f9de152fca1545d40c6379482061cf590130cc56","src/aar/intenset.rs":"48f111b434a30a479a48c2caaef5fda4f51b76f0fd9f1ec98136c2c895114443","src/aar/irkptr.rs":"873acd96aea61c677ebcdb4b09d15fe6d7dbf5e37ef82e32a7df9e20260de887","src/aar/nirk.rs":"4fa746ed1e19efa1a88849aac7ca7cb378ccf4a88cbec656de86ca8b091d068e","src/aar/power.rs":"7cfdc2f3af7e006ea3125ec61de1a4cc13ded007af9f5f0875213ad39f1510e5","src/aar/scratchptr.rs":"3b7227503a84b45a20ff3ac535c9f4bb8efb650bc8e2ade642db88a477f7668b","src/aar/status.rs":"39873dcbf8adfc5cc3ab649e2c1dbaa074e42c5334e9ef19a81926db6167af22","src/aar/tasks_start.rs":"f10f1c06a054c2de12dd8971b6657c8c312d11f7e787741469eff918cd81d621","src/aar/tasks_stop.rs":"66faeee85467aa619443cf95466f1f7712ea441354cd17e49ce21829ecf4e057","src/adc.rs":"d08033becb537d30328fb052c3a1cdeed2fac15e5b45ca37941b73ba3b1e8af3","src/adc/busy.rs":"43b5a7974d7e9d164fe5234e9f8f29293146b65ca144cb92c6909aafa737b01c","src/adc/config.rs":"eaa59e194ac58c58f1c645b78e5b74510993a9b91f5fef11a11c3f12254070d2","src/adc/enable.rs":"3c509a6bfac1424c0d1c5ee9e176cd944d381844e1125a156e78e58e8ab8ed17","src/adc/events_end.rs":"997870cd9e9ab27cb2e54e68471759f76f69160ac4bd547e0d4bb29f8d00ede2","src/adc/intenclr.rs":"58a9344e9fa74173c8b728c57bee2f10bb367bb6f85c325c3a6721014745baea","src/adc/intenset.rs":"bf1bc63646edcf5f6b9d4fddea05acab6d0c128dfe8848d54a8ef96d6129af87","src/adc/power.rs":"7cfdc2f3af7e006ea3125ec61de1a4cc13ded007af9f5f0875213ad39f1510e5","src/adc/result.rs":"8a8dab012addb78a309cc3b2b3d19248571bc7af1022a930bd1a9dede03c956d","src/adc/tasks_start.rs":"010126ac7ebfcadb2dd1780beab1e429a8c14be3260b1f8d44be382c8ff3aafa","src/adc/tasks_stop.rs":"ddac728758b31ae5da9dc21ee7211ffbe626051d38b7d2a94680a3ac54be1450","src/ccm.rs":"18e2223890f3b270331eb70b9e0deaa265fcf127f187e5f6e8db1480def46c4d","src/ccm/cnfptr.rs":"bdf0449be7ad997203b35234fad18d96445d47106ef14380a9a9dd217a6df099","src/ccm/enable.rs":"627b706e73a192462c523cb749e5365c3c2aa1592a21eb58ef863389d052b29e","src/ccm/events_endcrypt.rs":"fb5ede819e36d3b8f932ec0d047bca20258c82bf5bc08552671fe21afba51360","src/ccm/events_endksgen.rs":"fbd37472a566961230cde6c57013bcc9f115daccc683a57056667d23a9b4257a","src/ccm/events_error.rs":"904867b35553d183ba82495034f12d14c5a077493736f368abcbed673992e79c","src/ccm/inptr.rs":"c1a88e9d70fa4c99382d28eaf9030677db906d3052962dcb3b546d406fadfd61","src/ccm/intenclr.rs":"bdc7901c87d131fdf20c26fad07e0c8e1d39262af5bd85686814737c572d20e5","src/ccm/intenset.rs":"efb90c1c94507fec2500b501df0d12e381adc26307c32233f9e40a7b344736d3","src/ccm/micstatus.rs":"5e86ad4599e19e59dea528c265a8042f6ec66cad65ef3e4fb0f6217d369765e3","src/ccm/mode.rs":"f9313f9bb113b98acb340f45a2f8484565374b64ecdd85d9c691adc34f86e88c","src/ccm/outptr.rs":"435c5828d1cc9e4673cbc4dbd6c7e8d84e386daab4dea43dbd59c1b9701efcb2","src/ccm/power.rs":"7cfdc2f3af7e006ea3125ec61de1a4cc13ded007af9f5f0875213ad39f1510e5","src/ccm/scratchptr.rs":"e44d6e21f084f4f3b01d0cbe0549ae2f7577d8a30dad260aa7102d31c0325f25","src/ccm/shorts.rs":"35e5852727cd0c6772a77408f915787d5798cdb6fd20ec3a498fe976a2ecac14","src/ccm/tasks_crypt.rs":"2f7c3377e5637a90b547b9570d15dd152aa414083edaf549966d2311b2b43c9a","src/ccm/tasks_ksgen.rs":"64829ab53ad9cdce088043ff24bfea785bf08b9a78a351d36a1772a2ee0d63d4","src/ccm/tasks_stop.rs":"21b339d9ce6f3c7257df5bcc10a791cdff1b933b9d1e195666134a51372e7472","src/clock.rs":"5e73121033e32941aff84f9c94f1124b6b742cf74154559dd08cb364fa2f29a8","src/clock/ctiv.rs":"e80c73d9b56c3ba9d3a9a813541dd37b9b8aa141528940ba3de9d91ecce371d1","src/clock/events_ctto.rs":"16583561e6b8384868e71a197773944eee43be8c181065b2bc8ee96e75cbba7a","src/clock/events_done.rs":"dd9691a88fcc41e7b4b2a47114d840f840b5aa3dd45d3d73fe681faae331662b","src/clock/events_hfclkstarted.rs":"dbf8fe6cd9cc14e79f4109439aa14f5535c396660a54db3b35d4e2fb27f0f14d","src/clock/events_lfclkstarted.rs":"5e2ff4cfe753eb3fada0989beca6269d86d37162b743b926765cb971db1abc16","src/clock/hfclkrun.rs":"1642a65Line truncated
|
||||
Reference in new issue
Block a user