Specifications

©2009DigiInternational,Inc. 83
8.APIOperation
API (Application Programming Interface) Operations are available for communicating with an
external processor through its UART port. API operation requires that communication with the
module be done through a structured interface (data is communicated in frames in a defined
order). The API specifies how commands, command responses and module status messages are
sent and received from the module using a UART Data Frame.
Please note that Digi may add new API frames to future versions of firmware, so please build into
your software interface the ability to filter out additional API frames with unknown Frame Types.
API Frame Specifications
Two API modes are supported and both can be enabled using the AP (API Enable) command. Use
the following AP parameter values to configure the module to operate in a particular mode:
•AP = 1: API Operation
•AP = 2: API Operation (with escaped characters)
API Operation (AP parameter = 1)
When this API mode is enabled (AP = 1), the UART data frame structure is defined as follows:
UARTDataFrameStructure:
MSB=MostSignificantByte,LSB=LeastSignificantByte
Any data received prior to the start delimiter is silently discarded. If the frame is not received
correctly or if the checksum fails, the module will reply with a module status frame indicating the
nature of the failure.
API Operation - with Escape Characters (AP parameter = 2)
When this API mode is enabled (AP = 2), the UART data frame structure is defined as follows:
UARTDataFrameStructure‐withescapecontrolcharacters:
MSB=MostSignificantByte,LSB=LeastSignificantByte
Escape characters. When sending or receiving a UART data frame, specific data values must be
escaped (flagged) so they do not interfere with the data frame sequencing. To escape an
interfering data byte, insert 0x7D and follow it with the byte to be escaped XOR’d with 0x20.
Length
(Bytes 2-3)
Checksum
(Byte n + 1)
MSB LSB 1 Byte
Start Delimiter
(Byte 1)
0x7E
Frame Data
(Bytes 4-n)
API-specific Structure
Start Delimiter
(Byte 1)
Length
(Bytes 2-3)
Frame Data
(Bytes 4-n)
Checksum
(Byte n + 1)
0x7E MSB LSB API-specific Structure 1 Byte
Characters Escaped If Needed