Unblock LR2021 retunes and add saved crystal calibration
Repeated preamble/header activity can keep a requested primary or TempRadio change busy indefinitely. Bound unfinished-RX admission for accepted LR2021 changes while preserving completed packets, TX, BUSY and exclusive owners. Ordinary scans and CAD keep their existing admission rules. Expose the failing stage and native status through get radio.apply. Add saved radio.xtrim capacitor calibration and measured radio.freqerror in signed Hz from the last valid LoRa packet. Preserve native trim by default, restore explicit calibration after resets/Morse, verify saves before applying, wait two seconds for the acknowledgement, and roll back failed changes. Calibration motivation and prior upstream work: https://github.com/meshcore-dev/MeshCore/issues/3365 https://github.com/recrof/MeshCore/tree/lr2021-trim Packet-status format follows Semtech's LR20xx driver and RadioLib staging. Tests execute production activity/admission and transaction paths with noisy RX, completion races, protected owners, failed setters, RX restart and save rollback. Physical W12 retuning and RF calibration still require confirmation.
This commit is contained in:
1 parent
b00d346df7
commit
8a8c80ee6a
32 files changed
+1913
-34
No files matched your search
@@ -421,6 +421,10 @@ jobs:
|
||||
python3 -B test/test_lr1121_power_merge.py -v
|
||||
python3 -B test/test_lr2021_power.py -v
|
||||
python3 -B test/test_lr2021_tx_prearm.py -v
|
||||
python3 -B test/test_lr2021_primary_apply_wait.py -v
|
||||
python3 -B test/test_lr2021_apply_transaction.py -v
|
||||
python3 -B test/test_lr2021_trim_apply_wait.py -v
|
||||
python3 -B test/test_lr2021_calibration.py -v
|
||||
python3 -B test/test_meshtracker_x1_battery.py -v
|
||||
python3 -B test/test_drv2605_power.py -v
|
||||
python3 -B test/test_radio_interrupt_recovery.py -v
|
||||
|
||||
Reference in new issue
Block a user