Support for LISA-N101
Fork of C027_Support by
This is a variant of the C027 driver code for the C027N version, i.e. the one with the Neul/Huawei/u-blox Cellular Internet of Things module on board. The AT command interface for this module is entirely different to the AT interface for the other u-blox modules, hence this fork of the driver. Work is underway to rearchitect the original C027 driver so that a merge can be done.
Diff: Socket/Socket.h
- Revision:
- 47:9a89e5195721
- Parent:
- 44:9d12223b78ff
- Child:
- 49:8175b2b72d6b
--- a/Socket/Socket.h Tue May 06 06:54:12 2014 +0000 +++ b/Socket/Socket.h Fri May 09 17:43:55 2014 +0000 @@ -9,18 +9,23 @@ public: Socket() { _socket = -1; + _timeout = -1; _mdm = MDMParser::getInstance(); if (_mdm == NULL) { error("Socket constructor error: no modem instance available!\r\n"); } } - void set_blocking(bool blocking, unsigned int timeout=1) { - _mdm->socketSetBlocking(_socket, blocking ? (unsigned int) -1 /* blocking */ : timeout); + void set_blocking(bool blocking, unsigned int timeout=1) { + _timeout = blocking ? (unsigned int) -1 /* blocking */ : timeout; + if (_socket >= 0) { + _mdm->socketSetBlocking(_socket, _timeout); + } } int close() { bool ret = false; + printf("\r\n++++ socket closing\r\n\r\n"); if (_socket >= 0) { ret = _mdm->socketClose(_socket); @@ -30,10 +35,12 @@ return ret ? 0 : -1; } - ~Socket() { close(); } + ~Socket() { printf("\r\n++++ socket free\r\n\r\n"); + close(); } protected: int _socket; + int _timeout; MDMParser* _mdm; };