AT Command Set mDot firmware with updated libmDot, to fix endian problem with joining LoRaWAN network

Dependencies:   MTS-Serial libmDot mbed-rtos mbed-src

Fork of mDot_AT_firmware by MultiTech

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CmdDebugBaudRate.cpp Source File

CmdDebugBaudRate.cpp

00001 #include "CmdDebugBaudRate.h"
00002 
00003 CmdDebugBaudRate::CmdDebugBaudRate(mDot* dot, mts::MTSSerial& serial) :
00004         Command(dot, "Debug Baud Rate", "AT+DIPR", "Set debug serial baud rate, default: 115200 "), _serial(serial)
00005 {
00006     _help = std::string(text()) + ": " + std::string(desc());
00007     _usage = "(2400,4800,9600,19200,38400,57600,115200,230400,460800,921600)";
00008     _queryable = true;
00009 }
00010 
00011 uint32_t CmdDebugBaudRate::action(std::vector<std::string> args)
00012 {
00013     if (args.size() == 1)
00014     {
00015         if (_dot->getVerbose())
00016             _serial.writef("Debug Baud Rate: ");
00017 
00018         _serial.writef("%lu\r\n", _dot->getDebugBaud());
00019     }
00020     else if (args.size() == 2)
00021     {
00022         int32_t code;
00023         uint32_t baudrate = 0;
00024 
00025         sscanf(args[1].c_str(), "%lu", &baudrate);
00026 
00027         if ((code = _dot->setDebugBaud(baudrate)) == mDot::MDOT_OK) {
00028             _serial.writef("Set Debug Baud Rate: %lu\r\n", baudrate);
00029         } else {
00030             std::string error = mDot::getReturnCodeString(code) + " - " + _dot->getLastError();
00031             setErrorMessage(error);
00032             return 1;
00033         }
00034     }
00035 
00036     return 0;
00037 }
00038 
00039 bool CmdDebugBaudRate::verify(std::vector<std::string> args)
00040 {
00041     if (args.size() == 1)
00042         return true;
00043 
00044     if (args.size() == 2) {
00045         uint32_t baudrate;
00046 
00047         if (sscanf(args[1].c_str(), "%lu", &baudrate) != 1) {
00048             setErrorMessage("Invalid argument");
00049             return false;
00050         }
00051 
00052         return true;
00053     }
00054 
00055     setErrorMessage("Invalid arguments");
00056     return false;
00057 }