diff options
author | Leon Lindenfelser <llindenfelser@multitech.com> | 2015-11-18 11:16:11 -0600 |
---|---|---|
committer | Leon Lindenfelser <llindenfelser@multitech.com> | 2015-11-18 11:16:11 -0600 |
commit | ce5c78c53be8d66da4a2cccdf18b622c0b77e773 (patch) | |
tree | ec4b374b788034fdd182be841699a51abc84ec6e /CommandTerminal/CmdMinimumSize.cpp | |
parent | f484beed77531d7ef2da65cf049fe9c4ac6b7d08 (diff) | |
download | mtdot-box-evb-factory-firmware-ce5c78c53be8d66da4a2cccdf18b622c0b77e773.tar.gz mtdot-box-evb-factory-firmware-ce5c78c53be8d66da4a2cccdf18b622c0b77e773.tar.bz2 mtdot-box-evb-factory-firmware-ce5c78c53be8d66da4a2cccdf18b622c0b77e773.zip |
Added functionality to get the guts of these commands working with storage
mapped into unused mDot commands. Over write the mDot defaults in these
storage locations with the appropriate defaults for these 5 commands.
Diffstat (limited to 'CommandTerminal/CmdMinimumSize.cpp')
-rw-r--r-- | CommandTerminal/CmdMinimumSize.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/CommandTerminal/CmdMinimumSize.cpp b/CommandTerminal/CmdMinimumSize.cpp index 7091bd8..5315af7 100644 --- a/CommandTerminal/CmdMinimumSize.cpp +++ b/CommandTerminal/CmdMinimumSize.cpp @@ -1,5 +1,7 @@ #include "CmdMinimumSize.h" +//SPECIAL NOTE: Minimum size is stored in the LoraConfig WakeInterval field. We decided to use 5 LoRaConfig locations, +// that are not used for the DotBox, for the 5 DotBox settings... +minsize, +maxsize, +minpwr, +maxpwr and +data. CmdMinimumSize::CmdMinimumSize(mDot* dot, mts::MTSSerial& serial) : Command(dot, "Minimum Size", "AT+MINSIZE", "Set the minimum payload size for sweep survey mode"), _serial(serial) { @@ -14,16 +16,15 @@ uint32_t CmdMinimumSize::action(std::vector<std::string> args) { if (_dot->getVerbose()) _serial.writef("Minimum Size: "); -//ToDo: Change from _dot->getTxPower() to the structure we will use for this. - _serial.writef("%lu\r\n", _dot->getTxPower()); + _serial.writef("%lu\r\n", _dot->getWakeInterval()); } else if (args.size() == 2) { int32_t code; - uint32_t power = 0; - sscanf(args[1].c_str(), "%lu", &power); + uint32_t size = 0; + sscanf(args[1].c_str(), "%lu", &size); - if ((code = _dot->setTxPower(power)) != mDot::MDOT_OK) + if ((code = _dot->setWakeInterval(size)) != mDot::MDOT_OK) { std::string error = mDot::getReturnCodeString(code) + " - " + _dot->getLastError(); setErrorMessage(error); @@ -41,18 +42,22 @@ bool CmdMinimumSize::verify(std::vector<std::string> args) if (args.size() == 2) { - uint32_t power = 0; - if (sscanf(args[1].c_str(), "%lu", &power) != 1) { + uint32_t size = 0; + if (sscanf(args[1].c_str(), "%lu", &size) != 1) { setErrorMessage("Invalid argument"); return false; } - if (power < 11 || power > 242) + if (size < 11 || size > 242) { setErrorMessage("Invalid minimum payload size, expects (11-242)"); return false; } -//ToDo: Output warning if > maximum size. + if (size > _dot->getWakeDelay()) //WakeDelay holds the MaxSize setting. + { + setErrorMessage("+MINSIZE cannot be greater than +MAXSIZE. Please increase +MAXSIZE first."); + return false; + } return true; } |