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
CmdJoinRx2Frequency.cpp
00001 #include "CmdJoinRx2Frequency.h" 00002 #include "CommandTerminal.h" 00003 00004 CmdJoinRx2Frequency::CmdJoinRx2Frequency() 00005 : 00006 Command("Join Rx2 Frequency", "AT+JR2F", "Join Rx2 frequency", "(US:902000000-928000000,AU:915000000-928000000,EU:863000000-870000000)") { 00007 00008 } 00009 00010 uint32_t CmdJoinRx2Frequency::action(std::vector<std::string> args) { 00011 00012 if (args.size() == 1) 00013 { 00014 CommandTerminal::Serial()->writef("%lu\r\n", CommandTerminal::Dot()->getJoinRx2Frequency()); 00015 } 00016 else if (args.size() == 2) 00017 { 00018 int frequency = 0; 00019 00020 sscanf(args[1].c_str(), "%d", &frequency); 00021 if (CommandTerminal::Dot()->setJoinRx2Frequency(frequency) != mDot::MDOT_OK) 00022 { 00023 CommandTerminal::setErrorMessage(CommandTerminal::Dot()->getLastError());; 00024 return 1; 00025 } 00026 } 00027 00028 return 0; 00029 } 00030 00031 bool CmdJoinRx2Frequency::verify(std::vector<std::string> args) { 00032 if (args.size() == 1) 00033 return true; 00034 00035 if (args.size() == 2) 00036 { 00037 int frequency = ULONG_MAX; 00038 if (sscanf(args[1].c_str(), "%d", &frequency) != 1) { 00039 CommandTerminal::setErrorMessage("Invalid argument"); 00040 return false; 00041 } 00042 00043 if (frequency != 0 && (frequency < int(CommandTerminal::Dot()->getMinFrequency()) || frequency > int(CommandTerminal::Dot()->getMaxFrequency()))) { 00044 if (CommandTerminal::Dot()->getFrequencyBand() == mDot::FB_EU868) 00045 CommandTerminal::setErrorMessage("Invalid frequency, expects (0,863000000-870000000)"); 00046 else if (CommandTerminal::Dot()->getFrequencyBand() == mDot::FB_AU915) 00047 CommandTerminal::setErrorMessage("Invalid frequency, expects (0,915000000-928000000)"); 00048 else 00049 CommandTerminal::setErrorMessage("Invalid frequency, expects (0,902000000-928000000)"); 00050 00051 return false; 00052 } 00053 00054 return true; 00055 } 00056 00057 CommandTerminal::setErrorMessage("Invalid arguments"); 00058 return false; 00059 }
Generated on Tue Jul 12 2022 20:40:04 by
