with 36errors

Dependencies:   MTS-Serial libxDot-dev-mbed5-deprecated

Fork of Dot-AT-Firmware by MultiTech

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CmdTxDataRate.cpp Source File

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 }