Multitech xDot AT Firmware

Dependencies:   MTS-Serial libxDot-mbed5

Revision:
14:f9a77400b622
Parent:
9:ff62b20f7000
Child:
16:d5cf2af81a6d
--- a/CommandTerminal/CmdDisplayConfig.cpp	Fri Nov 04 19:10:24 2016 +0000
+++ b/CommandTerminal/CmdDisplayConfig.cpp	Fri Nov 04 14:25:43 2016 -0500
@@ -1,137 +1,141 @@
 #include "CmdDisplayConfig.h"
 
-CmdDisplayConfig::CmdDisplayConfig(mDot* dot, mts::MTSSerial& serial)
+CmdDisplayConfig::CmdDisplayConfig()
 :
-  Command(dot, "Display Settings", "AT&V", "Displays current settings and status"),
-  _serial(serial) {
-    _help = std::string(text()) + ": " + std::string(desc());
-    _usage = "TABLE";
+  Command("Display Settings", "AT&V", "Displays current settings and status", "TABLE") {
+
 }
 
 uint32_t CmdDisplayConfig::action(std::vector<std::string> args) {
 
-    _serial.writef("Device ID:\t\t");
-    _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getDeviceId(), ":").c_str());
+    CommandTerminal::Serial()->writef("Device ID:\t\t");
+    CommandTerminal::Serial()->writef("%s\r\n", mts::Text::bin2hexString(CommandTerminal::Dot()->getDeviceId(), ":").c_str());
 
-    _serial.writef("Frequency Band:\t\t%s\r\n", mDot::FrequencyBandStr(_dot->getFrequencyBand()).c_str());
-    _serial.writef("Frequency Sub Band:\t%u\r\n", _dot->getFrequencySubBand());
+    CommandTerminal::Serial()->writef("Frequency Band:\t\t%s\r\n", mDot::FrequencyBandStr(CommandTerminal::Dot()->getFrequencyBand()).c_str());
+    CommandTerminal::Serial()->writef("Frequency Sub Band:\t%u\r\n", CommandTerminal::Dot()->getFrequencySubBand());
 
-    _serial.writef("Public Network:\t\t%s\r\n", _dot->getPublicNetwork() ? "on" : "off");
-    _serial.writef("Start Up Mode:\t\t%s\r\n", mDot::ModeStr(_dot->getStartUpMode()).c_str());
+    CommandTerminal::Serial()->writef("Public Network:\t\t%s\r\n", CommandTerminal::Dot()->getPublicNetwork() ? "on" : "off");
+    CommandTerminal::Serial()->writef("Start Up Mode:\t\t%s\r\n", mDot::ModeStr(CommandTerminal::Dot()->getStartUpMode()).c_str());
+
+    CommandTerminal::Serial()->writef("Network Address:\t%s\r\n", mts::Text::bin2hexString(CommandTerminal::Dot()->getNetworkAddress()).c_str());
 
-    _serial.writef("Network Address:\t%s\r\n", mts::Text::bin2hexString(_dot->getNetworkAddress()).c_str());
+    CommandTerminal::Serial()->writef("Network ID:\t\t");
+    CommandTerminal::Serial()->writef("%s\r\n", mts::Text::bin2hexString(CommandTerminal::Dot()->getNetworkId(), ":").c_str());
 
-    _serial.writef("Network ID:\t\t");
-    _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getNetworkId(), ":").c_str());
+    CommandTerminal::Serial()->writef("Network ID Passphrase:\t%s\r\n", CommandTerminal::Dot()->getNetworkName().c_str());
 
-    _serial.writef("Network ID Passphrase:\t%s\r\n", _dot->getNetworkName().c_str());
+    CommandTerminal::Serial()->writef("Network Key:\t\t");
+    CommandTerminal::Serial()->writef("%s\r\n", mts::Text::bin2hexString(CommandTerminal::Dot()->getNetworkKey(), ".").c_str());
 
-    _serial.writef("Network Key:\t\t");
-    _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getNetworkKey(), ".").c_str());
+    CommandTerminal::Serial()->writef("Network Key Passphrase:\t%s\r\n", CommandTerminal::Dot()->getNetworkPassphrase().c_str());
 
-    _serial.writef("Network Key Passphrase:\t%s\r\n", _dot->getNetworkPassphrase().c_str());
+    CommandTerminal::Serial()->writef("Network Session Key:\t");
+    CommandTerminal::Serial()->writef("%s\r\n", mts::Text::bin2hexString(CommandTerminal::Dot()->getNetworkSessionKey(), ".").c_str());
 
-    _serial.writef("Network Session Key:\t");
-    _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getNetworkSessionKey(), ".").c_str());
+    CommandTerminal::Serial()->writef("Data Session Key:\t");
+    CommandTerminal::Serial()->writef("%s\r\n", mts::Text::bin2hexString(CommandTerminal::Dot()->getDataSessionKey(), ".").c_str());
 
