AT command firmware for MultiTech Dot devices.

Fork of mDot_AT_firmware by MultiTech

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CmdNetworkLinkCheck.cpp Source File

CmdNetworkLinkCheck.cpp

00001 #include "CmdNetworkLinkCheck.h"
00002 #include "CommandTerminal.h"
00003 
00004 CmdNetworkLinkCheck::CmdNetworkLinkCheck() :
00005 #if MTS_CMD_TERM_VERBOSE
00006     Command("Network Link Check", "AT+NLC", "Perform network link check, displays dBm above floor, number of gateways in range and optional packet payload if received", "(0-254),(1-)")
00007 #else
00008     Command("AT+NLC")
00009 #endif
00010 {
00011 
00012 }
00013 
00014 uint32_t CmdNetworkLinkCheck::action(const std::vector<std::string>& args) {
00015     mDot::link_check lc;
00016 
00017     lc = CommandTerminal::Dot()->networkLinkCheck();
00018     if (lc.status) {
00019         CommandTerminal::Serial()->writef("%u,%lu\r\n", lc.dBm, lc.gateways);
00020 
00021         if (!lc.payload.empty())
00022             CommandTerminal::Serial()->writef("%s\r\n", CommandTerminal::formatPacketData(lc.payload, CommandTerminal::Dot()->getRxOutput()).c_str());
00023 
00024     } else {
00025         CommandTerminal::setErrorMessage(CommandTerminal::Dot()->getLastError());
00026         return 1;
00027     }
00028 
00029     return 0;
00030 }
00031