A

Trimble Standard Interface Protocol

A.14 Packet Structure

TSIP packet structure is the same for both commands and reports. The packet format is:

<DLE> <id> <data string bytes> <DLE> <ETX>

<DLE> is the byte 0x10, <ETX> is the byte 0x03, and <id> is a packet identifier byte, which can have any value except for <ETX> and <DLE>. The bytes in the data string can have any value. To prevent confusion with the frame sequences <DLE> <id> and <DLE> <ETX>, every <DLE> byte in the data string is preceded by an extra <DLE> byte ('stuffing'). These extra <DLE> bytes must be added ('stuffed') before sending a packet, and removed ('unstuffed') after receiving the packet.

!Note – A simple <DLE> <ETX> sequence does not necessarily signify the end of the packet, as these can be bytes in the middle of a data string. The end of a packet is <ETX> preceded by an odd number of <DLE> bytes.

Multiple-byte numbers (integer, float, and double) follow the ANSI/ IEEE Std 754 IEEE Standard for Binary Floating-Point Arithmetic as illustrated below. They are sent most-significant-byte- first. This may involve switching the order of the bytes as they are normally stored in Intel-based machines. Only the fractional part of the mantissa for real numbers, SINGLE and DOUBLE, is reported because the leading bit on the mantissa is always 1. Specifically:

INTEGER is a 16-bit unsigned number sent in two's complement format.

SINGLE (float, or 4 byte REAL) is sent as a series of four bytes; it has a precision of 24 significant bits, approximately 6.5 digits.

DOUBLE (8 byte REAL) is sent as a series of eight bytes (a, b, c, d, e, f, g, h); it has a precision of 52 significant bits, a little better than 15 digits.

Acutime 2000 Synchronization Kit User Guide

A-19

Page 125
Image 125
Trimble Outdoors AcutimeTM2000 Synchronization Kit manual Packet Structure, DLE id data string bytes DLE ETX