2015-08-31 10:13 AM
Hi everybody, I'm evaluating the SPWF01SA and I'm wondering if there is a minimum delay between messages useful to determine the end of a transmission, ex. between the response to a command and a following WIND?
Thanks Paolo2015-09-01 04:22 AM
Ciao Paolo,
AT-commands and WINDS are not related. I mean: SPWF have synch indications (OK/ERROR) and asynch indications (+WIND).- When you run an AT-command, you have to expect OK or ERROR reply, than go on to next AT-command;- WINDs management must be in a ''background task'', since thay can happen in every moment.Note: WINDs are never delivered between an AT-command and related OK/ERROR reply.jerry2015-09-01 06:07 AM
Thank you, Jerry.
As the command guide says, asynchronous messages can be sent at any time but not between commands and responses. This means that a pending asynchronous message can theoretically be queued to a response and become a single transfer with it. In this case, a time-out in reception would not be enough to separate the messages. Is that right? Paolo2015-09-01 06:24 AM
Pending WINDs are queued, and printed after OK/ERROR.
Module side, they are always multiple transfers (2 or more printfs).Using STM32 as external host: I suggest an UART management by DMA through a circular buffer, and an interrupt on UART IDLE detection. You can check circular buffer (and parse it!) when curcular buffer is [half]full, or when idle interrupt occurrs on UART.If you prefer a different approach, estimate your timeout on used baudrate. Remember that every WIND from SPWF starts and ends with a CrLf.Hope to be useful.ciaojerry2015-09-01 11:24 PM
Yes, you are.
Ciao, Paolo