MicroLabo / Mbed OS mbed-Dot-AT-Firmware

Dependencies:   MTS-Serial libmDot-mbed5

Fork of Dot-AT-Firmware by MultiTech

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