/**
* \page cmd_spec Command Engine, Command Format Specification
All command requests and replies are handled internally as command packets.
These packets are transported transparently through the radio interface and
serial interface (in binary-mode). They need to be translated only for
ascii-mode in- and output.
Table: Command Packet Format
Offset: |
0 |
1 |
2 |
3-9 |
10-n |
n+1 |
Binary mode: |
Flags |
Protocol |
Function |
Arguments (optional) |
Checksum |
ASCII mode: |
Flags |
Command String (NUL terminated) |
Argument string (not terminated, optional) |
|
Table: Command Packet Field Description
Field |
Size |
Description |
Flags |
8 |
(see below) |
Protocol |
8 |
Protocol Number |
Function |
8 |
Function Number (0 is reserved) |
Arguments |
0-max |
Data passed as argument to the command procedure |
Command String |
2-9 |
Name of command [0-9a-zA-Z], terminated by NUL-character |
Argument String |
0-n |
Any characters passed as arguments to the command procedure |
Checksum |
1 |
Checksum (XOR) of bytes 1-n |
\note ASCII-mode headers have variable length depending on the length of
the command name. The size of the command packet is given by the lower layer.
Table: Command Packet Request Flags
Flag |
Description |
#CMD_REQFLAG_ASCII |
Request is in ASCII-Mode |
#CMD_REQFLAG_REPLY |
Send Request, if not set, no request is sent |
|
|
|
|
|
|
Table: Command Packet Reply Flags
Flag |
Description |
#CMD_RPLFLAG_ASCII |
Reply is in ASCII-Mode |
#CMD_RPLFLAG_ERROR |
Command execution failed (command not found) or command returned false
with no custom reply. Success if not set. |
|
|
|
|
|
|
*/