diff options
Diffstat (limited to 'CommandTerminal/CmdFrequencyBand.cpp')
-rw-r--r-- | CommandTerminal/CmdFrequencyBand.cpp | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/CommandTerminal/CmdFrequencyBand.cpp b/CommandTerminal/CmdFrequencyBand.cpp index 26b7831..c3116c9 100644 --- a/CommandTerminal/CmdFrequencyBand.cpp +++ b/CommandTerminal/CmdFrequencyBand.cpp @@ -19,10 +19,10 @@ #include "CmdFrequencyBand.h" CmdFrequencyBand::CmdFrequencyBand(mDot* dot, mts::MTSSerial& serial) : - Command(dot, "Frequency Band", "AT+FREQ", "Configured Frequency Band '868' or '915'"), _serial(serial) + Command(dot, "Frequency Band", "AT+FREQ", "Configured Frequency Band 'EU868', 'AU915' or 'US915'"), _serial(serial) { _help = std::string(text()) + ": " + std::string(desc()); - _usage = "(868,915)"; + _usage = "(EU868,AU915,US915)"; _queryable = true; } @@ -40,12 +40,24 @@ uint32_t CmdFrequencyBand::action(std::vector<std::string> args) else if (args.size() == 2) { int32_t code; + + std::string text = mts::Text::toUpper(args[1]); + uint8_t band = mDot::FB_US915; - if (mDot::FrequencyBandStr(mDot::FB_EU868).find(args[1]) != std::string::npos) { + + if (mDot::FrequencyBandStr(mDot::FB_EU868).find(text) != std::string::npos) { band = mDot::FB_EU868; } + if (mDot::FrequencyBandStr(mDot::FB_AU915).find(text) != std::string::npos) { + band = mDot::FB_AU915; + } + + if (mDot::FrequencyBandStr(mDot::FB_US915).find(text) != std::string::npos) { + band = mDot::FB_US915; + } + if ((code = _dot->setFrequencyBand(band)) != mDot::MDOT_OK) { std::string error = mDot::getReturnCodeString(code) + " - " + _dot->getLastError(); setErrorMessage(error); @@ -65,10 +77,13 @@ bool CmdFrequencyBand::verify(std::vector<std::string> args) #ifdef DEBUG_MAC if (args.size() == 2) { - if (mDot::FrequencyBandStr(mDot::FB_EU868).find(args[1]) == std::string::npos && - mDot::FrequencyBandStr(mDot::FB_US915).find(args[1]) == std::string::npos) + std::string band = mts::Text::toUpper(args[1]); + + if (mDot::FrequencyBandStr(mDot::FB_EU868).find(band) == std::string::npos && + mDot::FrequencyBandStr(mDot::FB_US915).find(band) == std::string::npos && + mDot::FrequencyBandStr(mDot::FB_AU915).find(band) == std::string::npos) { - setErrorMessage("Invalid parameter, expects (868,915)"); + setErrorMessage("Invalid parameter, expects (EU868,AU915,US915)"); return false; } |