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