GSwifiInterface library (interface for GainSpan Wi-Fi GS1011 modules) Please see https://mbed.org/users/gsfan/notebook/GSwifiInterface/

Dependents:   GSwifiInterface_HelloWorld GSwifiInterface_HelloServo GSwifiInterface_UDPEchoServer GSwifiInterface_UDPEchoClient ... more

Fork of WiflyInterface by mbed official

GainSpan Wi-Fi library

The GS1011/GS2100 is an ultra low power 802.11b wireless module from GainSpan.

mbed RTOS supported.

/media/uploads/gsfan/gs_im_002.jpg /media/uploads/gsfan/gs1011m_2.jpg

ゲインスパン Wi-Fi モジュール ライブラリ

ゲインスパン社の低電力 Wi-Fiモジュール(無線LAN) GS1011/GS2100 シリーズ用のライブラリです。

mbed RTOS に対応しています。(mbed2.0)

Committer:
gsfan
Date:
Tue Sep 24 06:24:37 2019 +0000
Revision:
22:d25a5a0d2497
Parent:
21:6431364fc667
UART Command and SPI Data supported.; bug fix.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gsfan 22:d25a5a0d2497 1 /* Copyright (C) 2019 gsfan, MIT License
gsfan 22:d25a5a0d2497 2 * port to the GainSpan (Telit) Wi-FI module GS1011/GS2000/GS2100
gsfan 5:78943b3945b5 3 */
gsfan 5:78943b3945b5 4
gsfan 5:78943b3945b5 5 #include "GSwifiInterface.h"
gsfan 5:78943b3945b5 6
gsfan 22:d25a5a0d2497 7 #ifdef CFG_SPI_DATAINTERFACE
gsfan 22:d25a5a0d2497 8 GSwifiInterface::GSwifiInterface( PinName tx, PinName rx, PinName cts, PinName rts, PinName reset,
gsfan 22:d25a5a0d2497 9 PinName mosi, PinName miso, PinName sclk, PinName cs, PinName wake,
gsfan 22:d25a5a0d2497 10 PinName alarm, int baud, int freq) :
gsfan 22:d25a5a0d2497 11 GSwifi(tx, rx, cts, rts, reset, mosi, miso, sclk, cs, wake, alarm, baud, freq)
gsfan 22:d25a5a0d2497 12 #else
gsfan 8:64184a968e3b 13 GSwifiInterface::GSwifiInterface( PinName tx, PinName rx, PinName cts, PinName rts, PinName reset, PinName alarm, int baud) :
gsfan 8:64184a968e3b 14 GSwifi(tx, rx, cts, rts, reset, alarm, baud)
gsfan 22:d25a5a0d2497 15 #endif
gsfan 5:78943b3945b5 16 {
gsfan 5:78943b3945b5 17 }
gsfan 5:78943b3945b5 18
gsfan 8:64184a968e3b 19 int GSwifiInterface::init(const char* name)
gsfan 5:78943b3945b5 20 {
gsfan 11:71d67fea5ace 21 return setAddress(name);
gsfan 5:78943b3945b5 22 }
gsfan 5:78943b3945b5 23
gsfan 21:6431364fc667 24 int GSwifiInterface::init(const char* ip, const char* netmask, const char* gateway, const char* dns, const char* name)
gsfan 5:78943b3945b5 25 {
gsfan 21:6431364fc667 26 return setAddress(ip, netmask, gateway, dns, name);
gsfan 8:64184a968e3b 27 }
gsfan 8:64184a968e3b 28
gsfan 8:64184a968e3b 29 int GSwifiInterface::connect(Security sec, const char* ssid, const char* phrase, WiFiMode mode)
gsfan 8:64184a968e3b 30 {
gsfan 11:71d67fea5ace 31 setSsid(sec, ssid, phrase);
gsfan 8:64184a968e3b 32 switch (mode) {
gsfan 8:64184a968e3b 33 case WM_INFRASTRUCTURE:
gsfan 11:71d67fea5ace 34 return join();
gsfan 8:64184a968e3b 35 case WM_ADHOCK:
gsfan 11:71d67fea5ace 36 return adhock();
gsfan 8:64184a968e3b 37 case WM_LIMITEDAP:
gsfan 11:71d67fea5ace 38 return limitedap();
gsfan 8:64184a968e3b 39 }
gsfan 8:64184a968e3b 40 return -1;
gsfan 5:78943b3945b5 41 }
gsfan 5:78943b3945b5 42
gsfan 5:78943b3945b5 43 int GSwifiInterface::disconnect()
gsfan 5:78943b3945b5 44 {
gsfan 12:057089026a20 45 return GSwifi::dissociate();
gsfan 5:78943b3945b5 46 }
gsfan 5:78943b3945b5 47
gsfan 8:64184a968e3b 48 char * GSwifiInterface::getMACAddress()
gsfan 8:64184a968e3b 49 {
gsfan 8:64184a968e3b 50 return _state.mac;
gsfan 8:64184a968e3b 51 }
gsfan 8:64184a968e3b 52
gsfan 5:78943b3945b5 53 char * GSwifiInterface::getIPAddress()
gsfan 5:78943b3945b5 54 {
gsfan 8:64184a968e3b 55 return _state.ip;
gsfan 8:64184a968e3b 56 }
gsfan 5:78943b3945b5 57
gsfan 8:64184a968e3b 58 char * GSwifiInterface::getGateway()
gsfan 8:64184a968e3b 59 {
gsfan 8:64184a968e3b 60 return _state.gateway;
gsfan 8:64184a968e3b 61 }
gsfan 8:64184a968e3b 62
gsfan 8:64184a968e3b 63 char * GSwifiInterface::getNetworkMask()
gsfan 8:64184a968e3b 64 {
gsfan 8:64184a968e3b 65 return _state.netmask;
gsfan 8:64184a968e3b 66 }
gsfan 21:6431364fc667 67