Blue Technix Argos 3D-P320 User manual

Argos 3D-P320
Software User Manual
Version 14

© Bluetechnix 2016
Bluetechnix
Waidhausenstraße 3/19
A-1140 Vienna
AUSTRIA
www.bluetechnix.com
Argos 3D-P320 –Software User Manual
Document No.: 900-308 / A
Publication date: February 2, 2016
Subject to change without notice. Errors excepted.
This document is protected by copyright. All rights reserved. No part of this document may be reproduced or
transmitted for any purpose in any form or by any means, electronically or mechanically, without expressly
written permission by Bluetechnix.
Windows is a registered trademark of Microsoft.

© Bluetechnix 2016
Table of Contents
1General Information.......................................................................................................................... 7
1.1 Symbols Used ........................................................................................................................... 7
2Overview........................................................................................................................................... 8
3Interfacing......................................................................................................................................... 9
3.1 Control Interface ....................................................................................................................... 9
3.1.1 Register read.................................................................................................................... 10
3.1.2 Result codes .................................................................................................................... 11
3.1.3 Register write ................................................................................................................... 11
3.1.4 Reset ................................................................................................................................ 13
3.1.5 Flash Update.................................................................................................................... 14
3.1.6 Read data from Flash ...................................................................................................... 16
3.1.7 Alive.................................................................................................................................. 17
3.2 Data Interface.......................................................................................................................... 19
3.2.1 UDP Streaming Header ................................................................................................... 20
3.2.2 Frame Header .................................................................................................................. 20
3.3 Color Sensor RTP Stream....................................................................................................... 22
3.3.1 Web Server ...................................................................................................................... 23
3.4 Manual frame triggers ............................................................................................................. 23
3.5 External Illumination Interface................................................................................................. 23
3.6 GPIOs ...................................................................................................................................... 23
3.7 Status Indicator LED ............................................................................................................... 23
3.8 PoE power control .................................................................................................................. 24
3.9 Secure Shell (SSH) Login ........................................................................................................ 24
3.9.1 Change default password................................................................................................ 24
3.10 Debug UART........................................................................................................................ 25
4Camera Features............................................................................................................................ 26
4.1 Basic Settings ......................................................................................................................... 26
4.2 ToF Image Processing Chain .................................................................................................. 26
4.3 ToF Image Filters .................................................................................................................... 27
4.3.1 Median Filter .................................................................................................................... 28
4.3.2 Bilateral filter .................................................................................................................... 28
4.3.3 Average filter .................................................................................................................... 28
4.3.4 Sliding Average Filter ....................................................................................................... 28
4.3.5 Frame Average Filter........................................................................................................ 28
4.4 ToF Image Enhancements ...................................................................................................... 29

© Bluetechnix 2016
4.4.1 Pixel invalidation .............................................................................................................. 29
4.4.2 Temperature compensation............................................................................................. 29
4.4.3 Combine sequences (HDR) ............................................................................................. 30
4.5 Camera Coordinate System.................................................................................................... 30
4.6 Camera Data Format............................................................................................................... 30
4.6.1 Distances and Amplitudes ............................................................................................... 31
4.6.2 Distances, Amplitudes and Color .................................................................................... 32
4.6.3 Distances and Color ........................................................................................................ 33
4.6.4 XYZ Point Cloud .............................................................................................................. 34
4.6.5 XYZ Point Cloud and Amplitudes .................................................................................... 35
4.6.6 Distances and XYZ Point Cloud ...................................................................................... 36
4.6.7 X Coordinate and Amplitudes.......................................................................................... 37
4.6.8 Distances ......................................................................................................................... 37
4.6.9 4 phases without image processing ................................................................................ 37
4.6.10 Test mode ........................................................................................................................ 37
4.6.11 Raw Distances and Amplitudes....................................................................................... 37
4.6.12 Distance, Amplitudes, and Confidences ......................................................................... 37
4.6.13 Distances, Amplitudes, Confidences, and Color............................................................. 38
4.6.14 Color ................................................................................................................................ 39
4.7 ToF Modulation Frequency ..................................................................................................... 39
4.8 Frame Rate and Integration Time ........................................................................................... 39
4.9 Sequencing ............................................................................................................................. 40
4.10 Illumination Pre-Heating ...................................................................................................... 40
4.11 Distance Offset Calibration ................................................................................................. 40
4.12 ToF Automatic Exposure Control (AEC).............................................................................. 41
4.13 Manual Frame Trigger ......................................................................................................... 42
4.13.1 Hardware Trigger ............................................................................................................. 42
4.13.2 Software Trigger .............................................................................................................. 42
4.13.3 ToF Snapshot Function ................................................................................................... 42
4.14 Over Temperature Protection.............................................................................................. 43
4.15 Color Sensor........................................................................................................................ 43
4.15.1 UDP Color Sensor Stream............................................................................................... 44
4.15.2 RTP Time Stamp.............................................................................................................. 44
4.15.3 Color Sensor Control ....................................................................................................... 44
4.16 Save Registers..................................................................................................................... 45
4.17 Ethernet/IP Settings ............................................................................................................ 45

