From 0eb228e9bf454933b7e94f6f11f52ee14311caa9 Mon Sep 17 00:00:00 2001 From: no name Date: Wed, 6 Sep 2023 10:48:31 +0200 Subject: [PATCH] evalTxChanQuality(), Antw.Bulk besser bewerten --- src/hm/hmInverter.h | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/hm/hmInverter.h b/src/hm/hmInverter.h index b05a71ca..ee5b6bfd 100644 --- a/src/hm/hmInverter.h +++ b/src/hm/hmInverter.h @@ -711,15 +711,20 @@ class Inverter { } } else if (!Retransmits || isNewTxChan()) { // no complete receive for this send channel - if (mTestTxChanIndex == RF_TX_TEST_CHAN_1ST_USE) { - // we want _QUALITY_OK at least: switch back to orig quality - mTxChanQuality[mBestTxChanIndex] = mSaveOldTestChanQuality; - } - addTxChanQuality (RF_TX_CHAN_QUALITY_LOW); - if (mTestPeriodFailCnt < 0xff) { - mTestPeriodFailCnt++; - } - } + if (rxFragments - lastRxFragments > 2) { + // graceful evaluation for big inverters that have to send 4 answer packets + addTxChanQuality (RF_TX_CHAN_QUALITY_OK); + } else if (rxFragments - lastRxFragments < 2) { + if (mTestTxChanIndex == RF_TX_TEST_CHAN_1ST_USE) { + // we want _QUALITY_OK at least: switch back to orig quality + mTxChanQuality[mBestTxChanIndex] = mSaveOldTestChanQuality; + } + addTxChanQuality (RF_TX_CHAN_QUALITY_LOW); + if (mTestPeriodFailCnt < 0xff) { + mTestPeriodFailCnt++; + } + } // else: _QUALITY_NEUTRAL, keep any test channel + } // else: dont overestimate burst distortion if (mTestTxChanIndex == RF_TX_TEST_CHAN_1ST_USE) { // special evaluation of test channel only at the beginning of current test period mTestTxChanIndex = mBestTxChanIndex;