with 36errors
Dependencies: MTS-Serial libxDot-dev-mbed5-deprecated
Fork of Dot-AT-Firmware by
CmdTxDataRate.cpp
00001 #include "CmdTxDataRate.h" 00002 #include "MTSText.h" 00003 #include "MTSLog.h" 00004 00005 00006 CmdTxDataRate::CmdTxDataRate() 00007 : Command("Tx Data Rate", "AT+TXDR", "Set the Tx data rate for all channels", "7-10|DR0-DR15, Depends on Channel Plan") { 00008 _queryable = true; 00009 } 00010 00011 uint32_t CmdTxDataRate::action(std::vector<std::string> args) { 00012 if (args.size() == 1) 00013 { 00014 CommandTerminal::Serial()->writef("DR%d - %s\r\n", CommandTerminal::Dot()->getTxDataRate(), CommandTerminal::Dot()->getDataRateDetails(CommandTerminal::Dot()->getTxDataRate()).c_str()); 00015 } else if (args.size() == 2) { 00016 std::string dr = mts::Text::toUpper(args[1]); 00017 00018 int datarate = -1; 00019 uint8_t i; 00020 00021 int res = sscanf(dr.c_str(), "%d", &datarate); 00022 00023 if (res == 0) { 00024 for (i = 0; i < 24; i++) { 00025 if (mDot::DataRateStr(i).find(dr) != std::string::npos) { 00026 datarate = i; 00027 break; 00028 } 00029 } 00030 } 00031 00032 if (CommandTerminal::Dot()->setTxDataRate(datarate) != mDot::MDOT_OK) { 00033 CommandTerminal::setErrorMessage(CommandTerminal::Dot()->getLastError()); 00034 return 1; 00035 } 00036 } 00037 00038 return 0; 00039 } 00040 00041 bool CmdTxDataRate::verify(std::vector<std::string> args) { 00042 if (args.size() == 1) 00043 return true; 00044 00045 if (args.size() == 2) { 00046 return true; 00047 } 00048 00049 CommandTerminal::setErrorMessage("Invalid arguments"); 00050 return false; 00051 }
Generated on Wed Jul 13 2022 06:20:59 by 1.7.2