eConais EC19D Wi-Fi module
EC19.cpp
- Committer:
- ecfan
- Date:
- 2015-02-19
- Revision:
- 0:4425e1b86f65
File content as of revision 0:4425e1b86f65:
#include "EC19.h" EC19 * EC19::_inst; EC19::EC19(PinName tx, PinName rx, PinName cts, PinName rts, PinName shutdown, int baud) : _ec(tx, rx), _shutdown(shutdown) { _inst = this; memset(&_state, 0, sizeof(_state)); _state.initialized = false; _state.buf = (char*)malloc(CFG_BUF_SIZE); // _state.buf = new CircBuffer<char>(CFG_BUF_SIZE); setReset(true); initUart(cts, rts, baud); wait_ms(10); setReset(false); wait_ms(100); } int EC19::join () { Timer t; cmdMac(NULL); cmdAssociate(SEC_WPA_PSK, "suge", "okini3939"); t.reset(); t.start(); for (;;) { if (_state.associated && _state.gateway[0] != 0) break; if (_state.failure || t.read_ms() > CFG_TIMEOUT) return -1; wait_ms(10); } t.stop(); return 0; } int EC19::dissociate () { Timer t; cmdRssi(); cmdPowerMode(0, 0); cmdDissociate(); t.reset(); t.start(); for (;;) { if (! _state.associated) break; if (_state.failure || t.read_ms() > CFG_TIMEOUT) return -1; wait_ms(10); } t.stop(); return 0; } void EC19::poll () { char c; /* while (_state.buf->dequeue(&c)) { recvData(c); } */ }