|
|
@ -6,29 +6,54 @@ |
|
|
|
|
|
|
|
|
class CustomLR1121Wrapper : public RadioLibWrapper { |
|
|
class CustomLR1121Wrapper : public RadioLibWrapper { |
|
|
public: |
|
|
public: |
|
|
CustomLR1121Wrapper(CustomLR1121& radio, mesh::MainBoard& board) : RadioLibWrapper(radio, board) { } |
|
|
CustomLR1121Wrapper(CustomLR1121& radio, mesh::MainBoard& board) |
|
|
void doResetAGC() override { lr11x0ResetAGC((LR11x0 *)_radio, ((CustomLR1121 *)_radio)->getFreqMHz()); } |
|
|
: RadioLibWrapper(radio, board) { } |
|
|
bool isReceivingPacket() override { |
|
|
|
|
|
return ((CustomLR1121 *)_radio)->isReceiving(); |
|
|
void setParams(float freq, float bw, uint8_t sf, uint8_t cr) override { |
|
|
|
|
|
auto* r = (CustomLR1121*)_radio; |
|
|
|
|
|
r->setFrequency(freq); |
|
|
|
|
|
r->setSpreadingFactor(sf); |
|
|
|
|
|
r->setBandwidth(bw); |
|
|
|
|
|
r->setCodingRate(cr); |
|
|
|
|
|
updatePreamble(sf); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
uint8_t getSpreadingFactor() const override { |
|
|
|
|
|
return ((CustomLR1121*)_radio)->getSpreadingFactor(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void doResetAGC() override { |
|
|
|
|
|
lr11x0ResetAGC((LR11x0*)_radio, ((CustomLR1121*)_radio)->getFreqMHz()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
bool isReceivingPacket() override { |
|
|
|
|
|
return ((CustomLR1121*)_radio)->isReceiving(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
float getCurrentRSSI() override { |
|
|
float getCurrentRSSI() override { |
|
|
float rssi = -110; |
|
|
float rssi = -110; |
|
|
((CustomLR1121 *)_radio)->getRssiInst(&rssi); |
|
|
((CustomLR1121*)_radio)->getRssiInst(&rssi); |
|
|
return rssi; |
|
|
return rssi; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void onSendFinished() override { |
|
|
void onSendFinished() override { |
|
|
RadioLibWrapper::onSendFinished(); |
|
|
RadioLibWrapper::onSendFinished(); |
|
|
_radio->setPreambleLength(16); // overcomes weird issues with small and big pkts
|
|
|
_radio->setPreambleLength(16); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
float getLastRSSI() const override { |
|
|
|
|
|
return ((CustomLR1121*)_radio)->getRSSI(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
float getLastSNR() const override { |
|
|
|
|
|
return ((CustomLR1121*)_radio)->getSNR(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
float getLastRSSI() const override { return ((CustomLR1121 *)_radio)->getRSSI(); } |
|
|
|
|
|
float getLastSNR() const override { return ((CustomLR1121 *)_radio)->getSNR(); } |
|
|
|
|
|
|
|
|
|
|
|
void setRxBoostedGainMode(bool en) override { |
|
|
void setRxBoostedGainMode(bool en) override { |
|
|
((CustomLR1121 *)_radio)->setRxBoostedGainMode(en); |
|
|
((CustomLR1121*)_radio)->setRxBoostedGainMode(en); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
bool getRxBoostedGainMode() const override { |
|
|
bool getRxBoostedGainMode() const override { |
|
|
return ((CustomLR1121 *)_radio)->getRxBoostedGainMode(); |
|
|
return ((CustomLR1121*)_radio)->getRxBoostedGainMode(); |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
|