AT command firmware for MultiTech Dot devices.
Fork of mDot_AT_firmware by
CmdJoinRx2Datarate.cpp
00001 #include "CmdJoinRx2Datarate.h" 00002 #include "CommandTerminal.h" 00003 00004 CmdJoinRx2Datarate::CmdJoinRx2Datarate() : 00005 #if MTS_CMD_TERM_VERBOSE 00006 Command("Join Rx2 Datarate", "AT+JR2D", "Join Rx2 datarate", "(US:DR8-DR13,AU:DR8-DR13,EU:DR0-DR7)") 00007 #else 00008 Command("AT+JR2D") 00009 #endif 00010 { 00011 00012 } 00013 00014 uint32_t CmdJoinRx2Datarate::action(const std::vector<std::string>& args) { 00015 00016 if (args.size() == 1) { 00017 CommandTerminal::Serial()->writef("%s\r\n", mDot::DataRateStr(CommandTerminal::Dot()->getJoinRx2DataRate()).c_str()); 00018 } 00019 else if (args.size() == 2) { 00020 std::string dr = mts::Text::toUpper(args[1]); 00021 00022 int datarate = 0; 00023 uint8_t i; 00024 00025 int res = sscanf(dr.c_str(), "%d", &datarate); 00026 00027 if (res == 0) { 00028 for (i = 0; i < 16; i++) { 00029 if (mDot::DataRateStr(i).find(dr) != std::string::npos) { 00030 datarate = i; 00031 break; 00032 } 00033 } 00034 } 00035 00036 if (CommandTerminal::Dot()->setJoinRx2DataRate(datarate) != mDot::MDOT_OK) { 00037 return 1; 00038 } 00039 } 00040 00041 return 0; 00042 } 00043 00044 bool CmdJoinRx2Datarate::verify(const std::vector<std::string>& args) { 00045 if (args.size() == 1) 00046 return true; 00047 00048 if (args.size() == 2) { 00049 return true; 00050 } 00051 00052 #if MTS_CMD_TERM_VERBOSE 00053 CommandTerminal::setErrorMessage("Invalid arguments"); 00054 #endif 00055 return false; 00056 }
Generated on Wed Dec 6 2023 19:34:05 by 1.7.2