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.
Fork of mDot_AT_firmware by
CmdDefaultFrequencyBand.cpp
00001 #include "CmdDefaultFrequencyBand.h" 00002 00003 00004 #if CHANNEL_PLAN == CP_GLOBAL 00005 static const uint8_t PLAN_COUNT = 11; 00006 static const lora::ChannelPlan::Plan PLANS[PLAN_COUNT] = { 00007 lora::ChannelPlan::NONE, lora::ChannelPlan::US915, lora::ChannelPlan::AU915, 00008 lora::ChannelPlan::EU868, lora::ChannelPlan::AS923, 00009 lora::ChannelPlan::AS923_JAPAN, lora::ChannelPlan::AS923_JAPAN1, lora::ChannelPlan::AS923_JAPAN2, 00010 lora::ChannelPlan::AS923_2, lora::ChannelPlan::AS923_3, lora::ChannelPlan::AS923_4 00011 }; 00012 #else 00013 static const uint8_t PLAN_COUNT = 12; 00014 static const lora::ChannelPlan::Plan PLANS[PLAN_COUNT] = { 00015 lora::ChannelPlan::NONE, lora::ChannelPlan::US915, lora::ChannelPlan::AU915, 00016 lora::ChannelPlan::EU868, lora::ChannelPlan::AS923, lora::ChannelPlan::KR920, 00017 lora::ChannelPlan::AS923_JAPAN, lora::ChannelPlan::IN865, lora::ChannelPlan::RU864, 00018 lora::ChannelPlan::AS923_2, lora::ChannelPlan::AS923_3, lora::ChannelPlan::AS923_4 00019 // , lora::ChannelPlan::AS923_JAPAN1, lora::ChannelPlan::AS923_JAPAN2 00020 }; 00021 #endif 00022 00023 CmdDefaultFrequencyBand::CmdDefaultFrequencyBand() : 00024 #if MTS_CMD_TERM_VERBOSE 00025 00026 #if CHANNEL_PLAN == CP_GLOBAL 00027 Command("Default Frequency Band", "AT+DFREQ", "Frequency Band Device Was Manufactured For 'US915', 'AU915', 'EU868', 'AS923', 'AS923-2', 'AS923-3', 'AS923-4', 'KR920', 'AS923-JAPAN', 'IN865', 'RU864', or 'NONE'", "(NONE,US915,AU915,EU868,AS923,AS923-2,AS923-3,AS923-4,KR920,AS923-JAPAN,IN865,RU864)") 00028 #else 00029 Command("Default Frequency Band", "AT+DFREQ", "Frequency Band Device Was Manufactured For 'US915', 'AU915', 'EU868', 'AS923', 'AS923-2', 'AS923-3', 'AS923-4', 'AS923-JAPAN', 'AS923-JAPAN1', 'AS923-JAPAN2', or 'NONE'", "(NONE,US915,AU915,EU868,AS923,AS923-2,AS923-3,AS923-4,AS923-JAPAN,AS923-JAPAN1,AS923-JAPAN2)") 00030 #endif 00031 00032 #else 00033 Command("AT+DFREQ") 00034 #endif 00035 { 00036 _queryable = true; 00037 } 00038 00039 uint32_t CmdDefaultFrequencyBand::action(const std::vector<std::string>& args) { 00040 if (args.size() == 1) 00041 { 00042 CommandTerminal::Serial()->writef("%s\r\n", CommandTerminal::Dot()->FrequencyBandStr(CommandTerminal::Dot()->getDefaultFrequencyBand()).c_str()); 00043 } 00044 else if (args.size() == 2) 00045 { 00046 uint8_t band = lora::ChannelPlan::US915; 00047 std::string band_str = mts::Text::toUpper(args[1]); 00048 std::string exp_band_str; 00049 00050 for (int i = 0; i < PLAN_COUNT; ++i) { 00051 if (mDot::FrequencyBandStr(PLANS[i]) == band_str) { 00052 band = PLANS[i]; 00053 } 00054 } 00055 00056 if (CommandTerminal::Dot()->setDefaultFrequencyBand(band) != mDot::MDOT_OK) { 00057 return 1; 00058 } 00059 } 00060 00061 return 0; 00062 } 00063 00064 bool CmdDefaultFrequencyBand::verify(const std::vector<std::string>& args) { 00065 if (args.size() == 1) 00066 return true; 00067 00068 if (args.size() == 2) 00069 { 00070 std::string band = mts::Text::toUpper(args[1]); 00071 00072 for (int i = 0; i < PLAN_COUNT; ++i) { 00073 if (mDot::FrequencyBandStr(PLANS[i]) == band) { 00074 return true; 00075 } 00076 } 00077 00078 #if MTS_CMD_TERM_VERBOSE 00079 // CommandTerminal::setErrorMessage("Invalid parameter, expects (NONE,US915,AU915,EU868,AS923,AS923-2,AS923-3,KR920,AS923-JAPAN,AS923-JAPAN1,AS923-JAPAN2,IN865,RU864)"); 00080 CommandTerminal::setErrorMessage("Invalid parameter, expects (NONE,US915,AU915,EU868,AS923,AS923-2,AS923-3,KR920,AS923-JAPAN,IN865,RU864)"); 00081 #endif 00082 return false; 00083 00084 } 00085 00086 #if MTS_CMD_TERM_VERBOSE 00087 CommandTerminal::setErrorMessage("Invalid arguments"); 00088 #endif 00089 return false; 00090 }
Generated on Wed Jan 15 2025 16:10:47 by
1.7.2


