test

Dependents:   mbed-os-example-blinky-1stDevDemo

Committer:
karen801
Date:
Wed May 23 14:37:10 2018 +0000
Revision:
0:79ce2b184a43
Initial commit

Who changed what in which revision?

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