with 36errors

Dependencies:   MTS-Serial libxDot-dev-mbed5-deprecated

Fork of Dot-AT-Firmware by MultiTech

Committer:
Mike Fiore
Date:
Mon Apr 04 09:00:31 2016 -0500
Revision:
9:ff62b20f7000
Parent:
4:666017851052
Child:
14:f9a77400b622
update to version 1.0.8 of AT firmware

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mike Fiore 1:e52ae6584f1c 1 #include "CmdDisplayConfig.h"
Mike Fiore 1:e52ae6584f1c 2
Mike Fiore 1:e52ae6584f1c 3 CmdDisplayConfig::CmdDisplayConfig(mDot* dot, mts::MTSSerial& serial)
Mike Fiore 1:e52ae6584f1c 4 :
Mike Fiore 1:e52ae6584f1c 5 Command(dot, "Display Settings", "AT&V", "Displays current settings and status"),
Mike Fiore 1:e52ae6584f1c 6 _serial(serial) {
Mike Fiore 1:e52ae6584f1c 7 _help = std::string(text()) + ": " + std::string(desc());
Mike Fiore 1:e52ae6584f1c 8 _usage = "TABLE";
Mike Fiore 1:e52ae6584f1c 9 }
Mike Fiore 1:e52ae6584f1c 10
Mike Fiore 1:e52ae6584f1c 11 uint32_t CmdDisplayConfig::action(std::vector<std::string> args) {
Mike Fiore 9:ff62b20f7000 12
Mike Fiore 1:e52ae6584f1c 13 _serial.writef("Device ID:\t\t");
Mike Fiore 1:e52ae6584f1c 14 _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getDeviceId(), ":").c_str());
Mike Fiore 1:e52ae6584f1c 15
Mike Fiore 1:e52ae6584f1c 16 _serial.writef("Frequency Band:\t\t%s\r\n", mDot::FrequencyBandStr(_dot->getFrequencyBand()).c_str());
Mike Fiore 1:e52ae6584f1c 17 _serial.writef("Frequency Sub Band:\t%u\r\n", _dot->getFrequencySubBand());
Mike Fiore 1:e52ae6584f1c 18
Mike Fiore 1:e52ae6584f1c 19 _serial.writef("Public Network:\t\t%s\r\n", _dot->getPublicNetwork() ? "on" : "off");
Mike Fiore 1:e52ae6584f1c 20 _serial.writef("Start Up Mode:\t\t%s\r\n", mDot::ModeStr(_dot->getStartUpMode()).c_str());
Mike Fiore 1:e52ae6584f1c 21
Mike Fiore 1:e52ae6584f1c 22 _serial.writef("Network Address:\t%s\r\n", mts::Text::bin2hexString(_dot->getNetworkAddress()).c_str());
Mike Fiore 1:e52ae6584f1c 23
Mike Fiore 1:e52ae6584f1c 24 _serial.writef("Network ID:\t\t");
Mike Fiore 1:e52ae6584f1c 25 _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getNetworkId(), ":").c_str());
Mike Fiore 1:e52ae6584f1c 26
Mike Fiore 1:e52ae6584f1c 27 _serial.writef("Network ID Passphrase:\t%s\r\n", _dot->getNetworkName().c_str());
Mike Fiore 1:e52ae6584f1c 28
Mike Fiore 1:e52ae6584f1c 29 _serial.writef("Network Key:\t\t");
Mike Fiore 1:e52ae6584f1c 30 _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getNetworkKey(), ".").c_str());
Mike Fiore 1:e52ae6584f1c 31
Mike Fiore 1:e52ae6584f1c 32 _serial.writef("Network Key Passphrase:\t%s\r\n", _dot->getNetworkPassphrase().c_str());
Mike Fiore 1:e52ae6584f1c 33
Mike Fiore 1:e52ae6584f1c 34 _serial.writef("Network Session Key:\t");
Mike Fiore 1:e52ae6584f1c 35 _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getNetworkSessionKey(), ".").c_str());
Mike Fiore 1:e52ae6584f1c 36
Mike Fiore 1:e52ae6584f1c 37 _serial.writef("Data Session Key:\t");
Mike Fiore 1:e52ae6584f1c 38 _serial.writef("%s\r\n", mts::Text::bin2hexString(_dot->getDataSessionKey(), ".").c_str());
Mike Fiore 1:e52ae6584f1c 39
Mike Fiore 1:e52ae6584f1c 40 _serial.writef("Network Join Mode:\t%s\r\n", mDot::JoinModeStr(_dot->getJoinMode()).c_str());
Mike Fiore 1:e52ae6584f1c 41
Mike Fiore 1:e52ae6584f1c 42 _serial.writef("Network Join Retries:\t%u\r\n", _dot->getJoinRetries());
Mike Fiore 1:e52ae6584f1c 43
Mike Fiore 9:ff62b20f7000 44 _serial.writef("Preserve Session:\t%s\r\n", _dot->getPreserveSession() ? "on" : "off");
Mike Fiore 9:ff62b20f7000 45
Mike Fiore 4:666017851052 46 _serial.writef("Join Byte Order:\t%s\r\n", _dot->getJoinByteOrder() ? "MSB" : "LSB");
Mike Fiore 4:666017851052 47
Mike Fiore 9:ff62b20f7000 48 _serial.writef("Join Delay:\t\t%d\r\n", _dot->getJoinDelay());
Mike Fiore 9:ff62b20f7000 49
Mike Fiore 9:ff62b20f7000 50 _serial.writef("App Port:\t\t%d\r\n", _dot->getAppPort());
Mike Fiore 9:ff62b20f7000 51
Mike Fiore 1:e52ae6584f1c 52 _serial.writef("Link Check Threshold:\t");
Mike Fiore 1:e52ae6584f1c 53 if (_dot->getLinkCheckThreshold() == 0) {
Mike Fiore 1:e52ae6584f1c 54 _serial.writef("off\r\n");
Mike Fiore 1:e52ae6584f1c 55 } else {
Mike Fiore 1:e52ae6584f1c 56 _serial.writef("%lu\r\n", _dot->getLinkCheckThreshold());
Mike Fiore 1:e52ae6584f1c 57 }
Mike Fiore 1:e52ae6584f1c 58
Mike Fiore 1:e52ae6584f1c 59 _serial.writef("Link Check Count:\t");
Mike Fiore 1:e52ae6584f1c 60 if (_dot->getLinkCheckCount() == 0) {
Mike Fiore 1:e52ae6584f1c 61 _serial.writef("off\r\n");
Mike Fiore 1:e52ae6584f1c 62 } else {
Mike Fiore 1:e52ae6584f1c 63 _serial.writef("%lu packets\r\n", _dot->getLinkCheckCount());
Mike Fiore 1:e52ae6584f1c 64 }
Mike Fiore 1:e52ae6584f1c 65
Mike Fiore 1:e52ae6584f1c 66 _serial.writef("Error Correction:\t");
Mike Fiore 1:e52ae6584f1c 67 if (_dot->getFec() == 0) {
Mike Fiore 1:e52ae6584f1c 68 _serial.writef("off\r\n");
Mike Fiore 1:e52ae6584f1c 69 } else {
Mike Fiore 1:e52ae6584f1c 70 _serial.writef("%u bytes\r\n", _dot->getFec());
Mike Fiore 1:e52ae6584f1c 71 }
Mike Fiore 1:e52ae6584f1c 72
Mike Fiore 1:e52ae6584f1c 73 _serial.writef("ACK Retries:\t\t");
Mike Fiore 1:e52ae6584f1c 74 if (_dot->getAck() == 0) {
Mike Fiore 1:e52ae6584f1c 75 _serial.writef("off\r\n");
Mike Fiore 1:e52ae6584f1c 76 } else {
Mike Fiore 1:e52ae6584f1c 77 _serial.writef("%u\r\n", _dot->getAck());
Mike Fiore 1:e52ae6584f1c 78 }
Mike Fiore 1:e52ae6584f1c 79
Mike Fiore 9:ff62b20f7000 80 _serial.writef("Packet Repeat:\t\t%d\r\n", _dot->getRepeat());
Mike Fiore 9:ff62b20f7000 81
Mike Fiore 1:e52ae6584f1c 82 _serial.writef("Encryption:\t\t%s\r\n", _dot->getAesEncryption() ? "on" : "off");
Mike Fiore 1:e52ae6584f1c 83 _serial.writef("CRC:\t\t\t%s\r\n", _dot->getCrc() ? "on" : "off");
Mike Fiore 1:e52ae6584f1c 84 _serial.writef("Adaptive Data Rate:\t%s\r\n", _dot->getAdr() ? "on" : "off");
Mike Fiore 1:e52ae6584f1c 85 _serial.writef("Command Echo:\t\t%s\r\n", _dot->getEcho() ? "on" : "off");
Mike Fiore 1:e52ae6584f1c 86 _serial.writef("Verbose Response:\t%s\r\n", _dot->getVerbose() ? "on" : "off");
Mike Fiore 1:e52ae6584f1c 87
Mike Fiore 1:e52ae6584f1c 88 _serial.writef("Tx Frequency:\t\t%lu\r\n", _dot->getTxFrequency());
Mike Fiore 9:ff62b20f7000 89
Mike Fiore 9:ff62b20f7000 90 _serial.writef("Tx Data Rate:\t\tDR%d - %s\r\n", _dot->getTxDataRate(), _dot->getDateRateDetails(_dot->getTxDataRate()).c_str());
Mike Fiore 1:e52ae6584f1c 91 _serial.writef("Tx Power:\t\t%u\r\n", _dot->getTxPower());
Mike Fiore 9:ff62b20f7000 92 _serial.writef("Tx Antenna Gain:\t%d\r\n", _dot->getAntennaGain());
Mike Fiore 1:e52ae6584f1c 93 _serial.writef("Tx Wait:\t\t%s\r\n", _dot->getTxWait() ? "on" : "off");
Mike Fiore 1:e52ae6584f1c 94
Mike Fiore 1:e52ae6584f1c 95 _serial.writef("Tx Inverted Signal:\t%s\r\n", _dot->getTxInverted() ? "on" : "off");
Mike Fiore 1:e52ae6584f1c 96
Mike Fiore 9:ff62b20f7000 97 bool hasChannels = false;
Mike Fiore 9:ff62b20f7000 98 for (size_t i = 0; i < 16; i++) {
Mike Fiore 9:ff62b20f7000 99 if (_dot->getConfigChannels()[i] != 0) {
Mike Fiore 9:ff62b20f7000 100 hasChannels = true;
Mike Fiore 9:ff62b20f7000 101 break;
Mike Fiore 9:ff62b20f7000 102 }
Mike Fiore 9:ff62b20f7000 103 }
Mike Fiore 9:ff62b20f7000 104
Mike Fiore 9:ff62b20f7000 105 if (hasChannels) {
Mike Fiore 9:ff62b20f7000 106 _serial.writef("Tx Channels --------------------------------------\r\n");
Mike Fiore 9:ff62b20f7000 107 _serial.writef("\tIndex\tFrequency\tDR Range\r\n");
Mike Fiore 9:ff62b20f7000 108 for (size_t i = 0; i < 16; i++) {
Mike Fiore 9:ff62b20f7000 109 if (_dot->getConfigChannels()[i] != 0)
Mike Fiore 9:ff62b20f7000 110 _serial.writef("\t%d:\t%09lu\t%02x\r\n", i, _dot->getConfigChannels()[i], _dot->getConfigChannelRanges()[i]);
Mike Fiore 9:ff62b20f7000 111 }
Mike Fiore 9:ff62b20f7000 112 _serial.writef("--------------------------------------------------\r\n");
Mike Fiore 9:ff62b20f7000 113 }
Mike Fiore 9:ff62b20f7000 114
Mike Fiore 9:ff62b20f7000 115 _serial.writef("Rx Delay:\t\t%d s\r\n", _dot->getRxDelay());
Mike Fiore 9:ff62b20f7000 116 // _serial.writef("Rx Frequency:\t\t%lu\r\n", _dot->getRxFrequency());
Mike Fiore 9:ff62b20f7000 117 // _serial.writef("Rx Data Rate:\t\t%s\r\n", mDot::DataRateStr(_dot->getRxDataRate()).c_str());
Mike Fiore 1:e52ae6584f1c 118 _serial.writef("Rx Inverted Signal:\t%s\r\n", _dot->getRxInverted() ? "on" : "off");
Mike Fiore 1:e52ae6584f1c 119
Mike Fiore 1:e52ae6584f1c 120 _serial.writef("Rx Output Style:\t%s\r\n", mDot::RxOutputStr(_dot->getRxOutput()).c_str());
Mike Fiore 1:e52ae6584f1c 121
Mike Fiore 1:e52ae6584f1c 122 _serial.writef("Debug Baud Rate:\t%lu\r\n", _dot->getDebugBaud());
Mike Fiore 1:e52ae6584f1c 123 _serial.writef("Serial Baud Rate:\t%lu\r\n", _dot->getBaud());
Mike Fiore 9:ff62b20f7000 124 _serial.writef("Serial Flow Control:\t%s\r\n", _dot->getFlowControl() == 0 ? "off" : "on");
Mike Fiore 9:ff62b20f7000 125 _serial.writef("Serial Clear On Error:\t%s\r\n", _dot->getSerialClearOnError() == 0 ? "off" : "on");
Mike Fiore 1:e52ae6584f1c 126
Mike Fiore 9:ff62b20f7000 127 uint8_t mode = _dot->getWakeMode();
Mike Fiore 9:ff62b20f7000 128 _serial.writef("Wake Mode:\t\t%s\r\n", mode == 0 ? "INTERVAL" : ( mode == 1 ? "INTERRUPT" : "BOTH"));
Mike Fiore 4:666017851052 129 _serial.writef("Wake Interval:\t\t%lu s\r\n", _dot->getWakeInterval());
Mike Fiore 4:666017851052 130 _serial.writef("Wake Delay:\t\t%lu ms\r\n", _dot->getWakeDelay());
Mike Fiore 4:666017851052 131 _serial.writef("Wake Timeout:\t\t%u ms\r\n", _dot->getWakeTimeout());
Mike Fiore 9:ff62b20f7000 132 _serial.writef("Wake Pin:\t\t%s\r\n", mDot::pinName2Str(_dot->getWakePin()).c_str());
Mike Fiore 1:e52ae6584f1c 133
Mike Fiore 1:e52ae6584f1c 134 _serial.writef("Log Level:\t\t%ld\r\n", _dot->getLogLevel());
Mike Fiore 1:e52ae6584f1c 135
Mike Fiore 1:e52ae6584f1c 136 return 0;
Mike Fiore 1:e52ae6584f1c 137 }
Mike Fiore 1:e52ae6584f1c 138