diff --git a/cube/User/Src/main2.c b/cube/User/Src/main2.c index 59e9213..7aa1833 100644 --- a/cube/User/Src/main2.c +++ b/cube/User/Src/main2.c @@ -128,20 +128,13 @@ static t_mbusDevice devices[] = { void triggerMBusRequest(void *handle) { static uint8_t deviceIndex = 0; - static uint32_t cnt = 0; - logMsg(""); - logMsg("*** NEW REQUEST %s %d %d %d %d ***", - devices[deviceIndex].deviceName, - devices[deviceIndex].requests, - devices[deviceIndex].failures, - deviceIndex, cnt); - mbusCommRequest(&(devices[deviceIndex])); - - cnt++; - deviceIndex++; - if (deviceIndex >= numOfDevices) { - deviceIndex = 0; + e_mbusCommRequestResult r = mbusCommRequest(&(devices[deviceIndex])); + if (r == MBCRR_TRIGGERED) { + deviceIndex++; + if (deviceIndex >= numOfDevices) { + deviceIndex = 0; + } } } @@ -153,7 +146,7 @@ void my_setup_2() { frontendInit(); frontendSetThreshold(240); - schAdd(triggerMBusRequest, NULL, 0, 10000); + schAdd(triggerMBusRequest, NULL, 0, 1000); } void my_loop() { diff --git a/cube/User/Src/mbusComm.c b/cube/User/Src/mbusComm.c index 8fdedfe..261ab31 100644 --- a/cube/User/Src/mbusComm.c +++ b/cube/User/Src/mbusComm.c @@ -391,9 +391,18 @@ void mbusCommRxCpltCallback(UART_HandleTypeDef *huart) { } e_mbusCommRequestResult mbusCommRequest(t_mbusDevice *mbusDevice) { + static uint32_t cnt = 0; e_mbusCommRequestResult res = MBCRR_BUSY; if (mbusCommHandle.state == MBCS_IDLE) { + logMsg(""); + logMsg("*** NEW REQUEST %s R:%d F:%d C:%d ***", + mbusDevice->deviceName, + mbusDevice->requests, + mbusDevice->failures, + cnt); + cnt++; + mbusCommHandle.state = MBCS_SEND; mbusCommHandle.retryCnt = 0; mbusCommHandle.cmd = MBUS_QUERY_CMD;