Do not clear dio action if it is not set

platformio
sh123 2022-12-10 11:20:19 +02:00
rodzic d3d74f3f33
commit 65c3eb7481
2 zmienionych plików z 6 dodań i 2 usunięć

Wyświetl plik

@ -12,6 +12,7 @@ Service::Service()
, csmaSlotTime_(CfgCsmaSlotTimeMs) , csmaSlotTime_(CfgCsmaSlotTimeMs)
, csmaSlotTimePrev_(0) , csmaSlotTimePrev_(0)
, rigCurrentTxPacketSize_(0) , rigCurrentTxPacketSize_(0)
, isIsrInstalled_(false)
, serialBt_() , serialBt_()
, serialBLE_() , serialBLE_()
, kissServer_(new WiFiServer(CfgKissPort)) , kissServer_(new WiFiServer(CfgKissPort))
@ -226,13 +227,15 @@ void Service::setupRig(long loraFreq, long bw, int sf, int cr, int pwr, int sync
#pragma message("Using SX126X") #pragma message("Using SX126X")
LOG_INFO("Using SX126X module"); LOG_INFO("Using SX126X module");
rig_->setRfSwitchPins(config_.LoraPinSwitchRx, config_.LoraPinSwitchTx); rig_->setRfSwitchPins(config_.LoraPinSwitchRx, config_.LoraPinSwitchTx);
rig_->clearDio1Action(); if (isIsrInstalled_) rig_->clearDio1Action();
rig_->setDio1Action(onRigIsrRxPacket); rig_->setDio1Action(onRigIsrRxPacket);
isIsrInstalled_ = true;
#else #else
#pragma message("Using SX127X") #pragma message("Using SX127X")
LOG_INFO("Using SX127X module"); LOG_INFO("Using SX127X module");
radio_->clearDio0Action(); if (isIsrInstalled_) radio_->clearDio0Action();
radio_->setDio0Action(onRigIsrRxPacket); radio_->setDio0Action(onRigIsrRxPacket);
isIsrInstalled_ = true;
#endif #endif
if (rigIsImplicitMode_) { if (rigIsImplicitMode_) {

Wyświetl plik

@ -154,6 +154,7 @@ private:
static volatile bool rigIsRxIsrEnabled_; static volatile bool rigIsRxIsrEnabled_;
bool rigIsImplicitMode_; bool rigIsImplicitMode_;
int rigCurrentTxPacketSize_; int rigCurrentTxPacketSize_;
bool isIsrInstalled_;
CircularBuffer<uint8_t, CfgRadioQueueSize> rigTxQueue_; CircularBuffer<uint8_t, CfgRadioQueueSize> rigTxQueue_;
CircularBuffer<uint8_t, CfgRadioQueueSize> rigTxQueueIndex_; CircularBuffer<uint8_t, CfgRadioQueueSize> rigTxQueueIndex_;
std::shared_ptr<MODULE_NAME> rig_; std::shared_ptr<MODULE_NAME> rig_;