-    _serial.writef("Data Session Key:\t");
-    _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getDataSessionKey(), ".").c_str());
+    CommandTerminal::Serial()->writef("Network Join Mode:\t%s\r\n", mDot::JoinModeStr(CommandTerminal::Dot()->getJoinMode()).c_str());
 
-    _serial.writef("Network Join Mode:\t%s\r\n", mDot::JoinModeStr(_dot->getJoinMode()).c_str());
+    CommandTerminal::Serial()->writef("Network Join Retries:\t%u\r\n", CommandTerminal::Dot()->getJoinRetries());
+
+    CommandTerminal::Serial()->writef("Preserve Session:\t%s\r\n", CommandTerminal::Dot()->getPreserveSession() ? "on" : "off");
 
-    _serial.writef("Network Join Retries:\t%u\r\n", _dot->getJoinRetries());
+    CommandTerminal::Serial()->writef("Join Byte Order:\t%s\r\n", CommandTerminal::Dot()->getJoinByteOrder() ? "MSB" : "LSB");
 
-    _serial.writef("Preserve Session:\t%s\r\n", _dot->getPreserveSession() ? "on" : "off");
+    CommandTerminal::Serial()->writef("Join Delay:\t\t%d\r\n", CommandTerminal::Dot()->getJoinDelay());
 
-    _serial.writef("Join Byte Order:\t%s\r\n", _dot->getJoinByteOrder() ? "MSB" : "LSB");
+    CommandTerminal::Serial()->writef("Join Rx1 DR Offset:\t%d\r\n", CommandTerminal::Dot()->getJoinRx1DataRateOffset());
 
-    _serial.writef("Join Delay:\t\t%d\r\n", _dot->getJoinDelay());
+    CommandTerminal::Serial()->writef("Join Rx2 Datarate:\tDR%d - %s\r\n", CommandTerminal::Dot()->getJoinRx2DataRate(), CommandTerminal::Dot()->getDateRateDetails(CommandTerminal::Dot()->getJoinRx2DataRate()).c_str());
 
-    _serial.writef("App Port:\t\t%d\r\n", _dot->getAppPort());
+    CommandTerminal::Serial()->writef("Join Rx2 Frequency:\t%lu\r\n", CommandTerminal::Dot()->getJoinRx2Frequency());
 
