fix 0 attempts in Communication

- 45ms-Problem seems to be solved
This commit is contained in:
rejoe2 2024-01-24 17:31:58 +01:00 committed by GitHub
parent 444a716012
commit d7ea4bcb89
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 3 deletions

View file

@ -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;
}

View file

@ -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;
}