Robot-logo

Robot XF(A5) V2.0.5 GCU Private Protocol

Robot XF(A5) V2.0.5 GCU-Private-Protocol-product

Specifications

  • Document Version: V2.0.5
  • Protocol Version: V0.1

Product Information
The GCU (Generic Control Unit) operates on a private protocol and offers various features and improvements as per the revision history:

Features:

  • UART baudrate changes into self-adaptive
  • Add TCP Server mode in Network communication
  • Add protocol version into data package
  • Enhancements in data frames for both host computer and GCU
  • Command & Feedback improvements
  • Example data package renewal

Product Usage Instructions

Main Data Frame from Host Computer

  • Add desired Euler angle and desired relative angle into roll/pitch/yaw control value (byte 5~10)
  • Add control quantities effectiveness (bit B2) into statue (byte 11)

Main Data Frame from GCU

  • Add FPV mode and Euler angle control mode into pod statue (byte 5)
  • Delete exposure mode (bit B11) from camera statue (byte 6~7)

Sub Data Frame from Host Computer

  • Delete distance from Home (byte 57~60)
  • Add relative height (byte 57~60)

Revision History

Date Document Version Protocol Version
2023.06.19 V2.0
Date Document Version Protocol Version
2023.08.09

1.     UART baudrate cha

V2.0.1

nges into self-adaptive. Ad

V0.0

d TCP Server mode in

  1. UART baudrate changes into self-adaptive. Add TCP Server mode in Network communication. [P1]
  2. Add protocol version into data package. Correct the mistake of header in package from GCU. [P2]
  3. Main data frame from host computer:
    1. Add desired Euler angle and desired relative angle into roll/pitch/yaw control value (byte 5~10); [P3]
    2. Add control quantites effectiveness (bit B2) into statue (byte 11). [P3]
    3. Sub data frame from host computer:
    4. Delete distance from Home (byte 57~60); [P4]
    5. Add relative height (byte 57~60) . [P4]
  4. Main data frame from GCU:
    1. Add FPV mode and Euler angle control mode into pod statue (byte 5); [P5]
    2. Delete exposure mode (bit B11) from camera statue (byte 6~7). [P5]
  5. Sub data frame from GCU:
    1. Delete content of byte 59~61; [P6]
    2. Add current zoom rate of camera 1 (byte 59~60) and camera 2 (byte 61~62). [P6]
  6. Command & Feedback:
    1. Add description of null command; [P7]
    2. Add command of FPV mode, Euler angle control mode, external tracking mode and OSD; [P7~P9]
    3. Detail description of gaze mode; [P8]
    4. Modify parameters of shutter, record, focus, palette and Night vision command. [P8~P9]
  7. Renew example data package. [P11~P16]
Date Document Version Protocol Version
2023.10.12 V2.0.2 V0.1
  1. Add explanation on byte order of the protocol. [P2]
  2. Main data frame from host computer:
    1. Add coordinate system definition into description of absolute roll, pitch and yaw angle of carrier (byte 12~17). [P3]
  3. Main data frame from GCU:
    1. Add lighting statue (bit B10) into camera statue (bit B10). [P5]
    2. Correct the mistake of coordinate axis direction (“upward as positive”→”downward as positive”) of vertical target-missing (byte 10~11). [P5]
    3. Add value range into description of X-ward/ Y-ward target-missing (byte 8~11). [P5]
    4. Add coordinate system definition and rotate order into description of X-axis/ Y-axis/ Z-axis absolute angular velocity of camera (byte 24~29). [P5]
  4. Command & Feedback:
    1. Modify explanations on control values in descriptions of FPV mode, head lock mode and head follow mode. [P7]
    2. Correct the mistake of false feedback (“0x015 0x01″→”0x15 0x01”) of gaze mode (geo-coordinates guide). [P8]
    3. Add coordinates of target frame’s top-left corner and lower-right corner into description of track mode. [P8]
    4. Add coordinates of screen’s top-left corner and lower-right corner in description of click to aim command. [P8]
    5. Add target-missing of screen’s center, top-left corner and lower-right corner in description of external track mode. [P9]
  5. Add appendix 1: example of transformation of data frame from host computer. [P12]
  6. Add appendix 2: definition of carrier’s coordinate system. [P13]
  7. Add appendix 3: definition of camera’s coordinate system and rotate order. [P14]
  8. Add appendix5: GPS time & UTC conversion function.[P21]
Date Document Version Protocol Version
2024.06.20 V2.0.5 V0.1
  1. Main Data Frame from Host Computer:
    1. Add explaination about control value effectivity (bit B2) in description of statue (byte 11) . [P3]
  2. Main Data Frame from GCU:
    1. Rename FPV to angle control 1 and add angle control 2 in pod operating mode (byte 5). [P5]
    2. Rename camera statue(byte 6~7) to pod statue. [P5]
  3. Sub Data Frame from GCU:
    1. Add error code (byte 41~42). [P6]
    2. Add thermal camera statue (byte 63). [P6]
    3. Add camera statue (byte 64~65). [P7]
    4. Add time zone (byte 66). [P7]
  4. Command & Feedback:
    1. Add commands of OSD coordinate, image auto reverse and time zone setting. [P8]
    2. Modify descriptions of angle control 1 (original FPV), head follow and Euler angle control. [P8]
    3. Add command of angle control 2. [P10]
    4. Modify the parameter range of palatte ([0,100]->[0,10]). [P11]
    5. Add commands of area temperature measurement, temperature alert, isotherm and spot temperature measurement. [P11~P12]
    6. Add function of switching to specified mode in pic-in-pic. [P12]
    7. Add commands of target detection and zoom camera digital zoom. [P13]
  5. Add Appendix 2: Example of Transformation of Data Frame from GCU. [P16~P18]
  6. Renew Appendix 5: Example Data Package. [P20~P28]
  7. Add Appendix 7: Pod Code. [P30]

