Integration Guide

SMK900 Integration Guide Revision 4
command to a node, without local access to its serial communication bus, in which case the
command can be packaged within a TXAirCmdWrapper command, then sent via serial
communication bus to a gateway transceiver controlling the network which is connected to the node
in question. Said gateway then reroutes that command to the desired destination node(s) via the
mesh network. The node(s) then read that command, as if it received it via its own local serial
communication bus, except for the fact that all air commands are read by the node(s) only after a
broadcast cycle ended, just before they go into sleep mode (if sleep mode is enabled for any
particular node).
Any node which executes any command is usually expected to generate a reply. Because an air
command is received via the mesh network, the corresponding reply is not transmitted over the
serial bus to a host locally connected to that node, but is instead transmitted over the mesh network
back to the gateway, which then proceeds to wrap the reply received in a RXAirCmdWrapper
message. That wrapped reply message is then sent out to the host connected to that gateway
transceiver.
Therefore, this command is only available for transceivers configured as gateways. If a node wants to
sniff those special air command packets sent out from a gateway, then it needs to use the event marker
RXBcastOutSnifferAirCmd (with proper concomitant configuration register flag set).
For a diagram detailing the whole flow of information and processing events related to it for air
commands and the corresponding air replies, see section 7.2.23.
TXAirCmdWrapper
(command wrapping another command for remoting)
Byte offset
Field
Description
0x00
Start-of-Packet
0xFB = Indicates start of protocol formatted message
0x01 - 0x02
Length
0x?? 0x?? = Number of bytes in message following this byte (Little-Endian)
0x03
Packet Type
0x0C = TXAirCmdWrapper
0x04
Broadcast Phase ID
0x00-0x03 = Received packet Broadcast Phase ID
0x05
Wrapped Packet
Type
IF using MULTI-PHASE mode:
0x0F = multiphase mode
ELSE:
0x?? (not 0x0F) = any single command packet type byte for any command
compatible with air command wrapping
0x06 -
(0x06+N-1)
Destination MAC
Address List
IF using MULTI-PHASE mode:
N = M*B
I
bytes, which is the concatenated series of M MAC address bytes
for each node being queried (total number of nodes queried is B
I
, i.e.
corresponds to the Broadcast In Phase count of the network)
ELSE:
N = M bytes, which are the M MAC address bytes for the single node being
queried
(0x06+N) - …
Wrapped Partial
Payload
IF using MULTI-PHASE mode:
Wrapped command message, with Start-of-Packet & Length word removed
ELSE:
Wrapped command message, with Start-of-Packet & Length word &
Packet Type byte of that command removed
30