Hadi Ho / Mbed 2 deprecated mDot_USB_AT_firmware

Dependencies:   MTS-Serial libmDot mbed-rtos mbed

Fork of mDot_USB_AT_firmware by Hadi Ho

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CmdDisplayConfig.cpp Source File

CmdDisplayConfig.cpp

00001 #include "CmdDisplayConfig.h"
00002 
00003 CmdDisplayConfig::CmdDisplayConfig(mDot* dot, mts::MTSSerial& serial)
00004 :
00005   Command(dot, "Display Settings", "AT&V", "Displays current settings and status"),
00006   _serial(serial) {
00007     _help = std::string(text()) + ": " + std::string(desc());
00008     _usage = "TABLE";
00009 }
00010 
00011 uint32_t CmdDisplayConfig::action(std::vector<std::string> args) {
00012 
00013     _serial.writef("Device ID:\t\t");
00014     _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getDeviceId(), ":").c_str());
00015 
00016     _serial.writef("Frequency Band:\t\t%s\r\n", mDot::FrequencyBandStr(_dot->getFrequencyBand()).c_str());
00017     _serial.writef("Frequency Sub Band:\t%u\r\n", _dot->getFrequencySubBand());
00018 
00019     _serial.writef("Public Network:\t\t%s\r\n", _dot->getPublicNetwork() ? "on" : "off");
00020     _serial.writef("Start Up Mode:\t\t%s\r\n", mDot::ModeStr(_dot->getStartUpMode()).c_str());
00021 
00022     _serial.writef("Network Address:\t%s\r\n", mts::Text::bin2hexString(_dot->getNetworkAddress()).c_str());
00023 
00024     _serial.writef("Network ID:\t\t");
00025     _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getNetworkId(), ":").c_str());
00026 
00027     _serial.writef("Network ID Passphrase:\t%s\r\n", _dot->getNetworkName().c_str());
00028 
00029     _serial.writef("Network Key:\t\t");
00030     _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getNetworkKey(), ".").c_str());
00031 
00032     _serial.writef("Network Key Passphrase:\t%s\r\n", _dot->getNetworkPassphrase().c_str());
00033 
00034     _serial.writef("Network Session Key:\t");
00035     _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getNetworkSessionKey(), ".").c_str());
00036 
00037     _serial.writef("Data Session Key:\t");
00038     _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getDataSessionKey(), ".").c_str());
00039 
00040     _serial.writef("Network Join Mode:\t%s\r\n", mDot::JoinModeStr(_dot->getJoinMode()).c_str());
00041 
00042     _serial.writef("Network Join Retries:\t%u\r\n", _dot->getJoinRetries());
00043 
00044     _serial.writef("Preserve Session:\t%s\r\n", _dot->getPreserveSession() ? "on" : "off");
00045 
00046     _serial.writef("Join Byte Order:\t%s\r\n", _dot->getJoinByteOrder() ? "MSB" : "LSB");
00047 
00048     _serial.writef("Join Delay:\t\t%d\r\n", _dot->getJoinDelay());
00049 
00050     _serial.writef("App Port:\t\t%d\r\n", _dot->getAppPort());
00051 
00052     _serial.writef("Link Check Threshold:\t");
00053     if (_dot->getLinkCheckThreshold() == 0) {
00054         _serial.writef("off\r\n");
00055     } else {
00056         _serial.writef("%lu\r\n", _dot->getLinkCheckThreshold());
00057     }
00058 
00059     _serial.writef("Link Check Count:\t");
00060     if (_dot->getLinkCheckCount() == 0) {
00061         _serial.writef("off\r\n");
00062     } else {
00063         _serial.writef("%lu packets\r\n", _dot->getLinkCheckCount());
00064     }
00065 
00066     _serial.writef("Error Correction:\t");
00067     if (_dot->getFec() == 0) {
00068         _serial.writef("off\r\n");
00069     } else {
00070         _serial.writef("%u bytes\r\n", _dot->getFec());
00071     }
00072 
00073     _serial.writef("ACK Retries:\t\t");
00074     if (_dot->getAck() == 0) {
00075         _serial.writef("off\r\n");
00076     } else {
00077         _serial.writef("%u\r\n", _dot->getAck());
00078     }
00079 
00080     _serial.writef("Packet Repeat:\t\t%d\r\n", _dot->getRepeat());
00081 
00082     _serial.writef("Encryption:\t\t%s\r\n", _dot->getAesEncryption() ? "on" : "off");
00083     _serial.writef("CRC:\t\t\t%s\r\n", _dot->getCrc() ? "on" : "off");
00084     _serial.writef("Adaptive Data Rate:\t%s\r\n", _dot->getAdr() ? "on" : "off");
00085     _serial.writef("Command Echo:\t\t%s\r\n", _dot->getEcho() ? "on" : "off");
00086     _serial.writef("Verbose Response:\t%s\r\n", _dot->getVerbose() ? "on" : "off");
00087 
00088     _serial.writef("Tx Frequency:\t\t%lu\r\n", _dot->getTxFrequency());
00089 
00090     _serial.writef("Tx Data Rate:\t\tDR%d - %s\r\n", _dot->getTxDataRate(), _dot->getDateRateDetails(_dot->getTxDataRate()).c_str());
00091     _serial.writef("Tx Power:\t\t%u\r\n", _dot->getTxPower());
00092     _serial.writef("Tx Antenna Gain:\t%d\r\n", _dot->getAntennaGain());
00093     _serial.writef("Tx Wait:\t\t%s\r\n", _dot->getTxWait() ? "on" : "off");
00094 
00095     _serial.writef("Tx Inverted Signal:\t%s\r\n", _dot->getTxInverted() ? "on" : "off");
00096 
00097     bool hasChannels = false;
00098     for (size_t i = 0; i < 16; i++) {
00099         if (_dot->getConfigChannels()[i] != 0) {
00100             hasChannels = true;
00101             break;
00102         }
00103     }
00104 
00105     if (hasChannels) {
00106         _serial.writef("Tx Channels --------------------------------------\r\n");
00107         _serial.writef("\tIndex\tFrequency\tDR Range\r\n");
00108         for (size_t i = 0; i < 16; i++) {
00109             if (_dot->getConfigChannels()[i] != 0)
00110                 _serial.writef("\t%d:\t%09lu\t%02x\r\n", i, _dot->getConfigChannels()[i], _dot->getConfigChannelRanges()[i]);
00111         }
00112         _serial.writef("--------------------------------------------------\r\n");
00113     }
00114 
00115     _serial.writef("Rx Delay:\t\t%d s\r\n", _dot->getRxDelay());
00116 //    _serial.writef("Rx Frequency:\t\t%lu\r\n", _dot->getRxFrequency());
00117 //    _serial.writef("Rx Data Rate:\t\t%s\r\n", mDot::DataRateStr(_dot->getRxDataRate()).c_str());
00118     _serial.writef("Rx Inverted Signal:\t%s\r\n", _dot->getRxInverted() ? "on" : "off");
00119 
00120     _serial.writef("Rx Output Style:\t%s\r\n", mDot::RxOutputStr(_dot->getRxOutput()).c_str());
00121 
00122     _serial.writef("Debug Baud Rate:\t%lu\r\n", _dot->getDebugBaud());
00123     _serial.writef("Serial Baud Rate:\t%lu\r\n", _dot->getBaud());
00124     _serial.writef("Serial Flow Control:\t%s\r\n", _dot->getFlowControl() == 0 ? "off" : "on");
00125     _serial.writef("Serial Clear On Error:\t%s\r\n", _dot->getSerialClearOnError() == 0 ? "off" : "on");
00126 
00127     uint8_t mode = _dot->getWakeMode();
00128     _serial.writef("Wake Mode:\t\t%s\r\n", mode == 0 ? "INTERVAL" : ( mode == 1 ? "INTERRUPT" : "BOTH"));
00129     _serial.writef("Wake Interval:\t\t%lu s\r\n", _dot->getWakeInterval());
00130     _serial.writef("Wake Delay:\t\t%lu ms\r\n", _dot->getWakeDelay());
00131     _serial.writef("Wake Timeout:\t\t%u ms\r\n", _dot->getWakeTimeout());
00132     _serial.writef("Wake Pin:\t\t%s\r\n", mDot::pinName2Str(_dot->getWakePin()).c_str());
00133 
00134     _serial.writef("Log Level:\t\t%ld\r\n", _dot->getLogLevel());
00135 
00136     return 0;
00137 }
00138