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.4 KiB
1.4 KiB
memo-map
A concurrent insert only hash map.
This crate implements a “memo map” which is in many ways similar to a HashMap with some crucial differences:
- Unlike a regular hash map, a memo map is thread safe and synchronized.
- Adding or retrieving keys works through a shared reference, removing only through a mutable reference.
- Retrieving a value from a memo map returns a plain old reference.
use memo_map::MemoMap;
let memo = MemoMap::new();
let one = memo.get_or_insert(&1, || "one".to_string());
let one2 = memo.get_or_insert(&1, || "not one".to_string());
assert_eq!(one, "one");
assert_eq!(one2, "one");
License and Links
- Documentation
- Issue Tracker
- License: Apache-2.0