© Bluetechnix 2016
4.17.1 MAC Address................................................................................................................... 45
4.17.2 IP/TCP/UDP Settings....................................................................................................... 45
4.18 Reset to Factory Default...................................................................................................... 45
4.19 Firmware Update ................................................................................................................. 45
4.19.1 Firmware Recovery .......................................................................................................... 46
4.20 Logging................................................................................................................................ 46
4.21 Error Indication .................................................................................................................... 46
5Register Description....................................................................................................................... 47
5.1 General registers ..................................................................................................................... 47
5.2 Registers for GPIO Control ..................................................................................................... 50
5.3 Registers for Color Image ....................................................................................................... 51
5.4 More General Registers .......................................................................................................... 52
5.5 Registers for Sequencing........................................................................................................ 53
5.6 Registers for Illumination Preheating ...................................................................................... 53
5.7 Registers for Automatic Exposure Control ............................................................................. 54
5.8 Registers for Test Commands ................................................................................................ 55
5.9 Registers for Device Update ................................................................................................... 55
5.10 Registers for Filter Configuration ........................................................................................ 55
5.11 Registers for Advanced Image Processing ......................................................................... 56
5.12 Registers for Ethernet configuration ................................................................................... 56
6Firmware History ............................................................................................................................ 59
6.1 Version Information ................................................................................................................. 59
6.2 Anomalies................................................................................................................................ 62
7Software ......................................................................................................................................... 63
7.1 BltTofApi.................................................................................................................................. 63
7.2 MATLAB SDK.......................................................................................................................... 63
7.3 BltTofSuite............................................................................................................................... 63
8Support........................................................................................................................................... 64
8.1 General Support...................................................................................................................... 64
8.2 Software Downloads............................................................................................................... 64
8.3 Related Products .................................................................................................................... 64
8.4 Camera Development Package .............................................................................................. 64
9Document Revision History............................................................................................................ 65
AIndex............................................................................................................................................... 67
BList of Figures and Tables .............................................................................................................. 69

