error handling

This commit is contained in:
Wolfgang Hottgenroth 2020-11-18 13:30:20 +01:00
parent 2fc1aafab9
commit cf695023d7
Signed by: wn
GPG Key ID: 6C1E5E531E0D5D7F

View File

@ -412,10 +412,8 @@ static void handleRequestEngine(void *handle) {
break; break;
case MBCS_ERROR: case MBCS_ERROR:
coloredMsg(LOG_RED, true, "mbc hre [%d] state ERROR", localMbusCommHandle->requestId); coloredMsg(LOG_RED, false, "mbc hre [%d] state ERROR", localMbusCommHandle->requestId);
show(LED_RED, ON); show(LED_RED, ON);
coloredMsg(LOG_RED, true, "mbc hre [%d] err: already error, read the rest (now: %02x) until timeout",
localMbusCommHandle->requestId, localMbusCommHandle->receivedOctet);
mbusCommStats.errorCnt += 1; mbusCommStats.errorCnt += 1;
localMbusCommHandle->device->failures += 1; localMbusCommHandle->device->failures += 1;
printError(localMbusCommHandle); printError(localMbusCommHandle);
@ -427,7 +425,7 @@ static void handleRequestEngine(void *handle) {
break; break;
case MBCS_TIMEOUT: case MBCS_TIMEOUT:
coloredMsg(LOG_RED, true, "mbc hre [%d] state TIMEOUT", localMbusCommHandle->requestId); coloredMsg(LOG_RED, false, "mbc hre [%d] state TIMEOUT", localMbusCommHandle->requestId);
localMbusCommHandle->receiving = false; localMbusCommHandle->receiving = false;
if (localMbusCommHandle->frame.userdata != NULL) { if (localMbusCommHandle->frame.userdata != NULL) {
free(localMbusCommHandle->frame.userdata); free(localMbusCommHandle->frame.userdata);
@ -437,7 +435,7 @@ static void handleRequestEngine(void *handle) {
uint8_t kitchenSink[16]; uint8_t kitchenSink[16];
memset(kitchenSink, 0, 16); memset(kitchenSink, 0, 16);
HAL_StatusTypeDef r = HAL_UART_Receive(&mbusUart, kitchenSink, 16, 100); HAL_StatusTypeDef r = HAL_UART_Receive(&mbusUart, kitchenSink, 16, 100);
coloredMsg(LOG_RED, true, "mbc hre [%d] abort, last receive result: %02x", localMbusCommHandle->requestId, r); coloredMsg(LOG_RED, false, "mbc hre [%d] abort, last receive result: %02x", localMbusCommHandle->requestId, r);
// no break // no break
case MBCS_DISABLE_FRONTEND: case MBCS_DISABLE_FRONTEND:
@ -651,7 +649,7 @@ static void mbusCommScheduler(void *handle) {
switch (state) { switch (state) {
case 0: case 0:
if (isNetworkAvailable()) { if (isNetworkAvailable()) {
coloredMsg(LOG_GREEN, true, "mbc mcs activate scheduler by network"); coloredMsg(LOG_YELLOW, true, "mbc mcs activate scheduler by network");
schAdd(triggerMBusRequest, NULL, 0, 100); schAdd(triggerMBusRequest, NULL, 0, 100);
state = 2; state = 2;
} }
@ -659,7 +657,7 @@ static void mbusCommScheduler(void *handle) {
case 1: case 1:
if (mbusCommEnabled) { if (mbusCommEnabled) {
coloredMsg(LOG_GREEN, true, "mbc mcs activate scheduler by request"); coloredMsg(LOG_YELLOW, true, "mbc mcs activate scheduler by request");
schAdd(triggerMBusRequest, NULL, 0, 100); schAdd(triggerMBusRequest, NULL, 0, 100);
state = 2; state = 2;
} }
@ -667,13 +665,13 @@ static void mbusCommScheduler(void *handle) {
case 2: case 2:
if (! isNetworkAvailable()) { if (! isNetworkAvailable()) {
coloredMsg(LOG_GREEN, true, "mbc mcs deactivate scheduler by network"); coloredMsg(LOG_YELLOW, true, "mbc mcs deactivate scheduler by network");
schDel(triggerMBusRequest, NULL); schDel(triggerMBusRequest, NULL);
loopDisable(); loopDisable();
state = 0; state = 0;
} }
if (! mbusCommEnabled) { if (! mbusCommEnabled) {
coloredMsg(LOG_GREEN, true, "mbc mcs deactivate scheduler by request"); coloredMsg(LOG_YELLOW, true, "mbc mcs deactivate scheduler by request");
schDel(triggerMBusRequest, NULL); schDel(triggerMBusRequest, NULL);
loopDisable(); loopDisable();
state = 1; state = 1;
@ -683,7 +681,7 @@ static void mbusCommScheduler(void *handle) {
if (devices[i].delay <= 0) { if (devices[i].delay <= 0) {
devices[i].delay = devices[i].period; devices[i].delay = devices[i].period;
devices[i].waiting = true; devices[i].waiting = true;
coloredMsg(LOG_GREEN, false, "mbc mcs scheduled: %s", devices[i].deviceName); coloredMsg(LOG_YELLOW, false, "mbc mcs scheduled: %s", devices[i].deviceName);
} }
} }
break; break;