X-NUCLEO-IDW01M1 Wi-Fi expansion board mbed OS 2 ("Classic") library. mbed OS 5 library also available (see below).

Dependencies:   SPWF01SA

Dependents:   SpwfInterface_NSAPI_Testsv2 Nucleo_read_a0_thingspace Nucleo_read_a0_thingspace_mems Cayenne-X-NUCLEO-IDW01M1 ... more

Fork of X_NUCLEO_IDW01M1v2 by ST Expansion SW Team

Introduction

X_NUCLEO_IDW01M1 is a mbed library for the Wi-Fi expansion board X-NUCLEO-IDW01M1 compatible with STM32 Nucleo.

The software can be used for building Wi-Fi applications with the SPWF01SA module. It is an implementation of the NetworkSocketAPI library from mbed OS 2 ("Classic").
mbed OS 5 library can instead be found at this link.

Firmware Library

The X_NUCLEO_IDW01M1 library comes with a sample application (HelloWorld_IDW01M1v2) and a NSAPI test suite application (SpwfInterface_NSAPI_Testsv2).

This library is only supported on NUCLEO platforms and any platforms with Arduino connector. However connection to arduino needs to be done manually using 4 wires for Vdd, Gnd, Rx and Tx. Example applications have more specific details on exact connections to be used.

The features of the library are :

  • Supports mbed OS 2 ("Classic") NetworkSocketAPI
  • Supports both client sockets
  • Configuration of USART pins to be used

Class SpwfSAInterface is intended to represent the X-NUCLEO-IDW01M1 expansion board with the SPWF module.

The expansion board is basically featuring the component:

  1. a SPWF01SA Serial-to-Wi-Fi module

Example Applications

NSAPI Test Suite

Files at this revision

API Documentation at this revision

Comitter:
mridup
Date:
Tue Aug 02 07:05:25 2016 +0000
Parent:
4:2f3f156a3b0b
Child:
6:5b86d03236e1
Commit message:
sock_recv returns DEVICE_ERROR as well to not block in case of "device error"

Changed in this revision

SPWF01SA.lib Show annotated file Show diff for this revision Revisions of this file
SpwfInterface.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/SPWF01SA.lib	Thu Jul 07 13:21:57 2016 +0000
+++ b/SPWF01SA.lib	Tue Aug 02 07:05:25 2016 +0000
@@ -1,1 +1,1 @@
-https://developer.mbed.org/users/mridup/code/SPWF01SA/#00bc9c029aec
+https://developer.mbed.org/users/mridup/code/SPWF01SA/#f21e4e73bbb6
--- a/SpwfInterface.cpp	Thu Jul 07 13:21:57 2016 +0000
+++ b/SpwfInterface.cpp	Tue Aug 02 07:05:25 2016 +0000
@@ -335,9 +335,12 @@
     //CHECK:Receive for both Client and Server Sockets same?
     recv = _spwf.recv(socket->id, (char*)data, (uint32_t)size);    
     if (recv < 0) {
-        wait_ms(1);//delay of 1ms <for F4>??
-        return NSAPI_ERROR_WOULD_BLOCK;//send this if we want to block call (else timeout will happen)
+        //wait_ms(1);//delay of 1ms <for F4>??
+        //printf(".");
+        if (recv == -1) return NSAPI_ERROR_WOULD_BLOCK;//send this if we want to block call (else timeout will happen)
+        else return NSAPI_ERROR_DEVICE_ERROR;
     }
+
     return recv;
     
 }