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