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 CmdJoinRx2Frequency.cpp Source File

CmdJoinRx2Frequency.cpp

00001 #include "CmdJoinRx2Frequency.h"
00002 #include "CommandTerminal.h"
00003 
00004 CmdJoinRx2Frequency::CmdJoinRx2Frequency()
00005 :
00006   Command("Join Rx2 Frequency", "AT+JR2F", "Join Rx2 frequency", "(US:902000000-928000000,AU:915000000-928000000,EU:863000000-870000000)") {
00007 
00008 }
00009 
00010 uint32_t CmdJoinRx2Frequency::action(std::vector<std::string> args) {
00011 
00012     if (args.size() == 1)
00013         {
00014         CommandTerminal::Serial()->writef("%lu\r\n", CommandTerminal::Dot()->getJoinRx2Frequency());
00015     }
00016     else if (args.size() == 2)
00017              {
00018         int frequency = 0;
00019 
00020         sscanf(args[1].c_str(), "%d", &frequency);
00021         if (CommandTerminal::Dot()->setJoinRx2Frequency(frequency) != mDot::MDOT_OK)
00022             {
00023             CommandTerminal::setErrorMessage(CommandTerminal::Dot()->getLastError());
00024             ;
00025             return 1;
00026         }
00027     }
00028 
00029     return 0;
00030 }
00031 
00032 bool CmdJoinRx2Frequency::verify(std::vector<std::string> args) {
00033     if (args.size() == 1)
00034         return true;
00035 
00036     if (args.size() == 2) {
00037         int frequency = ULONG_MAX;
00038         if (sscanf(args[1].c_str(), "%d", &frequency) != 1) {
00039             CommandTerminal::setErrorMessage("Invalid argument");
00040             return false;
00041         }
00042 
00043         if (frequency != 0 && (frequency < int(CommandTerminal::Dot()->getMinFrequency()) || frequency > int(CommandTerminal::Dot()->getMaxFrequency()))) {
00044             char tmp[256];
00045             sprintf(tmp, "Invalid frequency, expects (0,%lu-%lu)", CommandTerminal::Dot()->getMinFrequency(), CommandTerminal::Dot()->getMaxFrequency());
00046             CommandTerminal::setErrorMessage(tmp);
00047             return false;
00048         }
00049         return true;
00050     }
00051 
00052     CommandTerminal::setErrorMessage("Invalid arguments");
00053     return false;
00054 }