Software User Manual - Argos 3D-P320
Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016
Page 10 | 70
The following types are used:
Uint8
: 8 bit unsigned integer
Uint16
: 16 bit unsigned integer
Uint32
: 32 bit unsigned integer
Note
Values with ‘0x’ as prefix are hexadecimal values.
3.1.1
Register read
Command frame
Addr
Field
Type
Value
Description
0x00
Preamble
Uint16
(high byte
first)
0xA1EC
Unique identifier, start of header
0x02
ProtocolVersion
Uint8
0x03
This description refers to protocol
version V3.0
0x03
Command
Uint8
0x03
Command code for read registers
0x04
SubCommand
Uint8
Ignored
0x05
Status
Uint8
Ignored
0x06
Flags
Uint16
Refer to
table
Optional flags
0x08
Length
Uint32 (high
byte first)
<# of bytes
to read>
Number of bytes to read. Must be a
multiple of two. The length divided by
two represents the # of registers to
read.
0x0C
RegisterAddress
Uint16 (high
byte first)
<Register
Address>
Start register address for read
command
0x0E
HeaderData2
Uint8
Ignored
0x0F
HeaderData3
Uint8
Ignored
0x10
Reserved (42 bytes)
Uint8[]
Ignored
0x3A
DataCrc32
Uint32 (high
byte first)
0x0
No data present after header.
0x3E
HeaderCrc16
Uint16 (high
byte first)
<CRC16
checksum>
Checksum over 60 bytes of Header:
0x02 – 0x3D
1)
Table 3-2: Register read command frame
Note 1): For the CRC16 calculation the CRC-CCITT is used (Polynom: 0x1021, start value: 0). Please ask the
Bluetechnix support for an implementation example of the CRC-CCITT.
Response frame
Addr
Field
Type
Value
Description
0x00
Preamble
Uint16 (high
byte first)
0xA1EC
Unique identifier, start of header
0x02
ProtocolVersion
Uint8
0x03
This document refers to protocol
version V3.0
0x03
Command
Uint8
0x03
Command code for read registers