diff --git a/src/CHANGES.md b/src/CHANGES.md index 72eea05e4..a925fdb6a 100644 --- a/src/CHANGES.md +++ b/src/CHANGES.md @@ -1,9 +1,11 @@ # Development Changes ## 0.8.14 - 2023-12-07 -* fixed decimal points for temperature (WebUI) PR #1254 -* fixed inverter statemachine available state PR #1252 -* fixed NTPUpdate and sunrise calculation #1240 #886 +* fixed decimal points for temperature (WebUI) PR #1254 #1251 +* fixed inverter statemachine available state PR #1252 #1253 +* fixed NTP update and sunrise calculation #1240 #886 +* display improvments #1248 #1247 +* fixed overflow in `hmRadio.h` #1244 ## 0.8.13 - 2023-11-28 * merge PR #1239 symbolic layout for OLED 128x64 + motion senser functionality diff --git a/src/hm/hmRadio.h b/src/hm/hmRadio.h index 18ae549e5..4c6b013ce 100644 --- a/src/hm/hmRadio.h +++ b/src/hm/hmRadio.h @@ -112,10 +112,10 @@ class HmRadio : public Radio { if(NULL == mLastIv) // prevent reading on NULL object! return; - uint32_t startMicros = micros() + 5110; - uint32_t loopMillis = millis() + 400; - while (millis() < loopMillis) { - while (micros() < startMicros) { // listen (4088us or?) 5110us to each channel + uint32_t startMicros = micros(); + uint32_t loopMillis = millis(); + while ((millis() - loopMillis) < 400) { + while ((micros() - startMicros) < 5110) { // listen (4088us or?) 5110us to each channel if (mIrqRcvd) { mIrqRcvd = false; @@ -129,7 +129,7 @@ class HmRadio : public Radio { if(++mRxChIdx >= RF_CHANNELS) mRxChIdx = 0; mNrf24.setChannel(mRfChLst[mRxChIdx]); - startMicros = micros() + 5110; + startMicros = micros(); } // not finished but time is over if(++mRxChIdx >= RF_CHANNELS)