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
GainSpan Wi-Fi library
The GS1011/GS2100 is an ultra low power 802.11b wireless module from GainSpan.
mbed RTOS supported.
- about this library: http://mbed.org/users/gsfan/notebook/GSwifiInterface/
- about Wi-Fi module: http://mbed.org/users/gsfan/notebook/gainspan_wifi/
ゲインスパン Wi-Fi モジュール ライブラリ
ゲインスパン社の低電力 Wi-Fiモジュール(無線LAN) GS1011/GS2100 シリーズ用のライブラリです。
mbed RTOS に対応しています。(mbed2.0)
- このライブラリについて: http://mbed.org/users/gsfan/notebook/gainspan_wifi/
- Wi-FIモジュールについて: http://mbed.org/users/gsfan/notebook/gainspan_wifi/
- UARTコマンド、SPIデータインターフェースに対応しました。(2019/09)
Diff: GSwifi/GSwifi.h
- Revision:
- 11:71d67fea5ace
- Parent:
- 10:7d8134e7df01
- Child:
- 12:057089026a20
--- a/GSwifi/GSwifi.h Thu Oct 31 08:34:45 2013 +0000 +++ b/GSwifi/GSwifi.h Fri Nov 15 04:20:14 2013 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2012 mbed.org, MIT License +/* Copyright (C) 2013 gsfan, MIT License * * Permission is hereby granted, free of charge, to any person obtaining a copy of this software * and associated documentation files (the "Software"), to deal in the Software without restriction, @@ -21,9 +21,6 @@ * * http://www.gainspan.com/modules */ -/* Copyright (C) 2013 gsfan, MIT License - * port to the GainSpan Wi-FI module GS1011 - */ /** @file * @brief Gainspan wi-fi module library for mbed * GS1011MIC, GS1011MIP, GainSpan WiFi Breakout, etc. @@ -32,35 +29,19 @@ #ifndef GSwifi_H #define GSwifi_H +#include "GSwifi_conf.h" + #include "mbed.h" -#include "rtos.h" #include "RawSerial.h" #include "CBuffer.h" #include <ctype.h> #include <stdlib.h> #include <string.h> -//#define DEBUG - -#define DEFAULT_WAIT_RESP_TIMEOUT 500 -#define CFG_TIMEOUT 30000 // ms -#define CFG_CMD_SIZE 100 -#if defined(TARGET_LPC1768) || defined(TARGET_LPC2368) -#define CFG_DATA_SIZE 1024 -#elif defined(TARGET_LPC11U24) -#define CFG_DATA_SIZE 128 -#elif defined(TARGET_LPC4088) -#define CFG_DATA_SIZE 4096 +#ifdef CFG_ENABLE_RTOS +#include "rtos.h" #endif - -//#define CFG_UART_DIRECT -#define CFG_UART_BAUD 9600 -#define CFG_WREGDOMAIN 2 // 0:FCC, 1:ETSI, 2:TELEC -#define CFG_DHCPNAME "mbed-gswifi" -#define CFG_DNSNAME "setup.local" -#define MAX_TRY_JOIN 3 - #define MSG_TABLE_NUM 15 #define RES_TABLE_NUM 10 @@ -176,7 +157,7 @@ * @param phrase WEP or WPA key * @return 0 if connected, -1 otherwise */ - int join (Security sec, const char *ssid, const char *phrase); + int join (); /** Connect the wifi module to the adhock in the constructor. * @param sec Security type (NONE, WEP_128 or WPA) @@ -184,7 +165,7 @@ * @param phrase WEP or WPA key * @return 0 if connected, -1 otherwise */ - int adhock (Security sec, const char *ssid, const char *phrase); + int adhock (); /** Connect the wifi module to the limited AP in the constructor. * @param sec Security type (NONE, WEP_128 or WPA) @@ -192,7 +173,7 @@ * @param phrase WEP or WPA key * @return 0 if connected, -1 otherwise */ - int limitedap (Security sec, const char *ssid, const char *phrase); + int limitedap (); /** Disconnect the wifi module from the access point * @returns 0 if successful @@ -204,9 +185,12 @@ */ bool isConnected(); - int setSsid (Security sec, const char *ssid, const char *phrase); + void poll (); - void poll (); + int setAddress (const char *name = NULL); + int setAddress (const char *ip, const char *netmask, const char *gateway, const char *name = NULL); + int getAddress (char *ip, char *netmask, char *gateway); + int setSsid (Security sec, const char *ssid, const char *phrase); static GSwifi * getInstance() { return _inst; @@ -348,13 +332,13 @@ * @param cmd * @returns 0 if successful */ - int sendData(const char * data, int len, int timeout = DEFAULT_WAIT_RESP_TIMEOUT, const char * cmd = NULL); + int sendData(const char * data, int len, int timeout = CFG_TIMEOUT, const char * cmd = NULL); protected: static GSwifi * _inst; -#ifdef RTOS_H +#ifdef CFG_ENABLE_RTOS Thread *_threadPoll; Mutex _mutexUart; #endif @@ -389,13 +373,14 @@ bool dhcp; time_t time; + bool initialized; bool associated; volatile Mode mode; volatile Status status; bool escape; volatile bool ok, failure; volatile Response res; - int cid, acid; + int cid; int n; CircBuffer<char> *buf; } _state; @@ -414,7 +399,7 @@ // ----- GSwifi.cpp ----- -#ifdef RTOS_H +#ifdef CFG_ENABLE_RTOS static void threadPoll (void const *args); #endif