few changes for RTS/CTS control
Dependencies: MTS-Serial libmDot mbed-rtos mbed
Fork of mDot_AT_firmware by
CmdTxFrequency.cpp
00001 #include "CmdTxFrequency.h" 00002 #include <climits> 00003 00004 CmdTxFrequency::CmdTxFrequency(mDot* dot, mts::MTSSerial& serial) : 00005 Command(dot, "Tx Frequency", "AT+TXF", "Set Tx frequency"), _serial(serial) 00006 { 00007 _help = std::string(text()) + ": " + std::string(desc()); 00008 if (_dot->getFrequencyBand() == mDot::FB_868) 00009 _usage = "(0,863000000-870000000)"; 00010 else 00011 _usage = "(0,902000000-928000000)"; 00012 _queryable = true; 00013 } 00014 00015 uint32_t CmdTxFrequency::action(std::vector<std::string> args) 00016 { 00017 if (args.size() == 1) 00018 { 00019 if (_dot->getVerbose()) 00020 _serial.writef("Tx Frequency: "); 00021 00022 _serial.writef("%lu\r\n", _dot->getTxFrequency()); 00023 } 00024 else if (args.size() == 2) 00025 { 00026 int32_t code; 00027 int frequency = 0; 00028 00029 sscanf(args[1].c_str(), "%d", &frequency); 00030 if ((code = _dot->setTxFrequency(frequency)) != mDot::MDOT_OK) 00031 { 00032 00033 setErrorMessage(_dot->getLastError());; 00034 return 1; 00035 } 00036 } 00037 00038 return 0; 00039 } 00040 00041 bool CmdTxFrequency::verify(std::vector<std::string> args) 00042 { 00043 if (args.size() == 1) 00044 return true; 00045 00046 if (args.size() == 2) 00047 { 00048 int frequency = ULONG_MAX; 00049 if (sscanf(args[1].c_str(), "%d", &frequency) != 1) { 00050 setErrorMessage("Invalid argument"); 00051 return false; 00052 } 00053 00054 if (frequency != 0 && (frequency < int(_dot->getMinFrequency()) || frequency > int(_dot->getMaxFrequency()))) { 00055 if (_dot->getFrequencyBand() == mDot::FB_868) 00056 setErrorMessage("Invalid frequency, expects (0,863000000-870000000)"); 00057 else 00058 setErrorMessage("Invalid frequency, expects (0,902000000-928000000)"); 00059 00060 return false; 00061 } 00062 00063 return true; 00064 } 00065 00066 setErrorMessage("Invalid arguments"); 00067 return false; 00068 } 00069
Generated on Tue Jul 12 2022 16:01:24 by 1.7.2