Port Configuration

UART Configuration

  • UART level: TTL
  • Data bits: 8
  • Stop bits: 1
  • Parity: None
  • Communication mode: Full duplex
  • Baudrate: 115200, 250000, 500000 and 1000000.
  • Communication frequency: The recommended communication frequency range is 30~50Hz. The higher the frequency is, the better the effect of controlling is. There should not be too low frequency or data stop. There should not be BUS idle in one data package.

Network Configuration

  • UDP mode: The source port is 2337 and the default destination is the LAN broadcast address. The target port is 2338.
  • TCP Server mode: The opposite end should be set to TCP Clint mode.

The remote IP address should be the same as GCU, and the remote port should be 2332.

Summary

  • The communication uses Q&A mode. The host computer transmits data package firstly. After receiving the correct package, the GCU returns its package. A complete data package is made up of protocol header, package length, main data frame, sub data frame, command/feedback and CRC data.
  • The length of the package is S bytes. The length of command / feedback part is variable.
  • The command / feedback part includes order and parameter. Different order maps different parameter. Details as per chapter Data Frame in this document.
  • The GCU will execute only once while continuously receiving commands with same order (even if the parameters are different). To trigger one same function, the data packages should be separated by a package with null command (Except External track command).

The structure of the data package is shown as below.

Section Byte(s) Description Data Type Details
From Host Computer
Header 0 Main Data U16
1 Sub Data U8
Length and Version 2–3 Length & Version Info
Frame Data 4 Frame
Frame Data 5–36 Main Data 32 bytes
Frame Data 37–68 Sub Data 32 bytes
From GCU
Header 0 0x8A
1 0x5E
Length and Version 2–3 Length & Version Info
Frame Data 4 Frame
Frame Data 5–36 Main Data 32 bytes
Frame Data 37–68 Sub Data 32 bytes
Command Data 69–S-3 Command (Variable Length)
Feedback Data 69–S-3 Feedback (Variable Length)
CRC High Byte S-2 CRC High Byte U16
CRC Low Byte S-1 CRC Low Byte U16
  • The data checked by CRC is Byte 0~S-3.
  • This protocol uses little-endian byte order (except CRC).

Data Frame

Main Data Frame from Host Computer

Byte(s) Content Description Data Type Details
5–6 Other modes, Zoom rate (deg/s) When the control value is desired Euler angle. Resolution: 0.01 deg; Range: 8000 to 18000
7–8 Pitch control value When the control value is desired relative angle between pod and carrier. S16 Resolution: 0.01 deg; Range: [-18000, 18000]
9–10 Yaw control value Control value for yaw angle. S16 Resolution: 0.01 deg; Range: [-18000, 18000]
B7–B3 Reserved Reserved bits. These bits are 0
B2 Control value validity 0 – Control value invalid; 1 – Control value valid. U8
B1 Reserved This bit is 0
B0 Carrier’s INS validity 0 – Carrier’s INS invalid; 1 – Carrier’s INS valid. U8
11 Status Indicates if control value is valid. U8 0 – Invalid, 1 – Valid
12–13 Absolute roll angle of carrier Absolute roll angle of carrier in Euler angle. S16 Resolution: 0.01 deg; Range: [-9000, 9000]
14–15 Absolute pitch angle of carrier Absolute pitch angle of carrier in Euler angle. S16 Resolution: 0.01 deg; Range: [-9000, 9000]
16–17 Absolute yaw angle of carrier Absolute yaw angle of carrier in Euler angle. U16 Resolution: 0.01 deg; Range: [0, 36000]
18–19 Northward acceleration of carrier Northward acceleration of the carrier. S16 Resolution: 0.01 m/s²; Northwards is positive
20–21 Eastward acceleration of carrier Eastward acceleration of the carrier. S16 Resolution: 0.01 m/s²; Eastwards is positive
22–23 Upward acceleration of carrier Upward acceleration of the carrier. S16 Resolution: 0.01 m/s²; Upwards is positive
24–25 Northward velocity of carrier Northward velocity of the carrier. S16 Resolution: 0.1 m/s; Northwards is positive
26–27 Eastward velocity of carrier Eastward velocity of the carrier. S16 Resolution: 0.1 m/s; Eastwards is positive
28–29 Upward velocity of carrier Upward velocity of the carrier. S16 Resolution: 0.1 m/s; Upwards is positive
30 Request code of sub-frame Code for requested sub-frame from GCU. U8
31–36 Reserved Reserved bytes.
37 Header of requested sub-data frame from GCU GCU sub-frame request header (Ox00). U8

Byte 12~29 are very important. Incorrect data will cause error of pod altitude calculation

Sub Data Frame from Host Computer

