summaryrefslogtreecommitdiff
path: root/CommandTerminal/CmdMaximumPower.cpp
diff options
context:
space:
mode:
authorLeon Lindenfelser <llindenfelser@multitech.com>2015-11-18 11:16:11 -0600
committerLeon Lindenfelser <llindenfelser@multitech.com>2015-11-18 11:16:11 -0600
commitce5c78c53be8d66da4a2cccdf18b622c0b77e773 (patch)
treeec4b374b788034fdd182be841699a51abc84ec6e /CommandTerminal/CmdMaximumPower.cpp
parentf484beed77531d7ef2da65cf049fe9c4ac6b7d08 (diff)
downloadmtdot-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/CmdMaximumPower.cpp')
-rw-r--r--CommandTerminal/CmdMaximumPower.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/CommandTerminal/CmdMaximumPower.cpp b/CommandTerminal/CmdMaximumPower.cpp
index 832fbfb..d12c11f 100644
--- a/CommandTerminal/CmdMaximumPower.cpp
+++ b/CommandTerminal/CmdMaximumPower.cpp
@@ -1,5 +1,7 @@
#include "CmdMaximumPower.h"
+//SPECIAL NOTE: Maximum power is stored in the LoraConfig WakeMode 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.
CmdMaximumPower::CmdMaximumPower(mDot* dot, mts::MTSSerial& serial) :
Command(dot, "Maximum Power", "AT+MAXPWR", "Set the maximum transmit power for sweep survey mode"), _serial(serial)
{
@@ -14,16 +16,14 @@ uint32_t CmdMaximumPower::action(std::vector<std::string> args)
{
if (_dot->getVerbose())
_serial.writef("Maximum Power: ");
-//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->getWakeMode());
}
else if (args.size() == 2)
{
int32_t code;
uint32_t power = 0;
sscanf(args[1].c_str(), "%lu", &power);
-
- if ((code = _dot->setTxPower(power)) != mDot::MDOT_OK)
+ if ((code = _dot->setWakeMode(power)) != mDot::MDOT_OK)
{
std::string error = mDot::getReturnCodeString(code) + " - " + _dot->getLastError();
setErrorMessage(error);
@@ -52,7 +52,12 @@ bool CmdMaximumPower::verify(std::vector<std::string> args)
setErrorMessage("Invalid maximum transmit power for sweep survey mode, expects (2-20)");
return false;
}
-//ToDo: Output warning if < minimum size.
+ if (power < _dot->getWakeTimeout()) //WakeTimeout holds the MinPower setting.
+ {
+ setErrorMessage("+MAXPWR cannot be less than +MINPWR. Please decrease +MINPWR first.");
+ return false;
+ }
+
return true;
}