fix(deps): pin lora-phy to swaits/lora-rs#fixed for sx127x/sx126x reliability
Switch lora-phy from crates.io to the swaits/lora-rs "fixed" branch
which carries three fixes awaiting upstream PR acceptance:
- phy: sx127x: clear stale IRQ flags before reconfiguring DIO mapping
in set_irq_params (fix/sx127x-irq-clear-position)
- phy: sx127x: clear stale IRQ flags in do_rx before mode change
(fix/sx127x-rx-irq-clear)
- phy: sx126x: pre-command BUSY check + standby/IRQ-clear hygiene
around CAD (fix/sx126x-busy-race)
Validates TBeam classic (sx127x) in particular and tightens reliability
across every board (the sx126x BUSY-race fix lands on every nRF/RP2040
board too). Pinned to commit e8a52ebd via Cargo.lock; revert to
crates.io once the three PRs land upstream.
This commit is contained in:
3 files changed
+33
-19
No files matched your search
@@ -1,30 +1,39 @@
|
||||
# Firmware TODO List
|
||||
|
||||
## `lora-phy` fix: drop fork pin once PR #428 merges + releases
|
||||
## `lora-phy` fix: drop fork pin once PRs #428 / #431 / #432 merge + release
|
||||
|
||||
Upstream PRs (all open):
|
||||
|
||||
- [#428 — *phy: add pre-command BUSY checks per Semtech
|
||||
datasheets*](https://github.com/lora-rs/lora-rs/pull/428) (sx126x):
|
||||
pre-command BUSY check + standby/IRQ-clear hygiene around CAD.
|
||||
- [#431 — *phy: sx127x: clear stale IRQ flags in do_rx before mode
|
||||
change*](https://github.com/lora-rs/lora-rs/pull/431).
|
||||
- [#432 — *phy: sx127x: clear stale IRQ flags before reconfiguring DIO
|
||||
mapping in set_irq_params*](https://github.com/lora-rs/lora-rs/pull/432).
|
||||
|
||||
Upstream PR: [lora-rs/lora-rs#428 — *phy: add pre-command BUSY checks
|
||||
per Semtech datasheets*](https://github.com/lora-rs/lora-rs/pull/428)
|
||||
(open).
|
||||
Fork branch we ship from:
|
||||
[`swaits/lora-rs @ fix/sx126x-busy-race`](https://github.com/swaits/lora-rs/tree/fix/sx126x-busy-race).
|
||||
[`swaits/lora-rs @ fixed`](https://github.com/swaits/lora-rs/tree/fixed)
|
||||
— a merge of all three fix branches kept up-to-date with upstream
|
||||
`main`.
|
||||
|
||||
Firmware consumes the fix via a direct `git` dependency in
|
||||
Firmware consumes the fixes via a direct `git` dependency in
|
||||
`Cargo.toml`:
|
||||
|
||||
```toml
|
||||
lora-phy = { git = "https://github.com/swaits/lora-rs.git", branch = "fix/sx126x-busy-race", features = ["defmt-03"] }
|
||||
lora-phy = { git = "https://github.com/swaits/lora-rs.git", branch = "fixed", features = ["defmt-03"] }
|
||||
```
|
||||
|
||||
When PR #428 merges and a `lora-phy` release ships on crates.io that
|
||||
contains it, switch this line back to a normal `lora-phy = "X.Y"`
|
||||
crates.io version and drop the explanatory comment block above it.
|
||||
When all three PRs merge and a `lora-phy` release ships on crates.io
|
||||
that contains them, switch this line back to a normal
|
||||
`lora-phy = "X.Y"` crates.io version and drop the explanatory comment
|
||||
block above it.
|
||||
|
||||
Hardware-verified on Wio Tracker L1: 20/20 clean-boot TX after the fix
|
||||
(vs ~50% before). The fix adds a pre-command BUSY check before each
|
||||
`SpiInterface` read/write op, keeping the existing post-command wait
|
||||
in place — belt-and-suspenders bracketing that closes the
|
||||
BUSY-assertion latency window (T_SW ≤ 600 ns) a single level-poll can
|
||||
miss.
|
||||
Hardware impact: large stability gain on every board — the sx126x
|
||||
BUSY-race fix lands on every nRF/RP2040 board, and the sx127x IRQ-clear
|
||||
fixes unblock TBeam classic in particular. Hardware-verified on Wio
|
||||
Tracker L1 (sx126x): 20/20 clean-boot TX after the fix (vs ~50%
|
||||
before).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in new issue
Block a user