AT command firmware for MultiTech Dot devices.
Fork of mDot_AT_firmware by
CmdSnr.cpp
00001 #include "CmdSnr.h" 00002 #include "Lora.h" 00003 00004 static inline void printSnrVal(int16_t val, const char* end) { 00005 CommandTerminal::Serial()->writef("%s%d.%d%s", (val < 0 ? "-" : "") , abs(val / 10), abs(val % 10), end); 00006 } 00007 00008 CmdSnr::CmdSnr() : 00009 #if MTS_CMD_TERM_VERBOSE 00010 Command("Signal To Noise Ratio", "AT+SNR", "Display signal to noise ratio of received packets: last, min, max, avg in dB", "(-20.0-20.0),(-20.0-20.0),(-20.0-20.0),(-20.0-20.0)") 00011 #else 00012 Command("AT+SNR") 00013 #endif 00014 { 00015 _queryable = true; 00016 } 00017 00018 uint32_t CmdSnr::action(const std::vector<std::string>& args) 00019 { 00020 mDot::snr_stats stats = CommandTerminal::Dot()->getSnrStats(); 00021 if (stats.last == lora::INVALID_SNR) { 00022 #if MTS_CMD_TERM_VERBOSE 00023 CommandTerminal::Serial()->writef("No data\r\n"); 00024 #endif 00025 return 1; 00026 } 00027 printSnrVal(stats.last, ", "); 00028 printSnrVal(stats.min, ", "); 00029 printSnrVal(stats.max, ", "); 00030 printSnrVal(stats.avg, "\r\n"); 00031 00032 00033 return 0; 00034 }
Generated on Wed Dec 6 2023 19:34:05 by 1.7.2