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
@@ -0,0 +1 @@
|
||||
{"files":{".cargo_vcs_info.json":"295980b52dad678d5d5e23200c57cc01300d5d9c75a1d073462ef98165bc0c82",".dockerignore":"cdbcae15105d6b781e620813c79c7e868740d4e9cc53ce6f5fcbbc12387adf4b","CHANGELOG.md":"9355cad81dc56c3fab52fa2b719d40c52dc5bfa5a7157b035060ccf0c3e5a6dc","Cargo.lock":"c5f4073c33237f52b441426e2cf08014a76ccf1ea7edac9cd7b914e981a27bd1","Cargo.toml":"fd4b277dcc40fff2d91a8094acd819febcb6fb4e3e474eb3e3e14ca55d7229f1","Cargo.toml.orig":"9dbc739861ca9b2c23c6f85fd6241892be1f5b52cae7fcab342e5bcf50252ab7","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"4ed59ae6666cce57ee6865ed25e0acd4452bf95f5f4f081248b1a6e22eb609a4","MIGRATING-0.5-0.6.md":"48a3750496a3cd38b5faafd7fb6153f4323ad127ee4f2fd2b73d258fd22ed1cc","MIGRATING-0.6-0.7.md":"4955b5b8e65cc2cdda2a1078430f878a1237bf2d15d60cf91dc175595b218a58","README.md":"66827f04dd2487b32f4aa4fe897f38ba7a7d865fd1e2b5052b522e09d8c0aab9","README.tpl":"bd0279d78fd6557f99d96592f4387b95c2a55ff5035b6ee8e4c3c2f2a580a1dc","RELEASES.md":"b0b8d88cf83eadfac068c2df1e5c6a41c410772df9408db624b88f2ba814ca64","assets/README.md":"66a055bd2fbb852dfae88334c16fcbb2f44d944ee6e309730b82095317a225ac","assets/banner-photo.jpg":"ffe5b6f60ef6e79e58f44a19cbe3d2d58a880f5500cc3da275709e0de03bedf5","assets/hello-world-simulator.png":"fb850cdab822cd8979db341e7cb707f72ae844efb14be510346555a3a7bc1248","assets/logo.svg":"c1d9200772d0e9e1daa4cedcabb72c9d2e51ab36b9058d0c3eef8b4b8dfaf097","assets/logo_core.svg":"bb38c211dd54a4c925df9338383b3e6e92e293e7733dd40d408e7f7321519a6a","assets/logo_core_src.svg":"1fd9a4c24042febc9c9363223efac8bbee91437c082411a9caa78ae454523b57","assets/patch.png":"1b5a454f377d75744ce99dbe61dc89c0642f1fb57e9d091939e5471e7cdd8bab","assets/patch.tga":"7ae2233a8b2c15b69ce9649c4f56c4ff50631d29e760f023b9f83739a8b5ce22","assets/patch_16bpp.bmp":"d953cb2f4f74c1ee914e484a8fd3454147a6696c462c06f019253cb16d92ff5d","assets/patch_16bpp.raw":"c6095b54f3a35b950a06e1d36112c8aec9e28b07a70d5c46760485609df8c2c4","assets/patch_1bpp.raw":"9a1d2b284ce4418bcb7e9d3efecc951780318309bcf1358a43ea09ffd0e80f98","assets/patch_8bpp.raw":"0e42708bc1d4afce5606a8efd6e5b1e39a860229becd5b8dc2992af19d01a95d","assets/rust-pride.tga":"f9466ed44990c516e2ecf23a49ab860b215d203b3acdc53c4eb2b20658be6ffe","assets/simulator-demo.png":"1bcb814ebbcea7d90cba7d068b548b461c05a59a19aadfb55e470361d9081089","assets/simulator-demo.xcf":"7494d1bc6b339f638aabf98564267e518f0ee8e733358a253851f77f316dd736","assets/tiles.tga":"ef4edc0b8c5b24b60499400a54c6714b729c9c354e4fea72f4d8ec5692e9522e","benches/color_conversion.rs":"64fbeeb703a08283d806a13397a9ebc17113a1600e3d8441ce39b514e03c0d0d","benches/common.rs":"efb96bc8935d106559c0186107664322f37379cd1cad76b2d668436517e0a149","benches/contains.rs":"0a8fdcd4877bfe4dbd308995d62a8f3858925382f16785a7866ccb1cf1faeaee","benches/fonts.rs":"1e9ca31831efc6b10363979d94f03e79abffca0955dc3a01c3b430e6f214855b","benches/framebuffer.rs":"751aef70a2d3d40f1be6f3f9c9c3ea466a8cfbb92ffb418ebb04649a11ea8cff","benches/image.rs":"c7f17ae1ab29b65b25e832b5fb202088f2d41beb669f8cb11ab7d035092b9f77","benches/primitives.rs":"8ab4816c270b46db2e4d224805c041ac64132ac5378226cff722388700097c8c","benches/primitives_fixed_point.rs":"336005ad3d6872671a185e63d0bbaf4dc340fe7a1fb16ef0edbd028fce812401","benches/raw_data_iter.rs":"a576ddf8a208b47637a7294e39d42f25a93d12b1fd272420ed6cc8df1aca6e72","doc/assets/all_drawing_ops.png":"010b8bde66ff78aac7fb21efbe9e4743382e98a03f2264d744074f8df7795f87","doc/development-setup.md":"41f5e27ea8ee61abb51aac62e10d53eb864661d6587683c207316b76b48fd486","doc/releasing.md":"40d1c855dee3abec32b932c67287ea6654f354d72f1b9792b11135dae622acbd","filter-readme.sed":"d0da07b4694ed90fdc9094e17cb8caf08b8efde9c64a3789f2dad9538310f332","fonts/png/ascii/font_10x20.png":"4119a27b911ad53f0013f3ba53e9355f2407c9efdf1a47530fa3b93f52033405","fonts/png/ascii/font_4x6.png":"88942c34507807f28015a73bdf25047c2cfaa8a910871865596083dd7b000f1b","fonts/png/ascii/font_5x7.png":"2d420452b30e9382fc9f32602d75091444af1dc85150de94f9e2c70a04ba9305","fonts/png/ascii/font_5x8.png":"e29bd7f586771d05dfe82427359eec6a47f83d9336efa160fac9b8efe0515f4b","fonts/png/ascii/font_6x10.png":"363fede673187096c1731d69be475225af006485c31eb5553a6029101e7c7c35","fonts/png/ascii/font_6x12.png":"aba554d8b7b3c1d211ffdcc996863b096348ee80f3db96c2d86f3ee1819f36ea","fonts/png/ascii/font_6x13.png":"b6504299021cc53db51f0b43cd87afa125152bf6b0d25e4e481457fce04d0080","fonts/png/ascii/font_6x13_bold.png":"671e5100bc130097b8da81c81be89965b5ae0822629562e497a680b27205482f","fonts/png/ascii/font_6x13_italic.png":"d690dfb5ebddbc6a634a3ba0950a7c22d8e7cab7e887e6075a2db2baaed4ee69","fonts/png/ascii/font_6x9.png":"c315c3e6c00f20a1bbe857cddc3b207ead24fa1d04143bd06c4cfbaa5fc55e16","fonts/png/ascii/font_7x13.png":"797837214354ccf3c421739941df0d6d570085e66e2a0b8a7358a0dc7199b9e7","fonts/png/ascii/font_7x13_bold.png":"58caeaadcdaff5cd1b0a57e79a558d26abd2d8ef7faae9c2f4e0e0b1796198a3","fonts/png/ascii/font_7x13_italic.png":"d8e0aa7104a5d23Line truncated
|
||||
Reference in new issue
Block a user