with 36errors

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

Fork of Dot-AT-Firmware by MultiTech

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CmdRxDelay.cpp Source File

CmdRxDelay.cpp

00001 /*
00002  * CmdRxDelay.cpp
00003  *
00004  *  Created on: Nov 4, 2015
00005  *      Author: jreiss
00006  */
00007 
00008 #include "CmdRxDelay.h"
00009 
00010 CmdRxDelay::CmdRxDelay()
00011 :
00012   Command("Rx Delay", "AT+RXD", "Number of seconds before receive windows are opened (1 - 15)", "(1-15)")
00013 {
00014     _queryable = true;
00015 }
00016 
00017 CmdRxDelay::~CmdRxDelay()
00018 {
00019     // TODO Auto-generated destructor stub
00020 }
00021 
00022 uint32_t CmdRxDelay::action(std::vector<std::string> args) {
00023     if (args.size() == 1) {
00024         CommandTerminal::Serial()->writef("%u\r\n", CommandTerminal::Dot()->getRxDelay());
00025     } else if (args.size() == 2) {
00026         
00027         int rxDelay;
00028         sscanf(args[1].c_str(), "%d", &rxDelay);
00029 
00030         if (CommandTerminal::Dot()->setRxDelay(rxDelay) != mDot::MDOT_OK) {
00031             
00032             CommandTerminal::setErrorMessage(CommandTerminal::Dot()->getLastError());;
00033             return 1;
00034         }
00035     }
00036     return 0;
00037 }
00038 
00039 bool CmdRxDelay::verify(std::vector<std::string> args) {
00040     if (args.size() == 1)
00041         return true;
00042 
00043     if (args.size() == 2) {
00044 
00045         int rxDelay;
00046         if (sscanf(args[1].c_str(), "%d", &rxDelay) == 1) {
00047 
00048             if (rxDelay > 15 || rxDelay < 1) {
00049                 CommandTerminal::setErrorMessage("Invalid rx delay, expects (1-15)");
00050                 return false;
00051             }
00052 
00053             return true;
00054         }
00055     }
00056 
00057     CommandTerminal::setErrorMessage("Invalid arguments");
00058     return false;
00059 }