more receiving

This commit is contained in:
Wolfgang Hottgenroth 2020-11-02 16:54:15 +01:00
parent fd05813cdf
commit c7677e7c79
Signed by: wn
GPG Key ID: 6C1E5E531E0D5D7F

View File

@ -86,13 +86,18 @@ static void handleRequestEngine(void *handle) {
frontendEnable(); frontendEnable();
schAdd(timeoutHandler, handle, 500, 0); // 500ms timeout schAdd(timeoutHandler, handle, 500, 0); // 500ms timeout
localMbusCommHandle->state = RECEIVING; localMbusCommHandle->state = RECEIVING;
localMbusCommHandle->receiving = true; localMbusCommHandle->receiving = false;
// now waiting for the response, transitions are triggered by interrupt callback // no break
break;
case RECEIVING: case RECEIVING:
logMsg("hre state RECEIVING"); logMsg("hre state RECEIVING");
logMsg("hre received octet: 0x%02x", localMbusCommHandle->receivedOctet); if (! localMbusCommHandle->receiving) {
localMbusCommHandle->receiving = true;
HAL_UART_Receive_IT(&mbusUart, &(localMbusCommHandle->receivedOctet), 1);
} else {
localMbusCommHandle->receiving = false;
logMsg("hre received octet: 0x%02x", localMbusCommHandle->receivedOctet);
}
break; break;
case DISABLE_FRONTEND: case DISABLE_FRONTEND:
@ -115,7 +120,6 @@ void mbusCommTxCpltCallback(UART_HandleTypeDef *huart) {
void mbusCommRxCpltCallback(UART_HandleTypeDef *huart) { void mbusCommRxCpltCallback(UART_HandleTypeDef *huart) {
logMsg("mcrx: mbus received something"); logMsg("mcrx: mbus received something");
HAL_UART_Receive_IT(huart, &(mbusCommHandle.receivedOctet), 1);
if (mbusCommHandle.receiving) { if (mbusCommHandle.receiving) {
schAdd(handleRequestEngine, (void*) &mbusCommHandle, 0, 0); schAdd(handleRequestEngine, (void*) &mbusCommHandle, 0, 0);
} else { } else {