2015-07-28 06:54 AM
Hi,
I am wondering how to update FPWF01SA firmware via OTA? I saw the command in the user manual, but I could not find the ST website to download the firmware. And how is the sequence to upgrade the firmare? Moreover, how can I know the last firmware version available?One more thing: I am trying to communicate the module over UDP and it is not sending/receiving anything. I am wondering if an firmware upgrade will solve this issue.I really appreciate any help. Thanks!Here is AT&V dump:# Dumping All Configuration Keys:# nv_manuf = ST# nv_model = SPWF01SA1# nv_serial = 2914D34571# nv_wifi_macaddr = 00:80:E1:FF:CC:B4# blink_led = 0# wind_off_low = 0x00000000# wind_off_medium = 0x00000000# wind_off_high = 0x00000000# user_desc = exo# escape_seq = at+s.# localecho1 = 0# console1_speed = 921600# console1_hwfc = 0# console1_enabled = 1# sleep_enabled = 0# standby_enabled = 0# standby_time = 10# wifi_tx_msdu_lifetime = 0# wifi_rx_msdu_lifetime = 0# wifi_operational_mode = 0x00000011# wifi_beacon_wakeup = 1# wifi_beacon_interval = 100# wifi_listen_interval = 0# wifi_rts_threshold = 3000# wifi_ssid = 48:32:43:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00# wifi_ssid_len = 3# wifi_channelnum = 6# wifi_opr_rate_mask = 0x00003FCF# wifi_bas_rate_mask = 0x0000000F# wifi_mode = 3# wifi_auth_type = 0# wifi_atim_window = 0# wifi_powersave = 0# wifi_tx_power = 18# wifi_rssi_thresh = 0# wifi_rssi_hyst = 0# wifi_ap_idle_timeout = 15000# wifi_beacon_loss_thresh = 10# wifi_priv_mode = 0# wifi_wep_keys[0] = 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00# wifi_wep_keys[1] = 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00# wifi_wep_keys[2] = 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00# wifi_wep_keys[3] = 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00# wifi_wep_key_lens = 00:00:00:00# wifi_wep_default_key = 0# wifi_wpa_psk_raw = 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00# wifi_wpa_psk_text = # ip_use_dhcp = 2# ip_use_httpd = 0# ip_mtu = 1500# ip_hostname = H2C# ip_apdomainname = captiveportal.net# ip_ipaddr = 192.168.1.1# ip_netmask = 255.255.255.0# ip_gw = 192.168.1.1# ip_dns = 192.168.1.1# ip_http_get_recv_timeout = 3000# ip_dhcp_timeout = 202015-08-05 09:28 AM
Hi Jerry,
Thanks for the quick reply. What do you mean by ''...in DataMode they are send to remote client as raw data''? It is a UDP connection, so packets have to be formatted accordingly, right? Or do you mean that each byte that I send to the UART will be formatted as one UDP packet (just one byte as payload) and then send to the remote client?When I get a WIND about pending data, which are the UDP port associate to the packet received? It has to be one port associate with it, right? Or I am getting this in the wrong way?Thanks again for your help.Regards,Bortole.2015-08-06 12:04 AM
Hi,
- about point 1, I mean: ''module sends what UART grabs''. UART Buffer is sent to remote peer when it's full, and/or timeout (ip_sockd_timeout variable) expires. Every (UART) received byte is collected into the buffer until buffer is not full, and timeout does not occurrs.Escape sequence follow also these rules;- about point 2: when your socket client opens connection by SOCKON command, remote port is the one you use for this command, while local port is automatically selected by the module itself.ciaojerry2015-08-10 12:53 AM
Hi Jerry,
Once again, thanks for the answer. About the local ports been selected automatically by the module make things really complicated when using UDP. Hope that changes in the next firmware release ;)Now I just found another issue in my setup: I am using the command SOCKW:00,22 repeatedly to send data continuously to PC. Between two consecutive commands there is a delay of 1 ms. Basically, I am trying to send a UDP packet with 22 bytes of payload at a 1 kHz (UART = 921600 bps). However, after 10 seconds of working, module hangs and send a message: ILEGAL SOCKET... I tried to slow things down to 100 Hz and the same happens :(I am wondering what is the max throughput of the module with UDP? Will I be able to send packets at 1 kHz? Am I missing some config parameters to be able to do that?Thanks again for your help!Bortole2015-08-10 01:23 AM
Hello,
are you waiting for ''OK''/''Error'' before proceeding to the next AT command?2015-08-10 03:12 AM
Hi Jerry,
Yes, I am waiting for the OK answer. It comes for the first 10 seconds (more or less), then the error messages appears :(2015-08-10 05:08 AM
During my tests, I have no delay between 2 consecutive SOCKWs. I simply run a command, expect the OK/ERROR, and then another command again. I usually stream files of megabytes in size.
Since UDP has no network events notifications (UDP socket client is ''alwas opened''), when you get ''ILLEGAL SOCKET ID'' as answer, the module did not get the right socket number, or lost the socket number at all. Since you are using 921600 as baudrate, try to enable the flow control. j2015-08-10 07:08 AM
Hi Jerry,
You were right, due to a bug in my code I was sending a new command before OK response was completely received. After I fixed that, no more ILEGAL SOCKET ID response :) However, throughput of the module is really lower than I expected. No more than 250 Hz can be achieved with a small payload as 22 bytes in UDP :( I am wondering now if those modules are a good choice for real time communications between two robotics systems...Thank you very much for all your time and help!Bortole