AT Command Set mDot firmware with updated libmDot, to fix endian problem with joining LoRaWAN network

Dependencies:   MTS-Serial libmDot mbed-rtos mbed-src

Fork of mDot_AT_firmware by MultiTech

CommandTerminal/CmdSnr.cpp

Committer:
ruairisdad
Date:
2015-08-07
Revision:
3:321cf5e5b89b
Parent:
1:e52ae6584f1c

File content as of revision 3:321cf5e5b89b:

#include "CmdSnr.h"

CmdSnr::CmdSnr(mDot* dot, mts::MTSSerial& serial) :
        Command(dot, "Signal To Noise Ratio", "AT+SNR", "Display signal to noise ratio of received packets: last, min, max, avg"),
        _serial(serial)
{
    _help = std::string(text()) + ": " + std::string(desc());
    _usage = "(-20.0-20.0),(-20.0-20.0),(-20.0-20.0),(-20.0-20.0)";
    _queryable = true;
}

uint32_t CmdSnr::action(std::vector<std::string> args)
{
    mDot::snr_stats stats = _dot->getSnrStats();

    if (_dot->getVerbose())
        _serial.writef("SNR stats: ");

    _serial.writef("%d.%d, %d.%d, %d.%d, %d.%d\r\n", stats.last / 10, abs(stats.last % 10), stats.min / 10, abs(stats.min % 10), stats.max / 10, abs(stats.max % 10), stats.avg / 10, abs(stats.avg % 10));

    return 0;
}