some comments on mbus handling
This commit is contained in:
@ -46,20 +46,20 @@ static void handleRequestEngine(void *handle) {
|
|||||||
if (! loopActive) {
|
if (! loopActive) {
|
||||||
localMbusCommHandle->retryCnt++;
|
localMbusCommHandle->retryCnt++;
|
||||||
loopEnable();
|
loopEnable();
|
||||||
schAdd(handleRequestEngine, handle, 10, 0);
|
schAdd(handleRequestEngine, handle, 10, 0); // give 10ms to settled the loop
|
||||||
} else {
|
} else {
|
||||||
// write(fd, sendBuf, 5);
|
// write(fd, sendBuf, 5);
|
||||||
HAL_UART_Transmit_IT(&mbusUart, localMbusCommHandle->sendBuf, 5);
|
HAL_UART_Transmit_IT(&mbusUart, localMbusCommHandle->sendBuf, 5);
|
||||||
localMbusCommHandle->state = SENDING;
|
localMbusCommHandle->state = SENDING;
|
||||||
schAdd(handleRequestEngine, handle, 1, 0);
|
schAdd(handleRequestEngine, handle, 1, 0); // ask me again in 1ms in the next state ...
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SENDING:
|
case SENDING:
|
||||||
if (HAL_UART_GetState(&mbusUart) == HAL_UART_STATE_READY) {
|
if (HAL_UART_GetState(&mbusUart) == HAL_UART_STATE_READY) { // ... whether I'm done
|
||||||
localMbusCommHandle->state = IDLE;
|
localMbusCommHandle->state = IDLE;
|
||||||
} else {
|
} else {
|
||||||
schAdd(handleRequestEngine, handle, 1, 0);
|
schAdd(handleRequestEngine, handle, 1, 0); // not yet done, ask me again in 1ms
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user