mirror of
https://github.com/ALLFATHER-BV/wadamesh.git
synced 2026-09-26 18:07:56 +00:00
touch: beta_34 — buffered LoRa receive ON by default (test channel) + core pin core-v1.16.5
Consumes the new core (buffered receive drain task + RX counters, #13 stock payload layout, GPS-date guard). Fork side: - TouchPrefs v33 rx_queue, DEFAULT ON for the test channel (fresh installs + a one-time migrate for upgraders); opt-out toggle 'Buffered receive (experimental)' in Radio & Mesh, applies live. - About live tier shows LoRa RX heard/read/err/late-lost/qdrop, the field evidence for the missed-messages fix. - Spectrum parks/resumes the drain task around raw radio use; MyMesh setParams sequences hold the radio mutex. - TanmatsuLoraRadio: no-op API stubs (P4 keeps its own RX path). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
5d9a184314
commit
4e1ac2ca6b
@@ -2539,7 +2539,11 @@ MyMesh::MyMesh(mesh::Radio &radio, mesh::RNG &rng, mesh::RTCClock &rtc, SimpleMe
|
||||
}
|
||||
|
||||
void MyMesh::applyRadioFromPrefs() {
|
||||
// setParams is a multi-step SPI sequence; hold the radio against the buffered-
|
||||
// receive drain task so it can't re-arm RX between the steps (no-op when off).
|
||||
radio_driver.radioAcquire();
|
||||
radio_driver.setParams(_prefs.freq, _prefs.bw, _prefs.sf, _prefs.cr);
|
||||
radio_driver.radioRelease();
|
||||
radio_driver.setTxPower(_prefs.tx_power_dbm);
|
||||
#if defined(USE_SX1262) || defined(USE_SX1268)
|
||||
_prefs.rx_boosted_gain = _prefs.rx_boosted_gain ? 1 : 0;
|
||||
@@ -3338,10 +3342,12 @@ void MyMesh::handleCmdFrame(size_t len) {
|
||||
_prefs.client_repeat = repeat;
|
||||
savePrefs();
|
||||
|
||||
radio_driver.radioAcquire(); // hold off the RX drain task mid-sequence (no-op when off)
|
||||
radio_driver.setParams(_prefs.freq, _prefs.bw, _prefs.sf, _prefs.cr);
|
||||
#if defined(USE_SX1262) || defined(USE_SX1268) || defined(SX126X_RX_BOOSTED_GAIN)
|
||||
radio_driver.setRxBoostedGainMode(_prefs.rx_boosted_gain != 0);
|
||||
#endif
|
||||
radio_driver.radioRelease();
|
||||
MESH_DEBUG_PRINTLN("OK: CMD_SET_RADIO_PARAMS: f=%d, bw=%d, sf=%d, cr=%d", freq, bw, (uint32_t)sf,
|
||||
(uint32_t)cr);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user