diff --git a/src/CHANGES.md b/src/CHANGES.md index c81162ad..e55fc198 100644 --- a/src/CHANGES.md +++ b/src/CHANGES.md @@ -4,6 +4,8 @@ * removed `delay` from ePaper * started improvements of `/system` * fix LEDs to check all configured inverters +* send loop skip disabled inverters fix +* print generated DTU SN to console ## 0.7.45 - 2023-08-29 * change ePaper text to symbols PR #1131 diff --git a/src/app.cpp b/src/app.cpp index 15fc432c..ca33a895 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -454,24 +454,26 @@ void app::tickSend(void) { int8_t maxLoop = MAX_NUM_INVERTERS; Inverter<> *iv = mSys.getInverterByPos(mSendLastIvId); do { - mSendLastIvId = ((MAX_NUM_INVERTERS - 1) == mSendLastIvId) ? 0 : mSendLastIvId + 1; - iv = mSys.getInverterByPos(mSendLastIvId); - } while ((NULL == iv) && ((maxLoop--) > 0)); + do { + mSendLastIvId = ((MAX_NUM_INVERTERS - 1) == mSendLastIvId) ? 0 : mSendLastIvId + 1; + iv = mSys.getInverterByPos(mSendLastIvId); + } while ((NULL == iv) && ((maxLoop--) > 0)); + } while((!iv->config->enabled) && (maxLoop > 0)); if (NULL != iv) { if (iv->config->enabled) { if(mConfig->nrf.enabled) { - if (iv->ivGen == IV_HM) - mPayload.ivSend(iv); - else if(iv->ivGen == IV_MI) - mMiPayload.ivSend(iv); - } - #if defined(ESP32) - if(mConfig->cmt.enabled) { - if((iv->ivGen == IV_HMS) || (iv->ivGen == IV_HMT)) - mHmsPayload.ivSend(iv); - } - #endif + if (iv->ivGen == IV_HM) + mPayload.ivSend(iv); + else if(iv->ivGen == IV_MI) + mMiPayload.ivSend(iv); + } + #if defined(ESP32) + if(mConfig->cmt.enabled) { + if((iv->ivGen == IV_HMS) || (iv->ivGen == IV_HMT)) + mHmsPayload.ivSend(iv); + } + #endif } } } else { diff --git a/src/hm/hmRadio.h b/src/hm/hmRadio.h index 0b5feea5..ee037adb 100644 --- a/src/hm/hmRadio.h +++ b/src/hm/hmRadio.h @@ -32,7 +32,7 @@ class HmRadio { public: HmRadio() : mNrf24(CE_PIN, CS_PIN, SPI_SPEED) { if(mSerialDebug) { - DPRINT(DBG_VERBOSE, F("hmRadio.h : HmRadio():mNrf24(CE_PIN: ")); + DPRINT(DBG_VERBOSE, F("hmRadio.h : HmRadio():mNrf24(CE_PIN: ")); DBGPRINT(String(CE_PIN)); DBGPRINT(F(", CS_PIN: ")); DBGPRINT(String(CS_PIN)); @@ -117,8 +117,9 @@ class HmRadio { if(mNrf24.isChipConnected()) { DPRINTLN(DBG_INFO, F("Radio Config:")); mNrf24.printPrettyDetails(); - } - else + DPRINT(DBG_INFO, F("DTU_SN: 0x")); + DBGPRINTLN(String(DTU_RADIO_ID, HEX)); + } else DPRINTLN(DBG_WARN, F("WARNING! your NRF24 module can't be reached, check the wiring")); }