dev

Dependencies:   MTS-Serial libmDot-mbed5

Fork of Dot-AT-Firmware by MultiTech

Committer:
Mike Fiore
Date:
Mon Apr 04 09:00:31 2016 -0500
Revision:
9:ff62b20f7000
Parent:
4:666017851052
Child:
14:f9a77400b622
update to version 1.0.8 of AT firmware

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mike Fiore 4:666017851052 1 #include "CmdWakeInterval.h"
Mike Fiore 4:666017851052 2
Mike Fiore 4:666017851052 3 CmdWakeInterval::CmdWakeInterval(mDot* dot, mts::MTSSerial& serial) :
Mike Fiore 4:666017851052 4 Command(dot, "Wake Interval", "AT+WI", "Wakeup interval (seconds)"),
Mike Fiore 4:666017851052 5 _serial(serial)
Mike Fiore 4:666017851052 6 {
Mike Fiore 4:666017851052 7 _help = std::string(text()) + ": " + std::string(desc());
Mike Fiore 4:666017851052 8 _usage = "(2-2147483647) s";
Mike Fiore 4:666017851052 9 _queryable = true;
Mike Fiore 4:666017851052 10 }
Mike Fiore 4:666017851052 11
Mike Fiore 4:666017851052 12 uint32_t CmdWakeInterval::action(std::vector<std::string> args)
Mike Fiore 4:666017851052 13 {
Mike Fiore 4:666017851052 14 if (args.size() == 1)
Mike Fiore 4:666017851052 15 {
Mike Fiore 4:666017851052 16 if (_dot->getVerbose())
Mike Fiore 4:666017851052 17 _serial.writef("%s: ", name());
Mike Fiore 4:666017851052 18
Mike Fiore 4:666017851052 19 _serial.writef("%lu\r\n", _dot->getWakeInterval());
Mike Fiore 4:666017851052 20 }
Mike Fiore 4:666017851052 21 else if (args.size() == 2)
Mike Fiore 4:666017851052 22 {
Mike Fiore 4:666017851052 23 int32_t code;
Mike Fiore 9:ff62b20f7000 24 int timeout;
Mike Fiore 9:ff62b20f7000 25 sscanf(args[1].c_str(), "%d", &timeout);
Mike Fiore 4:666017851052 26
Mike Fiore 4:666017851052 27 if ((code = _dot->setWakeInterval(timeout)) != mDot::MDOT_OK) {
Mike Fiore 9:ff62b20f7000 28 setErrorMessage(_dot->getLastError());;
Mike Fiore 4:666017851052 29 return 1;
Mike Fiore 4:666017851052 30 }
Mike Fiore 4:666017851052 31 }
Mike Fiore 4:666017851052 32
Mike Fiore 4:666017851052 33 return 0;
Mike Fiore 4:666017851052 34 }
Mike Fiore 4:666017851052 35
Mike Fiore 4:666017851052 36 bool CmdWakeInterval::verify(std::vector<std::string> args)
Mike Fiore 4:666017851052 37 {
Mike Fiore 4:666017851052 38 if (args.size() == 1)
Mike Fiore 4:666017851052 39 return true;
Mike Fiore 4:666017851052 40
Mike Fiore 4:666017851052 41 if (args.size() == 2) {
Mike Fiore 9:ff62b20f7000 42 int timeout;
Mike Fiore 9:ff62b20f7000 43 if (sscanf(args[1].c_str(), "%d", &timeout) != 1) {
Mike Fiore 4:666017851052 44 setErrorMessage("Invalid argument");
Mike Fiore 4:666017851052 45 return false;
Mike Fiore 4:666017851052 46 }
Mike Fiore 4:666017851052 47
Mike Fiore 4:666017851052 48 if (timeout < 2 || timeout > INT_MAX) {
Mike Fiore 4:666017851052 49 setErrorMessage("Invalid interval, expects (2-2147483647) s");
Mike Fiore 4:666017851052 50 return false;
Mike Fiore 4:666017851052 51 }
Mike Fiore 4:666017851052 52
Mike Fiore 4:666017851052 53 return true;
Mike Fiore 4:666017851052 54 }
Mike Fiore 4:666017851052 55
Mike Fiore 4:666017851052 56 setErrorMessage("Invalid arguments");
Mike Fiore 4:666017851052 57 return false;
Mike Fiore 4:666017851052 58 }