The command set as oxinode_core::rnode::command decodes it, and what the
protocol does with each. Command bytes are those of Reticulum's
RNodeInterface.KISS and rnodeconf.KISS (RNS 1.5.0). "Raw" in the escaping
column means the host reads that field straight out of the byte stream with
no un-escaping, so the device must not escape it.
0x65NP_INT (neopixel), 0x69DIS_IA, and the WiFi set 0x6A–0x6E,
0x84, 0x85 (WIFI_MODE, WIFI_SSID, WIFI_PSK, CFG_READ,
WIFI_CHN, WIFI_IP, WIFI_NM) are reported as not applicable: there is
no hardware for them, and a log line that said "not yet" about one would be
telling somebody to wait for something that is not coming.
0x90ERROR is outbound only. The first two codes make the host raise an
IOError and drop the interface; the rest it records and carries on.
Code
Host reaction
0x01
INITRADIO
drops the interface
0x02
TXFAILED
drops the interface
0x03
EEPROM_LOCKED
records it
0x04
QUEUE_FULL
records it
0x05
MEMORY_LOW
records it
0x06
MODEM_TIMEOUT
records it
A refused radio configuration is not reported as INITRADIO: the radio
state comes back off, the host finds the mismatch itself, and the specific
reason goes to the log port. See The RNode protocol.