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>
40 lines
907 B
Markdown
40 lines
907 B
Markdown
# Void
|
|
|
|
> The uninhabited void type for use in statically impossible cases.
|
|
|
|
## [Documentation](https://crates.fyi/crates/void/1.0.1)
|
|
|
|
The uninhabited type, `enum Void { }` is useful in dealing with cases you
|
|
know to be impossible. For instance, if you are implementing a trait which
|
|
allows for error checking, but your case always succeeds, you can mark the
|
|
error case or type as `Void`, signaling to the compiler it can never happen.
|
|
|
|
This crate also comes packed with a few traits offering extension methods to
|
|
`Result<T, Void>` and `Result<Void, T>`.
|
|
|
|
## Usage
|
|
|
|
Use the crates.io repository; add this to your `Cargo.toml` along
|
|
with the rest of your dependencies:
|
|
|
|
```toml
|
|
[dependencies]
|
|
void = "1"
|
|
```
|
|
|
|
Then, use `Void` in your crate:
|
|
|
|
```rust
|
|
extern crate void;
|
|
use void::Void;
|
|
```
|
|
|
|
## Author
|
|
|
|
[Jonathan Reem](https://medium.com/@jreem) is the primary author and maintainer of void.
|
|
|
|
## License
|
|
|
|
MIT
|
|
|