diff --git a/lib/Hoymiles/src/HoymilesRadio.cpp b/lib/Hoymiles/src/HoymilesRadio.cpp index 53a8d79..dbd6515 100644 --- a/lib/Hoymiles/src/HoymilesRadio.cpp +++ b/lib/Hoymiles/src/HoymilesRadio.cpp @@ -155,14 +155,14 @@ void ARDUINO_ISR_ATTR HoymilesRadio::handleIntr() uint8_t HoymilesRadio::getRxNxtChannel() { - if (++_rxChIdx >= 4) + if (++_rxChIdx >= sizeof(_rxChLst)) _rxChIdx = 0; return _rxChLst[_rxChIdx]; } uint8_t HoymilesRadio::getTxNxtChannel() { - if (++_txChIdx >= 1) + if (++_txChIdx >= sizeof(_txChLst)) _txChIdx = 0; return _txChLst[_txChIdx]; } diff --git a/lib/Hoymiles/src/HoymilesRadio.h b/lib/Hoymiles/src/HoymilesRadio.h index 18e5a0e..8e883a4 100644 --- a/lib/Hoymiles/src/HoymilesRadio.h +++ b/lib/Hoymiles/src/HoymilesRadio.h @@ -11,8 +11,6 @@ // number of fragments hold in buffer #define FRAGMENT_BUFFER_SIZE 30 - - class HoymilesRadio { public: void init(); @@ -42,7 +40,7 @@ private: void u32CpyLittleEndian(uint8_t dest[], uint32_t src); std::unique_ptr _radio; - uint8_t _rxChLst[4] = { 3, 23, 61, 75 }; + uint8_t _rxChLst[5] = { 3, 23, 40, 61, 75 }; uint8_t _rxChIdx; uint8_t _txChLst[1] = { 40 };