diff --git a/cube/User/Src/mbusComm.c b/cube/User/Src/mbusComm.c index 50f07d9..16fc6b4 100644 --- a/cube/User/Src/mbusComm.c +++ b/cube/User/Src/mbusComm.c @@ -12,7 +12,6 @@ typedef enum { IDLE, SEND, SEND_CONT, - SENDING, SENDING_DONE, ENABLE_FRONTEND, DISABLE_FRONTEND @@ -58,16 +57,12 @@ static void handleRequestEngine(void *handle) { } else { localMbusCommHandle->retryCnt = 0; HAL_UART_Transmit_IT(&mbusUart, localMbusCommHandle->sendBuf, 5); - localMbusCommHandle->state = SENDING; + // transition from here to SENDING_DONE is initiate by mbusCommTxCpltCallback + // interrupt callback + localMbusCommHandle->state = SENDING_DONE; } break; - // transition from SENDING to SENDING_DONE is initiate by mbusCommTxCpltCallback - // interrupt callback - case SENDING: - logMsg("hre state SENDING"); - break; - case SENDING_DONE: logMsg("hre state SENDING_DONE"); localMbusCommHandle->state = ENABLE_FRONTEND; @@ -96,10 +91,7 @@ static void handleRequestEngine(void *handle) { void mbusCommTxCpltCallback(UART_HandleTypeDef *huart) { logMsg("mctx: mbus tx done"); - if (mbusCommHandle.state == SENDING) { - mbusCommHandle.state = SENDING_DONE; - schAdd(handleRequestEngine, (void*) &mbusCommHandle, 0, 0); - } + schAdd(handleRequestEngine, (void*) &mbusCommHandle, 0, 0); } void mbusCommRequest(uint8_t cmd, uint8_t addr) {