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