AT command firmware for MultiTech Dot devices.
Fork of mDot_AT_firmware by
CmdSerialBaudRate.cpp
00001 #include "CmdSerialBaudRate.h" 00002 00003 CmdSerialBaudRate::CmdSerialBaudRate() : 00004 #if MTS_CMD_TERM_VERBOSE 00005 Command("Serial Baud Rate", "AT+IPR", "Set serial baud rate, default: 115200 ", "(1200,2400,4800,9600,19200,38400,57600,115200,230400,460800,921600)") 00006 #else 00007 Command("AT+IPR") 00008 #endif 00009 { 00010 _queryable = true; 00011 } 00012 00013 uint32_t CmdSerialBaudRate::action(const std::vector<std::string>& args) 00014 { 00015 if (args.size() == 1) 00016 { 00017 CommandTerminal::Serial()->writef("%lu\r\n", CommandTerminal::Dot()->getBaud()); 00018 } 00019 else if (args.size() == 2) 00020 { 00021 00022 int baudrate = 0; 00023 00024 sscanf(args[1].c_str(), "%d", &baudrate); 00025 00026 if (CommandTerminal::Dot()->setBaud(baudrate) == mDot::MDOT_OK) { 00027 #if MTS_CMD_TERM_VERBOSE 00028 CommandTerminal::Serial()->writef("Set Serial Baud Rate: %lu\r\n", baudrate); 00029 #endif 00030 } else { 00031 return 1; 00032 } 00033 } 00034 00035 return 0; 00036 } 00037 00038 bool CmdSerialBaudRate::verify(const std::vector<std::string>& args) 00039 { 00040 if (args.size() == 1) 00041 return true; 00042 00043 if (args.size() == 2) { 00044 int baudrate; 00045 00046 if (sscanf(args[1].c_str(), "%d", &baudrate) != 1) { 00047 #if MTS_CMD_TERM_VERBOSE 00048 CommandTerminal::setErrorMessage("Invalid argument"); 00049 #endif 00050 return false; 00051 } 00052 00053 return true; 00054 } 00055 00056 #if MTS_CMD_TERM_VERBOSE 00057 CommandTerminal::setErrorMessage("Invalid arguments"); 00058 #endif 00059 return false; 00060 }
Generated on Wed Dec 6 2023 19:34:05 by 1.7.2