Browse Source

fix 0 attempts in Communication

- 45ms-Problem seems to be solved
pull/1394/head
rejoe2 9 months ago
committed by GitHub
parent
commit
d7ea4bcb89
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 4
      src/hm/Communication.h
  2. 5
      src/hm/hmRadio.h

4
src/hm/Communication.h

@ -129,7 +129,7 @@ class Communication : public CommQueue<> {
break;
case States::CHECK_FRAMES: {
if((q->iv->radio->mBufCtrl.empty() && !mIsRetransmit) || (0 == q->attempts)) { // radio buffer empty or no more answers
if((q->iv->radio->mBufCtrl.empty() && !mIsRetransmit) ) { // || (0 == q->attempts)) { // radio buffer empty or no more answers
if(*mSerialDebug) {
DPRINT_IVID(DBG_INFO, q->iv->id);
DBGPRINT(F("request timeout: "));
@ -259,7 +259,7 @@ class Communication : public CommQueue<> {
if(framnr) {
if(0 == q->attempts) {
DPRINT_IVID(DBG_INFO, q->iv->id);
DBGPRINT(F("no attempts left"));
DBGPRINTLN(F("no attempts left"));
closeRequest(q, false);
return;
}

5
src/hm/hmRadio.h

@ -336,6 +336,8 @@ class HmRadio : public Radio {
isLastPackage = (p.packet[9] > ALL_FRAMES); // > ALL_FRAMES indicates last packet received
if(mLastIv->mIsSingleframeReq) // we only expect one frame here...
isRetransmitAnswer = true;
if(isLastPackage)
mFramesExpected = p.packet[9] - ALL_FRAMES;
}
if(IV_MI == mLastIv->ivGen) {
@ -350,8 +352,9 @@ class HmRadio : public Radio {
}
yield();
}
if(isLastPackage)
if(isLastPackage) {
mLastIv->mGotLastMsg = true;
}
return isLastPackage || isRetransmitAnswer;
}

Loading…
Cancel
Save