AT command firmware for MultiTech Dot devices.
Fork of mDot_AT_firmware by
CmdRxDataRate.cpp
00001 #include "CmdRxDataRate.h" 00002 00003 CmdRxDataRate::CmdRxDataRate() : 00004 #if MTS_CMD_TERM_VERBOSE 00005 Command("Rx Data Rate", "AT+RXDR", "Set the Rx datarate, testing purposes only", "DR0-DR15, Depends on Channel Plan") 00006 #else 00007 Command("AT+RXDR") 00008 #endif 00009 { 00010 _queryable = true; 00011 } 00012 00013 00014 uint32_t CmdRxDataRate::action(const std::vector<std::string>& args) { 00015 if (args.size() == 1) { 00016 CommandTerminal::Serial()->writef("DR%d - %s\r\n", CommandTerminal::Dot()->getRxDataRate(), CommandTerminal::Dot()->getDataRateDetails(CommandTerminal::Dot()->getRxDataRate()).c_str()); 00017 } 00018 else if (args.size() == 2) { 00019 if (CommandTerminal::Dot()->setRxDataRate(strToDataRate(args[1])) != mDot::MDOT_OK) { 00020 return 1; 00021 } 00022 } 00023 00024 return 0; 00025 } 00026 00027 bool CmdRxDataRate::verify(const std::vector<std::string>& args) { 00028 if (args.size() == 1) 00029 return true; 00030 00031 if (args.size() == 2) { 00032 int dr = strToDataRate(args[1]); 00033 if ((dr == -1) || !CommandTerminal::Dot()->validateDataRate(dr)) { 00034 #if MTS_CMD_TERM_VERBOSE 00035 CommandTerminal::setErrorMessage("RX data rate invalid"); 00036 #endif 00037 return false; 00038 } 00039 return true; 00040 } 00041 00042 #if MTS_CMD_TERM_VERBOSE 00043 CommandTerminal::setErrorMessage("Invalid arguments"); 00044 #endif 00045 return false; 00046 }
Generated on Wed Dec 6 2023 19:34:05 by 1.7.2