From f8bd27b4b596f8b006c3dea2d6378d916cadbb91 Mon Sep 17 00:00:00 2001 From: Waldemar Porscha Date: Sun, 18 Jun 2023 14:06:41 +0200 Subject: [PATCH] allow user defined OVERRUN_COUNT reset _savedAsapXXX always to 0 --- src/knx/application_layer.cpp | 9 +++------ src/knx/tpuart_data_link_layer.cpp | 4 +++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/knx/application_layer.cpp b/src/knx/application_layer.cpp index fd7bb09..05df9a5 100644 --- a/src/knx/application_layer.cpp +++ b/src/knx/application_layer.cpp @@ -84,20 +84,17 @@ void ApplicationLayer::dataGroupConfirm(AckType ack, HopCountType hopType, Prior case GroupValueRead: if (_savedAsapReadRequest > 0) _bau.groupValueReadLocalConfirm(ack, _savedAsapReadRequest, priority, hopType, secCtrl, status); - else - println("dataGroupConfirm: APDU-Type GroupValueRead has _savedAsapReadRequest = 0"); + _savedAsapReadRequest = 0; break; case GroupValueResponse: if (_savedAsapResponse > 0) _bau.groupValueReadResponseConfirm(ack, _savedAsapResponse, priority, hopType, secCtrl, apdu.data(), apdu.length() - 1, status); - else - println("dataGroupConfirm: APDU-Type GroupValueResponse has _savedAsapResponse = 0"); + _savedAsapResponse = 0; break; case GroupValueWrite: if (_savedAsapWriteRequest > 0) _bau.groupValueWriteLocalConfirm(ack, _savedAsapWriteRequest, priority, hopType, secCtrl, apdu.data(), apdu.length() - 1, status); - else - println("dataGroupConfirm: APDU-Type GroupValueWrite has _savedAsapWriteRequest = 0"); + _savedAsapWriteRequest = 0; break; default: print("datagroup-confirm: unhandled APDU-Type: "); diff --git a/src/knx/tpuart_data_link_layer.cpp b/src/knx/tpuart_data_link_layer.cpp index bf28649..36b6868 100644 --- a/src/knx/tpuart_data_link_layer.cpp +++ b/src/knx/tpuart_data_link_layer.cpp @@ -102,7 +102,9 @@ enum { #define RESET_TIMEOUT 100 //milli seconds #define TX_TIMEPAUSE 0 // 0 means 1 milli seconds -#define OVERRUN_COUNT 7 //bytes; max. allowed bytes in receive buffer (on start) to see it as overrun +#ifndef OVERRUN_COUNT +#define OVERRUN_COUNT 7 //bytes; max. allowed bytes in receive buffer (on start) to see it as overrun +#endif // If this threshold is reached loop() goes into // "hog mode" where it stays in loop() while L2 address reception