© Bluetechnix 2016
© Bluetechnix 2016
All Rights Reserved.
The information herein is given to describe certain components and shall not be considered as a guarantee
of characteristics.
Terms of delivery and rights of technical change reserved.
We hereby disclaim any warranties, including but not limited to warranties of non-infringement, regarding
circuits, descriptions and charts stated herein.
Bluetechnix makes and you receive no warranties or conditions, express, implied, statutory or in any
communication with you. Bluetechnix specifically disclaims any implied warranty of merchantability or fitness
for a particular purpose.
Bluetechnix takes no liability for any damages and errors causing of the usage of this board. The user of this
board is responsible by himself for the functionality of his application. He is allowed to use the board only if he
has the qualification. More information is found in the General Terms and Conditions (AGB).
Information
For further information on technology, delivery terms and conditions and prices please contact Bluetechnix
(http://www.bluetechnix.com).
Warning
Due to technical requirements components may contain dangerous substances.

Software User Manual - Argos 3D-P320 Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016 Page 7 | 70
1General Information
This guide applies to the Argos 3D-P320 camera platform from Bluetechnix. Follow this guide chapter by
chapter to set up and understand your product. If a section of this document only applies to certain camera
parts, this is indicated at the beginning of the respective section.
1.1 Symbols Used
This guide makes use of a few symbols and conventions:
Warning
Indicates a situation which, if not avoided, could result in minor or moderate injury and/or
property damage or damage to the device.
Caution
Indicates a situation which, if not avoided, may result in minor damage to the device, in
malfunction of the device or in data loss.
Note
Notes provide information on special issues related to the device or provide information that
will make operation of the device easier.
Procedures
A procedure always starts with a headline
1. The number indicates the step number of a certain procedure you are expected to
follow. Steps are numbered sequentially.
This sign indicates an expected result of your action.
References
This symbol indicates a cross reference to a different chapter of this manual or to an
external document.

Software User Manual - Argos 3D-P320 Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016 Page 8 | 70
2Overview
The document describes the necessary steps and settings to work with the Argos 3D-P320 and describes
the firmware dependent interfaces.
This document applies to firmware version 0.12.0.
For a hardware compatibility list please refer to our support site.
Software and documentation
https://support.bluetechnix.at/index.html

Software User Manual - Argos 3D-P320 Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016 Page 9 | 70
3Interfacing
The Argos 3D-P320 provides control and data interfaces via Gigabit-Ethernet.
The control interface is used to set and read the configuration of the Argos via a set of registers. Refer to
chapter 6 for a detailed register description.
The data interface provides a continuous stream of ToF (and color) data depending on the configuration.
Note
Bluetechnix provides an abstraction of control and data interfaces by means of the BltTofApi.
If you use this API, you need not be familiar with control and data interface in detail. Refer to
chapter 7.1 for the BltTofApi.
3.1 Control Interface
The Argos 3D-P320 can be configured using a TCP/IP connection. For the control interface the Argos is
listening to the following factory default IP settings:
IP-Address: 192.168.0.10
Subnet mask: 255.255.255.0
Network protocol: TCP
TCP port: 10001
Note
The Ethernet IP settings can be configured using the Eth0_ registers. The changes become
active on writing register Eth0Gateway1.
Once a TCP connection has been established the Argos can be configured using a dedicated set of
command frames. The Argos answers to each command frame with a dedicated response frame. The
following table shows the currently supported command frames:
Command frame
Description
Register Read
Used to read one or more consecutive registers
Register Write
Used to write one or more consecutive registers
Reset
Used to reset/reboot the Argos 3D-P320
Flash Update
Used to either update the firmware or the boot loader
Alive
Used to keep the TCP control connection alive. If no command is sent for 10
seconds, the Argos closes the control interface connection and waits for a new
incoming connection request.
Up to 5 concurrent control connections are supported.
Table 3-1: Supported command frames
The following section describes each command frame and the expected answer in detail. To be able to
communicate with the Argos 3D-P320 the frame must be composed exactly as described.

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

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

Software User Manual - Argos 3D-P320 Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016 Page 12 | 70
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 version V3.0
0x03
Command
Uint8
0x04
Command code for write 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 write>
The number of bytes to write. Must be a
multiple of two and match length of <Data> in
bytes. The length divided by two represents the
# of registers to write.
0x0C
RegisterAddress
Uint16 (high
byte first)
<Register
Address>
Start register address for write command
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 for
each register
value)
<data to
write>
One or more 16 bit values in a stream that
should be written
Table 3-6: Register write 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.
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.
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 version
V3.0
0x03
Command
Uint8
0x04
Command code for write
registers
0x04
SubCommand
Uint8
Ignored
0x05
Status
Uint8
Refer to table
Result code
0x06
Flags
Uint16
Refer to table
Optional flags
0x08
Length
Uint32 (high
byte first)
0
No <Data> present
0x0C
RegisterAddress
Uint8 (high
byte first)
<Register
Address>
Same as in sent command
0x0E
HeaderData2
Uint8
Ignored
0x0F
HeaderData3
Uint8
Ignored
0x10
Reserved (42 bytes)
Uint8[]
Ignored

Software User Manual - Argos 3D-P320 Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016 Page 13 | 70
Addr
Field
Type
Value
Description
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-7: Register write 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.
Flags
Flags
Description
Bit 0
1: Ignore DataCrc32
Table 3-8: Register write flag description
Result codes
Please refer to Table 3-5.
3.1.4 Reset
Command 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 version V3.0
0x03
Command
Uint8
0x07
Command code for reset
0x04
SubCommand
Uint8
Ignored
0x05
Status
Uint8
Ignored
0x06
Flags
Uint16
Refer to table
Optional flags
0x08
Length
Uint32 (high
byte first)
0x0
No <Data> present
0x0C
HeaderData0
Uint8
Ignored
0x0D
HeaderData1
Uint8
Ignored
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-9: Reset 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

