AT command firmware for MultiTech Dot devices.
Fork of mDot_AT_firmware by
CmdAntennaGain.cpp
00001 #include "CmdAntennaGain.h" 00002 00003 CmdAntennaGain::CmdAntennaGain() : 00004 #if MTS_CMD_TERM_VERBOSE 00005 Command("Antenna Gain", "AT+ANT", "Gain in dBi of installed antenna (-128-127)", "(-128-127)") 00006 #else 00007 Command("AT+ANT") 00008 #endif 00009 { 00010 _queryable = true; 00011 } 00012 00013 uint32_t CmdAntennaGain::action(const std::vector<std::string>& args) 00014 { 00015 if (args.size() == 1) 00016 { 00017 CommandTerminal::Serial()->writef("%d\r\n", CommandTerminal::Dot()->getAntennaGain()); 00018 } 00019 else if (args.size() == 2) 00020 { 00021 00022 int gain; 00023 sscanf(args[1].c_str(), "%d", &gain); 00024 00025 if (CommandTerminal::Dot()->setAntennaGain(gain) != mDot::MDOT_OK) 00026 { 00027 return 1; 00028 } 00029 } 00030 00031 return 0; 00032 } 00033 00034 bool CmdAntennaGain::verify(const std::vector<std::string>& args) 00035 { 00036 if (args.size() == 1) 00037 return true; 00038 00039 if (args.size() == 2) 00040 { 00041 int gain; 00042 if (sscanf(args[1].c_str(), "%d", &gain) != 1) { 00043 #if MTS_CMD_TERM_VERBOSE 00044 CommandTerminal::setErrorMessage("Invalid argument"); 00045 #endif 00046 return false; 00047 } 00048 00049 if (gain < -128 || gain > 127) { 00050 #if MTS_CMD_TERM_VERBOSE 00051 CommandTerminal::setErrorMessage("Invalid gain, expects (-128-127)"); 00052 #endif 00053 return false; 00054 } 00055 00056 return true; 00057 } 00058 00059 #if MTS_CMD_TERM_VERBOSE 00060 CommandTerminal::setErrorMessage("Invalid arguments"); 00061 #endif 00062 return false; 00063 }
Generated on Wed Dec 6 2023 19:34:05 by 1.7.2