few changes for RTS/CTS control
Dependencies: MTS-Serial libmDot mbed-rtos mbed
Fork of mDot_AT_firmware by
CommandTerminal/CmdDisplayConfig.cpp@11:77b7911263da, 2016-10-25 (annotated)
- Committer:
- serg838
- Date:
- Tue Oct 25 05:39:39 2016 +0000
- Revision:
- 11:77b7911263da
- Parent:
- 9:ff62b20f7000
RTS/CTS changes
Who changed what in which revision?
User | Revision | Line number | New 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 |