diff --git a/src/helpers/radiolib/CustomLR2021Wrapper.h b/src/helpers/radiolib/CustomLR2021Wrapper.h index 91e9583a5..afa1221c1 100644 --- a/src/helpers/radiolib/CustomLR2021Wrapper.h +++ b/src/helpers/radiolib/CustomLR2021Wrapper.h @@ -8,6 +8,14 @@ public: CustomLR2021Wrapper(CustomLR2021 &radio, mesh::MainBoard &board) : RadioLibWrapper(radio, board) {} + void setParams(float freq, float bw, uint8_t sf, uint8_t cr) override { + ((CustomLR2021 *)_radio)->setFrequency(freq); + ((CustomLR2021 *)_radio)->setSpreadingFactor(sf); + ((CustomLR2021 *)_radio)->setBandwidth(bw); + ((CustomLR2021 *)_radio)->setCodingRate(cr); + updatePreamble(sf); + } + bool isReceivingPacket() override { return ((CustomLR2021 *)_radio)->isReceiving(); } @@ -20,7 +28,8 @@ public: void onSendFinished() override { RadioLibWrapper::onSendFinished(); - _radio->setPreambleLength(16); + _radio->setPreambleLength( + preambleLengthForSF(getSpreadingFactor())); } float getLastRSSI() const override { @@ -31,6 +40,10 @@ public: return ((CustomLR2021 *)_radio)->getSNR(); } + uint8_t getSpreadingFactor() const override { + return ((CustomLR2021 *)_radio)->getSpreadingFactor(); + } + float packetScore(float snr, int packet_len) override { int sf = ((CustomLR2021 *)_radio)->getSpreadingFactor(); return packetScoreInt(snr, sf, packet_len); diff --git a/variants/nicerf_lr2021/target.cpp b/variants/nicerf_lr2021/target.cpp index 000f2a565..b98ddfb8e 100644 --- a/variants/nicerf_lr2021/target.cpp +++ b/variants/nicerf_lr2021/target.cpp @@ -28,17 +28,6 @@ bool radio_init() { return radio.std_init(NULL); } -uint32_t radio_get_rng_seed() { return radio.random(0x7FFFFFFF); } - -void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr) { - radio.setFrequency(freq); - radio.setSpreadingFactor(sf); - radio.setBandwidth(bw); - radio.setCodingRate(cr); -} - -void radio_set_tx_power(int8_t dbm) { radio.setOutputPower(dbm); } - mesh::LocalIdentity radio_new_identity() { RadioNoiseListener rng(radio); return mesh::LocalIdentity(&rng); diff --git a/variants/nicerf_lr2021/target.h b/variants/nicerf_lr2021/target.h index 689e91ab7..397880c9c 100644 --- a/variants/nicerf_lr2021/target.h +++ b/variants/nicerf_lr2021/target.h @@ -14,7 +14,4 @@ extern AutoDiscoverRTCClock rtc_clock; extern EnvironmentSensorManager sensors; bool radio_init(); -uint32_t radio_get_rng_seed(); -void radio_set_params(float freq, float bw, uint8_t sf, uint8_t cr); -void radio_set_tx_power(int8_t dbm); mesh::LocalIdentity radio_new_identity();