Byte(s) Content Description Data Type Resolution
37 0x01 Header U8
38–41 Longitude of carrier Longitude of the carrier S32 Resolution: 1e-7 deg
42–45 Latitude of carrier Latitude of the carrier S32 Resolution: 1e-7 deg
46–49 Altitude of carrier Altitude of the carrier S32 Resolution: 1 mm
50 Available satellites Number of available satellites U8
51–54 GNSS microsecond GNSS microsecond U32
55–56 GNSS week GNSS week S16
57–60 Relative height Relative height S32 Resolution: 1 mm
61–68 Reserved Reserved bytes Ox00

Byte 37~68 are all 0x00 if there is no sub frame data.

Main Data Frame from GCU

Byte(s) Content Description Data Type Resolution
5 Pod operating mode Mode of operation for the pod U8 Possible values: 0x10 to 0x1C (listed below)
6–7 Pod statue Status of the pod U16 B15–B13: Reserved. B12: Power-on status. B10: Lighting. B9: Night vision. B8: Ranging. B7: Coordinate validity. B0: Tracking status.
8–9 Horizontal target-missing Horizontal target position relative to center of screen S16 Range: [-1000, 1000]; Rightward positive
10–11 Vertical target-missing Vertical target position relative to center of screen S16 Range: [-1000, 1000]; Downward positive
12–13 X-axis relative angle of camera Relative X-axis angle of the camera S16 Range: [-18000, 18000]; Resolution: 0.01 deg
14–15 Y-axis relative angle of camera Relative Y-axis angle of the camera S16 Range: [-9000, 9000]; Resolution: 0.01 deg
16–17 Z-axis relative angle of camera Relative Z-axis angle of the camera S16 Range: [-18000, 18000]; Resolution: 0.01 deg
18–19 Absolute roll angle of camera Absolute roll angle of the camera (Euler angle) S16 Range: [-9000, 9000]; Resolution: 0.01 deg
20–21 Absolute pitch angle of camera Absolute pitch angle of the camera (Euler angle) S16 Range: [-18000, 18000]; Resolution: 0.01 deg
22–23 Absolute yaw angle of camera Absolute yaw angle of the camera (Euler angle) U16 Range: [0, 36000]; Resolution: 0.01 deg
24–25 X-axis absolute angular velocity of camera X-axis angular velocity of the camera S16 Resolution: 0.01 deg/s
26–27 Y-axis absolute angular velocity of camera Y-axis angular velocity of the camera S16 Resolution: 0.01 deg/s
28–29 Z-axis absolute angular velocity of camera Z-axis angular velocity of the camera S16 Resolution: 0.01 deg/s
30–36 Reserved Reserved bytes

Pod Operating Mode Possible Values:

  • 0x10 – Angle control 1
  • 0x11 – Head lock
  • 0x12 – Head follow
  • 0x13 – Orthoview
  • 0x14 – Euler angle control mode
  • 0x16 – Gaze
  • 0x17 – Track
  • 0x1C – Angle control 2

Sub Data Frame from GCU

Byte(s) Content Description Data Type Resolution
37 0x01 Header U8
38 Hardware version Version of hardware U8
39 Firmware version Version of firmware U8
40 Pod code Code for the pod U8 Details as per Appendix 7
41–42 Error code anomaly Error codes for any anomalies S32
43–46 Distance from target Measurement of distance from the target S32 Resolution: 0.1 m (Invalid if -1m or 0m)
47–50 Longitude of target Longitude of the target S32 Resolution: 1e-7 deg
51–54 Latitude of target Latitude of the target S32 Resolution: 1e-7 deg
55–58 Altitude of target Altitude of the target S32 Resolution: 1 mm
59–60 Current zoom rate of camera Current zoom rate of the camera (visible-light camera) U16 Resolution: 0.1x
61–62 Current zoom rate of camera Current zoom rate of the camera (thermal camera) U16 Resolution: 0.1x
63 Thermal camera statue Status of thermal camera U8 B7: Temperature measurement, B6: Area temperature, etc.

Thermal Camera Status (Byte 63)

  • B7: 0 – Temperature measurement unavailable; 1 – Temperature measurement available
  • B6: 0 – Area temperature measurement off; 1 – Area temperature measurement on
  • B5: 0 – Temperature alert off; 1 – Temperature alert on
  • B4: 0 – Isotherm off; 1 – Isotherm on
  • B3: 0 – Spot temperature measurement off; 1 – Spot temperature measurement on
  • B2: Reserved
  • B1: High temperature alert
  • B0: Low-temperature alert
Byte(s) Content Description Data Type Resolution
64–65 Camera statue Status of the camera U16 B15: Target detection on/off; B14: Digital zoom on/off, etc.
66 Time zone Time zone setting U8
67–68 Reserved Reserved for future use

Camera Statue (Byte 64-65)

  • B15: 0 – Target detection off; 1 – Target detection on
  • B14: 0 – Digital zoom off; 1 – Digital zoom on
  • B13: 0 – OSD (On-Screen Display) off; 1 – OSD on
  • B12: 0 – OSD displays carrier’s coordinate; 1 – OSD displays target’s coordinate
  • B11: 0 – Image auto reverse on; 1 – Image auto reverse off
  • B10–B5: Reserved
  • B4: 0 – Not recording; 1 – Recording
  • B3: Reserved
  • B2–B0: uint_t – Pic-in-pic mode

