FIX: occasional endless loop (wrong buffer limit)

This commit is contained in:
Waldemar Porscha 2023-03-13 18:15:46 +01:00
parent 4c37c21699
commit 756252c042

View File

@ -335,7 +335,7 @@ void TpUartDataLinkLayer::loop()
#ifdef DBG_TRACE
print(rxByte, HEX);
#endif
if (_RxByteCnt == MAX_KNX_TELEGRAM_SIZE)
if (_RxByteCnt == MAX_KNX_TELEGRAM_SIZE - 2)
{
println("invalid telegram size");
enterRxWaitEOP();
@ -401,6 +401,8 @@ void TpUartDataLinkLayer::loop()
}
break;
default:
println("invalid _rxState");
enterRxWaitEOP();
break;
}
} while (_rxState == RX_L_ADDR && (stayInRx || _platform.uartAvailable()));