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>
4.8 KiB
4.8 KiB
Change Log
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[v3.0.0] - Unreleased
- Switch SpiInterface to use SpiDevice trait.
- Implement functionality for continuous wave mode.
- Support preamble detection allowing LoRaWAN RX1+RX2 reception.
- Update embedded-hal-async version to 1.0.0.
- Refactor
prepare_for_rxto use RxMode enum and drop now unneeded args - Refactor
external-lora-phyinlorawan-deviceaslorawan-radioinlora-phy(#189) - Refactor
setup_rxto take inenum RxModeand drop previoustimeout_in_secondsargument (#207) - Refactor
do_rxand lorawan-radio'ssetup_for_rx#208 - Refactor sx126x power amplifier control and clarify
Sx126xVariantimplications (#209) - Drop general AsyncRng trait and its implementation in sx126x driver (#222)
- Drop IRQ polling from
process_irqand rely on IRQ pins exclusively (#223) - sx126x: recalibrate when TCXO enabled (#228)
- Simplify RadioKind traits (#229)
- Add
set_standbyto publicLoRainterface (#230) - Refactor IRQ handling such that
wait_for_irqis droppable (ie: for use in select branches) (#231) - Refactor internal Rx state to use
RxModeenum (#242) - Modify
prepare_for_rxandrxto enabled tighter timings (#245) - Remove
timeout_in_msfromtx(#246) - Allow
process_irq_eventto continue on RFU (#247) - Make Sx126x (#249) and Sx127x (#248) variants trait based rather than enum
- Call
wait_for_irqbeforeprocess_irq_eventinLoRa::cad(#250)
v2.1.2 - 2023-09-25
Changed
- Minor README update.
v2.1.1 - 2023-09-14
Changed
- Use the lora-modulation crate for modulation enums.
- Update dependencies.
- Make embedded_hal_async::delay::DelayUs available publically to avoid a dependency in crates using lora-phy.
v2.1.0 - 2023-07-07
Changed
- Update nightly version.
- Update embedded-hal-async version.
v2.0.0 - 2023-06-25
Changed
- Implement lora-phy API changes, requiring a new major version.
- For receive single packet, poll for interrupts to support LoRa chips that would require more than one DIO pin to support timeout IRQs.
- For receive single packet, depend on symbol timeout to prevent window duration timeouts from voiding reception of a packet that needs additional time to be received. This is useful for LoRaWAN Rx1/Rx2 windowing.
- Improve cold start after sleep processing, to prolong battery life between transmissions.
- Provide further flexibility to support custom boards through proprietary RadioKind implementations.
v1.2.0 - 2023-06-01
Added
- Add support for the RAK3172 LoRa board.
- Allow custom radio kind implementations for LoRa boards based on sx1261/2 or sx1276/7/8/9.
Changed
- Remove unnecessary static trait bounds.
- Change read status error handling on IRQ flags to ensure actual Rx timeout flags are cleared appropriately.
v1.1.0 - 2023-05-14
Added
- Random number generation for LoRa boards which support it.
v1.0.2 - 2023-04-26
Added
- .vscode settings.
Changed
- README to reflect merges into the base rust-lorawan and embassy repositories.
- formatting.
v1.0.1 - 2023-04-21
Changed
embedded-hal-asyncversion.- formatting.
v1.0.0 - 2023-04-14
- first release to crates.io.