Byte 37~68 are all 0x00 while an illegal sub frame header is requested.

Command & Feedback

Function Code Description Success Fail
Null 0x00 Separates commands with the same order 0x01 0x00 0x01 0x01
Calibration 0x01 Pod should remain static while calibrating, lasting a few seconds. 0x01 0x00 0x01 0x01
Order Parm 0x00
Feedback 0x03 Feedback during operation 0x03 0x00 0x03 0x01
OSD 0x06 OSD displays coordinate system: 0x00 for Carrier’s, 0x01 for Target’s 0x06 0x00 0x06 0x01
Coordinate 0x07 0x07 0x00 0x07 0x01
Image auto reverse 0x08 Controls the image auto reverse. 0x00 for on, 0x01 for off 0x08 0x00 0x08 0x01
Time zone 0x10 Controls time zone setting 0x10 0x00 0x10 0x01
Angle control 1 0x10 Controls the angle of the pod (specific control values needed). 0x10 0x00 0x10 0x01
Head lock 0x11 Returns pod to neutral position without switching operation mode (lock mode). 0x11 0x00 0x11 0x01
Head follow 0x12 Returns pod to neutral yaw position while following target or heading. 0x12 0x00 0x12 0x01
Orthoview mode 0x13 Returns neutral yaw position without switching operation mode. N/A N/A
Track mode 0x14 Pod returns neutral position and exits tracking while tracking the target. N/A N/A
FPV Mode 0x15 No response from the pod in FPV mode. N/A N/A
Euler angle control 0x16 Pod locks Euler angles and does not respond to control. N/A N/A
Gaze Mode 0x17 Pod does not respond to control in Gaze mode. N/A N/A

Descriptions of Specific Modes:

  • Head Lock & Head Follow Mode: The pod maintains its neutral position (yaw or pitch) without changing modes.
  • Orthoview Mode: Only yaw angle is returned, and the pod doesn’t switch modes.
  • Track Mode: Neutral positions for both pitch and yaw are returned while exiting tracking mode.
  • FPV Mode, Euler Angle Control, and Gaze Mode: The pod does not respond in these modes, as specified.
Function Code Description Success Fail
Orthoview 0x13 Desired Euler angles are provided, and the pod locks its current Euler angles when the control values are invalid. 0x13 0x00 0x13 0x01
Euler Angle Control 0x14 Desired Euler angles for controlling pitch and yaw. 0x14 0x00 0x14 0x01
Gaze (Geo-coordinates Guide) 0x15 The pod is directed to a specific point of interest using its geographical coordinates (longitude, latitude, altitude) provided in the control values. 0x15 0x00 0x15 0x01
Gaze (Geo-coordinates Lock) 0x16 The pod locks its position based on geographical coordinates (longitude, latitude, altitude) and maintains a fixed gaze. Requires valid carrier’s INS data. 0x16 0x00 0x16 0x01
Track 0x17 Track mode is activated by providing tracking coordinates and setting the control values for tracking a target. 0x17 0x00 0x17 NN

Descriptions of Specific Functions:

  1. Orthoview: Locks the pod’s current Euler angles when control values are invalid.
  2. Euler Angle Control: Control the pod’s Euler angles (pitch, yaw) to desired positions.
  3. Gaze (Geo-coordinates Guide): Direct the pod towards a specific geographical point using its coordinates (longitude, latitude, altitude). Control values (PP, QQ, RR) are provided for accurate positioning.
  4. Gaze (Geo-coordinates Lock): Locks the pod’s gaze on a geographical point and tracks its current position. Requires valid INS (Inertial Navigation System) data from the carrier.
  5. Track: Starts or exits tracking a target by specifying coordinates (XO, YO, X1, Y1). The coordinates define the horizontal and vertical areas in the target frame, with the top-left corner as the origin.

Notes:

  • For Track, “OX” and “YO” values are coordinates that represent the top-left and bottom-right corners of the target’s frame on the screen. These are defined in U16 values, where 0 is the origin, and positive values move rightwards (X-axis) and downwards (Y-axis).
  • Gaze (Geo-coordinates): The pod needs valid carrier INS data to function properly in these modes.

The KK/NN(U8) is ordinal of operation triggered/failed cameras. B7~BO correspond camera 8~1. A certain bit being 1 means its corresponding camera being tagged. For example, 0x03 (00000011) means camera 1 and camera 2. Camera 1 is visible-light zoom camera by default and camera 2 is thermal camera by default.

Function Code Description Success Fail
Click to Aim 0x1A The pod aims at a target based on provided horizontal (XO) and vertical (YO) coordinates. Coordinates are in U16, where (0,0) is the top-left of the screen and (10000,10000) is the bottom-right. 0x1A 0x00 0x1A NN
External Track 0x1B The pod tracks the target based on horizontal and vertical missdistance values (PP, WW). These values indicate the target’s location relative to the center of the screen. 0x1B 0x00 0x1B NN
Angle Control 2 0x1C The pod adjusts its relative angles to the carrier, following the carrier while the control values are invalid. 0x1C 0x00 0x1C 0x01
Shutter (Record Start) 0x20 Starts recording. 0x20 0x00 0x20 0x01
Shutter (Stop Recording) 0x21 Stops recording. 0x21 0x00 0x21 0x01
Zoom In Continuously 0x22 Continuously zoom in. 0x22 0x00 0x22 NN
Zoom Out Continuously 0x23 Continuously zoom out. 0x23 0x00 0x23 NN
Zoom Stop 0x24 Stops the zoom function. 0x24 0x00 0x24 NN