Software User Manual - Argos 3D-P320 Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016 Page 14 | 70
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 version V3.0
0x03
Command
Uint8
0x07
Command code for reset
0x04
SubCommand
Uint8
Ignored
0x05
Status
Uint8
Refer to table
Result code
0x06
Flags
Uint16
Refer to table
Optional flags
0x08
Length
Uint32 (high
byte first)
0x0
No <Data> present
0x0C
HeaderData0
Uint8
Ignored
0x0C
HeaderData1
Uint8
Ignored
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-10: Reset 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.
Flags
Flags
Description
Currently no flags defined for this command
Table 3-11: Reset flag description
Result codes
Please refer to Table 3-5.
3.1.5 Flash Update
Command 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
0x0B or 0x0C
0x0B: Flash boot loader
0x0C: Flash Application
0x15: Flash lens calibration data for XYZ
calculation
0x16: Flash wiggling correction data
0x29: Flash intrinsic ToF sensor calibration
file
0x2A: Flash intrinsic color sensor calibration
file

Software User Manual - Argos 3D-P320 Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016 Page 15 | 70
Addr
Field
Type
Value
Description
0x2B: Flash extrinsic calibration file
0x04
SubCommand
Uint8
Refer to table
Indicates which flash to write to
0x05
Status
Uint8
Ignored
0x06
Flags
Uint16
Refer to table
Optional flags 3)
0x08
Length
Uint32 (high
byte first)
<# of bytes to
write>
The size of the binary file to flash
0x0C
FlashAddress
Uint32 (high
byte first)
<Flash
Address>
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
Uint8[]
<binary loader
file>
The file to flash as a binary byte stream
Table 3-12: Flash update 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.
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.
Note 3): The DataCrc32 is mandatory, the appropriate flag must be set to 0.
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
0x0B or 0x0C
0x0B: Flash boot loader
0x0C: Flash Application
0x04
SubCommand
Uint8
Refer to table
Indicates which flash to write to
0x05
Status
Uint8
Refer to table
Result code
0x06
Flags
Uint16
Refer to table
Optional flags
0x08
Length
Uint32 (high
byte first)
0x0
No <Data> present
0x0C
HeaderData0
Uint8
Ignored
0x0D
HeaderData1
Uint8
Ignored
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-13: Flash update response frame

Software User Manual - Argos 3D-P320 Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016 Page 16 | 70
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.
Subcommand
SubCommand
Description
Ignored
For boot loader and application update
Table 3-14: Flash update subcommand description
Flags
Flags
Description
Bit 0
1: Ignore DataCrc32
Table 3-15: Flash update flag description
Result codes
Please refer to Table 3-5.
3.1.6 Read data from Flash
Command 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
0x8D: Read intrinsic ToF sensor calibration
file
0x8E: Read intrinsic color sensor calibration
file
0x8F: Read extrinsic calibration file
0x04
SubCommand
Uint8
Ignored
0x05
Status
Uint8
Ignored
0x06
Flags
Uint16
Refer to table
Optional flags 3)
0x08
Length
Uint32 (high
byte first)
<# of bytes to
write>
The size of the binary file to flash
0x0C
FlashAddress
Uint32 (high
byte first)
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
Uint8[]
<binary loader
file>
The file to read as a binary byte stream
Table 3-16: Flash update 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.

Software User Manual - Argos 3D-P320 Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016 Page 17 | 70
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.
Note 3): The DataCrc32 is mandatory, the appropriate flag must be set to 0.
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
Same as in send command
0x04
SubCommand
Uint8
Same as in send command
0x05
Status
Uint8
Refer to table
Result code
0x06
Flags
Uint16
Refer to table
Optional flags
0x08
Length
Uint32 (high
byte first)
0x0
No <Data> present
0x0C
HeaderData0
Uint8
Ignored
0x0D
HeaderData1
Uint8
Ignored
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-17: Flash update 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.
Subcommand
SubCommand
Description
Ignored
Table 3-18: Flash update subcommand description
Flags
Flags
Description
Bit 0
1: Ignore DataCrc32
Table 3-19: Flash update flag description
Result codes
Please refer to Table 3-5.
3.1.7 Alive
Command frame

