diff --git a/libraries/SoftwareATSE/src/SoftwareATSE.cpp b/libraries/SoftwareATSE/src/SoftwareATSE.cpp index 43990aee3..181cd812f 100644 --- a/libraries/SoftwareATSE/src/SoftwareATSE.cpp +++ b/libraries/SoftwareATSE/src/SoftwareATSE.cpp @@ -57,6 +57,20 @@ void SoftwareATSEClass::debug(Stream &u, uint8_t level) modem.debug(u,level); } +int SoftwareATSEClass::serialNumber(byte sn[]) +{ + string res = ""; + modem.read_using_size(); + if (modem.write(string(PROMPT(_SOFTSE_SERIAL)), res, "%s", CMD(_SOFTSE_SERIAL))) { + if (res.size()) { + String result = (char*)NULL; + memcpy(sn, (uint8_t*)&res[0], 6); + return 1; + } + } + return 0; +} + String SoftwareATSEClass::serialNumber() { string res = ""; diff --git a/libraries/SoftwareATSE/src/SoftwareATSE.h b/libraries/SoftwareATSE/src/SoftwareATSE.h index 030d2fdb8..4f520d6df 100644 --- a/libraries/SoftwareATSE/src/SoftwareATSE.h +++ b/libraries/SoftwareATSE/src/SoftwareATSE.h @@ -34,6 +34,7 @@ class SoftwareATSEClass void debug(Stream &u, uint8_t level = 0); + int serialNumber(byte sn[]); String serialNumber(); long random(long min, long max);