Merge branch master
This commit is contained in:
29
.travis.yml
29
.travis.yml
@@ -18,23 +18,30 @@ env:
|
|||||||
- PLATFORMIO_CI_SRC=tools/FactoryReset
|
- PLATFORMIO_CI_SRC=tools/FactoryReset
|
||||||
|
|
||||||
# Arduino test
|
# Arduino test
|
||||||
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_A6' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
||||||
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_BG96' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
||||||
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_ESP8266' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
||||||
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_M95' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
||||||
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_M590' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
||||||
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_MC60' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_SIM800' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_SIM800' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_SIM900' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_SIM900' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_A6' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_SIM808' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_M590' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_UBLOX' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_ESP8266' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_UBLOX' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_BG96' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_XBEE' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_XBEE' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev --board=mayfly"
|
||||||
|
|
||||||
# Energia test
|
# Energia test
|
||||||
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_A6' --project-option='framework=energia' --board=lplm4f120h5qr"
|
||||||
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_BG96' --project-option='framework=energia' --board=lplm4f120h5qr"
|
||||||
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_ESP8266' --project-option='framework=energia' --board=lplm4f120h5qr"
|
||||||
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_M95' --project-option='framework=energia' --board=lplm4f120h5qr"
|
||||||
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_M590' --project-option='framework=energia' --board=lplm4f120h5qr"
|
||||||
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_MC60' --project-option='framework=energia' --board=lplm4f120h5qr"
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_SIM800' --project-option='framework=energia' --board=lplm4f120h5qr"
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_SIM800' --project-option='framework=energia' --board=lplm4f120h5qr"
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_SIM900' --project-option='framework=energia' --board=lplm4f120h5qr"
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_SIM900' --project-option='framework=energia' --board=lplm4f120h5qr"
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_A6' --project-option='framework=energia' --board=lplm4f120h5qr"
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_SIM808' --project-option='framework=energia' --board=lplm4f120h5qr"
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_M590' --project-option='framework=energia' --board=lplm4f120h5qr"
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_UBLOX' --project-option='framework=energia' --board=lplm4f120h5qr"
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_ESP8266' --project-option='framework=energia' --board=lplm4f120h5qr"
|
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_XBEE' --project-option='framework=energia' --board=lplm4f120h5qr"
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_UBLOX' --project-option='framework=energia' --board=lplm4f120h5qr"
|
|
||||||
- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_BG96' --project-option='framework=energia' --board=lplm4f120h5qr"
|
|
||||||
|
|
||||||
# Disabled due to a bug in Energia readBytes implementation
|
# Disabled due to a bug in Energia readBytes implementation
|
||||||
#- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_XBEE' --project-option='framework=energia' --board=lplm4f120h5qr"
|
#- PLATFORMIO_CI_SRC=tools/test_build PLATFORMIO_CI_ARGS="--project-option='build_flags=-D TINY_GSM_MODEM_XBEE' --project-option='framework=energia' --board=lplm4f120h5qr"
|
||||||
@@ -58,5 +65,7 @@ install:
|
|||||||
- platformio lib -g install 89 415 1202 1286
|
- platformio lib -g install 89 415 1202 1286
|
||||||
- platformio lib -g update
|
- platformio lib -g update
|
||||||
- platformio lib update
|
- platformio lib update
|
||||||
|
- platformio lib list
|
||||||
|
- platformio lib -g list
|
||||||
|
|
||||||
script: make travis-build
|
script: make travis-build
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "TinyGSM",
|
"name": "TinyGSM",
|
||||||
"version": "0.4.2",
|
"version": "0.4.3",
|
||||||
"description": "A small Arduino library for GPRS modules, that just works. Includes examples for Blynk, MQTT, File Download, and Web Client. Supports many GSM and wifi modules with AT command interfaces.",
|
"description": "A small Arduino library for GPRS modules, that just works. Includes examples for Blynk, MQTT, File Download, and Web Client. Supports many GSM and wifi modules with AT command interfaces.",
|
||||||
"keywords": "GSM, AT commands, AT, SIM800, SIM900, A6, A7, M590, ESP8266, SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868, SIM900A, SIM900D, SIM908, SIM968, M95, MC60, MC60E, BG96, ublox",
|
"keywords": "GSM, AT commands, AT, SIM800, SIM900, A6, A7, M590, ESP8266, SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868, SIM900A, SIM900D, SIM908, SIM968, M95, MC60, MC60E, BG96, ublox",
|
||||||
"authors":
|
"authors":
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
name=TinyGSM
|
name=TinyGSM
|
||||||
version=0.4.2
|
version=0.4.3
|
||||||
author=Volodymyr Shymanskyy
|
author=Volodymyr Shymanskyy
|
||||||
maintainer=Volodymyr Shymanskyy
|
maintainer=Volodymyr Shymanskyy
|
||||||
sentence=A small Arduino library for GPRS modules, that just works.
|
sentence=A small Arduino library for GPRS modules, that just works.
|
||||||
|
|||||||
@@ -12,10 +12,6 @@
|
|||||||
|
|
||||||
//#define TINY_GSM_DEBUG Serial
|
//#define TINY_GSM_DEBUG Serial
|
||||||
|
|
||||||
#if !defined(TINY_GSM_RX_BUFFER)
|
|
||||||
#define TINY_GSM_RX_BUFFER 256
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define TINY_GSM_MUX_COUNT 8
|
#define TINY_GSM_MUX_COUNT 8
|
||||||
|
|
||||||
#include <TinyGsmCommon.h>
|
#include <TinyGsmCommon.h>
|
||||||
@@ -125,8 +121,7 @@ public:
|
|||||||
virtual int read(uint8_t *buf, size_t size) {
|
virtual int read(uint8_t *buf, size_t size) {
|
||||||
TINY_GSM_YIELD();
|
TINY_GSM_YIELD();
|
||||||
size_t cnt = 0;
|
size_t cnt = 0;
|
||||||
uint32_t _startMillis = millis();
|
while (cnt < size && sock_connected) {
|
||||||
while (cnt < size && millis() - _startMillis < _timeout) {
|
|
||||||
size_t chunk = TinyGsmMin(size-cnt, rx.size());
|
size_t chunk = TinyGsmMin(size-cnt, rx.size());
|
||||||
if (chunk > 0) {
|
if (chunk > 0) {
|
||||||
rx.get(buf, chunk);
|
rx.get(buf, chunk);
|
||||||
@@ -135,9 +130,8 @@ public:
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// TODO: Read directly into user buffer?
|
// TODO: Read directly into user buffer?
|
||||||
if (!rx.size() && sock_connected) {
|
if (!rx.size()) {
|
||||||
at->maintain();
|
at->maintain();
|
||||||
//break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return cnt;
|
return cnt;
|
||||||
@@ -189,7 +183,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
bool init(const char* pin = NULL) {
|
bool init(const char* pin = NULL) {
|
||||||
DBG(GF("### Modem Defined:"), getModemName());
|
|
||||||
if (!testAT()) {
|
if (!testAT()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -197,12 +190,11 @@ public:
|
|||||||
if (waitResponse() != 1) {
|
if (waitResponse() != 1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
sendAT(GF("+CMEE=0"));
|
sendAT(GF("+CMEE=0")); // Turn of verbose errors
|
||||||
waitResponse();
|
waitResponse();
|
||||||
|
sendAT(GF("+CMER=3,0,0,2")); // Set unsolicited result code output destination
|
||||||
sendAT(GF("+CMER=3,0,0,2"));
|
|
||||||
waitResponse();
|
waitResponse();
|
||||||
|
DBG(GF("### Modem:"), getModemName());
|
||||||
getSimStatus();
|
getSimStatus();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -223,10 +215,7 @@ public:
|
|||||||
bool testAT(unsigned long timeout = 10000L) {
|
bool testAT(unsigned long timeout = 10000L) {
|
||||||
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
||||||
sendAT(GF(""));
|
sendAT(GF(""));
|
||||||
if (waitResponse(200) == 1) {
|
if (waitResponse(200) == 1) return true;
|
||||||
delay(100);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
delay(100);
|
delay(100);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -13,10 +13,6 @@
|
|||||||
//#define TINY_GSM_DEBUG Serial
|
//#define TINY_GSM_DEBUG Serial
|
||||||
//#define TINY_GSM_USE_HEX
|
//#define TINY_GSM_USE_HEX
|
||||||
|
|
||||||
#if !defined(TINY_GSM_RX_BUFFER)
|
|
||||||
#define TINY_GSM_RX_BUFFER 64
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define TINY_GSM_MUX_COUNT 12
|
#define TINY_GSM_MUX_COUNT 12
|
||||||
|
|
||||||
#include <TinyGsmCommon.h>
|
#include <TinyGsmCommon.h>
|
||||||
@@ -213,7 +209,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
bool init(const char* pin = NULL) {
|
bool init(const char* pin = NULL) {
|
||||||
DBG(GF("### Modem Defined:"), getModemName());
|
|
||||||
if (!testAT()) {
|
if (!testAT()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -221,6 +216,7 @@ public:
|
|||||||
if (waitResponse() != 1) {
|
if (waitResponse() != 1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
DBG(GF("### Modem:"), getModemName());
|
||||||
getSimStatus();
|
getSimStatus();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -236,10 +232,7 @@ public:
|
|||||||
bool testAT(unsigned long timeout = 10000L) {
|
bool testAT(unsigned long timeout = 10000L) {
|
||||||
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
||||||
sendAT(GF(""));
|
sendAT(GF(""));
|
||||||
if (waitResponse(200) == 1) {
|
if (waitResponse(200) == 1) return true;
|
||||||
delay(100);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
delay(100);
|
delay(100);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -308,8 +301,9 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool poweroff() {
|
bool poweroff() {
|
||||||
sendAT(GF("+QPOWD"));
|
sendAT(GF("+QPOWD=1"));
|
||||||
return waitResponse(GF("POWERED DOWN")) == 1; // TODO
|
waitResponse(300); // returns OK first
|
||||||
|
return waitResponse(300, GF("POWERED DOWN")) == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool radioOff() {
|
bool radioOff() {
|
||||||
|
|||||||
@@ -12,10 +12,6 @@
|
|||||||
|
|
||||||
//#define TINY_GSM_DEBUG Serial
|
//#define TINY_GSM_DEBUG Serial
|
||||||
|
|
||||||
#if !defined(TINY_GSM_RX_BUFFER)
|
|
||||||
#define TINY_GSM_RX_BUFFER 512
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define TINY_GSM_MUX_COUNT 5
|
#define TINY_GSM_MUX_COUNT 5
|
||||||
|
|
||||||
#include <TinyGsmCommon.h>
|
#include <TinyGsmCommon.h>
|
||||||
@@ -122,8 +118,7 @@ public:
|
|||||||
virtual int read(uint8_t *buf, size_t size) {
|
virtual int read(uint8_t *buf, size_t size) {
|
||||||
TINY_GSM_YIELD();
|
TINY_GSM_YIELD();
|
||||||
size_t cnt = 0;
|
size_t cnt = 0;
|
||||||
uint32_t _startMillis = millis();
|
while (cnt < size && sock_connected) {
|
||||||
while (cnt < size && millis() - _startMillis < _timeout) {
|
|
||||||
size_t chunk = TinyGsmMin(size-cnt, rx.size());
|
size_t chunk = TinyGsmMin(size-cnt, rx.size());
|
||||||
if (chunk > 0) {
|
if (chunk > 0) {
|
||||||
rx.get(buf, chunk);
|
rx.get(buf, chunk);
|
||||||
@@ -132,9 +127,8 @@ public:
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// TODO: Read directly into user buffer?
|
// TODO: Read directly into user buffer?
|
||||||
if (!rx.size() && sock_connected) {
|
if (!rx.size()) {
|
||||||
at->maintain();
|
at->maintain();
|
||||||
//break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return cnt;
|
return cnt;
|
||||||
@@ -206,7 +200,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
bool init(const char* pin = NULL) {
|
bool init(const char* pin = NULL) {
|
||||||
DBG(GF("### Modem Defined:"), getModemName());
|
|
||||||
if (!testAT()) {
|
if (!testAT()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -222,6 +215,7 @@ public:
|
|||||||
if (waitResponse() != 1) {
|
if (waitResponse() != 1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
DBG(GF("### Modem:"), getModemName());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -236,10 +230,7 @@ public:
|
|||||||
bool testAT(unsigned long timeout = 10000L) {
|
bool testAT(unsigned long timeout = 10000L) {
|
||||||
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
||||||
sendAT(GF(""));
|
sendAT(GF(""));
|
||||||
if (waitResponse(200) == 1) {
|
if (waitResponse(200) == 1) return true;
|
||||||
delay(100);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
delay(100);
|
delay(100);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -297,7 +288,10 @@ public:
|
|||||||
return init();
|
return init();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool poweroff() TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
bool poweroff() {
|
||||||
|
sendAT(GF("+GSLP=0")); // Power down indefinitely - until manually reset!
|
||||||
|
return waitResponse() == 1;
|
||||||
|
}
|
||||||
|
|
||||||
bool radioOff() TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
bool radioOff() TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
||||||
|
|
||||||
|
|||||||
@@ -12,10 +12,6 @@
|
|||||||
|
|
||||||
//#define TINY_GSM_DEBUG Serial
|
//#define TINY_GSM_DEBUG Serial
|
||||||
|
|
||||||
#if !defined(TINY_GSM_RX_BUFFER)
|
|
||||||
#define TINY_GSM_RX_BUFFER 256
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define TINY_GSM_MUX_COUNT 2
|
#define TINY_GSM_MUX_COUNT 2
|
||||||
|
|
||||||
#include <TinyGsmCommon.h>
|
#include <TinyGsmCommon.h>
|
||||||
@@ -122,8 +118,7 @@ public:
|
|||||||
virtual int read(uint8_t *buf, size_t size) {
|
virtual int read(uint8_t *buf, size_t size) {
|
||||||
TINY_GSM_YIELD();
|
TINY_GSM_YIELD();
|
||||||
size_t cnt = 0;
|
size_t cnt = 0;
|
||||||
uint32_t _startMillis = millis();
|
while (cnt < size && sock_connected) {
|
||||||
while (cnt < size && millis() - _startMillis < _timeout) {
|
|
||||||
size_t chunk = TinyGsmMin(size-cnt, rx.size());
|
size_t chunk = TinyGsmMin(size-cnt, rx.size());
|
||||||
if (chunk > 0) {
|
if (chunk > 0) {
|
||||||
rx.get(buf, chunk);
|
rx.get(buf, chunk);
|
||||||
@@ -132,9 +127,8 @@ public:
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// TODO: Read directly into user buffer?
|
// TODO: Read directly into user buffer?
|
||||||
if (!rx.size() && sock_connected) {
|
if (!rx.size()) {
|
||||||
at->maintain();
|
at->maintain();
|
||||||
//break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return cnt;
|
return cnt;
|
||||||
@@ -186,7 +180,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
bool init(const char* pin = NULL) {
|
bool init(const char* pin = NULL) {
|
||||||
DBG(GF("### Modem Defined:"), getModemName());
|
|
||||||
if (!testAT()) {
|
if (!testAT()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -198,7 +191,7 @@ public:
|
|||||||
sendAT(GF("+CMEE=2"));
|
sendAT(GF("+CMEE=2"));
|
||||||
waitResponse();
|
waitResponse();
|
||||||
#endif
|
#endif
|
||||||
|
DBG(GF("### Modem:"), getModemName());
|
||||||
getSimStatus();
|
getSimStatus();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -214,10 +207,7 @@ public:
|
|||||||
bool testAT(unsigned long timeout = 10000L) {
|
bool testAT(unsigned long timeout = 10000L) {
|
||||||
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
||||||
sendAT(GF(""));
|
sendAT(GF(""));
|
||||||
if (waitResponse(200) == 1) {
|
if (waitResponse(200) == 1) return true;
|
||||||
delay(100);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
delay(100);
|
delay(100);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -13,10 +13,6 @@
|
|||||||
//#define TINY_GSM_DEBUG Serial
|
//#define TINY_GSM_DEBUG Serial
|
||||||
//#define TINY_GSM_USE_HEX
|
//#define TINY_GSM_USE_HEX
|
||||||
|
|
||||||
#if !defined(TINY_GSM_RX_BUFFER)
|
|
||||||
#define TINY_GSM_RX_BUFFER 64
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define TINY_GSM_MUX_COUNT 6
|
#define TINY_GSM_MUX_COUNT 6
|
||||||
|
|
||||||
#include <TinyGsmCommon.h>
|
#include <TinyGsmCommon.h>
|
||||||
@@ -137,7 +133,7 @@ public:
|
|||||||
// TODO: Read directly into user buffer?
|
// TODO: Read directly into user buffer?
|
||||||
at->maintain();
|
at->maintain();
|
||||||
if (sock_available > 0) {
|
if (sock_available > 0) {
|
||||||
at->modemRead(rx.free(), mux);
|
sock_available -= at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux);
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -213,7 +209,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
bool init(const char* pin = NULL) {
|
bool init(const char* pin = NULL) {
|
||||||
DBG(GF("### Modem Defined:"), getModemName());
|
|
||||||
if (!testAT()) {
|
if (!testAT()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -225,7 +220,7 @@ public:
|
|||||||
sendAT(GF("+CMEE=2"));
|
sendAT(GF("+CMEE=2"));
|
||||||
waitResponse();
|
waitResponse();
|
||||||
#endif
|
#endif
|
||||||
|
DBG(GF("### Modem:"), getModemName());
|
||||||
getSimStatus();
|
getSimStatus();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -241,10 +236,7 @@ public:
|
|||||||
bool testAT(unsigned long timeout = 10000L) {
|
bool testAT(unsigned long timeout = 10000L) {
|
||||||
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
||||||
sendAT(GF(""));
|
sendAT(GF(""));
|
||||||
if (waitResponse(200) == 1) {
|
if (waitResponse(200) == 1) return true;
|
||||||
delay(100);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
delay(100);
|
delay(100);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -316,8 +308,8 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool poweroff() {
|
bool poweroff() {
|
||||||
sendAT(GF("+QPOWD"));
|
sendAT(GF("+QPOWD=1"));
|
||||||
return waitResponse(GF("POWERED DOWN")) == 1; // TODO
|
return waitResponse(300, GF("NORMAL POWER DOWN")) == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool radioOff() {
|
bool radioOff() {
|
||||||
@@ -329,6 +321,8 @@ public:
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool sleepEnable(bool enable = true) TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SIM card functions
|
* SIM card functions
|
||||||
*/
|
*/
|
||||||
@@ -644,14 +638,11 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
|
|
||||||
bool modemConnect(const char* host, uint16_t port, uint8_t mux, bool ssl = false) {
|
bool modemConnect(const char* host, uint16_t port, uint8_t mux, bool ssl = false) {
|
||||||
sendAT(GF("+QIOPEN="), GF("\"TCP"), GF("\",\""), host, GF("\","), port);
|
sendAT(GF("+QIOPEN="), mux, GF("\"TCP"), GF("\",\""), host, GF("\","), port);
|
||||||
int rsp = waitResponse(75000L,
|
int rsp = waitResponse(75000L,
|
||||||
GF("CONNECT OK" GSM_NL),
|
GF("CONNECT OK" GSM_NL),
|
||||||
GF("CONNECT FAIL" GSM_NL),
|
GF("CONNECT FAIL" GSM_NL),
|
||||||
GF("ALREADY CONNECT" GSM_NL));
|
GF("ALREADY CONNECT" GSM_NL));
|
||||||
if ( rsp != 1 ) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return (1 == rsp);
|
return (1 == rsp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,10 +16,6 @@
|
|||||||
//#define TINY_GSM_DEBUG Serial
|
//#define TINY_GSM_DEBUG Serial
|
||||||
//#define TINY_GSM_USE_HEX
|
//#define TINY_GSM_USE_HEX
|
||||||
|
|
||||||
#if !defined(TINY_GSM_RX_BUFFER)
|
|
||||||
#define TINY_GSM_RX_BUFFER 64
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define TINY_GSM_MUX_COUNT 6
|
#define TINY_GSM_MUX_COUNT 6
|
||||||
|
|
||||||
#include <TinyGsmCommon.h>
|
#include <TinyGsmCommon.h>
|
||||||
@@ -141,7 +137,7 @@ public:
|
|||||||
// TODO: Read directly into user buffer?
|
// TODO: Read directly into user buffer?
|
||||||
at->maintain();
|
at->maintain();
|
||||||
if (sock_available > 0) {
|
if (sock_available > 0) {
|
||||||
at->modemRead(rx.free(), mux);
|
sock_available -= at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux);
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -217,7 +213,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
bool init(const char* pin = NULL) {
|
bool init(const char* pin = NULL) {
|
||||||
DBG(GF("### Modem Defined:"), getModemName());
|
|
||||||
if (!testAT()) {
|
if (!testAT()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -227,6 +222,7 @@ public:
|
|||||||
if (waitResponse() != 1) {
|
if (waitResponse() != 1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
DBG(GF("### Modem:"), getModemName());
|
||||||
getSimStatus();
|
getSimStatus();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -247,10 +243,7 @@ public:
|
|||||||
bool testAT(unsigned long timeout = 10000L) {
|
bool testAT(unsigned long timeout = 10000L) {
|
||||||
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
||||||
sendAT(GF(""));
|
sendAT(GF(""));
|
||||||
if (waitResponse(200) == 1) {
|
if (waitResponse(200) == 1) return true;
|
||||||
delay(100);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
delay(100);
|
delay(100);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -350,6 +343,8 @@ public:
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool sleepEnable(bool enable = true) TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SIM card functions
|
* SIM card functions
|
||||||
*/
|
*/
|
||||||
@@ -671,14 +666,11 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
|
|
||||||
bool modemConnect(const char* host, uint16_t port, uint8_t mux, bool ssl = false) {
|
bool modemConnect(const char* host, uint16_t port, uint8_t mux, bool ssl = false) {
|
||||||
sendAT(GF("+QIOPEN="), GF("\"TCP"), GF("\",\""), host, GF("\","), port);
|
sendAT(GF("+QIOPEN="), mux, GF("\"TCP"), GF("\",\""), host, GF("\","), port);
|
||||||
int rsp = waitResponse(75000L,
|
int rsp = waitResponse(75000L,
|
||||||
GF("CONNECT OK" GSM_NL),
|
GF("CONNECT OK" GSM_NL),
|
||||||
GF("CONNECT FAIL" GSM_NL),
|
GF("CONNECT FAIL" GSM_NL),
|
||||||
GF("ALREADY CONNECT" GSM_NL));
|
GF("ALREADY CONNECT" GSM_NL));
|
||||||
if ( rsp != 1 ) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return (1 == rsp);
|
return (1 == rsp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,10 +13,6 @@
|
|||||||
//#define TINY_GSM_DEBUG Serial
|
//#define TINY_GSM_DEBUG Serial
|
||||||
//#define TINY_GSM_USE_HEX
|
//#define TINY_GSM_USE_HEX
|
||||||
|
|
||||||
#if !defined(TINY_GSM_RX_BUFFER)
|
|
||||||
#define TINY_GSM_RX_BUFFER 64
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define TINY_GSM_MUX_COUNT 5
|
#define TINY_GSM_MUX_COUNT 5
|
||||||
|
|
||||||
#include <TinyGsmCommon.h>
|
#include <TinyGsmCommon.h>
|
||||||
@@ -150,7 +146,7 @@ public:
|
|||||||
// TODO: Read directly into user buffer?
|
// TODO: Read directly into user buffer?
|
||||||
at->maintain();
|
at->maintain();
|
||||||
if (sock_available > 0) {
|
if (sock_available > 0) {
|
||||||
at->modemRead(rx.free(), mux);
|
sock_available -= at->modemRead(TinyGsmMin((uint16_t)rx.free(), sock_available), mux);
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -227,7 +223,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
bool init(const char* pin = NULL) {
|
bool init(const char* pin = NULL) {
|
||||||
DBG(GF("### Modem Defined:"), getModemName());
|
|
||||||
if (!testAT()) {
|
if (!testAT()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -237,6 +232,7 @@ public:
|
|||||||
if (waitResponse() != 1) {
|
if (waitResponse() != 1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
DBG(GF("### Modem:"), getModemName());
|
||||||
getSimStatus();
|
getSimStatus();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -262,10 +258,7 @@ public:
|
|||||||
//streamWrite(GF("AAAAA" GSM_NL)); // TODO: extra A's to help detect the baud rate
|
//streamWrite(GF("AAAAA" GSM_NL)); // TODO: extra A's to help detect the baud rate
|
||||||
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
||||||
sendAT(GF(""));
|
sendAT(GF(""));
|
||||||
if (waitResponse(200) == 1) {
|
if (waitResponse(200) == 1) return true;
|
||||||
delay(100);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
delay(100);
|
delay(100);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -12,10 +12,6 @@
|
|||||||
|
|
||||||
//#define TINY_GSM_DEBUG Serial
|
//#define TINY_GSM_DEBUG Serial
|
||||||
|
|
||||||
#if !defined(TINY_GSM_RX_BUFFER)
|
|
||||||
#define TINY_GSM_RX_BUFFER 64
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define TINY_GSM_MUX_COUNT 5
|
#define TINY_GSM_MUX_COUNT 5
|
||||||
|
|
||||||
#include <TinyGsmCommon.h>
|
#include <TinyGsmCommon.h>
|
||||||
@@ -212,7 +208,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
bool init(const char* pin = NULL) {
|
bool init(const char* pin = NULL) {
|
||||||
DBG(GF("### Modem Defined:"), getModemName());
|
|
||||||
if (!testAT()) {
|
if (!testAT()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -220,6 +215,7 @@ public:
|
|||||||
if (waitResponse() != 1) {
|
if (waitResponse() != 1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
DBG(GF("### Modem:"), getModemName());
|
||||||
int ret = getSimStatus();
|
int ret = getSimStatus();
|
||||||
if (ret != SIM_READY && pin != NULL && strlen(pin) > 0) {
|
if (ret != SIM_READY && pin != NULL && strlen(pin) > 0) {
|
||||||
simUnlock(pin);
|
simUnlock(pin);
|
||||||
@@ -228,7 +224,25 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
String getModemName() {
|
String getModemName() {
|
||||||
return "u-blox Cellular Modem";
|
sendAT(GF("+CGMI"));
|
||||||
|
String res1;
|
||||||
|
if (waitResponse(1000L, res1) != 1) {
|
||||||
|
return "u-blox Cellular Modem";
|
||||||
|
}
|
||||||
|
res1.replace(GSM_NL "OK" GSM_NL, "");
|
||||||
|
res1.replace(GSM_NL, " ");
|
||||||
|
res1.trim();
|
||||||
|
|
||||||
|
sendAT(GF("+GMM"));
|
||||||
|
String res2;
|
||||||
|
if (waitResponse(1000L, res2) != 1) {
|
||||||
|
return "u-blox Cellular Modem";
|
||||||
|
}
|
||||||
|
res2.replace(GSM_NL "OK" GSM_NL, "");
|
||||||
|
res2.replace(GSM_NL, " ");
|
||||||
|
res2.trim();
|
||||||
|
|
||||||
|
return res1 + String(' ') + res2;
|
||||||
}
|
}
|
||||||
|
|
||||||
void setBaud(unsigned long baud) {
|
void setBaud(unsigned long baud) {
|
||||||
@@ -238,10 +252,7 @@ public:
|
|||||||
bool testAT(unsigned long timeout = 10000L) {
|
bool testAT(unsigned long timeout = 10000L) {
|
||||||
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
for (unsigned long start = millis(); millis() - start < timeout; ) {
|
||||||
sendAT(GF(""));
|
sendAT(GF(""));
|
||||||
if (waitResponse(200) == 1) {
|
if (waitResponse(200) == 1) return true;
|
||||||
delay(100);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
delay(100);
|
delay(100);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -307,7 +318,10 @@ public:
|
|||||||
return init();
|
return init();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool poweroff() TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
bool poweroff() {
|
||||||
|
sendAT(GF("+CPWROFF"));
|
||||||
|
return waitResponse(40000L) == 1;
|
||||||
|
}
|
||||||
|
|
||||||
bool radioOff() {
|
bool radioOff() {
|
||||||
sendAT(GF("+CFUN=0"));
|
sendAT(GF("+CFUN=0"));
|
||||||
@@ -568,8 +582,8 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
|
|
||||||
bool modemConnect(const char* host, uint16_t port, uint8_t* mux, bool ssl = false) {
|
bool modemConnect(const char* host, uint16_t port, uint8_t* mux, bool ssl = false) {
|
||||||
sendAT(GF("+USOCR=6"));
|
sendAT(GF("+USOCR=6")); // create a socket
|
||||||
if (waitResponse(GF(GSM_NL "+USOCR:")) != 1) {
|
if (waitResponse(GF(GSM_NL "+USOCR:")) != 1) { // reply is +USOCR: ## of socket created
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
*mux = stream.readStringUntil('\n').toInt();
|
*mux = stream.readStringUntil('\n').toInt();
|
||||||
@@ -588,7 +602,7 @@ protected:
|
|||||||
//sendAT(GF("+USOSO="), *mux, GF(",6,2,30000"));
|
//sendAT(GF("+USOSO="), *mux, GF(",6,2,30000"));
|
||||||
//waitResponse();
|
//waitResponse();
|
||||||
|
|
||||||
sendAT(GF("+USOCO="), *mux, ",\"", host, "\",", port);
|
sendAT(GF("+USOCO="), *mux, ",\"", host, "\",", port); // connect on socket
|
||||||
int rsp = waitResponse(75000L);
|
int rsp = waitResponse(75000L);
|
||||||
return (1 == rsp);
|
return (1 == rsp);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -276,9 +276,9 @@ public:
|
|||||||
{
|
{
|
||||||
sendAT();
|
sendAT();
|
||||||
if (waitResponse(200) == 1) {
|
if (waitResponse(200) == 1) {
|
||||||
|
exitCommand();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
exitCommand();
|
|
||||||
}
|
}
|
||||||
delay(100);
|
delay(100);
|
||||||
}
|
}
|
||||||
@@ -402,7 +402,9 @@ public:
|
|||||||
exitCommand();
|
exitCommand();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool poweroff() TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
bool poweroff() { // Not supported
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bool radioOff() TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
bool radioOff() TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,10 @@
|
|||||||
#define TINY_GSM_YIELD() { delay(0); }
|
#define TINY_GSM_YIELD() { delay(0); }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(TINY_GSM_RX_BUFFER)
|
||||||
|
#define TINY_GSM_RX_BUFFER 256
|
||||||
|
#endif
|
||||||
|
|
||||||
#define TINY_GSM_ATTR_NOT_AVAILABLE __attribute__((error("Not available on this modem type")))
|
#define TINY_GSM_ATTR_NOT_AVAILABLE __attribute__((error("Not available on this modem type")))
|
||||||
#define TINY_GSM_ATTR_NOT_IMPLEMENTED __attribute__((error("Not implemented")))
|
#define TINY_GSM_ATTR_NOT_IMPLEMENTED __attribute__((error("Not implemented")))
|
||||||
|
|
||||||
@@ -239,6 +243,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
virtual bool restart() = 0;
|
virtual bool restart() = 0;
|
||||||
|
virtual bool poweroff() = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SIM card functions - only apply to cellular modems
|
* SIM card functions - only apply to cellular modems
|
||||||
@@ -282,6 +287,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
virtual bool gprsDisconnect() { return false; }
|
virtual bool gprsDisconnect() { return false; }
|
||||||
|
virtual bool isGprsConnected() { return false; }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* IP Address functions
|
* IP Address functions
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* DO NOT USE THIS - this is just a compilation test!
|
* DO NOT USE THIS - this is just a compilation test!
|
||||||
*
|
*
|
||||||
**************************************************************/
|
**************************************************************/
|
||||||
#define TINY_GSM_MODEM_SIM800
|
// #define TINY_GSM_MODEM_SIM800
|
||||||
|
|
||||||
#include <TinyGsmClient.h>
|
#include <TinyGsmClient.h>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user