This commit is contained in:
Wolfgang Hottgenroth 2020-11-25 09:16:00 +01:00
parent d171dced70
commit 7c63579390
Signed by: wn
GPG Key ID: 6C1E5E531E0D5D7F

View File

@ -343,7 +343,8 @@ void mbusCommExec() {
userdataIdx = 0; userdataIdx = 0;
mbusCommHandle.receiveBuffer.readIdx = 0; mbusCommHandle.receiveBuffer.readIdx = 0;
mbusCommHandle.receiveBuffer.writeIdx = 0; mbusCommHandle.receiveBuffer.writeIdx = 0;
mbusCommHandle.waitForOctet = true; mbusCommHandle.waitForOctet = true; // start receiver
mbusCommHandle.startTime = HAL_GetTick(); // start receiver timeout
mbusCommHandle.state = MBCS_START1; mbusCommHandle.state = MBCS_START1;
break; break;
@ -478,12 +479,15 @@ void mbusCommExec() {
// no break // no break
case MBCS_ERROR_CONTINUED: case MBCS_ERROR_CONTINUED:
// stay here until timeout occurs
break; break;
case MBCS_TIMEOUT: case MBCS_TIMEOUT:
coloredMsg(LOG_RED, false, "mbc hre [%d] state TIMEOUT", mbusCommHandle.requestId); coloredMsg(LOG_RED, false, "mbc hre [%d] state TIMEOUT", mbusCommHandle.requestId);
mbusCommStats.errorCnt += 1; mbusCommStats.errorCnt += 1;
mbusCommHandle.device->failures += 1; mbusCommHandle.device->failures += 1;
mbusCommHandle.startTime = 0; // disable timeout
mbusCommHandle.waitForOctet = false; // disable receiver
printError(); printError();
mbusCommHandle.receiving = false; mbusCommHandle.receiving = false;
if (mbusCommHandle.frame.userdata != NULL) { if (mbusCommHandle.frame.userdata != NULL) {
@ -495,6 +499,7 @@ void mbusCommExec() {
case MBCS_DISABLE_FRONTEND: case MBCS_DISABLE_FRONTEND:
// coloredMsg(LOG_YELLOW, false, "mbc hre [%d] state DISABLE_FRONTEND", mbusCommHandle.requestId); // coloredMsg(LOG_YELLOW, false, "mbc hre [%d] state DISABLE_FRONTEND", mbusCommHandle.requestId);
frontendDisable(); frontendDisable();
mbusCommHandle.startTime = 0; // disable timeout
mbusCommHandle.state = MBCS_IDLE; mbusCommHandle.state = MBCS_IDLE;
break; break;
@ -520,7 +525,6 @@ static e_mbusCommRequestResult mbusCommRequest(t_mbusDevice *mbusDevice) {
mbusCommHandle.cmd = MBUS_QUERY_CMD; mbusCommHandle.cmd = MBUS_QUERY_CMD;
mbusCommHandle.addr = mbusDevice->address; mbusCommHandle.addr = mbusDevice->address;
mbusCommHandle.device = mbusDevice; mbusCommHandle.device = mbusDevice;
mbusCommHandle.startTime = HAL_GetTick();
mbusDevice->requests += 1; mbusDevice->requests += 1;
coloredMsg(LOG_YELLOW, true, "mbc mcr [%d] new request %s R:%d F:%d GRC:%d GEC:%d", coloredMsg(LOG_YELLOW, true, "mbc mcr [%d] new request %s R:%d F:%d GRC:%d GEC:%d",