Software User Manual - Argos 3D-P320
Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016
Page 11 | 70
Addr
Field
Type
Value
Description
0x04
SubCommand
Uint8
Ignore
0x05
Status
Uint8
Refer to table
Result code
0x06
Flags
Uint16
Refer to table
Optional flags
0x08
Length
Uint32 (high
byte first)
<# of bytes
read>
The number of bytes read (length of
<Data> in bytes). The length divided
by two represents the # of registers
read.
0x0C
RegisterAddress
Uint16 (high
byte first)
<Register
Address>
Start register address of read data
0x0E
HeaderData2
Uint8
Ignored
0x0F
HeaderData3
Uint8
Ignored
0x10
Reserved (42 bytes)
Uint8[]
Ignored
0x3A
DataCrc32
Uint32 (high
byte first)
<CRC32
checksum>
Checksum over <Data>
2)
0x3E
HeaderCrc16
Uint16 (high
byte first)
<CRC16
checksum>
Checksum over 60 bytes of Header:
0x02 – 0x3D
1)
0x40
Data
Uint16[] (high
byte first)
<result data>
Result: One or more 16 bit values
Table 3-3: Register read response 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.
Note 2): For the CRC32 calculation the CRC-32 is used (Polynom: 0x04C11DB7, start value: 0xFFFFFFFF).
Please ask the Bluetechnix support for an implementation example of the CRC-32.
Flags
Flags
Description
Bit 0
1: Ignore DataCrc32
Table 3-4: Register read flag description
3.1.2
Result codes
Status
Description
0x00
Ok
0x0D
Invalid handle (internal error)
0x0F
Illegal write: The Address is not valid or the register is not write-enabled
0x10
Illegal read: The Address is not valid/The requested file is not available
0x11
Register end reached
0xFA
Length exceeds maximum file size (not enough memory for file download)
0xFB
HeaderCrc16 mismatch
0xFC
DataCrc32 mismatch
0xFD
Length invalid: Cannot be equal 0
0xFE
Length invalid: Cannot be grater 0
0xFF
Unknown command
Table 3-5: Result codes
3.1.3
Register write
Command frame