Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: MTS-Serial libmDot-mbed5
Fork of Dot-AT-Firmware by
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", mDot::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 }
Generated on Tue Jul 12 2022 20:40:03 by
