few changes for RTS/CTS control

Dependencies:   MTS-Serial libmDot mbed-rtos mbed

Fork of mDot_AT_firmware by MultiTech

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CmdNetworkJoinMode.cpp Source File

CmdNetworkJoinMode.cpp

00001 #include "CmdNetworkJoinMode.h"
00002 
00003 CmdNetworkJoinMode::CmdNetworkJoinMode(mDot* dot, mts::MTSSerial& serial) :
00004         Command(dot, "Network Join Mode", "AT+NJM", "0: Manual configuration, 1: OTA Network Join, 2: Auto OTA Network Join on start up, 3: Peer-to-Peer (default: 1)"),
00005         _serial(serial)
00006 {
00007     _help = std::string(text()) + ": " + std::string(desc());
00008     _usage = "(0-3)";
00009     _queryable = true;
00010 }
00011 
00012 uint32_t CmdNetworkJoinMode::action(std::vector<std::string> args)
00013 {
00014     if (args.size() == 1)
00015     {
00016         if (_dot->getVerbose())
00017             _serial.writef("%s: ", name());
00018 
00019         _serial.writef("%u\r\n", _dot->getJoinMode());
00020     }
00021     else if (args.size() == 2)
00022     {
00023         int32_t code;
00024         uint8_t mode = (args[1] == "1") ? 1 : 0;
00025         mode = (args[1] == "2" ? 2 : mode);
00026         mode = (args[1] == "3" ? 3 : mode);
00027 
00028         if ((code = _dot->setJoinMode(mode)) != mDot::MDOT_OK)
00029         {
00030             
00031             setErrorMessage(_dot->getLastError());;
00032             return 1;
00033         }
00034 
00035     }
00036 
00037     return 0;
00038 }
00039 
00040 bool CmdNetworkJoinMode::verify(std::vector<std::string> args)
00041 {
00042     if (args.size() == 1)
00043         return true;
00044 
00045     if (args.size() == 2)
00046     {
00047         if (!(args[1] == "0" || args[1] == "1" || args[1] == "2" || args[1] == "3"))
00048         {
00049             setErrorMessage("Invalid parameter, expects (0: Manual, 1: OTA, 2: Auto OTA, 3:Peer-to-Peer)");
00050             return false;
00051         }
00052 
00053         return true;
00054     }
00055 
00056     setErrorMessage("Invalid arguments");
00057     return false;
00058 }