Technical data

SightLine Applications Command and Control
Coordinate Systems
Image coordinates are referenced as row and column coordinates, with the origin in the upper left
corner of the frame. Increasing column values are to the right, and increasing row values are downward
in the frame. Unless otherwise identified, a video frame is 640 pixels wide and 480 pixels high.
Bit & Byte Order
All bits are “right aligned”.
0xC9
7 6 5 4 3 2 1 0
1 1 0 0 1 0 0 1
C 9
Table 1: Example Bit Order
All multi-byte fields are Least Significant Byte (LSB) followed by MSB unless otherwise noted.
U16 U32
Header Length Type LSB MSB LSB MSB
0x51 0xAC 0x80 0x02 0xF3 0xC6 0x96 0x18
640 412534515
Packet Header
Every packet begins with a pair of signature header bytes (0x51, 0xAC) and a length field. The length
field can be 1 byte or 2 bytes long depending on the length of the packet. If the packet length is greater
than 127 bytes, then the length field occupies 2 bytes. The length field is encoded as follows:
LENGTH Type Type dependent Checksum
0x51 0xAC len type .. .. .. cs
LENGTH >= 128 Type Type dependent Checksum
0x51 0xAC xx yy type .. .. .. cs
xx: Lower 7 bits of the length, the MSB (bit7) must be set to 1
yy: Upper bits of the length.
To obtain the length from xx and yy, here is a code snippet in C language: Length = (yy << 7) | (xx & ~0x80);
For example, 128 bytes is encoded as xx: 0x80, yy: 0x01.
NOTE: two bytes length field could be used for packets whose length is less than 128.
Checksum needs to be calculated for data highlighted in light blue.
The value specified in the length field is the number of bytes that follow up to and including the
checksum. To ensure proper packet framing, if checksum fails, the bytes following the faulty signature
Copyright © 2014-2015 SightLine Applications, Inc. Page 9 of 95 Jan 15, 2015