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 libxDot-mbed5
CmdDefaultFrequencyBand.cpp
00001 #include "CmdDefaultFrequencyBand.h" 00002 #include "ChannelPlans.h" 00003 00004 CmdDefaultFrequencyBand::CmdDefaultFrequencyBand() : 00005 Command("Default Frequency Band", "AT+DFREQ", "Frequency Band Device Was Manufactured For 'US915', 'AU915', 'EU868', 'AS923', 'KR920', 'AS923-JAPAN', or 'NONE'", "(NONE,US915,AU915,EU868,AS923,KR920,AS923-JAPAN)") 00006 { 00007 _queryable = true; 00008 } 00009 00010 uint32_t CmdDefaultFrequencyBand::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()->getDefaultFrequencyBand()).c_str()); 00015 } 00016 00017 #ifdef DEBUG_MAC 00018 else if (args.size() == 2) 00019 { 00020 uint8_t band = lora::ChannelPlan::US915; 00021 std::string band_str = mts::Text::toUpper(args[1]); 00022 00023 if (mDot::FrequencyBandStr(lora::ChannelPlan::NONE) == band_str) { 00024 band = lora::ChannelPlan::NONE; 00025 } 00026 if (mDot::FrequencyBandStr(lora::ChannelPlan::US915) == band_str) { 00027 band = lora::ChannelPlan::US915; 00028 } 00029 if (mDot::FrequencyBandStr(lora::ChannelPlan::AU915) == band_str) { 00030 band = lora::ChannelPlan::AU915; 00031 } 00032 if (mDot::FrequencyBandStr(lora::ChannelPlan::EU868) == band_str) { 00033 band = lora::ChannelPlan::EU868; 00034 } 00035 if (mDot::FrequencyBandStr(lora::ChannelPlan::AS923) == band_str) { 00036 band = lora::ChannelPlan::AS923; 00037 } 00038 if (mDot::FrequencyBandStr(lora::ChannelPlan::KR920) == band_str) { 00039 band = lora::ChannelPlan::KR920; 00040 } 00041 if (mDot::FrequencyBandStr(lora::ChannelPlan::AS923_JAPAN) == band_str) { 00042 band = lora::ChannelPlan::AS923_JAPAN; 00043 } 00044 00045 if (CommandTerminal::Dot()->setDefaultFrequencyBand(band) != mDot::MDOT_OK) { 00046 CommandTerminal::setErrorMessage(CommandTerminal::Dot()->getLastError());; 00047 return 1; 00048 } 00049 } 00050 #endif 00051 00052 return 0; 00053 } 00054 00055 bool CmdDefaultFrequencyBand::verify(std::vector<std::string> args) 00056 { 00057 if (args.size() == 1) 00058 return true; 00059 00060 #ifdef DEBUG_MAC 00061 if (args.size() == 2) 00062 { 00063 std::string band = mts::Text::toUpper(args[1]); 00064 00065 if (mDot::FrequencyBandStr(lora::ChannelPlan::NONE) != band && 00066 mDot::FrequencyBandStr(lora::ChannelPlan::US915) != band && 00067 mDot::FrequencyBandStr(lora::ChannelPlan::AU915) != band && 00068 mDot::FrequencyBandStr(lora::ChannelPlan::EU868) != band && 00069 mDot::FrequencyBandStr(lora::ChannelPlan::AS923) != band && 00070 mDot::FrequencyBandStr(lora::ChannelPlan::KR920) != band && 00071 mDot::FrequencyBandStr(lora::ChannelPlan::AS923_JAPAN) != band) 00072 { 00073 CommandTerminal::setErrorMessage("Invalid parameter, expects (NONE,US915,AU915,EU868,AS923,KR920,AS923-JAPAN)"); 00074 return false; 00075 } 00076 00077 return true; 00078 } 00079 #endif 00080 00081 CommandTerminal::setErrorMessage("Invalid arguments"); 00082 return false; 00083 }
Generated on Tue Jul 12 2022 23:49:49 by
