Skip to content

Latest commit

 

History

History
61 lines (40 loc) · 4.18 KB

README.md

File metadata and controls

61 lines (40 loc) · 4.18 KB

Prototype Driver for STM Wi-Fi Expansion Boards based on the SPWFxx Module for STM32 Nucleo

Currently supported expansion boards

  • X-NUCLEO-IDW01M1, by setting mbed configuration variable idw0xx1.expansion-board to value IDW01M1
  • X-NUCLEO-IDW04A1, 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).

Configuration examples

Generic concepts

For the ones, which might be less familiar with the "The mbed configuration system" in general, here is a link which points to the latest version of the respective mbed OS 5 handbook tutorial.

Furthermore, with respect to this driver, pls. refer to files mbed_app_idw01m1.json and mbed_app_idw04a1.json regarding additional reference for what is explained beyond.

IDW01M1

Add the following lines to the target_overrides-section of your mbed_app.json file.

            "idw0xx1.expansion-board": "IDW01M1",
            "drivers.uart-serial-txbuf-size": 512,
            "drivers.uart-serial-rxbuf-size": 512

IDW01M1 is the default value in the mbed_lib.json file, so setting the expansion board is not mandatory for IDW01M1, while setting the TX & RX buffer sizes is highly recommended.

IDW04A1

Add the following lines to the target_overrides-section of your mbed_app.json file.

            "idw0xx1.expansion-board": "IDW04A1",
            "drivers.uart-serial-txbuf-size": 512,
            "drivers.uart-serial-rxbuf-size": 512

Further configuration macros

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.:

    "macros": [..., "IDW04A1_WIFI_HW_BUG_WA", "SPWFSAXX_RESET_PIN=D7"]

Beyond you can find the list of available configuration macros each with a short explanation:

  • IDW04A1_WIFI_HW_BUG_WA: activates the HW bug workaround for IDW04A1
  • SPWFSAXX_WAKEUP_PIN: defines module wakeup pin (requires value)
  • SPWFSAXX_RESET_PIN: defines module reset pin (requires value)
  • SPWFSAXX_RTS_PIN: defines RTS pin of the UART device used (requires value)
  • SPWFSAXX_CTS_PIN: defines CTS pin of the UART device used (requires value)

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).

Firmware upgrade

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, 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.

The actual firmware .bin or .hex files can be found under

  • STSW-WIFI001 for what concerns expansion board X-NUCLEO-IDW01M1 and under
  • STSW-WIFI004 when considering X-NUCLEO-IDW04A1.