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>
1.7 KiB
1.7 KiB
embassy-sync
An Embassy project.
Synchronization primitives and data structures with async support:
Channel- A Multiple Producer Multiple Consumer (MPMC) channel. Each message is only received by a single consumer.PriorityChannel- A Multiple Producer Multiple Consumer (MPMC) channel. Each message is only received by a single consumer. Higher priority items are sifted to the front of the channel.PubSubChannel- A broadcast channel (publish-subscribe) channel. Each message is received by all consumers.Signal- Signalling latest value to a single consumer.Mutex- Mutex for synchronizing state between asynchronous tasks.Pipe- Byte stream implementingembedded_iotraits.WakerRegistration- Utility to register and wake aWaker.AtomicWaker- A variant ofWakerRegistrationaccessible using a non-mut API.MultiWakerRegistration- Utility registering and waking multipleWaker's.
Interoperability
Futures from this crate can run on any executor.
Minimum supported Rust version (MSRV)
Embassy is guaranteed to compile on the latest stable Rust version at the time of release. It might compile with older versions but that may change in any new patch release.
License
This work is 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.