Sigfox library with integration of ATParser

Revision:
2:d07e3b39ff74
Parent:
1:93450d8b2540
Child:
3:279bed56f354
--- a/Sigfox.cpp	Tue Apr 18 15:05:57 2017 +0000
+++ b/Sigfox.cpp	Wed Apr 19 20:57:38 2017 +0000
@@ -11,17 +11,38 @@
     return _at->recv("OK");
 }
 
+bool Sigfox::setPower(uint8_t power) {
+    _at->send("ATS302=%d", power);
+    return _at->recv("OK");
+}
+
 bool Sigfox::setPowerMode(uint8_t power) {
     _at->send("AT$P=%d", power);
     return _at->recv("OK");
 }
 
-void Sigfox::getID() {
-    _at->send("AT$I=10");
-    // TODO add return value
+void Sigfox::wakeup(DigitalInOut sig_rst, float time) {
+    // Wake up sigfox
+    sig_rst.output();
+    sig_rst = 0;
+    wait(time);
+    // Set high impendance the sigfox reset pin
+    sig_rst.input();
+    wait(time);
 }
 
-void Sigfox::getPAC() {
+char *Sigfox::getID() {
+    char buff[8+2];
+    _at->send("AT$I=10");
+    _at->read(buff, 8+2);
+    memcpy(&ID[0],&buff[2],8);
+    return &ID[0];
+}
+
+char *Sigfox::getPAC() {
+    char buff[16+2];
     _at->send("AT$I=11");
-    // TODO add return value
+    _at->read(buff, 16+2);
+    memcpy(&PAC[0],&buff[2],16);
+    return &PAC[0];
 }
\ No newline at end of file