Descriptions of Specific Functions:

  1. Click to Aim (0x1A): The pod aims at a specific target based on coordinates. These coordinates are provided as U16 values, where (0,0) is the top-left and (10000,10000) is the bottom-right corner of the screen.
  2. External Track (0x1B): The pod tracks the target based on the missdistance values (PP and WW), which indicate how far the target is from the center of the screen. The tracking mode starts with the command “Start tracking” (0x02) and can exit with “Exit tracking” (0x00).
  3. Angle Control 2 (0x1C): The pod adjusts its relative angles to the carrier, allowing it to follow the carrier’s movement while the control values are invalid.
  4. Shutter (Record Start – 0x20): Starts recording the video feed.
  5. Shutter (Stop Recording – 0x21): Stops recording the video feed.
  6. Zoom In Continuously (0x22): The pod zooms in continuously.
  7. Zoom Out Continuously (0x23): The pod zooms out continuously.
  8. Zoom Stop (0x24): Stops the zoom function, ceasing any zoom in or out operations.

Notes:

  • External Track (0x1B): The PP and WW values represent the target’s horizontal and vertical missdistance. The origin is at the screen’s center, and the values indicate relative positioning.
  • Zoom Functions (0x22, 0x23, 0x24): These allow for continuous zooming in or out and stopping the zoom operation.

The KK/NN(U8) is ordinal of operation triggered/failed cameras. B7~B0 correspond camera 8~1. A certain bit being 1 means its corresponding camera being tagged. For example, 0x03 (00000011) means camera 1 and camera 2 is visible-light zoom camera by default and camera 2 is thermal camera by default.

Function Order Parm Description Success Fail
Zoom to Specified Rate 0x25 Zoom at a specified rate, with values ranging from -32768 (maximum zoom) to 10000 (minimum zoom). Negative values represent zoom rates (e.g., -10 for 1x, -150 for 15x, -300 for 30x). 0x25 0x00 0x25 NN
Focus 0x26 Focus control functionality. 0x26 0x00 0x26 0x01
Palette Mode 0x2A Adjust the desired palette mode, where 0x00 corresponds to the next palette option, 0x01 for a specific mode, etc. 0x2A 0x00 0x2A 0x02
Night Vision 0x2B Control night vision mode. 0x00 for off, 0x01 for on, and 0x02 for auto. 0x2B 0x00 0x2B 0x01
Area Temperature Measurement 0x30 Control area temperature measurement. 0x00 for off, 0x01 for on. 0x30 0x00 0x30 NN
Temperature Alert 0x31 Set temperature alert thresholds. Includes high (HH) and low (LL) alert temperatures with a resolution of 0.1°C. 0x31 0x00 0x31 NN
Isotherm 0x32 Enable or disable isotherm mode. 0x00 for off, 0x01 for out-of-interval, and 0x02 for interval mode. High/low temperature thresholds (HH, LL) are set with a resolution of 0.1°C. 0x32 0x00 0x32 NN
Spot Temperature Measurement 0x33 Control spot temperature measurement. 0x00 for off, 0x01 for on. Coordinates (XO, YO) define the measurement point. 0x33 0x00 0x33 NN
OSD (On-Screen Display) 0x73 Control the on-screen display. 0x00 to display, 0x01 to hide. 0x73 0x00 0x73 0x01
Pic-in-Pic 0x74 Control picture-in-picture (PIP) mode. Values between 0x00 and 0x04 correspond to the available PIP modes. 0x74 0x00 0x74 0x01

Descriptions of Specific Functions:

  1. Zoom to Specified Rate (0x25): Controls the zoom level, with the rate provided in a specific format where negative values represent zoom rates (e.g., -10 for 1x zoom, -150 for 15x zoom, etc.), and positive values define the zoom rate range.
  2. Focus (0x26): Adjusts the focus of the system.
  3. Palette Mode (0x2A): Changes the palette mode used by the system. The mode is selected by numeric options like 0x00 for the next palette option and 0x01 for the current mode.
  4. Night Vision (0x2B): Controls the night vision feature, enabling it in different modes (off, on, or auto).
  5. Area Temperature Measurement (0x30): Allows for temperature measurement across a specified area, controlled by coordinates (XO, YO, etc.).
  6. Temperature Alert (0x31): Sets the high and low temperature thresholds for alerts.
  7. Isotherm (0x32): Enables isotherm mode, which monitors areas within a specified temperature range, with interval modes and thresholds.
  8. Spot Temperature Measurement (0x33): Enables spot temperature measurement at a specific point on the screen.
  9. OSD (0x73): Controls the on-screen display visibility (show/hide).
  10. Pic-in-Pic (0x74): Controls the picture-in-picture functionality, offering various modes of display.

The KK/NN(U8) is ordinal of operation triggered/failed cameras. B7~B0 Camera 1 is visible-light zoom camera by default and camera 2 is thermal camera by default.

Here is a table summarizing the new functions and their details:

