You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Response codes use the high-bit convention: `response = command | 0x80`. Generic and unsolicited responses use the `0xF0`+ range.
119
+
116
120
| Sub-command | Value | Data |
117
121
|-------------|-------|------|
118
-
| Identity |`0x21`| PubKey (32) |
119
-
| Random |`0x22`| Random bytes (1-64) |
120
-
| Verify |`0x23`| Result (1): 0x00=invalid, 0x01=valid |
121
-
| Signature |`0x24`| Signature (64) |
122
-
| Encrypted |`0x25`| MAC (2) + Ciphertext |
123
-
| Decrypted |`0x26`| Plaintext |
124
-
| SharedSecret |`0x27`| Shared secret (32) |
125
-
| Hash |`0x28`| SHA-256 hash (32) |
126
-
| OK |`0x29`| - |
127
-
| Error |`0x2A`| Error code (1) |
128
-
| Radio |`0x2B`| Freq (4) + BW (4) + SF (1) + CR (1) |
129
-
| TxPower |`0x2C`| Power dBm (1) |
130
-
| CurrentRssi |`0x2D`| RSSI dBm (1, signed) |
131
-
| ChannelBusy |`0x2E`| Result (1): 0x00=clear, 0x01=busy |
132
-
| Airtime |`0x2F`| Milliseconds (4) |
133
-
| NoiseFloor |`0x30`| dBm (2, signed) |
134
-
| Version |`0x31`| Version (1) + Reserved (1) |
135
-
| Stats |`0x32`| RX (4) + TX (4) + Errors (4) |
136
-
| Battery |`0x33`| Millivolts (2) |
137
-
| MCUTemp |`0x34`| Temperature (2, signed) |
138
-
| Sensors |`0x35`| CayenneLPP payload |
139
-
| DeviceName |`0x36`| Name (variable, UTF-8) |
140
-
| Pong |`0x37`| - |
141
-
| TxDone |`0x38`| Result (1): 0x00=failed, 0x01=success |
142
-
| RxMeta |`0x39`| SNR (1) + RSSI (1) |
122
+
| Identity |`0x81`| PubKey (32) |
123
+
| Random |`0x82`| Random bytes (1-64) |
124
+
| Verify |`0x83`| Result (1): 0x00=invalid, 0x01=valid |
125
+
| Signature |`0x84`| Signature (64) |
126
+
| Encrypted |`0x85`| MAC (2) + Ciphertext |
127
+
| Decrypted |`0x86`| Plaintext |
128
+
| SharedSecret |`0x87`| Shared secret (32) |
129
+
| Hash |`0x88`| SHA-256 hash (32) |
130
+
| Radio |`0x8B`| Freq (4) + BW (4) + SF (1) + CR (1) |
131
+
| TxPower |`0x8C`| Power dBm (1) |
132
+
| CurrentRssi |`0x8D`| RSSI dBm (1, signed) |
133
+
| ChannelBusy |`0x8E`| Result (1): 0x00=clear, 0x01=busy |
134
+
| Airtime |`0x8F`| Milliseconds (4) |
135
+
| NoiseFloor |`0x90`| dBm (2, signed) |
136
+
| Version |`0x91`| Version (1) + Reserved (1) |
137
+
| Stats |`0x92`| RX (4) + TX (4) + Errors (4) |
138
+
| Battery |`0x93`| Millivolts (2) |
139
+
| MCUTemp |`0x94`| Temperature (2, signed) |
140
+
| Sensors |`0x95`| CayenneLPP payload |
141
+
| DeviceName |`0x96`| Name (variable, UTF-8) |
142
+
| Pong |`0x97`| - |
143
+
| SignalReport |`0x9A`| Status (1): 0x00=disabled, 0x01=enabled |
144
+
| OK |`0xF0`| - |
145
+
| Error |`0xF1`| Error code (1) |
146
+
| TxDone |`0xF8`| Result (1): 0x00=failed, 0x01=success |
147
+
| RxMeta |`0xF9`| SNR (1) + RSSI (1) |
143
148
144
149
### Error Codes
145
150
@@ -156,9 +161,9 @@ MeshCore-specific functionality uses the standard KISS SetHardware command. The
156
161
157
162
The TNC sends these SetHardware frames without a preceding request:
158
163
159
-
**TxDone (0x38)**: Sent after a packet has been transmitted. Contains a single byte: 0x01 for success, 0x00 for failure.
164
+
**TxDone (0xF8)**: Sent after a packet has been transmitted. Contains a single byte: 0x01 for success, 0x00 for failure.
160
165
161
-
**RxMeta (0x39)**: Sent immediately after each standard data frame (type 0x00) with metadata for the received packet. Contains SNR (1 byte, signed, value x4 for 0.25 dB precision) followed by RSSI (1 byte, signed, dBm). Standard KISS clients ignore this frame.
166
+
**RxMeta (0xF9)**: Sent immediately after each standard data frame (type 0x00) with metadata for the received packet. Contains SNR (1 byte, signed, value x4 for 0.25 dB precision) followed by RSSI (1 byte, signed, dBm). Enabled by default; can be toggled with SetSignalReport. Standard KISS clients ignore this frame.
0 commit comments