Software User Manual - Argos 3D-P320 Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016 Page 18 | 70
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
0xFE
Command code for ‘Alive message
0x04
SubCommand
Uint8
Ignored
0x05
Status
Uint8
Ignored
0x06
Flags
Uint16
Refer to table
Optional flags
0x08
Length
Uint32
0x0
No <Data> present
0x0C
HeaderData0
Uint8
Ignored
0x0D
HeaderData1
Uint8
Ignored
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-20: Alive 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
0xFE
Command code for ‘Alive message’
0x04
SubCommand
Uint8
Indicates which flash to write to
0x05
Status
Uint8
Refer to table
Result code
0x06
Flags
Uint16
Refer to table
Optional flags
0x08
Length
Uint32 (high
byte first)
0x0
No <Data> present
0x0C
HeaderData0
Uint8
Ignored
0x0D
HeaderData1
Uint8
Ignored
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-21: Alive 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.
Flags

Software User Manual - Argos 3D-P320 Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016 Page 19 | 70
Flags
Description
Currently no flags defined for this command
Table 3-22: Alive flag description
Result codes:
Please refer to Table 3-5.
3.2 Data Interface
A UDP stream delivers ToF and/or color data from the Argos. Each UDP packet contains a UDP streaming
header and up to 1400 bytes of frame data (Ethernet, IP, and UDP headers are not shown in Figure 3-1).
UDP
Packet
Header
UDP Packet
DataSection
UDP Packet 0 UDP
Packet
Header
UDP Packet
DataSection
UDP
Packet
Header
UDP Packet
DataSection
UDP Packet 1 UDP Packet n
= 1400 Bytes = 1400 Bytes ≤1400 Bytes
Figure 3-1: UDP streaming data format
The following types are used in the data streaming protocol:
Uint8: 8 bit unsigned integer
Uint16: 16 bit unsigned integer
Uint32: 32 bit unsigned integer
Note
Values with ‘0x’ as prefix are hexadecimal values.
The UDP streaming is enabled by factory default. The Argos streams to the following IP settings:
IP-Address: Multicast address 224.0.0.1
UDP port: 10002
Note
The UDP stream settings can be configured using the Eth0_ registers.
As multicast is used more than one can receive the stream within the same subnet at the same time. The
client has to join the appropriate multi cast group and open the port 10002 on his local network interface
card (NIC) where the Argos is connected to. The receiver should receive the stream and interpret it as the
following protocol description shows.

Software User Manual - Argos 3D-P320 Last change: 2 February 2016
Version 0.14
© Bluetechnix 2016 Page 20 | 70
Note
Be aware that a multicast stream may slow down your Ethernet network as the stream must
be spread to all active links of switches/hubs and routers.
3.2.1 UDP Streaming Header
The current protocol version is 1.
Each frame transmitted on the UDP stream is split into packets of max. 1432 bytes length (except the last
which may be smaller). Each packet consists of a 32 byte UDP Streaming Header and up to 1400 bytes of
frame data (refer to Figure 3-1).
Addr
Field
Type
Value
Description
0x00
Version
Uint16
(high byte
first)
0x0001
Protocol version
0x02
FrameCounter
Uint16 (high
byte first)
Continuous frame counter. On an overrun it
restarts at 0.
0x04
PacketCounter
Uint16 (high
byte first)
Actual packet #. The frame data must be
recomposed in order of the packet #.
0x06
DataLength
Uint16 (high
byte first)
Length of the image data section of the current
packet.
0x08
FrameSize
Uint32 (high
byte first)
Size of the image data. It may be used to
calculate the expected # of packets for a
frame.
0x0C
PacketCRC32
Uint16 (high
byte first)
CRC32 checksum over the entire packet (pos 0
to pos n) 1)
0x10
Flags
Uint32
Refer to
Table 3-24
Optional flags
0x14
Reserved
Reserved for future use
0x20
ImageData
Image data section
Table 3-23: UDP packet header
Note 1): 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-24: UDP packet header flag description
3.2.2 Frame Header
The current header version is 3.
The frame data itself is split into a 64 byte frame header and the frame data section. The format of the frame
data depends on the selected image format and is described in chapter 4.3. Below you can find the format of
the 64 byte frame header.
Other manuals for Argos 3D-P320
1
Table of contents
Other Blue Technix Measuring Instrument manuals
Popular Measuring Instrument manuals by other brands

Galvanic Applied Sciences
Galvanic Applied Sciences AccuChrome MA2963 Operation manual

TESTO
TESTO 510 instruction manual

PCB Piezotronics
PCB Piezotronics P357C10 Installation and operating manual

Rohde & Schwarz
Rohde & Schwarz ZNB user manual

Autometers Systems
Autometers Systems A-45 Series quick start guide

Draper
Draper Expert 39591 instructions