Function Order Parm Description Success Fail
Target Detection 0x75 Enable or disable target detection. 0x00 for off, 0x01 for on. 0x75 0x00 0x75 0x01
Zoom Camera 0x76 Control digital zoom. 0x00 for off, 0x01 for on. 0x76 0x00 0x76 0x01
Lighting Intensity 0x80 Adjust the lighting intensity. Values from 0 to 255, with 0 being no lighting and 255 being maximum intensity. 0x80 0x00 0x80 0x01
Ranging 0x81 Enable or disable ranging. 0x00 for off, 0x02 for on. 0x81 0x00 0x81 0x01

Descriptions of Specific Functions:

  • Target Detection (0x75): Controls whether target detection is active or inactive. This feature is used to detect specific objects or areas, depending on the system’s capabilities.
    • 0x00 – Target detection is off.
    • 0x01 – Target detection is on.
  • Zoom Camera (0x76): Activates or deactivates digital zoom for camera functionality.
    • 0x00 – Digital zoom is off.
    • 0x01 – Digital zoom is on.
  • Lighting Intensity (0x80): Adjusts the intensity of the lighting. The intensity is set with an 8-bit value, ranging from 0 (no light) to 255 (maximum intensity).
    • Values: 0 – No lighting; 255 – Maximum lighting.
  • Ranging (0x81): Activates or deactivates ranging functionality. Ranging can be used to measure distances or map areas.
    • 0x00 – Ranging is off.
    • 0x02 – Ranging is on.

Turing on light will turn on night vision at the same time. Turning off light will not turn off night vision.

CRC Function

