From 5e538b1d18b43299bc8431593bd3d9e9bfc0acd6 Mon Sep 17 00:00:00 2001 From: John Date: Tue, 30 Apr 2019 11:35:49 +0800 Subject: [PATCH 1/4] Add getters and setters to GPRS, GSM, GSMClient so that we can extend and create async version of these classes --- src/GPRS.cpp | 14 ++++++++++++++ src/GPRS.h | 3 +++ src/GSM.cpp | 14 ++++++++++++++ src/GSM.h | 3 +++ src/GSMClient.cpp | 30 ++++++++++++++++-------------- src/GSMClient.h | 19 +++++++++++++++++++ 6 files changed, 69 insertions(+), 14 deletions(-) diff --git a/src/GPRS.cpp b/src/GPRS.cpp index 3e04987..c458c1f 100644 --- a/src/GPRS.cpp +++ b/src/GPRS.cpp @@ -320,6 +320,10 @@ IPAddress GPRS::getIPAddress() return IPAddress(0, 0, 0, 0); } +unsigned long GPRS::timeout() { + return _timeout; +} + void GPRS::setTimeout(unsigned long timeout) { _timeout = timeout; @@ -398,6 +402,16 @@ GSM3_NetworkStatus_t GPRS::status() return _status; } +int GPRS::state() +{ + return _state; +} + +void GPRS::setState(int state) +{ + _state = state; +} + void GPRS::handleUrc(const String& urc) { if (urc.startsWith("+UUPINGER: ")) { diff --git a/src/GPRS.h b/src/GPRS.h index 407b36f..c0a73b7 100644 --- a/src/GPRS.h +++ b/src/GPRS.h @@ -80,6 +80,7 @@ class GPRS : public ModemUrcHandler { */ IPAddress getIPAddress(); + unsigned long timeout(); void setTimeout(unsigned long timeout); int hostByName(const char* hostname, IPAddress& result); @@ -90,6 +91,8 @@ class GPRS : public ModemUrcHandler { int ping(IPAddress ip, uint8_t ttl = 128); GSM3_NetworkStatus_t status(); + int state(); + void setState(int state); void handleUrc(const String& urc); diff --git a/src/GSM.cpp b/src/GSM.cpp index d9a9fb7..d462fba 100644 --- a/src/GSM.cpp +++ b/src/GSM.cpp @@ -321,6 +321,10 @@ int GSM::ready() return ready; } +unsigned long GSM::timeout() { + return _timeout; +} + void GSM::setTimeout(unsigned long timeout) { _timeout = timeout; @@ -388,3 +392,13 @@ GSM3_NetworkStatus_t GSM::status() { return _state; } + +GSM3_NetworkStatus_t GSM::state() +{ + return _state; +} + +void GSM::setState(GSM3_NetworkStatus_t state) +{ + _state = state; +} diff --git a/src/GSM.h b/src/GSM.h index e9cd99b..988171c 100644 --- a/src/GSM.h +++ b/src/GSM.h @@ -66,6 +66,7 @@ class GSM { */ int ready(); + unsigned long timeout(); void setTimeout(unsigned long timeout); unsigned long getTime(); @@ -75,6 +76,8 @@ class GSM { int noLowPowerMode(); GSM3_NetworkStatus_t status(); + GSM3_NetworkStatus_t state(); + void setState(GSM3_NetworkStatus_t state); private: GSM3_NetworkStatus_t _state; diff --git a/src/GSMClient.cpp b/src/GSMClient.cpp index 24a6254..e3dc12b 100644 --- a/src/GSMClient.cpp +++ b/src/GSMClient.cpp @@ -23,20 +23,6 @@ #include "GSMClient.h" -enum { - CLIENT_STATE_IDLE, - CLIENT_STATE_CREATE_SOCKET, - CLIENT_STATE_WAIT_CREATE_SOCKET_RESPONSE, - CLIENT_STATE_ENABLE_SSL, - CLIENT_STATE_WAIT_ENABLE_SSL_RESPONSE, - CLIENT_STATE_MANAGE_SSL_PROFILE, - CLIENT_STATE_WAIT_MANAGE_SSL_PROFILE_RESPONSE, - CLIENT_STATE_CONNECT, - CLIENT_STATE_WAIT_CONNECT_RESPONSE, - CLIENT_STATE_CLOSE_SOCKET, - CLIENT_STATE_WAIT_CLOSE_SOCKET -}; - GSMClient::GSMClient(bool synch) : GSMClient(-1, synch) { @@ -446,3 +432,19 @@ void GSMClient::handleUrc(const String& urc) } } } + +int GSMClient::state() { + return _state; +} + +void GSMClient::setState(int state) { + _state = state; +} + +int GSMClient::socket() { + return _socket; +} + +const char* GSMClient::host() { + return _host; +} diff --git a/src/GSMClient.h b/src/GSMClient.h index 1455d58..f29033c 100644 --- a/src/GSMClient.h +++ b/src/GSMClient.h @@ -24,6 +24,20 @@ #include +enum { + CLIENT_STATE_IDLE, + CLIENT_STATE_CREATE_SOCKET, + CLIENT_STATE_WAIT_CREATE_SOCKET_RESPONSE, + CLIENT_STATE_ENABLE_SSL, + CLIENT_STATE_WAIT_ENABLE_SSL_RESPONSE, + CLIENT_STATE_MANAGE_SSL_PROFILE, + CLIENT_STATE_WAIT_MANAGE_SSL_PROFILE_RESPONSE, + CLIENT_STATE_CONNECT, + CLIENT_STATE_WAIT_CONNECT_RESPONSE, + CLIENT_STATE_CLOSE_SOCKET, + CLIENT_STATE_WAIT_CLOSE_SOCKET +}; + class GSMClient : public Client, public ModemUrcHandler { public: @@ -130,6 +144,11 @@ class GSMClient : public Client, public ModemUrcHandler { virtual void handleUrc(const String& urc); + int state(); + void setState(int state); + int socket(); + const char* host(); + private: int connect(); From b84618ed5319f39a26f96a2a34a0646b6111a04d Mon Sep 17 00:00:00 2001 From: per1234 Date: Tue, 30 Apr 2019 18:40:16 +0800 Subject: [PATCH 2/4] Update src/GSM.cpp Co-Authored-By: johncpang --- src/GSM.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/GSM.cpp b/src/GSM.cpp index d462fba..42c912f 100644 --- a/src/GSM.cpp +++ b/src/GSM.cpp @@ -321,7 +321,8 @@ int GSM::ready() return ready; } -unsigned long GSM::timeout() { +unsigned long GSM::timeout() +{ return _timeout; } From fe49656814eac62f2fcc4dcff5e585857a4f9f3c Mon Sep 17 00:00:00 2001 From: per1234 Date: Tue, 30 Apr 2019 18:41:32 +0800 Subject: [PATCH 3/4] Update src/GPRS.cpp Co-Authored-By: johncpang --- src/GPRS.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/GPRS.cpp b/src/GPRS.cpp index c458c1f..0abbf4c 100644 --- a/src/GPRS.cpp +++ b/src/GPRS.cpp @@ -320,7 +320,8 @@ IPAddress GPRS::getIPAddress() return IPAddress(0, 0, 0, 0); } -unsigned long GPRS::timeout() { +unsigned long GPRS::timeout() +{ return _timeout; } From d8e29908877e665540bfdb45479dbca271fec2d9 Mon Sep 17 00:00:00 2001 From: John Date: Tue, 30 Apr 2019 22:29:30 +0800 Subject: [PATCH 4/4] Update src/GSMClient.cpp --- src/GSMClient.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/GSMClient.cpp b/src/GSMClient.cpp index e3dc12b..039f82a 100644 --- a/src/GSMClient.cpp +++ b/src/GSMClient.cpp @@ -433,18 +433,22 @@ void GSMClient::handleUrc(const String& urc) } } -int GSMClient::state() { - return _state; +int GSMClient::state() +{ + return _state; } -void GSMClient::setState(int state) { - _state = state; +void GSMClient::setState(int state) +{ + _state = state; } -int GSMClient::socket() { - return _socket; +int GSMClient::socket() +{ + return _socket; } -const char* GSMClient::host() { - return _host; +const char* GSMClient::host() +{ + return _host; }