AT command firmware for MultiTech Dot devices.

Fork of mDot_AT_firmware by MultiTech

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CmdJoinRx1Offset.cpp Source File

CmdJoinRx1Offset.cpp

00001 #include "CmdJoinRx1Offset.h"
00002 #include "CommandTerminal.h"
00003 
00004 CmdJoinRx1Offset::CmdJoinRx1Offset() :
00005 #if MTS_CMD_TERM_VERBOSE
00006     Command("Join Rx1 DR Offset", "AT+JRXO", "Join Rx1 datarate offset", "(US:0-3,AU:0-3,EU:0-5)")
00007 #else
00008     Command("AT+JRXO")
00009 #endif
00010 {
00011 
00012 }
00013 
00014 uint32_t CmdJoinRx1Offset::action(const std::vector<std::string>& args) {
00015 
00016     if (args.size() == 1) {
00017         CommandTerminal::Serial()->writef("%d\r\n", CommandTerminal::Dot()->getJoinRx1DataRateOffset());
00018     }
00019     else if (args.size() == 2) {
00020         std::string dr = mts::Text::toUpper(args[1]);
00021 
00022         int offset = 0;
00023         sscanf(dr.c_str(), "%d", &offset);
00024 
00025         if (CommandTerminal::Dot()->setJoinRx1DataRateOffset(offset) != mDot::MDOT_OK) {
00026             return 1;
00027         }
00028     }
00029 
00030     return 0;
00031 }
00032 
00033 bool CmdJoinRx1Offset::verify(const std::vector<std::string>& args) {
00034     if (args.size() == 1)
00035         return true;
00036 
00037     if (args.size() == 2) {
00038         return true;
00039     }
00040 
00041 #if MTS_CMD_TERM_VERBOSE
00042     CommandTerminal::setErrorMessage("Invalid arguments");
00043 #endif
00044     return false;
00045 }