AnsweredAssumed Answered

Not getting socket data pending indication (+WIND:55)

Question asked by porttila.sauli.002 on Jul 1, 2016
Latest reply on Jul 5, 2016 by Gerardo Gallucci
Working with the SPWF01SA.11 module.  In an attempt to make my program event based, I was trying to utilize the indications for reading data received from a socket.  But I am not getting the +WIND:55 indication although data is received:

1. Open a socket to a MQTT server (test.mosquitto.org) -> OK
2. Send a MQTT CONNECT packet -> OK
3. Wait for +WIND:55:Pending Data
10 seconds goes by with nothing at all received from the WiFi module
4. Close the socket -> ERROR: Pending data
5. Query pending data -> DATALEN: 4
6. Read four bytes -> Get exactly the response I was waiting for.

Same as a communication log:
AT+S.SOCKON=test.mosquitto.org,1883,t
 ID: 00
OK
AT+S.SOCKW=01,36
Send 36 bytes of socket data.
OK
AT+S.SOCKC=00
ERROR: Pending data
AT+S.SOCKQ=00
 DATALEN: 4
OK
AT+S.SOCKR=00,4
Read 4 bytes of socket data
OK

Why am I not getting the indication?  None of the indications is disabled.


The version date of the module was 150410, and since the ST website has a newer version 160129, I decided to update. The batch file in the update packet - after inputting the .bin file path and the serial port number - takes about an eyeblink to run to 'Press a key to exit...'. It gives no error messages, but obviously does not update the firmware either.


It does print a web address which lead me to Sourceforge stm32flash page.  I downloaded that program and ran it instead of 1203flash.exe used by the batch file. I used exactly the same command line arguments, and this time the binary file was programmed to the module.  Only, now the module is dead. How do I recover it?

The new version would be useful also because it supports error numbering in the ERROR response. Parsing the error code form the description string is unnecessarily tedious.

Outcomes