Browse Source

fix: adapt to upstream dev API changes (setParams, getSpreadingFactor)

pull/2739/head
Your Name 2 months ago
parent
commit
06961148f1
  1. 15
      src/helpers/radiolib/CustomLR2021Wrapper.h
  2. 11
      variants/nicerf_lr2021/target.cpp
  3. 3
      variants/nicerf_lr2021/target.h

15
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);

11
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);

3
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();

Loading…
Cancel
Save