more receiving
This commit is contained in:
parent
29f28bb51d
commit
eab39ff9d3
@ -41,6 +41,11 @@ static void timeoutHandler(void *handle) {
|
||||
handleRequestEngine(handle);
|
||||
}
|
||||
|
||||
static void receiveNext(t_mbusCommHandle *localMbusCommHandle) {
|
||||
localMbusCommHandle->receiving = true;
|
||||
HAL_UART_Receive_IT(&mbusUart, &(localMbusCommHandle->receivedOctet), 1);
|
||||
}
|
||||
|
||||
static void handleRequestEngine(void *handle) {
|
||||
t_mbusCommHandle *localMbusCommHandle = (t_mbusCommHandle*) handle;
|
||||
|
||||
@ -87,21 +92,15 @@ static void handleRequestEngine(void *handle) {
|
||||
frontendEnable();
|
||||
schAdd(timeoutHandler, handle, 2500, 0);
|
||||
localMbusCommHandle->state = RECEIVING;
|
||||
localMbusCommHandle->receiving = false;
|
||||
localMbusCommHandle->receiveCnt = 0;
|
||||
// no break
|
||||
receiveNext(localMbusCommHandle);
|
||||
break;
|
||||
|
||||
case RECEIVING:
|
||||
// logMsg("hre state RECEIVING");
|
||||
if (! localMbusCommHandle->receiving) {
|
||||
localMbusCommHandle->receiving = true;
|
||||
HAL_UART_Receive_IT(&mbusUart, &(localMbusCommHandle->receivedOctet), 1);
|
||||
} else {
|
||||
localMbusCommHandle->receiving = false;
|
||||
logMsg("hre received octet: 0x%02x: 0x%02x", localMbusCommHandle->receiveCnt, localMbusCommHandle->receivedOctet);
|
||||
localMbusCommHandle->receiveCnt += 1;
|
||||
schAdd(handleRequestEngine, handle, 0, 0);
|
||||
}
|
||||
logMsg("hre received octet: 0x%02x: 0x%02x", localMbusCommHandle->receiveCnt, localMbusCommHandle->receivedOctet);
|
||||
localMbusCommHandle->receiveCnt += 1;
|
||||
receiveNext(localMbusCommHandle);
|
||||
break;
|
||||
|
||||
case DISABLE_FRONTEND:
|
||||
@ -124,6 +123,7 @@ void mbusCommTxCpltCallback(UART_HandleTypeDef *huart) {
|
||||
void mbusCommRxCpltCallback(UART_HandleTypeDef *huart) {
|
||||
if (mbusCommHandle.receiving) {
|
||||
schAdd(handleRequestEngine, (void*) &mbusCommHandle, 0, 0);
|
||||
mbusCommHandle.receiving = false;
|
||||
} else {
|
||||
logMsg("mcrx: received 0x%02x but not expected", mbusCommHandle.receivedOctet);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user