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 * CmdAppPort.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 "CmdAppPort.h"
Mike Fiore 9:ff62b20f7000 9
Mike Fiore 14:f9a77400b622 10 CmdAppPort::CmdAppPort()
Mike Fiore 9:ff62b20f7000 11 :
Mike Fiore 14:f9a77400b622 12 Command("App Port", "AT+AP", "Port used for application data (1 - 223)", "(1-223)")
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 CmdAppPort::~CmdAppPort()
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 CmdAppPort::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()->getAppPort());
Mike Fiore 9:ff62b20f7000 25 } else if (args.size() == 2) {
Mike Fiore 14:f9a77400b622 26
Mike Fiore 9:ff62b20f7000 27 int appPort;
Mike Fiore 9:ff62b20f7000 28 sscanf(args[1].c_str(), "%d", &appPort);
Mike Fiore 9:ff62b20f7000 29
Mike Fiore 14:f9a77400b622 30 if (CommandTerminal::Dot()->setAppPort(appPort) != 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 CmdAppPort::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 appPort;
Mike Fiore 9:ff62b20f7000 46 if (sscanf(args[1].c_str(), "%d", &appPort) == 1) {
Mike Fiore 9:ff62b20f7000 47 if (appPort > 223 || appPort < 1) {
Mike Fiore 14:f9a77400b622 48 CommandTerminal::setErrorMessage("Invalid app port, expects (1-223)");
Mike Fiore 9:ff62b20f7000 49 return false;
Mike Fiore 9:ff62b20f7000 50 }
Mike Fiore 9:ff62b20f7000 51 return true;
Mike Fiore 9:ff62b20f7000 52 }
Mike Fiore 9:ff62b20f7000 53 }
Mike Fiore 9:ff62b20f7000 54
Mike Fiore 14:f9a77400b622 55 CommandTerminal::setErrorMessage("Invalid arguments");
Mike Fiore 9:ff62b20f7000 56 return false;
Mike Fiore 9:ff62b20f7000 57 }