MultiTech / Mbed OS mDot_AT_firmware_CUSTOM

Dependencies:   libmDot-Custom MTS-Serial

Fork of mDot_AT_firmware_CUSTOM by Jason Reiss

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CmdFrequencyBand.cpp Source File

CmdFrequencyBand.cpp

00001 #include "CmdFrequencyBand.h"
00002 
00003 
00004 CmdFrequencyBand::CmdFrequencyBand() :
00005         Command("Frequency Band", "AT+FREQ", "Configured Frequency Band 'EU868', 'US915' or 'AU915'", "(EU868,US915,AU915)")
00006 {
00007     _queryable = true;
00008 }
00009 
00010 uint32_t CmdFrequencyBand::action(std::vector<std::string> args)
00011                                   {
00012     if (args.size() == 1)
00013     {
00014         CommandTerminal::Serial()->writef("%s\r\n", CommandTerminal::Dot()->FrequencyBandStr(CommandTerminal::Dot()->getFrequencyBand()).c_str());
00015     }
00016 
00017 #ifdef DEBUG_MAC
00018     else if (args.size() == 2)
00019     {
00020 //        uint8_t band = mDot::FB_US915;
00021 //        std::string band_str = mts::Text::toUpper(args[1]);
00022 //
00023 //
00024 //        if (mDot::FrequencyBandStr(mDot::FB_EU868).find(band_str) != std::string::npos) {
00025 //            band = mDot::FB_EU868;
00026 //        }
00027 //        if (mDot::FrequencyBandStr(mDot::FB_AU915).find(band_str) != std::string::npos) {
00028 //            band = mDot::FB_AU915;
00029 //        }
00030 //        if (mDot::FrequencyBandStr(mDot::FB_US915).find(band_str) != std::string::npos) {
00031 //            band = mDot::FB_US915;
00032 //        }
00033 //
00034 //        if (CommandTerminal::Dot()->setFrequencyBand(band) != mDot::MDOT_OK) {
00035 //            CommandTerminal::setErrorMessage(CommandTerminal::Dot()->getLastError());;
00036 //            return 1;
00037 //        }
00038     }
00039 #endif
00040 
00041     return 0;
00042 }
00043 
00044 bool CmdFrequencyBand::verify(std::vector<std::string> args)
00045                               {
00046     if (args.size() == 1)
00047         return true;
00048 
00049 #ifdef DEBUG_MAC
00050     if (args.size() == 2)
00051     {
00052 //        std::string band = mts::Text::toUpper(args[1]);
00053 //
00054 //        if (mDot::FrequencyBandStr(mDot::FB_EU868).find(band) == std::string::npos &&
00055 //            mDot::FrequencyBandStr(mDot::FB_US915).find(band) == std::string::npos &&
00056 //            mDot::FrequencyBandStr(mDot::FB_AU915).find(band) == std::string::npos)
00057 //        {
00058 //            CommandTerminal::setErrorMessage("Invalid parameter, expects (EU868,US915,AU915)");
00059 //            return false;
00060 //        }
00061 
00062         return true;
00063     }
00064 #endif
00065 
00066     CommandTerminal::setErrorMessage("Invalid arguments");
00067     return false;
00068 }