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>
cobs
This is an implementation of the Consistent Overhead Byte Stuffing (COBS) algorithm in Rust.
COBS is an algorithm for transforming a message into an encoding where a specific value (the "sentinel" value) is not used. This value can then be used to mark frame boundaries in a serial communication channel.
See the wikipedia article for details.
Features
cobs supports various runtime environments and is also suitable for no_std environments.
Default features
std: Enables functionality relying on the standard library and also activates theallocfeature. Currently only addsstd::error::Errorsupport for the library error types.alloc: Enables features which operate on containers likealloc::vec::Vec. Enabled by thestdfeature.
Optional features
defmt: Addsdefmt::Formatderives on some data structures and error types.serde: Addsserdederives on some data structures and error types.
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.