mDot AT-Firmware for testing

Dependencies:   MTS-Serial libmDot-mbed5

Fork of Dot-AT-Firmware by MultiTech

Committer:
Mike Fiore
Date:
Fri Nov 04 14:25:43 2016 -0500
Revision:
14:f9a77400b622
Parent:
9:ff62b20f7000
update from git revision 2.0.16

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mike Fiore 9:ff62b20f7000 1 /*
Mike Fiore 9:ff62b20f7000 2 * CmdRxDelay.cpp
Mike Fiore 9:ff62b20f7000 3 *
Mike Fiore 9:ff62b20f7000 4 * Created on: Nov 4, 2015
Mike Fiore 9:ff62b20f7000 5 * Author: jreiss
Mike Fiore 9:ff62b20f7000 6 */
Mike Fiore 9:ff62b20f7000 7
Mike Fiore 9:ff62b20f7000 8 #include "CmdRxDelay.h"
Mike Fiore 9:ff62b20f7000 9
Mike Fiore 14:f9a77400b622 10 CmdRxDelay::CmdRxDelay()
Mike Fiore 9:ff62b20f7000 11 :
Mike Fiore 14:f9a77400b622 12 Command("Rx Delay", "AT+RXD", "Number of seconds before receive windows are opened (1 - 15)", "(1-15)")
Mike Fiore 9:ff62b20f7000 13 {
Mike Fiore 9:ff62b20f7000 14 _queryable = true;
Mike Fiore 9:ff62b20f7000 15 }
Mike Fiore 9:ff62b20f7000 16
Mike Fiore 9:ff62b20f7000 17 CmdRxDelay::~CmdRxDelay()
Mike Fiore 9:ff62b20f7000 18 {
Mike Fiore 9:ff62b20f7000 19 // TODO Auto-generated destructor stub
Mike Fiore 9:ff62b20f7000 20 }
Mike Fiore 9:ff62b20f7000 21
Mike Fiore 9:ff62b20f7000 22 uint32_t CmdRxDelay::action(std::vector<std::string> args) {
Mike Fiore 9:ff62b20f7000 23 if (args.size() == 1) {
Mike Fiore 14:f9a77400b622 24 CommandTerminal::Serial()->writef("%u\r\n", CommandTerminal::Dot()->getRxDelay());
Mike Fiore 9:ff62b20f7000 25 } else if (args.size() == 2) {
Mike Fiore 14:f9a77400b622 26
Mike Fiore 9:ff62b20f7000 27 int rxDelay;
Mike Fiore 9:ff62b20f7000 28 sscanf(args[1].c_str(), "%d", &rxDelay);
Mike Fiore 9:ff62b20f7000 29
Mike Fiore 14:f9a77400b622 30 if (CommandTerminal::Dot()->setRxDelay(rxDelay) != mDot::MDOT_OK) {
Mike Fiore 9:ff62b20f7000 31
Mike Fiore 14:f9a77400b622 32 CommandTerminal::setErrorMessage(CommandTerminal::Dot()->getLastError());;
Mike Fiore 9:ff62b20f7000 33 return 1;
Mike Fiore 9:ff62b20f7000 34 }
Mike Fiore 9:ff62b20f7000 35 }
Mike Fiore 9:ff62b20f7000 36 return 0;
Mike Fiore 9:ff62b20f7000 37 }
Mike Fiore 9:ff62b20f7000 38
Mike Fiore 9:ff62b20f7000 39 bool CmdRxDelay::verify(std::vector<std::string> args) {
Mike Fiore 9:ff62b20f7000 40 if (args.size() == 1)
Mike Fiore 9:ff62b20f7000 41 return true;
Mike Fiore 9:ff62b20f7000 42
Mike Fiore 9:ff62b20f7000 43 if (args.size() == 2) {
Mike Fiore 9:ff62b20f7000 44
Mike Fiore 9:ff62b20f7000 45 int rxDelay;
Mike Fiore 9:ff62b20f7000 46 if (sscanf(args[1].c_str(), "%d", &rxDelay) == 1) {
Mike Fiore 9:ff62b20f7000 47
Mike Fiore 9:ff62b20f7000 48 if (rxDelay > 15 || rxDelay < 1) {
Mike Fiore 14:f9a77400b622 49 CommandTerminal::setErrorMessage("Invalid rx delay, expects (1-15)");
Mike Fiore 9:ff62b20f7000 50 return false;
Mike Fiore 9:ff62b20f7000 51 }
Mike Fiore 9:ff62b20f7000 52
Mike Fiore 9:ff62b20f7000 53 return true;
Mike Fiore 9:ff62b20f7000 54 }
Mike Fiore 9:ff62b20f7000 55 }
Mike Fiore 9:ff62b20f7000 56
Mike Fiore 14:f9a77400b622 57 CommandTerminal::setErrorMessage("Invalid arguments");
Mike Fiore 9:ff62b20f7000 58 return false;
Mike Fiore 9:ff62b20f7000 59 }