Browse Source
Merge pull request #1954 from OverkillFPV/lora-longer-preamble
Lora longer preamble
pull/2452/head
Liam Cottle
1 month ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
73 changed files with
81 additions and
2 deletions
-
src/helpers/radiolib/CustomLLCC68Wrapper.h
-
src/helpers/radiolib/CustomLR1110.h
-
src/helpers/radiolib/CustomLR1110Wrapper.h
-
src/helpers/radiolib/CustomSTM32WLxWrapper.h
-
src/helpers/radiolib/CustomSX1262Wrapper.h
-
src/helpers/radiolib/CustomSX1268Wrapper.h
-
src/helpers/radiolib/CustomSX1276Wrapper.h
-
src/helpers/radiolib/RadioLibWrappers.cpp
-
src/helpers/radiolib/RadioLibWrappers.h
-
variants/ebyte_eora_s3/target.cpp
-
variants/generic-e22/target.cpp
-
variants/heltec_ct62/target.cpp
-
variants/heltec_e213/target.cpp
-
variants/heltec_e290/target.cpp
-
variants/heltec_mesh_solar/target.cpp
-
variants/heltec_t114/target.cpp
-
variants/heltec_t190/target.cpp
-
variants/heltec_tracker/target.cpp
-
variants/heltec_tracker_v2/target.cpp
-
variants/heltec_v2/target.cpp
-
variants/heltec_v3/target.cpp
-
variants/heltec_v4/target.cpp
-
variants/heltec_wireless_paper/target.cpp
-
variants/ikoka_handheld_nrf/target.cpp
-
variants/ikoka_nano_nrf/target.cpp
-
variants/ikoka_stick_nrf/target.cpp
-
variants/keepteen_lt1/target.cpp
-
variants/lilygo_t3s3/target.cpp
-
variants/lilygo_t3s3_sx1276/target.cpp
-
variants/lilygo_tbeam_1w/target.cpp
-
variants/lilygo_tbeam_SX1262/target.cpp
-
variants/lilygo_tbeam_SX1276/target.cpp
-
variants/lilygo_tbeam_supreme_SX1262/target.cpp
-
variants/lilygo_tdeck/target.cpp
-
variants/lilygo_techo/target.cpp
-
variants/lilygo_techo_lite/target.cpp
-
variants/lilygo_tlora_c6/target.cpp
-
variants/lilygo_tlora_v2_1/target.cpp
-
variants/m5stack_unit_c6l/UnitC6LBoard.cpp
-
variants/mesh_pocket/target.cpp
-
variants/meshadventurer/target.cpp
-
variants/meshtiny/target.cpp
-
variants/minewsemi_me25ls01/target.cpp
-
variants/nano_g2_ultra/target.cpp
-
variants/nibble_screen_connect/target.cpp
-
variants/promicro/target.cpp
-
variants/rak11310/target.cpp
-
variants/rak3112/target.cpp
-
variants/rak3401/target.cpp
-
variants/rak3x72/target.cpp
-
variants/rak4631/target.cpp
-
variants/rak_wismesh_tag/target.cpp
-
variants/rpi_picow/target.cpp
-
variants/sensecap_solar/target.cpp
-
variants/station_g2/target.cpp
-
variants/t1000-e/target.cpp
-
variants/tenstar_c3/target.cpp
-
variants/thinknode_m1/target.cpp
-
variants/thinknode_m2/target.cpp
-
variants/thinknode_m3/target.cpp
-
variants/thinknode_m5/target.cpp
-
variants/thinknode_m6/target.cpp
-
variants/tiny_relay/target.cpp
-
variants/waveshare_rp2040_lora/target.cpp
-
variants/wio-e5-dev/target.cpp
-
variants/wio-e5-mini/target.cpp
-
variants/wio-tracker-l1/target.cpp
-
variants/wio_wm1110/target.cpp
-
variants/xiao_c3/target.cpp
-
variants/xiao_c6/XiaoC6Board.cpp
-
variants/xiao_nrf52/target.cpp
-
variants/xiao_rp2040/target.cpp
-
variants/xiao_s3_wio/target.cpp
|
|
|
@ -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); } |
|
|
|
|
|
|
|
|
|
|
|
@ -36,4 +36,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; } |
|
|
|
}; |
|
|
|
@ -19,12 +19,14 @@ public: |
|
|
|
|
|
|
|
void onSendFinished() override { |
|
|
|
RadioLibWrapper::onSendFinished(); |
|
|
|
_radio->setPreambleLength(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(); } |
|
|
|
float getLastSNR() const override { return ((CustomLR1110 *)_radio)->getSNR(); } |
|
|
|
|
|
|
|
uint8_t getSpreadingFactor() const override { return ((CustomLR1110 *)_radio)->getSpreadingFactor(); } |
|
|
|
|
|
|
|
void setRxBoostedGainMode(bool en) override { |
|
|
|
((CustomLR1110 *)_radio)->setRxBoostedGainMode(en); |
|
|
|
} |
|
|
|
|
|
|
|
@ -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); } |
|
|
|
}; |
|
|
|
|
|
|
|
@ -24,6 +24,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); |
|
|
|
} |
|
|
|
|
|
|
|
@ -24,6 +24,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); } |
|
|
|
|
|
|
|
|
|
|
|
@ -23,4 +23,5 @@ public: |
|
|
|
int sf = ((CustomSX1276 *)_radio)->spreadingFactor; |
|
|
|
return packetScoreInt(snr, sf, packet_len); |
|
|
|
} |
|
|
|
uint8_t getSpreadingFactor() const override { return ((CustomSX1276 *)_radio)->spreadingFactor; } |
|
|
|
}; |
|
|
|
|
|
|
|
@ -26,6 +26,8 @@ void setFlag(void) { |
|
|
|
|
|
|
|
void RadioLibWrapper::begin() { |
|
|
|
_radio->setPacketReceivedAction(setFlag); // this is also SentComplete interrupt
|
|
|
|
_preamble_sf = getSpreadingFactor(); |
|
|
|
_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)
|
|
|
|
|
|
|
|
@ -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(); } |
|
|
|
@ -38,6 +39,9 @@ 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; |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|
|
|
|
@ -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) { |
|
|
|
|