-    _serial.writef("Link Check Threshold:\t");
-    if (_dot->getLinkCheckThreshold() == 0) {
-        _serial.writef("off\r\n");
+    CommandTerminal::Serial()->writef("App Port:\t\t%d\r\n", CommandTerminal::Dot()->getAppPort());
+
+    CommandTerminal::Serial()->writef("Link Check Threshold:\t");
+    if (CommandTerminal::Dot()->getLinkCheckThreshold() == 0) {
+        CommandTerminal::Serial()->writef("off\r\n");
     } else {
-        _serial.writef("%lu\r\n", _dot->getLinkCheckThreshold());
+        CommandTerminal::Serial()->writef("%lu\r\n", CommandTerminal::Dot()->getLinkCheckThreshold());
     }
 
-    _serial.writef("Link Check Count:\t");
-    if (_dot->getLinkCheckCount() == 0) {
-        _serial.writef("off\r\n");
+    CommandTerminal::Serial()->writef("Link Check Count:\t");
+    if (CommandTerminal::Dot()->getLinkCheckCount() == 0) {
+        CommandTerminal::Serial()->writef("off\r\n");
     } else {
-        _serial.writef("%lu packets\r\n", _dot->getLinkCheckCount());
+        CommandTerminal::Serial()->writef("%lu packets\r\n", CommandTerminal::Dot()->getLinkCheckCount());
     }
 
-    _serial.writef("Error Correction:\t");
-    if (_dot->getFec() == 0) {
-        _serial.writef("off\r\n");
+    CommandTerminal::Serial()->writef("Error Correction:\t");
+    if (CommandTerminal::Dot()->getFec() == 0) {
+        CommandTerminal::Serial()->writef("off\r\n");
     } else {
-        _serial.writef("%u bytes\r\n", _dot->getFec());
+        CommandTerminal::Serial()->writef("%u bytes\r\n", CommandTerminal::Dot()->getFec());
     }
 
-    _serial.writef("ACK Retries:\t\t");
-    if (_dot->getAck() == 0) {
-        _serial.writef("off\r\n");
+    CommandTerminal::Serial()->writef("ACK Retries:\t\t");
+    if (CommandTerminal::Dot()->getAck() == 0) {
+        CommandTerminal::Serial()->writef("off\r\n");
     } else {
-        _serial.writef("%u\r\n", _dot->getAck());
+        CommandTerminal::Serial()->writef("%u\r\n", CommandTerminal::Dot()->getAck());
     }
 
-    _serial.writef("Packet Repeat:\t\t%d\r\n", _dot->getRepeat());
+    CommandTerminal::Serial()->writef("Packet Repeat:\t\t%d\r\n", CommandTerminal::Dot()->getRepeat());
 
-    _serial.writef("Encryption:\t\t%s\r\n", _dot->getAesEncryption() ? "on" : "off");
-    _serial.writef("CRC:\t\t\t%s\r\n", _dot->getCrc() ? "on" : "off");
-    _serial.writef("Adaptive Data Rate:\t%s\r\n", _dot->getAdr() ? "on" : "off");
-    _serial.writef("Command Echo:\t\t%s\r\n", _dot->getEcho() ? "on" : "off");
-    _serial.writef("Verbose Response:\t%s\r\n", _dot->getVerbose() ? "on" : "off");
+    CommandTerminal::Serial()->writef("Encryption:\t\t%s\r\n", CommandTerminal::Dot()->getAesEncryption() ? "on" : "off");
+    CommandTerminal::Serial()->writef("CRC:\t\t\t%s\r\n", CommandTerminal::Dot()->getCrc() ? "on" : "off");
+    CommandTerminal::Serial()->writef("Adaptive Data Rate:\t%s\r\n", CommandTerminal::Dot()->getAdr() ? "on" : "off");
+    CommandTerminal::Serial()->writef("Command Echo:\t\t%s\r\n", CommandTerminal::Dot()->getEcho() ? "on" : "off");
+    CommandTerminal::Serial()->writef("Verbose Response:\t%s\r\n", CommandTerminal::Dot()->getVerbose() ? "on" : "off");
 
-    _serial.writef("Tx Frequency:\t\t%lu\r\n", _dot->getTxFrequency());
+    CommandTerminal::Serial()->writef("Tx Frequency:\t\t%lu\r\n", CommandTerminal::Dot()->getTxFrequency());
 
-    _serial.writef("Tx Data Rate:\t\tDR%d - %s\r\n", _dot->getTxDataRate(), _dot->getDateRateDetails(_dot->getTxDataRate()).c_str());
-    _serial.writef("Tx Power:\t\t%u\r\n", _dot->getTxPower());
-    _serial.writef("Tx Antenna Gain:\t%d\r\n", _dot->getAntennaGain());
-    _serial.writef("Tx Wait:\t\t%s\r\n", _dot->getTxWait() ? "on" : "off");
+    CommandTerminal::Serial()->writef("Tx Data Rate:\t\tDR%d - %s\r\n", CommandTerminal::Dot()->getTxDataRate(), CommandTerminal::Dot()->getDateRateDetails(CommandTerminal::Dot()->getTxDataRate()).c_str());
+    CommandTerminal::Serial()->writef("Tx Power:\t\t%u\r\n", CommandTerminal::Dot()->getTxPower());
+    CommandTerminal::Serial()->writef("Tx Antenna Gain:\t%d\r\n", CommandTerminal::Dot()->getAntennaGain());
+    CommandTerminal::Serial()->writef("Tx Wait:\t\t%s\r\n", CommandTerminal::Dot()->getTxWait() ? "on" : "off");
 
-    _serial.writef("Tx Inverted Signal:\t%s\r\n", _dot->getTxInverted() ? "on" : "off");
+    CommandTerminal::Serial()->writef("Tx Inverted Signal:\t%s\r\n", CommandTerminal::Dot()->getTxInverted() ? "on" : "off");
 
     bool hasChannels = false;
     for (size_t i = 0; i < 16; i++) {
-        if (_dot->getConfigChannels()[i] != 0) {
+        if (CommandTerminal::Dot()->getConfigChannels()[i] != 0) {
             hasChannels = true;
             break;
         }
     }
 
     if (hasChannels) {
-        _serial.writef("Tx Channels --------------------------------------\r\n");
-        _serial.writef("\tIndex\tFrequency\tDR Range\r\n");
+        CommandTerminal::Serial()->writef("Tx Channels --------------------------------------\r\n");
+        CommandTerminal::Serial()->writef("\tIndex\tFrequency\tDR Range\r\n");
         for (size_t i = 0; i < 16; i++) {
-            if (_dot->getConfigChannels()[i] != 0)
-                _serial.writef("\t%d:\t%09lu\t%02x\r\n", i, _dot->getConfigChannels()[i], _dot->getConfigChannelRanges()[i]);
+            if (CommandTerminal::Dot()->getConfigChannels()[i] != 0)
+                CommandTerminal::Serial()->writef("\t%d:\t%09lu\t%02x\r\n", i, CommandTerminal::Dot()->getConfigChannels()[i], CommandTerminal::Dot()->getConfigChannelRanges()[i]);
         }
-        _serial.writef("--------------------------------------------------\r\n");
+        CommandTerminal::Serial()->writef("--------------------------------------------------\r\n");
     }
 
-    _serial.writef("Rx Delay:\t\t%d s\r\n", _dot->getRxDelay());
-//    _serial.writef("Rx Frequency:\t\t%lu\r\n", _dot->getRxFrequency());
-//    _serial.writef("Rx Data Rate:\t\t%s\r\n", mDot::DataRateStr(_dot->getRxDataRate()).c_str());
-    _serial.writef("Rx Inverted Signal:\t%s\r\n", _dot->getRxInverted() ? "on" : "off");
+    CommandTerminal::Serial()->writef("Rx Delay:\t\t%d s\r\n", CommandTerminal::Dot()->getRxDelay());
+//    CommandTerminal::Serial()->writef("Rx Frequency:\t\t%lu\r\n", CommandTerminal::Dot()->getRxFrequency());
+//    CommandTerminal::Serial()->writef("Rx Data Rate:\t\t%s\r\n", mDot::DataRateStr(CommandTerminal::Dot()->getRxDataRate()).c_str());
+    CommandTerminal::Serial()->writef("Rx Inverted Signal:\t%s\r\n", CommandTerminal::Dot()->getRxInverted() ? "on" : "off");
 
-    _serial.writef("Rx Output Style:\t%s\r\n", mDot::RxOutputStr(_dot->getRxOutput()).c_str());
+    CommandTerminal::Serial()->writef("Rx Output Style:\t%s\r\n", mDot::RxOutputStr(CommandTerminal::Dot()->getRxOutput()).c_str());
 
-    _serial.writef("Debug Baud Rate:\t%lu\r\n", _dot->getDebugBaud());
-    _serial.writef("Serial Baud Rate:\t%lu\r\n", _dot->getBaud());
-    _serial.writef("Serial Flow Control:\t%s\r\n", _dot->getFlowControl() == 0 ? "off" : "on");
-    _serial.writef("Serial Clear On Error:\t%s\r\n", _dot->getSerialClearOnError() == 0 ? "off" : "on");
+    CommandTerminal::Serial()->writef("Debug Baud Rate:\t%lu\r\n", CommandTerminal::Dot()->getDebugBaud());
+    CommandTerminal::Serial()->writef("Serial Baud Rate:\t%lu\r\n", CommandTerminal::Dot()->getBaud());
+    CommandTerminal::Serial()->writef("Serial Flow Control:\t%s\r\n", CommandTerminal::Dot()->getFlowControl() == 0 ? "off" : "on");
+    CommandTerminal::Serial()->writef("Serial Clear On Error:\t%s\r\n", CommandTerminal::Dot()->getSerialClearOnError() == 0 ? "off" : "on");
 
-    uint8_t mode = _dot->getWakeMode();
-    _serial.writef("Wake Mode:\t\t%s\r\n", mode == 0 ? "INTERVAL" : ( mode == 1 ? "INTERRUPT" : "BOTH"));
-    _serial.writef("Wake Interval:\t\t%lu s\r\n", _dot->getWakeInterval());
-    _serial.writef("Wake Delay:\t\t%lu ms\r\n", _dot->getWakeDelay());
-    _serial.writef("Wake Timeout:\t\t%u ms\r\n", _dot->getWakeTimeout());
-    _serial.writef("Wake Pin:\t\t%s\r\n", mDot::pinName2Str(_dot->getWakePin()).c_str());
+    uint8_t mode = CommandTerminal::Dot()->getWakeMode();
+    CommandTerminal::Serial()->writef("Wake Mode:\t\t%s\r\n", mode == 0 ? "INTERVAL" : ( mode == 1 ? "INTERRUPT" : "BOTH"));
+    CommandTerminal::Serial()->writef("Wake Interval:\t\t%lu s\r\n", CommandTerminal::Dot()->getWakeInterval());
+    CommandTerminal::Serial()->writef("Wake Delay:\t\t%lu ms\r\n", CommandTerminal::Dot()->getWakeDelay());
+    CommandTerminal::Serial()->writef("Wake Timeout:\t\t%u ms\r\n", CommandTerminal::Dot()->getWakeTimeout());
+    CommandTerminal::Serial()->writef("Wake Pin:\t\t%s\r\n", mDot::pinName2Str(CommandTerminal::Dot()->getWakePin()).c_str());
 
-    _serial.writef("Log Level:\t\t%ld\r\n", _dot->getLogLevel());
+    CommandTerminal::Serial()->writef("Log Level:\t\t%ld\r\n", CommandTerminal::Dot()->getLogLevel());
 
     return 0;
 }