with 36errors

Dependencies:   MTS-Serial libxDot-dev-mbed5-deprecated

Fork of Dot-AT-Firmware by MultiTech

Revision:
1:e52ae6584f1c
Child:
9:ff62b20f7000
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CommandTerminal/CmdJoinRequest.cpp	Thu Jun 25 10:23:41 2015 -0500
@@ -0,0 +1,39 @@
+#include "CmdJoinRequest.h"
+#include "CommandTerminal.h"
+
+CmdJoinRequest::CmdJoinRequest(mDot* dot, mts::MTSSerial& serial)
+:
+  Command(dot, "Join Network", "AT+JOIN", "Join network, provide argument of '1' to force join (acquire network address and session keys)"),
+  _serial(serial) {
+    _help = std::string(text()) + ": " + std::string(desc());
+    _usage = "(force:1)";
+}
+
+uint32_t CmdJoinRequest::action(std::vector<std::string> args) {
+    int32_t code;
+    std::string buf;
+    char ch;
+
+    if (args.size() > 1 && args[1] == "1")
+        _dot->resetNetworkSession();
+
+    code = _dot->joinNetworkOnce();
+
+    if (code == mDot::MDOT_OK) {
+        _serial.writef("Successfully joined network\r\n");
+        return 0;
+    } else {
+        std::string error = mDot::getReturnCodeString(code)  + " - " + _dot->getLastError();
+        setErrorMessage(error);
+    }
+
+    return 1;
+}
+
+bool CmdJoinRequest::verify(std::vector<std::string> args) {
+    if (args.size() == 1 || (args.size() == 2 && args[1] == "1"))
+        return true;
+
+    setErrorMessage("Invalid arguments");
+    return false;
+}