From 534a0c97a7f36fe2caffd1ac111e3f38f6d7fdd4 Mon Sep 17 00:00:00 2001 From: overkillfpv Date: Thu, 5 Mar 2026 21:39:14 +1100 Subject: [PATCH 1/6] Increased preamble to 32 for setPreambleLength(16); // overcomes weird issues with small and big pkts + _radio->setPreambleLength(LORA_SF <= 8 ? 32 : 16); // overcomes weird issues with small and big pkts } float getLastRSSI() const override { return ((CustomLR1110 *)_radio)->getRSSI(); } diff --git a/src/helpers/radiolib/RadioLibWrappers.cpp b/src/helpers/radiolib/RadioLibWrappers.cpp index 2216ca8f..9cc7318a 100644 --- a/src/helpers/radiolib/RadioLibWrappers.cpp +++ b/src/helpers/radiolib/RadioLibWrappers.cpp @@ -26,6 +26,7 @@ void setFlag(void) { void RadioLibWrapper::begin() { _radio->setPacketReceivedAction(setFlag); // this is also SentComplete interrupt + _radio->setPreambleLength(LORA_SF <= 8 ? 32 : 16); // longer preamble for lower SF improves reliability state = STATE_IDLE; if (_board->getStartupReason() == BD_STARTUP_RX_PACKET) { // received a LoRa packet (while in deep sleep) From a61add2e6a7633f8035ff40bc9ed03f251959dea Mon Sep 17 00:00:00 2001 From: overkillfpv Date: Thu, 5 Mar 2026 22:14:22 +1100 Subject: [PATCH 2/6] Update preamble dynamically to match runtime SF changes via CLI --- src/helpers/radiolib/CustomLLCC68Wrapper.h | 1 + src/helpers/radiolib/CustomLR1110.h | 2 ++ src/helpers/radiolib/CustomLR1110Wrapper.h | 3 ++- src/helpers/radiolib/CustomSTM32WLxWrapper.h | 1 + src/helpers/radiolib/CustomSX1262Wrapper.h | 1 + src/helpers/radiolib/CustomSX1268Wrapper.h | 1 + src/helpers/radiolib/CustomSX1276Wrapper.h | 1 + src/helpers/radiolib/RadioLibWrappers.cpp | 3 ++- src/helpers/radiolib/RadioLibWrappers.h | 1 + 9 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/helpers/radiolib/CustomLLCC68Wrapper.h b/src/helpers/radiolib/CustomLLCC68Wrapper.h index 9e783a95..e62acaff 100644 --- a/src/helpers/radiolib/CustomLLCC68Wrapper.h +++ b/src/helpers/radiolib/CustomLLCC68Wrapper.h @@ -20,6 +20,7 @@ public: int sf = ((CustomLLCC68 *)_radio)->spreadingFactor; return packetScoreInt(snr, sf, packet_len); } + uint8_t getSpreadingFactor() const override { return ((CustomLLCC68 *)_radio)->spreadingFactor; } void doResetAGC() override { sx126xResetAGC((SX126x *)_radio); } }; diff --git a/src/helpers/radiolib/CustomLR1110.h b/src/helpers/radiolib/CustomLR1110.h index b1f68080..8cfb0906 100644 --- a/src/helpers/radiolib/CustomLR1110.h +++ b/src/helpers/radiolib/CustomLR1110.h @@ -27,4 +27,6 @@ class CustomLR1110 : public LR1110 { bool detected = ((irq & RADIOLIB_LR11X0_IRQ_SYNC_WORD_HEADER_VALID) || (irq & RADIOLIB_LR11X0_IRQ_PREAMBLE_DETECTED)); return detected; } + + uint8_t getSpreadingFactor() const { return spreadingFactor; } }; \ No newline at end of file diff --git a/src/helpers/radiolib/CustomLR1110Wrapper.h b/src/helpers/radiolib/CustomLR1110Wrapper.h index be3a9f8d..c5b04233 100644 --- a/src/helpers/radiolib/CustomLR1110Wrapper.h +++ b/src/helpers/radiolib/CustomLR1110Wrapper.h @@ -19,10 +19,11 @@ public: void onSendFinished() override { RadioLibWrapper::onSendFinished(); - _radio->setPreambleLength(LORA_SF <= 8 ? 32 : 16); // overcomes weird issues with small and big pkts + _radio->setPreambleLength(getSpreadingFactor() <= 8 ? 32 : 16); // overcomes weird issues with small and big pkts } float getLastRSSI() const override { return ((CustomLR1110 *)_radio)->getRSSI(); } float getLastSNR() const override { return ((CustomLR1110 *)_radio)->getSNR(); } + uint8_t getSpreadingFactor() const override { return ((CustomLR1110 *)_radio)->getSpreadingFactor(); } int16_t setRxBoostedGainMode(bool en) { return ((CustomLR1110 *)_radio)->setRxBoostedGainMode(en); }; }; diff --git a/src/helpers/radiolib/CustomSTM32WLxWrapper.h b/src/helpers/radiolib/CustomSTM32WLxWrapper.h index e3e52029..cccdc043 100644 --- a/src/helpers/radiolib/CustomSTM32WLxWrapper.h +++ b/src/helpers/radiolib/CustomSTM32WLxWrapper.h @@ -21,6 +21,7 @@ public: int sf = ((CustomSTM32WLx *)_radio)->spreadingFactor; return packetScoreInt(snr, sf, packet_len); } + uint8_t getSpreadingFactor() const override { return ((CustomSTM32WLx *)_radio)->spreadingFactor; } void doResetAGC() override { sx126xResetAGC((SX126x *)_radio); } }; diff --git a/src/helpers/radiolib/CustomSX1262Wrapper.h b/src/helpers/radiolib/CustomSX1262Wrapper.h index 5856720b..ad140b66 100644 --- a/src/helpers/radiolib/CustomSX1262Wrapper.h +++ b/src/helpers/radiolib/CustomSX1262Wrapper.h @@ -20,6 +20,7 @@ public: int sf = ((CustomSX1262 *)_radio)->spreadingFactor; return packetScoreInt(snr, sf, packet_len); } + uint8_t getSpreadingFactor() const override { return ((CustomSX1262 *)_radio)->spreadingFactor; } virtual void powerOff() override { ((CustomSX1262 *)_radio)->sleep(false); } diff --git a/src/helpers/radiolib/CustomSX1268Wrapper.h b/src/helpers/radiolib/CustomSX1268Wrapper.h index 5149fc43..0c97752e 100644 --- a/src/helpers/radiolib/CustomSX1268Wrapper.h +++ b/src/helpers/radiolib/CustomSX1268Wrapper.h @@ -20,6 +20,7 @@ public: int sf = ((CustomSX1268 *)_radio)->spreadingFactor; return packetScoreInt(snr, sf, packet_len); } + uint8_t getSpreadingFactor() const override { return ((CustomSX1268 *)_radio)->spreadingFactor; } void doResetAGC() override { sx126xResetAGC((SX126x *)_radio); } }; diff --git a/src/helpers/radiolib/CustomSX1276Wrapper.h b/src/helpers/radiolib/CustomSX1276Wrapper.h index 28257990..fa613c8e 100644 --- a/src/helpers/radiolib/CustomSX1276Wrapper.h +++ b/src/helpers/radiolib/CustomSX1276Wrapper.h @@ -19,4 +19,5 @@ public: int sf = ((CustomSX1276 *)_radio)->spreadingFactor; return packetScoreInt(snr, sf, packet_len); } + uint8_t getSpreadingFactor() const override { return ((CustomSX1276 *)_radio)->spreadingFactor; } }; diff --git a/src/helpers/radiolib/RadioLibWrappers.cpp b/src/helpers/radiolib/RadioLibWrappers.cpp index 9cc7318a..9260e6df 100644 --- a/src/helpers/radiolib/RadioLibWrappers.cpp +++ b/src/helpers/radiolib/RadioLibWrappers.cpp @@ -26,7 +26,7 @@ void setFlag(void) { void RadioLibWrapper::begin() { _radio->setPacketReceivedAction(setFlag); // this is also SentComplete interrupt - _radio->setPreambleLength(LORA_SF <= 8 ? 32 : 16); // longer preamble for lower SF improves reliability + _radio->setPreambleLength(getSpreadingFactor() <= 8 ? 32 : 16); // longer preamble for lower SF improves reliability state = STATE_IDLE; if (_board->getStartupReason() == BD_STARTUP_RX_PACKET) { // received a LoRa packet (while in deep sleep) @@ -143,6 +143,7 @@ uint32_t RadioLibWrapper::getEstAirtimeFor(int len_bytes) { bool RadioLibWrapper::startSendRaw(const uint8_t* bytes, int len) { _board->onBeforeTransmit(); + _radio->setPreambleLength(getSpreadingFactor() <= 8 ? 32 : 16); // keep preamble in sync with current SF int err = _radio->startTransmit((uint8_t *) bytes, len); if (err == RADIOLIB_ERR_NONE) { state = STATE_TX_WAIT; diff --git a/src/helpers/radiolib/RadioLibWrappers.h b/src/helpers/radiolib/RadioLibWrappers.h index b338b03a..c9791a4b 100644 --- a/src/helpers/radiolib/RadioLibWrappers.h +++ b/src/helpers/radiolib/RadioLibWrappers.h @@ -38,6 +38,7 @@ public: } virtual float getCurrentRSSI() =0; + virtual uint8_t getSpreadingFactor() const { return LORA_SF; } int getNoiseFloor() const override { return _noise_floor; } void triggerNoiseFloorCalibrate(int threshold) override; From 6fd8c28522c7c5143d2384a91a2116b4d0738102 Mon Sep 17 00:00:00 2001 From: overkillfpv Date: Sat, 7 Mar 2026 12:48:22 +1100 Subject: [PATCH 3/6] Cache preamble SF to avoid redundant setPreambleLength() on every TX --- src/helpers/radiolib/RadioLibWrappers.cpp | 9 +++++++-- src/helpers/radiolib/RadioLibWrappers.h | 3 ++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/helpers/radiolib/RadioLibWrappers.cpp b/src/helpers/radiolib/RadioLibWrappers.cpp index 9260e6df..883cc623 100644 --- a/src/helpers/radiolib/RadioLibWrappers.cpp +++ b/src/helpers/radiolib/RadioLibWrappers.cpp @@ -26,7 +26,8 @@ void setFlag(void) { void RadioLibWrapper::begin() { _radio->setPacketReceivedAction(setFlag); // this is also SentComplete interrupt - _radio->setPreambleLength(getSpreadingFactor() <= 8 ? 32 : 16); // longer preamble for lower SF improves reliability + _preamble_sf = getSpreadingFactor(); + _radio->setPreambleLength(_preamble_sf <= 8 ? 32 : 16); // longer preamble for lower SF improves reliability state = STATE_IDLE; if (_board->getStartupReason() == BD_STARTUP_RX_PACKET) { // received a LoRa packet (while in deep sleep) @@ -143,7 +144,11 @@ uint32_t RadioLibWrapper::getEstAirtimeFor(int len_bytes) { bool RadioLibWrapper::startSendRaw(const uint8_t* bytes, int len) { _board->onBeforeTransmit(); - _radio->setPreambleLength(getSpreadingFactor() <= 8 ? 32 : 16); // keep preamble in sync with current SF + uint8_t sf = getSpreadingFactor(); + if (sf != _preamble_sf) { + _preamble_sf = sf; + _radio->setPreambleLength(sf <= 8 ? 32 : 16); // update preamble when SF has changed + } int err = _radio->startTransmit((uint8_t *) bytes, len); if (err == RADIOLIB_ERR_NONE) { state = STATE_TX_WAIT; diff --git a/src/helpers/radiolib/RadioLibWrappers.h b/src/helpers/radiolib/RadioLibWrappers.h index c9791a4b..0dbc8897 100644 --- a/src/helpers/radiolib/RadioLibWrappers.h +++ b/src/helpers/radiolib/RadioLibWrappers.h @@ -11,6 +11,7 @@ protected: int16_t _noise_floor, _threshold; uint16_t _num_floor_samples; int32_t _floor_sample_sum; + uint8_t _preamble_sf; void idle(); void startRecv(); @@ -19,7 +20,7 @@ protected: virtual void doResetAGC(); public: - RadioLibWrapper(PhysicalLayer& radio, mesh::MainBoard& board) : _radio(&radio), _board(&board) { n_recv = n_sent = 0; } + RadioLibWrapper(PhysicalLayer& radio, mesh::MainBoard& board) : _radio(&radio), _board(&board), _preamble_sf(0) { n_recv = n_sent = 0; } void begin() override; virtual void powerOff() { _radio->sleep(); } From a434f9eff5d5f851edfb4a902155721a9d9ff99f Mon Sep 17 00:00:00 2001 From: overkillfpv Date: Sun, 8 Mar 2026 05:37:49 +1100 Subject: [PATCH 4/6] simplified the calls --- src/helpers/radiolib/CustomLR1110Wrapper.h | 2 +- src/helpers/radiolib/RadioLibWrappers.cpp | 4 ++-- src/helpers/radiolib/RadioLibWrappers.h | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/helpers/radiolib/CustomLR1110Wrapper.h b/src/helpers/radiolib/CustomLR1110Wrapper.h index c5b04233..2f2cc24c 100644 --- a/src/helpers/radiolib/CustomLR1110Wrapper.h +++ b/src/helpers/radiolib/CustomLR1110Wrapper.h @@ -19,7 +19,7 @@ public: void onSendFinished() override { RadioLibWrapper::onSendFinished(); - _radio->setPreambleLength(getSpreadingFactor() <= 8 ? 32 : 16); // overcomes weird issues with small and big pkts + _radio->setPreambleLength(preambleLengthForSF(getSpreadingFactor())); // overcomes weird issues with small and big pkts } float getLastRSSI() const override { return ((CustomLR1110 *)_radio)->getRSSI(); } diff --git a/src/helpers/radiolib/RadioLibWrappers.cpp b/src/helpers/radiolib/RadioLibWrappers.cpp index 883cc623..18251e43 100644 --- a/src/helpers/radiolib/RadioLibWrappers.cpp +++ b/src/helpers/radiolib/RadioLibWrappers.cpp @@ -27,7 +27,7 @@ void setFlag(void) { void RadioLibWrapper::begin() { _radio->setPacketReceivedAction(setFlag); // this is also SentComplete interrupt _preamble_sf = getSpreadingFactor(); - _radio->setPreambleLength(_preamble_sf <= 8 ? 32 : 16); // longer preamble for lower SF improves reliability + _radio->setPreambleLength(preambleLengthForSF(_preamble_sf)); // longer preamble for lower SF improves reliability state = STATE_IDLE; if (_board->getStartupReason() == BD_STARTUP_RX_PACKET) { // received a LoRa packet (while in deep sleep) @@ -147,7 +147,7 @@ bool RadioLibWrapper::startSendRaw(const uint8_t* bytes, int len) { uint8_t sf = getSpreadingFactor(); if (sf != _preamble_sf) { _preamble_sf = sf; - _radio->setPreambleLength(sf <= 8 ? 32 : 16); // update preamble when SF has changed + _radio->setPreambleLength(preambleLengthForSF(sf)); // update preamble when SF has changed } int err = _radio->startTransmit((uint8_t *) bytes, len); if (err == RADIOLIB_ERR_NONE) { diff --git a/src/helpers/radiolib/RadioLibWrappers.h b/src/helpers/radiolib/RadioLibWrappers.h index 0dbc8897..8e266dee 100644 --- a/src/helpers/radiolib/RadioLibWrappers.h +++ b/src/helpers/radiolib/RadioLibWrappers.h @@ -40,6 +40,7 @@ public: virtual float getCurrentRSSI() =0; virtual uint8_t getSpreadingFactor() const { return LORA_SF; } + static uint16_t preambleLengthForSF(uint8_t sf) { return sf <= 8 ? 32 : 16; } int getNoiseFloor() const override { return _noise_floor; } void triggerNoiseFloorCalibrate(int threshold) override; From 3843c00f54ba1d977accc7b037bb409296238833 Mon Sep 17 00:00:00 2001 From: overkillfpv Date: Tue, 24 Mar 2026 15:05:15 +1100 Subject: [PATCH 5/6] added the preamble update into get est airtime as a prevention for false airtime calcs. Left update in the startsendraw as a safety, but should not be used under normal circumstances --- src/helpers/radiolib/RadioLibWrappers.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/helpers/radiolib/RadioLibWrappers.cpp b/src/helpers/radiolib/RadioLibWrappers.cpp index 18251e43..cc1dc001 100644 --- a/src/helpers/radiolib/RadioLibWrappers.cpp +++ b/src/helpers/radiolib/RadioLibWrappers.cpp @@ -139,6 +139,11 @@ int RadioLibWrapper::recvRaw(uint8_t* bytes, int sz) { } uint32_t RadioLibWrapper::getEstAirtimeFor(int len_bytes) { + uint8_t sf = getSpreadingFactor(); + if (sf != _preamble_sf) { + _preamble_sf = sf; + _radio->setPreambleLength(preambleLengthForSF(sf)); // sync preamble before airtime estimate + } return _radio->getTimeOnAir(len_bytes) / 1000; } From f0ec5d2ae788d3891625b4323117bffa2079d4ba Mon Sep 17 00:00:00 2001 From: overkillfpv Date: Sun, 29 Mar 2026 21:45:16 +1100 Subject: [PATCH 6/6] changed to set the preamble on radio settings change --- src/helpers/radiolib/RadioLibWrappers.cpp | 10 ---------- src/helpers/radiolib/RadioLibWrappers.h | 1 + variants/ebyte_eora_s3/target.cpp | 1 + variants/generic-e22/target.cpp | 1 + variants/heltec_ct62/target.cpp | 1 + variants/heltec_e213/target.cpp | 1 + variants/heltec_e290/target.cpp | 1 + variants/heltec_mesh_solar/target.cpp | 1 + variants/heltec_t114/target.cpp | 1 + variants/heltec_t190/target.cpp | 1 + variants/heltec_tracker/target.cpp | 1 + variants/heltec_tracker_v2/target.cpp | 1 + variants/heltec_v2/target.cpp | 1 + variants/heltec_v3/target.cpp | 1 + variants/heltec_v4/target.cpp | 1 + variants/heltec_wireless_paper/target.cpp | 1 + variants/ikoka_handheld_nrf/target.cpp | 1 + variants/ikoka_nano_nrf/target.cpp | 1 + variants/ikoka_stick_nrf/target.cpp | 1 + variants/keepteen_lt1/target.cpp | 1 + variants/lilygo_t3s3/target.cpp | 1 + variants/lilygo_t3s3_sx1276/target.cpp | 1 + variants/lilygo_tbeam_1w/target.cpp | 1 + variants/lilygo_tbeam_SX1262/target.cpp | 1 + variants/lilygo_tbeam_SX1276/target.cpp | 1 + variants/lilygo_tbeam_supreme_SX1262/target.cpp | 1 + variants/lilygo_tdeck/target.cpp | 1 + variants/lilygo_techo/target.cpp | 1 + variants/lilygo_techo_lite/target.cpp | 1 + variants/lilygo_tlora_c6/target.cpp | 1 + variants/lilygo_tlora_v2_1/target.cpp | 1 + variants/m5stack_unit_c6l/UnitC6LBoard.cpp | 1 + variants/mesh_pocket/target.cpp | 1 + variants/meshadventurer/target.cpp | 1 + variants/meshtiny/target.cpp | 1 + variants/minewsemi_me25ls01/target.cpp | 1 + variants/nano_g2_ultra/target.cpp | 1 + variants/nibble_screen_connect/target.cpp | 1 + variants/promicro/target.cpp | 1 + variants/rak11310/target.cpp | 1 + variants/rak3112/target.cpp | 1 + variants/rak3401/target.cpp | 1 + variants/rak3x72/target.cpp | 1 + variants/rak4631/target.cpp | 1 + variants/rak_wismesh_tag/target.cpp | 1 + variants/rpi_picow/target.cpp | 1 + variants/sensecap_solar/target.cpp | 1 + variants/station_g2/target.cpp | 1 + variants/t1000-e/target.cpp | 1 + variants/tenstar_c3/target.cpp | 1 + variants/thinknode_m1/target.cpp | 1 + variants/thinknode_m2/target.cpp | 1 + variants/thinknode_m3/target.cpp | 1 + variants/thinknode_m5/target.cpp | 1 + variants/thinknode_m6/target.cpp | 1 + variants/tiny_relay/target.cpp | 1 + variants/waveshare_rp2040_lora/target.cpp | 1 + variants/wio-e5-dev/target.cpp | 1 + variants/wio-e5-mini/target.cpp | 1 + variants/wio-tracker-l1/target.cpp | 1 + variants/wio_wm1110/target.cpp | 1 + variants/xiao_c3/target.cpp | 1 + variants/xiao_c6/XiaoC6Board.cpp | 1 + variants/xiao_nrf52/target.cpp | 1 + variants/xiao_rp2040/target.cpp | 1 + variants/xiao_s3_wio/target.cpp | 1 + 66 files changed, 65 insertions(+), 10 deletions(-) diff --git a/src/helpers/radiolib/RadioLibWrappers.cpp b/src/helpers/radiolib/RadioLibWrappers.cpp index cc1dc001..85f3a935 100644 --- a/src/helpers/radiolib/RadioLibWrappers.cpp +++ b/src/helpers/radiolib/RadioLibWrappers.cpp @@ -139,21 +139,11 @@ int RadioLibWrapper::recvRaw(uint8_t* bytes, int sz) { } uint32_t RadioLibWrapper::getEstAirtimeFor(int len_bytes) { - uint8_t sf = getSpreadingFactor(); - if (sf != _preamble_sf) { - _preamble_sf = sf; - _radio->setPreambleLength(preambleLengthForSF(sf)); // sync preamble before airtime estimate - } return _radio->getTimeOnAir(len_bytes) / 1000; } bool RadioLibWrapper::startSendRaw(const uint8_t* bytes, int len) { _board->onBeforeTransmit(); - uint8_t sf = getSpreadingFactor(); - if (sf != _preamble_sf) { - _preamble_sf = sf; - _radio->setPreambleLength(preambleLengthForSF(sf)); // update preamble when SF has changed - } int err = _radio->startTransmit((uint8_t *) bytes, len); if (err == RADIOLIB_ERR_NONE) { state = STATE_TX_WAIT; diff --git a/src/helpers/radiolib/RadioLibWrappers.h b/src/helpers/radiolib/RadioLibWrappers.h index 8e266dee..66c8aa62 100644 --- a/src/helpers/radiolib/RadioLibWrappers.h +++ b/src/helpers/radiolib/RadioLibWrappers.h @@ -41,6 +41,7 @@ public: virtual float getCurrentRSSI() =0; virtual uint8_t getSpreadingFactor() const { return LORA_SF; } static uint16_t preambleLengthForSF(uint8_t sf) { return sf <= 8 ? 32 : 16; } + void updatePreamble(uint8_t sf) { _preamble_sf = sf; _radio->setPreambleLength(preambleLengthForSF(sf)); } int getNoiseFloor() const override { return _noise_floor; } void triggerNoiseFloorCalibrate(int threshold) override; diff --git a/variants/ebyte_eora_s3/target.cpp b/variants/ebyte_eora_s3/target.cpp index 501f560b..9e656cc2 100644 --- a/variants/ebyte_eora_s3/target.cpp +++ b/variants/ebyte_eora_s3/target.cpp @@ -73,6 +73,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/generic-e22/target.cpp b/variants/generic-e22/target.cpp index f76bb979..6ec1915f 100644 --- a/variants/generic-e22/target.cpp +++ b/variants/generic-e22/target.cpp @@ -36,6 +36,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/heltec_ct62/target.cpp b/variants/heltec_ct62/target.cpp index 5cc621a1..fad39a27 100644 --- a/variants/heltec_ct62/target.cpp +++ b/variants/heltec_ct62/target.cpp @@ -25,6 +25,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/heltec_e213/target.cpp b/variants/heltec_e213/target.cpp index c9233431..70b6ee35 100644 --- a/variants/heltec_e213/target.cpp +++ b/variants/heltec_e213/target.cpp @@ -42,6 +42,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/heltec_e290/target.cpp b/variants/heltec_e290/target.cpp index b0c9630c..856ea0af 100644 --- a/variants/heltec_e290/target.cpp +++ b/variants/heltec_e290/target.cpp @@ -42,6 +42,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/heltec_mesh_solar/target.cpp b/variants/heltec_mesh_solar/target.cpp index 9852b68f..776f5813 100644 --- a/variants/heltec_mesh_solar/target.cpp +++ b/variants/heltec_mesh_solar/target.cpp @@ -32,6 +32,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/heltec_t114/target.cpp b/variants/heltec_t114/target.cpp index 6a30a4d1..36587177 100644 --- a/variants/heltec_t114/target.cpp +++ b/variants/heltec_t114/target.cpp @@ -52,6 +52,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/heltec_t190/target.cpp b/variants/heltec_t190/target.cpp index d22f8b8c..c39ca35c 100644 --- a/variants/heltec_t190/target.cpp +++ b/variants/heltec_t190/target.cpp @@ -42,6 +42,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/heltec_tracker/target.cpp b/variants/heltec_tracker/target.cpp index f801bacb..95cd9c9b 100644 --- a/variants/heltec_tracker/target.cpp +++ b/variants/heltec_tracker/target.cpp @@ -46,6 +46,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/heltec_tracker_v2/target.cpp b/variants/heltec_tracker_v2/target.cpp index c2e26b20..11ae4a60 100644 --- a/variants/heltec_tracker_v2/target.cpp +++ b/variants/heltec_tracker_v2/target.cpp @@ -48,6 +48,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/heltec_v2/target.cpp b/variants/heltec_v2/target.cpp index c5a04752..b29f04e4 100644 --- a/variants/heltec_v2/target.cpp +++ b/variants/heltec_v2/target.cpp @@ -41,6 +41,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/heltec_v3/target.cpp b/variants/heltec_v3/target.cpp index cdd2535e..bedd737c 100644 --- a/variants/heltec_v3/target.cpp +++ b/variants/heltec_v3/target.cpp @@ -48,6 +48,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/heltec_v4/target.cpp b/variants/heltec_v4/target.cpp index 54fc05e8..242ad606 100644 --- a/variants/heltec_v4/target.cpp +++ b/variants/heltec_v4/target.cpp @@ -48,6 +48,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/heltec_wireless_paper/target.cpp b/variants/heltec_wireless_paper/target.cpp index 06f548fc..4455435f 100644 --- a/variants/heltec_wireless_paper/target.cpp +++ b/variants/heltec_wireless_paper/target.cpp @@ -41,6 +41,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/ikoka_handheld_nrf/target.cpp b/variants/ikoka_handheld_nrf/target.cpp index 48244e17..5d7e8b3f 100644 --- a/variants/ikoka_handheld_nrf/target.cpp +++ b/variants/ikoka_handheld_nrf/target.cpp @@ -34,6 +34,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/ikoka_nano_nrf/target.cpp b/variants/ikoka_nano_nrf/target.cpp index be20cfb4..ca128f7c 100644 --- a/variants/ikoka_nano_nrf/target.cpp +++ b/variants/ikoka_nano_nrf/target.cpp @@ -32,6 +32,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/ikoka_stick_nrf/target.cpp b/variants/ikoka_stick_nrf/target.cpp index 4f6befc6..6b48be67 100644 --- a/variants/ikoka_stick_nrf/target.cpp +++ b/variants/ikoka_stick_nrf/target.cpp @@ -32,6 +32,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/keepteen_lt1/target.cpp b/variants/keepteen_lt1/target.cpp index e2e183a7..4cc16496 100644 --- a/variants/keepteen_lt1/target.cpp +++ b/variants/keepteen_lt1/target.cpp @@ -38,6 +38,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/lilygo_t3s3/target.cpp b/variants/lilygo_t3s3/target.cpp index 28481188..e3fb363c 100644 --- a/variants/lilygo_t3s3/target.cpp +++ b/variants/lilygo_t3s3/target.cpp @@ -36,6 +36,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/lilygo_t3s3_sx1276/target.cpp b/variants/lilygo_t3s3_sx1276/target.cpp index e7fe07a0..a62724fb 100644 --- a/variants/lilygo_t3s3_sx1276/target.cpp +++ b/variants/lilygo_t3s3_sx1276/target.cpp @@ -42,6 +42,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/lilygo_tbeam_1w/target.cpp b/variants/lilygo_tbeam_1w/target.cpp index 8cb6bdfa..22f98cd9 100644 --- a/variants/lilygo_tbeam_1w/target.cpp +++ b/variants/lilygo_tbeam_1w/target.cpp @@ -52,6 +52,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/lilygo_tbeam_SX1262/target.cpp b/variants/lilygo_tbeam_SX1262/target.cpp index f85049d7..11ceaf74 100644 --- a/variants/lilygo_tbeam_SX1262/target.cpp +++ b/variants/lilygo_tbeam_SX1262/target.cpp @@ -43,6 +43,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/lilygo_tbeam_SX1276/target.cpp b/variants/lilygo_tbeam_SX1276/target.cpp index 5fe82e11..fca380f1 100644 --- a/variants/lilygo_tbeam_SX1276/target.cpp +++ b/variants/lilygo_tbeam_SX1276/target.cpp @@ -48,6 +48,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/lilygo_tbeam_supreme_SX1262/target.cpp b/variants/lilygo_tbeam_supreme_SX1262/target.cpp index 6fec6f58..a47e23c4 100644 --- a/variants/lilygo_tbeam_supreme_SX1262/target.cpp +++ b/variants/lilygo_tbeam_supreme_SX1262/target.cpp @@ -40,6 +40,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/lilygo_tdeck/target.cpp b/variants/lilygo_tdeck/target.cpp index 731ecfd8..0e36206d 100644 --- a/variants/lilygo_tdeck/target.cpp +++ b/variants/lilygo_tdeck/target.cpp @@ -43,6 +43,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/lilygo_techo/target.cpp b/variants/lilygo_techo/target.cpp index 12d222ff..7db5079d 100644 --- a/variants/lilygo_techo/target.cpp +++ b/variants/lilygo_techo/target.cpp @@ -40,6 +40,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/lilygo_techo_lite/target.cpp b/variants/lilygo_techo_lite/target.cpp index 40a94526..b4240dd2 100644 --- a/variants/lilygo_techo_lite/target.cpp +++ b/variants/lilygo_techo_lite/target.cpp @@ -39,6 +39,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/lilygo_tlora_c6/target.cpp b/variants/lilygo_tlora_c6/target.cpp index 3566fbe4..5a1a545d 100644 --- a/variants/lilygo_tlora_c6/target.cpp +++ b/variants/lilygo_tlora_c6/target.cpp @@ -36,6 +36,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/lilygo_tlora_v2_1/target.cpp b/variants/lilygo_tlora_v2_1/target.cpp index ead62e79..3a14abd0 100644 --- a/variants/lilygo_tlora_v2_1/target.cpp +++ b/variants/lilygo_tlora_v2_1/target.cpp @@ -37,6 +37,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/m5stack_unit_c6l/UnitC6LBoard.cpp b/variants/m5stack_unit_c6l/UnitC6LBoard.cpp index 6538ef48..9a71d9a8 100644 --- a/variants/m5stack_unit_c6l/UnitC6LBoard.cpp +++ b/variants/m5stack_unit_c6l/UnitC6LBoard.cpp @@ -37,6 +37,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(uint8_t dbm) { diff --git a/variants/mesh_pocket/target.cpp b/variants/mesh_pocket/target.cpp index 6fabb317..ee01f668 100644 --- a/variants/mesh_pocket/target.cpp +++ b/variants/mesh_pocket/target.cpp @@ -32,6 +32,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/meshadventurer/target.cpp b/variants/meshadventurer/target.cpp index 0edd4403..ddcb29eb 100644 --- a/variants/meshadventurer/target.cpp +++ b/variants/meshadventurer/target.cpp @@ -39,6 +39,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/meshtiny/target.cpp b/variants/meshtiny/target.cpp index 9188db17..ad57feb9 100644 --- a/variants/meshtiny/target.cpp +++ b/variants/meshtiny/target.cpp @@ -35,6 +35,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/minewsemi_me25ls01/target.cpp b/variants/minewsemi_me25ls01/target.cpp index fcec1941..c67663d6 100644 --- a/variants/minewsemi_me25ls01/target.cpp +++ b/variants/minewsemi_me25ls01/target.cpp @@ -86,6 +86,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/nano_g2_ultra/target.cpp b/variants/nano_g2_ultra/target.cpp index aad10c50..b7b77f19 100644 --- a/variants/nano_g2_ultra/target.cpp +++ b/variants/nano_g2_ultra/target.cpp @@ -34,6 +34,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/nibble_screen_connect/target.cpp b/variants/nibble_screen_connect/target.cpp index 6edaaad7..9cebae0d 100644 --- a/variants/nibble_screen_connect/target.cpp +++ b/variants/nibble_screen_connect/target.cpp @@ -36,6 +36,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/promicro/target.cpp b/variants/promicro/target.cpp index 61eab91c..5db29f28 100644 --- a/variants/promicro/target.cpp +++ b/variants/promicro/target.cpp @@ -38,6 +38,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/rak11310/target.cpp b/variants/rak11310/target.cpp index 67432998..f0cb3e61 100644 --- a/variants/rak11310/target.cpp +++ b/variants/rak11310/target.cpp @@ -27,6 +27,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/rak3112/target.cpp b/variants/rak3112/target.cpp index 6cddfce5..61b2201e 100644 --- a/variants/rak3112/target.cpp +++ b/variants/rak3112/target.cpp @@ -48,6 +48,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/rak3401/target.cpp b/variants/rak3401/target.cpp index ec4fc28c..e9ae88df 100644 --- a/variants/rak3401/target.cpp +++ b/variants/rak3401/target.cpp @@ -46,6 +46,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/rak3x72/target.cpp b/variants/rak3x72/target.cpp index 48e7f422..161c0145 100644 --- a/variants/rak3x72/target.cpp +++ b/variants/rak3x72/target.cpp @@ -64,6 +64,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/rak4631/target.cpp b/variants/rak4631/target.cpp index ea6a2bd4..4d6ff30b 100644 --- a/variants/rak4631/target.cpp +++ b/variants/rak4631/target.cpp @@ -46,6 +46,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/rak_wismesh_tag/target.cpp b/variants/rak_wismesh_tag/target.cpp index 9646375e..284aa40e 100644 --- a/variants/rak_wismesh_tag/target.cpp +++ b/variants/rak_wismesh_tag/target.cpp @@ -42,6 +42,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/rpi_picow/target.cpp b/variants/rpi_picow/target.cpp index e3d4bf09..87583553 100644 --- a/variants/rpi_picow/target.cpp +++ b/variants/rpi_picow/target.cpp @@ -27,6 +27,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/sensecap_solar/target.cpp b/variants/sensecap_solar/target.cpp index 2c2ff0dc..8a2bad06 100644 --- a/variants/sensecap_solar/target.cpp +++ b/variants/sensecap_solar/target.cpp @@ -27,6 +27,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/station_g2/target.cpp b/variants/station_g2/target.cpp index 026b25de..dd74ae41 100644 --- a/variants/station_g2/target.cpp +++ b/variants/station_g2/target.cpp @@ -49,6 +49,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/t1000-e/target.cpp b/variants/t1000-e/target.cpp index da8fa48b..bbf453ca 100644 --- a/variants/t1000-e/target.cpp +++ b/variants/t1000-e/target.cpp @@ -83,6 +83,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/tenstar_c3/target.cpp b/variants/tenstar_c3/target.cpp index d4f189b5..2b7aa00c 100644 --- a/variants/tenstar_c3/target.cpp +++ b/variants/tenstar_c3/target.cpp @@ -36,6 +36,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/thinknode_m1/target.cpp b/variants/thinknode_m1/target.cpp index ec2438d4..83c9f7e3 100644 --- a/variants/thinknode_m1/target.cpp +++ b/variants/thinknode_m1/target.cpp @@ -33,6 +33,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/thinknode_m2/target.cpp b/variants/thinknode_m2/target.cpp index e7e36d05..a7b873a6 100644 --- a/variants/thinknode_m2/target.cpp +++ b/variants/thinknode_m2/target.cpp @@ -44,6 +44,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/thinknode_m3/target.cpp b/variants/thinknode_m3/target.cpp index ca2b0aa0..547584ea 100644 --- a/variants/thinknode_m3/target.cpp +++ b/variants/thinknode_m3/target.cpp @@ -87,6 +87,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/thinknode_m5/target.cpp b/variants/thinknode_m5/target.cpp index a7a049ef..f617e0e4 100644 --- a/variants/thinknode_m5/target.cpp +++ b/variants/thinknode_m5/target.cpp @@ -51,6 +51,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/thinknode_m6/target.cpp b/variants/thinknode_m6/target.cpp index 36ca8618..346e9c2d 100644 --- a/variants/thinknode_m6/target.cpp +++ b/variants/thinknode_m6/target.cpp @@ -37,6 +37,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/tiny_relay/target.cpp b/variants/tiny_relay/target.cpp index 313dfaa9..c05f552e 100644 --- a/variants/tiny_relay/target.cpp +++ b/variants/tiny_relay/target.cpp @@ -68,6 +68,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) diff --git a/variants/waveshare_rp2040_lora/target.cpp b/variants/waveshare_rp2040_lora/target.cpp index a9121b0c..9773f9b5 100644 --- a/variants/waveshare_rp2040_lora/target.cpp +++ b/variants/waveshare_rp2040_lora/target.cpp @@ -37,6 +37,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/wio-e5-dev/target.cpp b/variants/wio-e5-dev/target.cpp index 3e59b6ce..8d8069eb 100644 --- a/variants/wio-e5-dev/target.cpp +++ b/variants/wio-e5-dev/target.cpp @@ -61,6 +61,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/wio-e5-mini/target.cpp b/variants/wio-e5-mini/target.cpp index 2e95ad6d..338f398d 100644 --- a/variants/wio-e5-mini/target.cpp +++ b/variants/wio-e5-mini/target.cpp @@ -59,6 +59,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/wio-tracker-l1/target.cpp b/variants/wio-tracker-l1/target.cpp index 4575a76c..40bf61ae 100644 --- a/variants/wio-tracker-l1/target.cpp +++ b/variants/wio-tracker-l1/target.cpp @@ -42,6 +42,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/wio_wm1110/target.cpp b/variants/wio_wm1110/target.cpp index 457d5bda..9be3061c 100644 --- a/variants/wio_wm1110/target.cpp +++ b/variants/wio_wm1110/target.cpp @@ -79,6 +79,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/xiao_c3/target.cpp b/variants/xiao_c3/target.cpp index f8ee3d92..ee0fc049 100644 --- a/variants/xiao_c3/target.cpp +++ b/variants/xiao_c3/target.cpp @@ -44,6 +44,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/xiao_c6/XiaoC6Board.cpp b/variants/xiao_c6/XiaoC6Board.cpp index 5710c4cc..dc62c20e 100644 --- a/variants/xiao_c6/XiaoC6Board.cpp +++ b/variants/xiao_c6/XiaoC6Board.cpp @@ -37,6 +37,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/xiao_nrf52/target.cpp b/variants/xiao_nrf52/target.cpp index a8f4162e..1236b935 100644 --- a/variants/xiao_nrf52/target.cpp +++ b/variants/xiao_nrf52/target.cpp @@ -32,6 +32,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/xiao_rp2040/target.cpp b/variants/xiao_rp2040/target.cpp index 6c9a9143..8a0f6508 100644 --- a/variants/xiao_rp2040/target.cpp +++ b/variants/xiao_rp2040/target.cpp @@ -37,6 +37,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) { diff --git a/variants/xiao_s3_wio/target.cpp b/variants/xiao_s3_wio/target.cpp index 50981ab6..82f870a9 100644 --- a/variants/xiao_s3_wio/target.cpp +++ b/variants/xiao_s3_wio/target.cpp @@ -44,6 +44,7 @@ void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { radio.setSpreadingFactor(sf); radio.setBandwidth(bw); radio.setCodingRate(cr); + radio_driver.updatePreamble(sf); } void radio_set_tx_power(int8_t dbm) {