uint16_t CalculateCrc16(uint8_t *ptr,uint8_t len) { uint16_t crc; uint8_t da; uint16_t crc_ta[16]={ 0x0000,0x1021,0x2042,0x3063,0x4084,0x50a5,0x60c6,0x70e7, 0x8108,0x9129,0xa14a,0xb16b,0xc18c,0xd1ad,0xe1ce,0xf1ef, }; crc=0; while(len–!=0)
{ da=crc>>12; crc<<=4; crc^=crc_ta[da^(*ptr>>4)]; da=crc>>12; crc<<=4; crc^=crc_ta[da^(*ptr&0x0F)]; ptr++; } return(crc);

Appendix 1 Example of Transformation of Data Frame from Host Computer

Byte 0 1 2-3 4 5-6 7-8 9-10 11 12-13 14-15 16-17 18-19 20-21 22-23 24-25 26-27 28-29 30 31-36 37 38-41 42-45 46-49 Content
Original Data OXA8 Header 0xE5 Package Length 72 Protocol Version 0x01 Roll Control Value 100 Pitch Control Value -100 Yaw Control Value 0x05 Control Value Valid Statue Carrier’s INS Valid Absolute Roll Angle -11.3213° Absolute Pitch Angle 1.01° Absolute Yaw Angle 240° Acceleration of Carrier 1.123m/s²
Byte Content Original Data Accuracy or Binary Conversion (Little-endian) Hexadecimal (Little-endian) Hexadecimal (Big-endian)
50 Available Satellites 19 19 13 19
51-54 GNSS Microsecond 352718000 352718000 00 06 15 B0 00 06 15 B0
55-56 GNSS Week 2278 2278 E6 08 E6 08
57-60 Relative Height 12.12m 12120 58 2F 00 00 58 2F 00 00
61-68 Reserved 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
69 Null Command 0x00 00 00 00
70-71 CRC N/A N/A E9 D4 E9 D4

The complete data package from the host computer: A8 E5 48 00 01 00 00 64 00 9C FF 05 94 FB 65 00 C0 5D 70 00 90 FF 70 00 40 80 C0 F7 40 80 01 00 00 00 00 00 00 01 24 F2 DF 65 16 EE AA 16 A3 A0 00 00 13 B0 0C 06 15 E6 08 58 2F 00 00 00 00 00 00 00 00 00 00 00 E9 D4

Appendix 2 Example of Transformation of Data Frame from GCU
The complete data package from GCU:
8A 5E 49 00 02 12 01 80 0C FE F4 01 DD FC 20 00 4A 18 FF FF A5 03 47 18 FF FF 01 00 FE FF 00 00 00 00 00 00 00 01 1F 32 29 00 00 06 17 00 00 24 F2 DF 65 16 EE AA 16 A3 A0 00 00 2B 01 14 00 00 00 00 08 00 00 20 00 EC 85

Byte Content Original Data (Hexadecimal) Parsed Data
1 Header A8 A8
2~3 Package Length 5E 49 73
4 Protocol Version 00 0.2
5 Pod Operation mode 02 Head follow
6~7 Pod Statue 01 80 0000 0001 1000 0000
8-9 Horizontal target-missing OC FE Ranging on.
10~11 Vertical target-missing F4 01 Range and target coordinate valid
12~13 X-axis relative angle of camera DD FC -500
14~15 Y-axis relative angle of camera 20 00 500
16~17 Z-axis relative angle of camera 4A 18 -8.03°
18~19 Absolute roll angle of camera FF FF 0.32°
20~21 Absolute pitch angle of camera A5 03 62.18°
22~23 Absolute yaw angle of camera 47 18 -0.01°
24~25 X-axis absolute angular velocity of camera FF FF 19.33°
26~27 Y-axis absolute angular velocity of camera 01 00 62.15°
28~29 Z-axis absolute angular velocity of camera FE FF -0.1 deg/s
30~36 Reserved 00 00 00 00 00 00 0.1 deg/s
37 Sub header 00 -0.2 deg/s
38 Hardware version 00 5.0
39 Firmware version 00 D-90AI
40 Pod code 00 589.4m
41~42 Error code 00 00 170.917533212
43~46 Distance from target 01 2B 01 38.030082231
47~50 Longitude of target 00 00 00 00 41.1231m
51~55 Latitude of target 00 00 00 00 29.9x
55~58 Altitude of target 06 17 00 00
59~60 Current zoom rate of camera 24 F2 DF 65
61~62 Reserved 16 EE AA 16
Byte Content Original Data (Hexadecimal) Parsed Data
61~62 Current zoom rate of camera 2 14 00 2x
63 Thermal camera statue 00 UTC+8
64~65 Camera statue 00 00 Shutter success
66 Time zone 08
67~68 Reserved 00 00
69~70 Feedback 20 00
71~72 CRC EC 85

Appendix 3 Definition of Carrier’s Coordinate System

Robot XF(A5) V2.0.5 GCU-Private-Protocol-fig- (1)

Appendix 4 Definition of Camera’s Coordinate System and Rotate Order

  1. Coordinate system definitionRobot XF(A5) V2.0.5 GCU-Private-Protocol-fig- (2)The control port of the pod should point to negative X-ward of the carrier. The damping platform should be parallel to the XOY plane of the carrier. The pod should be mount as close as possible to the C.G. of the carrier.
  2. Rotate order: Z → Y → X.
  3. Angles transformation:
    • Define:
      • CamPhi: Absolute roll angle of camera (Main data frame from GCU, byte 18~19)
      • CamThe: Absolute pitch angle of camera (Main data frame from GCU, byte 20~21)
      • CamPsi: Absolute yaw angle of camera (Main data frame from GCU, byte 22~23)
      • AngleX: X-axis absolute angle of camera
      • AngleY: Y-axis absolute angle of camera
      • AngleZ: Z-axis absolute angle of camera
    • The parameters above are transformed as below
      • AngleZ += 90;
      • WARP (AngleZ , 360);
      • CamPhi = +AngleY;
      • CamThe = -AngleX;
      • CamPsi = +AngleZ;

Appendix 5 Example Data Package

  • Null command
    A8 E5 48 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FD 13
  • Pitch control (keep current control mode, control value 100)
    A8 E5 48 00 02 00 00 64 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E7 9F
  • Pitch control (keep current control mode, control value -100)
    A8 E5 48 00 02 00 00 9C FF 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0F 0E
  • Yaw control (keep current control mode, control value 1000)
    A8 E5 48 00 02 00 00 00 00 E8 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DC 69
  • Neutral
    A8 E5 48 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 CD 70
  • OSD displays carrier’s coordinate
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 E7 0D
  • OSD displays target’s coordinate
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 01 F7 2C
  • Image auto reverse on
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 00 D4 3C
  • Image auto reverse off
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07 01 C4 1D
  • Time zone setting (UTC-2)
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 FE CA D3
  • Angle control 1 (control values invalid)
    A8 E5 48 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 01 86
  • Angle control 1 (Euler angle: roll 0° , pitch 45° , yaw 60° )
    A8 E5 48 00 02 00 00 94 11 70 17 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 4A 53
  • Angle control 1 (Euler angle: roll 20° , pitch 0° , yaw 0° )
    A8 E5 48 00 02 D0 07 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 05 F7
  • Head lock (control values invalid)
    A8 E5 48 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  • Head lock (relative angular velocity +10° /s)
    A8 E5 48 00 02 00 00 00 00 E8 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 DE 79
  • Head follow (control values invalid)
    A8 E5 48 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 CF 60
  • Orthoview (control values invalid)
    A8 E5 48 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 13 DF 41
  • Euler angle control (control values invalid)
    A8 E5 48 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 41 02
  • Euler angle control (Euler angle: roll 0° , pitch -45° , yaw 0° )
    A8 E5 48 00 02 00 00 6C EE 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 A5 6A
  • Start tracking (X0=100, Y0=100, X1=105, Y1=105)
    A8 E5 52 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 01 01 64 00 64 00 69 00 69 00 20 55
  • Exit tracking
    A8 E5 52 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 01 00 64 00 64 00 69 00 69 00 CB 76
  • Click to aim (X=100, Y=100)
    A8 E5 4D 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 01 64 00 64 00 48 AF
  • Click to aim (X=5000, Y=5000)
    A8 E5 4D 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 01 88 13 88 13 EE C9
  • Click to aim (X=10000, Y=10000)
    A8 E5 4D 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 01 10 27 10 27 53 65
  • Click to aim (X=10000, Y=5000)
    A8 E5 4D 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 01 10 27 88 13 B4 F0
  • External track (X=100, Y=20)
    A8 E5 4E 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1B 01 9C FF 14 00 02 53 0A
  • Angle control 2 (control values invalid)
    A8 E5 48 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1C 2E AE
  • Shutter
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 01 5B 6C
  • Start/stop recording
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 21 01 68 5D
  • Camera 1 continuously zooms in
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 22 01 3D 0E
  • Camera 1 continuously zooms out
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 23 01 0E 3F
  • Camera 1 stop zooming
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 01 97 A8
  • Camera 1 zooms to specified rate (5000, corresponds to half of max rate)
    A8 E5 4B 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 01 88 13 73 0C
  • All cameras zoom to specified rate (1.0x)
    A8 E5 4B 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 FF F6 FF F6 21
  • All cameras zoom to specified rate (5.5x)
    A8 E5 4B 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 FF C9 FF E3 8A
  • Camera 1 zooms to specified rate (60.3x)
    A8 E5 4B 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 01 A5 FD 75 DC
  • Focus
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 26 01 F1 CA
  • Next palette option
    A8 E5 4A 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2A 02 00 8B E6
  • Palette mode 3
    A8 E5 4A 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2A 02 03 BB 85
  • Night vision on
    A8 E5 4A 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2B 01 01 F9 A4
  • Night vision off
    A8 E5 4A 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2B 01 00 E9 85
  • Area temperature measurement on (X0=4000, Y0=4000, X1=6000, Y1=6000)
    A8 E5 52 00 02 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 02 01 A0 0F A0 0F 70 17 70 17 BE 6D
  • Area temperature measurement off
    A8 E5 52 00 02 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 02 00 00 00 00 00 00 00 00 00 33 96
  • Temperature alert on (high alert temperature 30.2 ° C, low alert temperature 20.0° C)
    A8 E5 4E 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 02 01 2E 01 C8 00 E8 93
  • Temperature alert off
    A8 E5 4E 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 02 00 2E 01 C8 00 42 C2
  • Isotherm on (interval mode, 15.0° C~25.2° C)
    A8 E5 4E 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 32 02 01 FC 00 96 00 6F FA
  • Isotherm off
    A8 E5 4E 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 32 02 00 FC 00 96 00 C5 AB
  • Spot temperature measurement on (X=4000, Y=5000)
    A8 E5 4E 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 02 01 A0 0F 88 13 C3 8D
  • Spot temperature measurement off
    A8 E5 4E 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 02 00 00 00 88 13 AF 9B
  • OSD on
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 73 01 B8 60
  • OSD off
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 73 00 A8 41
  • Next pic-in-pic option
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 74 00 89 36
  • Pic-in-pic mode 3
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 74 03 B9 55
  • Target detection on
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 75 01 AA 26
  • Target detection off
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 75 00 BA 07
  • Zoom camera digital zoom on
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 76 01 FF 75
  • Zoom camera digital zoom off
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 76
  • 00 EF 54
  • Lighting on (255)
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 FF 48 C3
  • Lighting off
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 56 33
  • Continuously ranging on
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 81 02 45 40
  • Continuously ranging off
    A8 E5 49 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 81 00 65 02

Appendix 6 GPS time & UTC conversion function (without leap second processing)
static const uint16_t gpst0[] = {1980, 1, 6, 0, 0, 0}; uint64_t epoch2time(const uint16_t *ep) { const uint16_t _day[] = {1, 32, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335}; uint64_t seconds = 0; uint16_t days, year = ep[0], mon = ep[1], day = ep[2]; if (year < 1970 || 2099 < year || mon < 1 || 12 < mon) return seconds; /* leap year if year%4==0 in 1901-2099 */ days=(year-1970)*365+(year-1969)/4+_day[mon-1]+day-2+(year%4==0 && mon>=3?1:0); seconds = floor(ep[5]);seconds = (uint64_t)days * 86400 + ep[3] * 3600 + ep[4] * 60 + seconds; return seconds; } uint64_t gpst2time(int16_t week, uint32_t sec){ uint64_t t = epoch2time(gpst0); if (sec < -1E9 || 1E9 < sec) sec = 0.0; t += 86400 * 7 * week + sec; return t; } uint8_t time2gps(uint64_t time, int16_t *week, uint32_t *msec){ uint64_t t = epoch2time(gpst0); t = time – t; * week = t / 604800; // 604800=7*86400 * msec = (t % 604800) * 1000; return 1; }

Appendix 7 Pod Code

Code Model
0 Z-6A
2 Z-6C
3 M-2400G2
21 Z-8TA
22 Z-8TB
24 Z-8RA
25 Z-8RB
26 Z-8RC
27 Z-8LA
30 Z-9A
31 Z-9B
40 D-80AI
41 D-90AI
44 D-80Pro
45 D-90Pro
49 Z-1PRO
50 Z-1MINI
51 Z-2PRO
52 Z-2MINI
53 D-125AI
54 D-150AI
55 D-90DE
56 D-115AI

NANJING XIANFEI ROBOT TECHNOLOGY CO., LTD.

FAQ

Q: What is the purpose of the private protocol used by the GCU?
A: The private protocol ensures secure and efficient communication between the GCU and connected devices.

Q: How can I update the protocol version of the GCU?
A: To update the protocol version, refer to the product manual for specific instructions provided by the manufacturer.

Documents / Resources

Robot XF(A5) V2.0.5 GCU Private Protocol [pdf] User Guide
XF A5 V2.0.5, XF A5 V2.0.1, XF A5 V2.0.2, XF A5 V2.0.5 GCU Private Protocol, XF A5 V2.0.5, GCU Private Protocol, Private Protocol, Protocol

References

Leave a comment

Your email address will not be published. Required fields are marked *