firm newest

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

Committer:
nguyenhoang9x5555
Date:
Thu Oct 18 04:18:48 2018 +0000
Revision:
0:3c869a8cb8f8
DOT AT FIRMWARE 18102018

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nguyenhoang9x5555 0:3c869a8cb8f8 1 #include "CmdWakeInterval.h"
nguyenhoang9x5555 0:3c869a8cb8f8 2
nguyenhoang9x5555 0:3c869a8cb8f8 3 CmdWakeInterval::CmdWakeInterval() :
nguyenhoang9x5555 0:3c869a8cb8f8 4 Command("Wake Interval", "AT+WI", "Wakeup interval (seconds)", "(2-2147483646) s") {
nguyenhoang9x5555 0:3c869a8cb8f8 5 _queryable = true;
nguyenhoang9x5555 0:3c869a8cb8f8 6 }
nguyenhoang9x5555 0:3c869a8cb8f8 7
nguyenhoang9x5555 0:3c869a8cb8f8 8 uint32_t CmdWakeInterval::action(std::vector<std::string> args)
nguyenhoang9x5555 0:3c869a8cb8f8 9 {
nguyenhoang9x5555 0:3c869a8cb8f8 10 if (args.size() == 1)
nguyenhoang9x5555 0:3c869a8cb8f8 11 {
nguyenhoang9x5555 0:3c869a8cb8f8 12 CommandTerminal::Serial()->writef("%lu\r\n", CommandTerminal::Dot()->getWakeInterval());
nguyenhoang9x5555 0:3c869a8cb8f8 13 }
nguyenhoang9x5555 0:3c869a8cb8f8 14 else if (args.size() == 2)
nguyenhoang9x5555 0:3c869a8cb8f8 15 {
nguyenhoang9x5555 0:3c869a8cb8f8 16 int timeout;
nguyenhoang9x5555 0:3c869a8cb8f8 17 sscanf(args[1].c_str(), "%d", &timeout);
nguyenhoang9x5555 0:3c869a8cb8f8 18
nguyenhoang9x5555 0:3c869a8cb8f8 19 if (CommandTerminal::Dot()->setWakeInterval(timeout) != mDot::MDOT_OK) {
nguyenhoang9x5555 0:3c869a8cb8f8 20 CommandTerminal::setErrorMessage(CommandTerminal::Dot()->getLastError());;
nguyenhoang9x5555 0:3c869a8cb8f8 21 return 1;
nguyenhoang9x5555 0:3c869a8cb8f8 22 }
nguyenhoang9x5555 0:3c869a8cb8f8 23 }
nguyenhoang9x5555 0:3c869a8cb8f8 24
nguyenhoang9x5555 0:3c869a8cb8f8 25 return 0;
nguyenhoang9x5555 0:3c869a8cb8f8 26 }
nguyenhoang9x5555 0:3c869a8cb8f8 27
nguyenhoang9x5555 0:3c869a8cb8f8 28 bool CmdWakeInterval::verify(std::vector<std::string> args)
nguyenhoang9x5555 0:3c869a8cb8f8 29 {
nguyenhoang9x5555 0:3c869a8cb8f8 30 if (args.size() == 1)
nguyenhoang9x5555 0:3c869a8cb8f8 31 return true;
nguyenhoang9x5555 0:3c869a8cb8f8 32
nguyenhoang9x5555 0:3c869a8cb8f8 33 if (args.size() == 2) {
nguyenhoang9x5555 0:3c869a8cb8f8 34 int timeout;
nguyenhoang9x5555 0:3c869a8cb8f8 35 if (sscanf(args[1].c_str(), "%d", &timeout) != 1) {
nguyenhoang9x5555 0:3c869a8cb8f8 36 CommandTerminal::setErrorMessage("Invalid argument");
nguyenhoang9x5555 0:3c869a8cb8f8 37 return false;
nguyenhoang9x5555 0:3c869a8cb8f8 38 }
nguyenhoang9x5555 0:3c869a8cb8f8 39
nguyenhoang9x5555 0:3c869a8cb8f8 40 if (timeout < 2 || timeout > INT_MAX-1) {
nguyenhoang9x5555 0:3c869a8cb8f8 41 CommandTerminal::setErrorMessage("Invalid interval, expects (2-2147483646) s");
nguyenhoang9x5555 0:3c869a8cb8f8 42 return false;
nguyenhoang9x5555 0:3c869a8cb8f8 43 }
nguyenhoang9x5555 0:3c869a8cb8f8 44
nguyenhoang9x5555 0:3c869a8cb8f8 45 return true;
nguyenhoang9x5555 0:3c869a8cb8f8 46 }
nguyenhoang9x5555 0:3c869a8cb8f8 47
nguyenhoang9x5555 0:3c869a8cb8f8 48 CommandTerminal::setErrorMessage("Invalid arguments");
nguyenhoang9x5555 0:3c869a8cb8f8 49 return false;
nguyenhoang9x5555 0:3c869a8cb8f8 50 }