wifi test

Dependencies:   X_NUCLEO_IKS01A2 mbed-http

Committer:
JMF
Date:
Wed Sep 05 14:28:24 2018 +0000
Revision:
0:24d3eb812fd4
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JMF 0:24d3eb812fd4 1 # Prototype Driver for STM Wi-Fi Expansion Boards based on the SPWFxx Module for STM32 Nucleo #
JMF 0:24d3eb812fd4 2
JMF 0:24d3eb812fd4 3 ## Currently supported expansion boards
JMF 0:24d3eb812fd4 4 * [X-NUCLEO-IDW01M1](http://www.st.com/content/st_com/en/products/ecosystems/stm32-open-development-environment/stm32-nucleo-expansion-boards/stm32-ode-connect-hw/x-nucleo-idw01m1.html), by setting `mbed` configuration variable `idw0xx1.expansion-board` to value `IDW01M1`
JMF 0:24d3eb812fd4 5 * [X-NUCLEO-IDW04A1](http://www.st.com/content/st_com/en/products/ecosystems/stm32-open-development-environment/stm32-nucleo-expansion-boards/stm32-ode-connect-hw/x-nucleo-idw04a1.html), by setting `mbed` configuration variable `idw0xx1.expansion-board` to value `IDW04A1`. You might also need to define macro `IDW04A1_WIFI_HW_BUG_WA` _(see beyond)_.
JMF 0:24d3eb812fd4 6
JMF 0:24d3eb812fd4 7 ## Configuration examples
JMF 0:24d3eb812fd4 8
JMF 0:24d3eb812fd4 9 ### Generic concepts
JMF 0:24d3eb812fd4 10
JMF 0:24d3eb812fd4 11 For the ones, which might be less familiar with the **"The mbed configuration system"** in general, here is a [link](https://docs.mbed.com/docs/mbed-os-handbook/en/latest/advanced/config_system/) which points to the latest version of the respective _mbed OS 5 handbook tutorial_.
JMF 0:24d3eb812fd4 12
JMF 0:24d3eb812fd4 13 Furthermore, with respect to this driver, pls. refer to files [`mbed_app_idw01m1.json`](https://github.com/ARMmbed/wifi-x-nucleo-idw01m1/blob/master/mbed_app_idw01m1.json) and [`mbed_app_idw04a1.json`](https://github.com/ARMmbed/wifi-x-nucleo-idw01m1/blob/master/mbed_app_idw04a1.json) regarding additional reference for what is explained beyond.
JMF 0:24d3eb812fd4 14
JMF 0:24d3eb812fd4 15 ### IDW01M1
JMF 0:24d3eb812fd4 16
JMF 0:24d3eb812fd4 17 Add the following lines to the `target_overrides`-section of your `mbed_app.json` file.
JMF 0:24d3eb812fd4 18
JMF 0:24d3eb812fd4 19 ``` json
JMF 0:24d3eb812fd4 20 "idw0xx1.expansion-board": "IDW01M1",
JMF 0:24d3eb812fd4 21 "drivers.uart-serial-txbuf-size": 512,
JMF 0:24d3eb812fd4 22 "drivers.uart-serial-rxbuf-size": 512
JMF 0:24d3eb812fd4 23 ```
JMF 0:24d3eb812fd4 24
JMF 0:24d3eb812fd4 25 `IDW01M1` is the default value in the [`mbed_lib.json`](https://github.com/ARMmbed/wifi-x-nucleo-idw01m1/blob/master/mbed_lib.json) file, so setting the expansion board is not mandatory for `IDW01M1`, while setting the TX & RX buffer sizes is highly recommended.
JMF 0:24d3eb812fd4 26
JMF 0:24d3eb812fd4 27 ### IDW04A1
JMF 0:24d3eb812fd4 28
JMF 0:24d3eb812fd4 29 Add the following lines to the `target_overrides`-section of your `mbed_app.json` file.
JMF 0:24d3eb812fd4 30
JMF 0:24d3eb812fd4 31 ``` json
JMF 0:24d3eb812fd4 32 "idw0xx1.expansion-board": "IDW04A1",
JMF 0:24d3eb812fd4 33 "drivers.uart-serial-txbuf-size": 512,
JMF 0:24d3eb812fd4 34 "drivers.uart-serial-rxbuf-size": 512
JMF 0:24d3eb812fd4 35 ```
JMF 0:24d3eb812fd4 36
JMF 0:24d3eb812fd4 37 ### Further configuration macros
JMF 0:24d3eb812fd4 38
JMF 0:24d3eb812fd4 39 All configuration options mentioned in this section are optional and when required have to be added to the `macros`-section of your `mbed_app.json` file, e.g.:
JMF 0:24d3eb812fd4 40
JMF 0:24d3eb812fd4 41 ``` json
JMF 0:24d3eb812fd4 42 "macros": [..., "IDW04A1_WIFI_HW_BUG_WA", "SPWFSAXX_RESET_PIN=D7"]
JMF 0:24d3eb812fd4 43 ```
JMF 0:24d3eb812fd4 44
JMF 0:24d3eb812fd4 45 Beyond you can find the list of available configuration macros each with a short explanation:
JMF 0:24d3eb812fd4 46 * `IDW04A1_WIFI_HW_BUG_WA`: activates the HW bug workaround for `IDW04A1`
JMF 0:24d3eb812fd4 47 * `SPWFSAXX_WAKEUP_PIN`: defines module wakeup pin _(requires value)_
JMF 0:24d3eb812fd4 48 * `SPWFSAXX_RESET_PIN`: defines module reset pin _(requires value)_
JMF 0:24d3eb812fd4 49 * `SPWFSAXX_RTS_PIN`: defines RTS pin of the UART device used _(requires value)_
JMF 0:24d3eb812fd4 50 * `SPWFSAXX_CTS_PIN`: defines CTS pin of the UART device used _(requires value)_
JMF 0:24d3eb812fd4 51
JMF 0:24d3eb812fd4 52 **Note**: if the values of both `SPWFSAXX_RTS_PIN` and `SPWFSAXX_CTS_PIN` are different from `NC`, hardware flow control - if available on your development board - will be enabled on the used UART device (provided you are using `mbed-os` version greater than or equal to `v5.7.0`).
JMF 0:24d3eb812fd4 53
JMF 0:24d3eb812fd4 54
JMF 0:24d3eb812fd4 55 ## Firmware upgrade
JMF 0:24d3eb812fd4 56
JMF 0:24d3eb812fd4 57 Please make sure that you are using the latest firmware available for the expansion boards. For information on how to perform a FW upgrade you may refer to [X-CUBE-WIFI1](http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software-expansion/x-cube-wifi1.html), especially to document **"X-NUCLEO-IDW0xx1- FW upgrading over UART_v1.2.pdf"** which is contained within folder **"Documentation"** of the X-CUBE-WIFI1 software archive you need to download.
JMF 0:24d3eb812fd4 58
JMF 0:24d3eb812fd4 59 The actual firmware `.bin` or `.hex` files can be found under
JMF 0:24d3eb812fd4 60 - [STSW-WIFI001](http://www.st.com/content/st_com/en/products/embedded-software/wireless-connectivity-software/stsw-wifi001.html) _for what concerns expansion board_ X-NUCLEO-IDW01M1 _and under_
JMF 0:24d3eb812fd4 61 - [STSW-WIFI004](http://www.st.com/content/st_com/en/products/embedded-software/wireless-connectivity-software/stsw-wifi004.html) _when considering_ X-NUCLEO-IDW04A1.
JMF 0:24d3eb812fd4 62
JMF 0:24d3eb812fd4 63
JMF 0:24d3eb812fd4 64 ## Known limitations
JMF 0:24d3eb812fd4 65
JMF 0:24d3eb812fd4 66 * Like explained in issue [#11](https://github.com/ARMmbed/wifi-x-nucleo-idw01m1/issues/11), sockets might fail to close in case they are connected to a streaming server (e.g. a [RFC 864](https://tools.ietf.org/html/rfc864) test server).
JMF 0:24d3eb812fd4 67 * As highlighted by issue [#13](https://github.com/ARMmbed/wifi-x-nucleo-idw01m1/issues/13), the module FW limits the maximum segment size for TCP to 730 bytes, while the maximum UDP datagram length might even be further limited (but usually is also equal to 730 bytes).
JMF 0:24d3eb812fd4 68