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.cpp
- Revision:
- 19:d035412a7803
- Parent:
- 17:c30ed7b1536d
- Child:
- 20:9bfb8a13010c
--- a/GSwifi/GSwifi.cpp Mon May 12 01:24:09 2014 +0000 +++ b/GSwifi/GSwifi.cpp Thu Jun 05 04:21:02 2014 +0000 @@ -32,6 +32,18 @@ _state.initialized = false; _state.status = STAT_READY; _state.cid = -1; +#ifdef CFG_EXTENDED_MEMORY1 + int n = CFG_EXTENDED_SIZE1 / (CFG_MAX_SOCKETS + 1); + _state.buf = new CircBuffer<char>(n - 1, CFG_EXTENDED_MEMORY1); +#ifdef CFG_ENABLE_RTOS + for (int i = 0; i < CFG_MAX_SOCKETS; i ++) { + _con[i].buf = new CircBuffer<char>(n - 1, CFG_EXTENDED_MEMORY1 + (n * (i + 1))); + if (_con[i].buf == NULL) + error("CircBuffer failed"); + } + _threadPoll = NULL; +#endif +#else // CFG_EXTENDED_MEMORY _state.buf = new CircBuffer<char>(CFG_DATA_SIZE); #ifdef CFG_ENABLE_RTOS for (int i = 0; i < CFG_MAX_SOCKETS; i ++) { @@ -41,6 +53,7 @@ } _threadPoll = NULL; #endif +#endif // CFG_EXTENDED_MEMORY setReset(true); initUart(cts, rts, alarm, baud); @@ -373,9 +386,16 @@ INFO("threadPoll"); for (;;) { + _wifi->poll(); +#ifdef CFG_ENABLE_HTTPD + if (_wifi->isAssociated()) { + Thread::wait(1); + } +#else Thread::signal_wait(1); Thread::wait(1000); INFO("disassociated"); +#endif while (!_wifi->isAssociated()){ _wifi->poll(); Thread::wait(CFG_RECONNECT * 1000);