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

Revision:
13:0368732b5b9d
Parent:
0:907910bfb0b5
Child:
14:4ec13009341c
--- a/SpwfInterface.h	Thu Nov 03 06:57:03 2016 +0000
+++ b/SpwfInterface.h	Tue Nov 22 14:38:43 2016 +0000
@@ -48,8 +48,8 @@
 class SpwfSAInterface : public NetworkStack, public WiFiInterface
 {
 public:
- 
-    SpwfSAInterface(PinName tx, PinName rx, bool debug = false);
+    SpwfSAInterface(PinName tx, PinName rx, bool debug);
+    SpwfSAInterface(PinName tx, PinName rx, PinName reset = PC_12, PinName wakeup = PC_8, bool debug = false);    
     virtual     ~SpwfSAInterface();
  
     // Implementation of WiFiInterface
@@ -77,6 +77,8 @@
     virtual     int socket_sendto(void *handle, const SocketAddress &address, const void *data, unsigned size);    
     virtual     int socket_recvfrom(void *handle, SocketAddress *address, void *buffer, unsigned size);    
     virtual     void socket_attach(void *handle, void (*callback)(void *), void *data);
+    virtual     int setsockopt(void *handle, int level, int optname, const void *optval, unsigned optlen);    
+    virtual     int getsockopt(void *handle, int level, int optname, void *optval, unsigned *optlen);    
            
 private:
     int         init(void);
@@ -84,7 +86,7 @@
     SPWFSA01 _spwf;
     bool _ids[SPWFSA_SOCKET_COUNT];
     bool isListening;
-    bool isInitialized;    
+    bool isInitialized;
 };