ARM-software / CMSIS-Driver

Repository of microcontroller peripheral driver implementing the CMSIS-Driver API specification

Home Page:https://arm-software.github.io/CMSIS-Driver/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Event flags may not be reset [ESP32]

xennex22 opened this issue · comments

Wifi_Wait uses osEventFlagsWait to wait for input. The flags are set in AT_Notify based on the received data.

The problem I have is that if there is a timeout in osEventFlagsWait and then the data arrives later, the event flags get set by AT_Notify. And then the next call to Wifi_Wait returns immediately because the flags are already set, but the data is not valid. Then all the send/receive gets out of sync and the only fix it to restart the driver.

The solution is to explicitly clear the event flags in CmdSend using osEventFlagsClear before the command the transmitted.