mayuresh bharmoria / Mbed OS mbed-os-example-wifi
Committer:
mayur098
Date:
Thu Jun 21 17:50:21 2018 +0000
Revision:
0:8f8e8f3cbd1c
first commit;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mayur098 0:8f8e8f3cbd1c 1 # Prototype Driver for STM Wi-Fi Expansion Boards based on the SPWFxx Module for STM32 Nucleo #
mayur098 0:8f8e8f3cbd1c 2
mayur098 0:8f8e8f3cbd1c 3 ## Currently supported expansion boards
mayur098 0:8f8e8f3cbd1c 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`
mayur098 0:8f8e8f3cbd1c 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)_.
mayur098 0:8f8e8f3cbd1c 6
mayur098 0:8f8e8f3cbd1c 7 ## Configuration examples
mayur098 0:8f8e8f3cbd1c 8
mayur098 0:8f8e8f3cbd1c 9 ### Generic concepts
mayur098 0:8f8e8f3cbd1c 10
mayur098 0:8f8e8f3cbd1c 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_.
mayur098 0:8f8e8f3cbd1c 12
mayur098 0:8f8e8f3cbd1c 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.
mayur098 0:8f8e8f3cbd1c 14
mayur098 0:8f8e8f3cbd1c 15 ### IDW01M1
mayur098 0:8f8e8f3cbd1c 16
mayur098 0:8f8e8f3cbd1c 17 Add the following lines to the `target_overrides`-section of your `mbed_app.json` file.
mayur098 0:8f8e8f3cbd1c 18
mayur098 0:8f8e8f3cbd1c 19 ``` json
mayur098 0:8f8e8f3cbd1c 20 "idw0xx1.expansion-board": "IDW01M1",
mayur098 0:8f8e8f3cbd1c 21 "drivers.uart-serial-txbuf-size": 512,
mayur098 0:8f8e8f3cbd1c 22 "drivers.uart-serial-rxbuf-size": 512
mayur098 0:8f8e8f3cbd1c 23 ```
mayur098 0:8f8e8f3cbd1c 24
mayur098 0:8f8e8f3cbd1c 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.
mayur098 0:8f8e8f3cbd1c 26
mayur098 0:8f8e8f3cbd1c 27 ### IDW04A1
mayur098 0:8f8e8f3cbd1c 28
mayur098 0:8f8e8f3cbd1c 29 Add the following lines to the `target_overrides`-section of your `mbed_app.json` file.
mayur098 0:8f8e8f3cbd1c 30
mayur098 0:8f8e8f3cbd1c 31 ``` json
mayur098 0:8f8e8f3cbd1c 32 "idw0xx1.expansion-board": "IDW04A1",
mayur098 0:8f8e8f3cbd1c 33 "drivers.uart-serial-txbuf-size": 512,
mayur098 0:8f8e8f3cbd1c 34 "drivers.uart-serial-rxbuf-size": 512
mayur098 0:8f8e8f3cbd1c 35 ```
mayur098 0:8f8e8f3cbd1c 36
mayur098 0:8f8e8f3cbd1c 37 ### Further configuration macros
mayur098 0:8f8e8f3cbd1c 38
mayur098 0:8f8e8f3cbd1c 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.:
mayur098 0:8f8e8f3cbd1c 40
mayur098 0:8f8e8f3cbd1c 41 ``` json
mayur098 0:8f8e8f3cbd1c 42 "macros": [..., "IDW04A1_WIFI_HW_BUG_WA", "SPWFSAXX_RESET_PIN=D7"]
mayur098 0:8f8e8f3cbd1c 43 ```
mayur098 0:8f8e8f3cbd1c 44
mayur098 0:8f8e8f3cbd1c 45 Beyond you can find the list of available configuration macros each with a short explanation:
mayur098 0:8f8e8f3cbd1c 46 * `IDW04A1_WIFI_HW_BUG_WA`: activates the HW bug workaround for `IDW04A1`
mayur098 0:8f8e8f3cbd1c 47 * `SPWFSAXX_WAKEUP_PIN`: defines module wakeup pin _(requires value)_
mayur098 0:8f8e8f3cbd1c 48 * `SPWFSAXX_RESET_PIN`: defines module reset pin _(requires value)_
mayur098 0:8f8e8f3cbd1c 49 * `SPWFSAXX_RTS_PIN`: defines RTS pin of the UART device used _(requires value)_
mayur098 0:8f8e8f3cbd1c 50 * `SPWFSAXX_CTS_PIN`: defines CTS pin of the UART device used _(requires value)_
mayur098 0:8f8e8f3cbd1c 51
mayur098 0:8f8e8f3cbd1c 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`).
mayur098 0:8f8e8f3cbd1c 53
mayur098 0:8f8e8f3cbd1c 54
mayur098 0:8f8e8f3cbd1c 55 ## Firmware upgrade
mayur098 0:8f8e8f3cbd1c 56
mayur098 0:8f8e8f3cbd1c 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.
mayur098 0:8f8e8f3cbd1c 58
mayur098 0:8f8e8f3cbd1c 59 The actual firmware `.bin` or `.hex` files can be found under
mayur098 0:8f8e8f3cbd1c 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_
mayur098 0:8f8e8f3cbd1c 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.