Fix crash if radio settings where changed while the radio was not initialized
This commit is contained in:
parent
de2b7ab2d2
commit
83c623708f
@ -40,13 +40,8 @@ void HoymilesClass::initCMT(int8_t pin_sdio, int8_t pin_clk, int8_t pin_cs, int8
|
||||
void HoymilesClass::loop()
|
||||
{
|
||||
HOY_SEMAPHORE_TAKE();
|
||||
if (_radioNrf->isInitialized()) {
|
||||
_radioNrf->loop();
|
||||
}
|
||||
|
||||
if (_radioCmt->isInitialized()) {
|
||||
_radioCmt->loop();
|
||||
}
|
||||
|
||||
if (getNumInverters() > 0) {
|
||||
if (millis() - _lastPoll > (_pollInterval * 1000)) {
|
||||
|
||||
@ -357,6 +357,9 @@ void HoymilesRadio_CMT::init(int8_t pin_sdio, int8_t pin_clk, int8_t pin_cs, int
|
||||
|
||||
void HoymilesRadio_CMT::loop()
|
||||
{
|
||||
if (!_isInitialized) {
|
||||
return;
|
||||
}
|
||||
enumCMTresult mCMTstate = cmtProcess();
|
||||
|
||||
if (mCMTstate != CMT_RX_DONE) { // Perform package parsing only if no packages are received
|
||||
@ -450,6 +453,9 @@ void HoymilesRadio_CMT::loop()
|
||||
|
||||
bool HoymilesRadio_CMT::isConnected()
|
||||
{
|
||||
if (!_isInitialized) {
|
||||
return false;
|
||||
}
|
||||
return _ChipConnected;
|
||||
}
|
||||
|
||||
|
||||
@ -38,6 +38,10 @@ void HoymilesRadio_NRF::init(SPIClass* initialisedSpiBus, uint8_t pinCE, uint8_t
|
||||
|
||||
void HoymilesRadio_NRF::loop()
|
||||
{
|
||||
if (!_isInitialized) {
|
||||
return;
|
||||
}
|
||||
|
||||
EVERY_N_MILLIS(4)
|
||||
{
|
||||
switchRxCh();
|
||||
@ -151,22 +155,35 @@ void HoymilesRadio_NRF::loop()
|
||||
|
||||
void HoymilesRadio_NRF::setPALevel(rf24_pa_dbm_e paLevel)
|
||||
{
|
||||
if (!_isInitialized) {
|
||||
return;
|
||||
}
|
||||
_radio->setPALevel(paLevel);
|
||||
}
|
||||
|
||||
void HoymilesRadio_NRF::setDtuSerial(uint64_t serial)
|
||||
{
|
||||
HoymilesRadio::setDtuSerial(serial);
|
||||
|
||||
if (!_isInitialized) {
|
||||
return;
|
||||
}
|
||||
openReadingPipe();
|
||||
}
|
||||
|
||||
bool HoymilesRadio_NRF::isConnected()
|
||||
{
|
||||
if (!_isInitialized) {
|
||||
return false;
|
||||
}
|
||||
return _radio->isChipConnected();
|
||||
}
|
||||
|
||||
bool HoymilesRadio_NRF::isPVariant()
|
||||
{
|
||||
if (!_isInitialized) {
|
||||
return false;
|
||||
}
|
||||
return _radio->isPVariant();
|
||||
}
|
||||
|
||||
@ -210,8 +227,6 @@ void HoymilesRadio_NRF::switchRxCh()
|
||||
_radio->startListening();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void HoymilesRadio_NRF::sendEsbPacket(CommandAbstract* cmd)
|
||||
{
|
||||
cmd->incrementSendCount();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user