diff --git a/Livox-SDK-Communication-Protocol.md b/Livox-SDK-Communication-Protocol.md index d0e0819..f433d59 100644 --- a/Livox-SDK-Communication-Protocol.md +++ b/Livox-SDK-Communication-Protocol.md @@ -3,6 +3,7 @@ | **Document Release History** | | | | ---------------------------- | ----------- | ------------------------------------------------------------ | | **Date** | **Release** | **Change Description** | +| 2020/06/10 | v1.2.0 | 1. add write/read configuration parameters commands | | 2019/10/22 | v1.1.1 | 1. Update status code, add time synchronization status (Horizon: v06.05.00.00+, Mid-40/Mid-100: v03.07.00.00+)
2. Change IMU data push frequency | | 2019/9/25 | v1.1.0 | 1. Add Tele-15 / Horizon LiDAR's support | | 2019/7/08 | v1.0.6 | 1. Fix crc32 bits error
2. Add system status code description | @@ -102,6 +103,8 @@ There are three kinds of CMD sets: | | 0x08 | Configure Static/Dynamic IP | | | 0x09 | Get Device IP Information | | | 0x0A | Reboot device | +| | 0x0B | write configuration parameters | +| | 0x0C | read configuration parameters | | 0x01 LiDAR Command Set | 0x00 | Set Mode | | | 0x01 | Write LiDAR Extrinsic Parameters | | | 0x02 | Read LiDAR Extrinsic Parameters | @@ -398,8 +401,33 @@ Hub Status Code consists of 32 bits, which has the following meanings: | Bit7:29 | RSVD | | | Bit30:31 | system_status | 0: Normal
1: Warning
Any of the following situations will trigger warning:
1.1 `temp_status` is 1;
2: Error
Any of the following situations will trigger error:
2.1 `temp_status` is 2;
2.2 `LiDAR_status` is 1;
2.3 `firmware_status` is 1; | -# 4 Control Command Detail -## 4.1 General CMD Set +# 4 Configuration Parameters +## 4.1 Description + +The configuration parameter table is designed to configure the Livox device more easily. It is stored in the non-volatile area of the device. So configuration parameters will not lose after reboot. + +Each configuration has an independent key. The following are all available configuration parameters: + +| Key | Name | Supported Device | Description | +|------|------|------------------|-----------------------| +| 0x00 | Reserved | -- | Invalid key | +| 0x01 | High Sensitivity Function | Tele-15/07.09.0000+ | High Sensitivity Function enable/disable | + +* See [Write Configuration Parameters](#write-configuration-parameters) for writing configuration parameters; +* See [Read Configuration Parameters](#read-configuration-parameters) for reading configuration parameters; + +## 4.2 Value Details + +### 0x01 High Sensitivity Mode + +**Value Length:** 1 +**Supported Device:**
Tele-15/07.09.0000+
+| name | Offset (byte) | Data Type | Description | Default Value | +|---------|---------------|-----------|-----------------------|-----------------------| +| enable | 0 | uint8_t | 0: High Sensitivity Function Disable
1: High Sensitivity Function Enable | 1 | + +# 5 Control Command Detail +## 5.1 General CMD Set ### 0x00 Broadcast Message message @@ -612,8 +640,81 @@ response | | cmd_id | 1 | uint8_t | Command ID: 0x0A | | | ret_code | 2 | uint8_t | Return Code:
0x00: Success
0x01: Fail | +### 0x0B Write Configuration Parameters +**Supported devices/firmware version:**
Livox Hub/08.09.0000+
Horizon/06.11.0000+
Tele-15/07.09.0000+
-## 4.2 LiDAR CMD Set +request + +| CMD | Name | Offset (byte) | Data Type | Description | +|------|---------|---------------|-----------|-----------------------| +| data | cmd_set | 0 | uint8_t | General Command: 0x00 | +| | cmd_id | 1 | uint8_t | Command ID: 0x0B | +| | param_list | 2 | -- | Configuration Parameters in the form of Key-Value pairs. See the following part | + +In 'param_list', each of the configuration parameter has the following format: + +#### Configuration Parameter List Format +| Field | Offset (byte) | Data Type | Description | +|--------|---------------|-----------|-------------| +| key | 0 | uint16_t | Key| +| length | 2 | uint16_t | Length of value | +| value | 4 | -- | The type varies with different keys. For details, see [Value Details](#value-details) | + +response + +| ACK | Name | Offset (byte) | Data Type | Description | +|------|----------|---------------|------------|---------------------| +| data | cmd_set | 0 | uint8_t | General Command: 0x00 | +| | cmd_id | 1 | uint8_t | Command ID: 0x0B | +| | ret_code | 2 | uint8_t | Return Code:
0x00: Success
0x01: Fail, an error occurred while writing a parameter | +| | error_key | 3 | uint16_t | The Key of the first error Configuration Parameter| +| | error_code | 5 | uint8_t | See the following part | + +The meaning of the 'error_code': + +#### Configuration Parameter Error Code + +| Error Code | Description | +| ---------- | --------- - | +| 0 | No Error | +| 1 | The key is not supported| +| 2 | Execution failed| +| 3 | The key cannot be written | +| 4 | Wrong value | +| 5 | Wrong value length | +| 6 | Reading parameter length limit | +| 7 | The number of parameters does not match | + +### 0x0C Read Configuration Parameters +**Supported devices/firmware version:**
Livox Hub/08.09.0000+
Horizon/06.11.0000+
Tele-15/07.09.0000+
+ +request + +| CMD | Name | Offset (byte) | Data Type | Description | +|------|---------|---------------|-----------|-----------------------| +| data | cmd_set | 0 | uint8_t | General Command: 0x00 | +| | cmd_id | 1 | uint8_t | Command ID: 0x0C | +| | param_num | 2 | uint8_t | The number of parameters | +| | key_list | 3 | -- | Keys List to read | + +In 'key_list', each of the key has the following format: + +| Field | Offset (byte) | Data Type | Description | +|--------|---------------|-----------|-------------| +| key | 0 | uint16_t | Key| + +response + +| ACK | Name | Offset (byte) | Data Type | Description | +|------|----------|---------------|------------|---------------------| +| data | cmd_set | 0 | uint8_t | General Command: 0x00 | +| | cmd_id | 1 | uint8_t | Command ID: 0x0C | +| | ret_code | 2 | uint8_t | Return Code:
0x00: Success
0x01: Fail, an error occurred while writing a parameter | +| | error_key | 3 | uint16_t | The Key of the first error Configuration Parameter| +| | error_code | 5 | uint8_t | For details, see [Configuration Parameter Error Code](#configuration-parameter-error-code) | +| | param_list | 6 | -- | Configuration Parameters in the form of Key-Value pairs, see [Configuration Parameter List Format](#configuration-parameter-list-format)| + +## 5.2 LiDAR CMD Set ### 0x00 Set Mode @@ -832,7 +933,7 @@ response | | cmd_id | 1 | uint8_t | Command ID: 0x0A | | | ret_code | 2 | uint8_t | Return Code:
0x00: Success
0x01: Fail | -## 4.3 Hub CMD SET +## 5.3 Hub CMD SET ### 0x00 Query Connected LiDAR Device request diff --git a/images/gps_485.png b/images/gps_485.png new file mode 100644 index 0000000..71adf1d Binary files /dev/null and b/images/gps_485.png differ diff --git a/images/gps_485_1.png b/images/gps_485_1.png new file mode 100644 index 0000000..7469c8f Binary files /dev/null and b/images/gps_485_1.png differ diff --git a/images/gps_ttl.png b/images/gps_ttl.png new file mode 100644 index 0000000..b658543 Binary files /dev/null and b/images/gps_ttl.png differ diff --git a/images/gps_ttl_1.png b/images/gps_ttl_1.png new file mode 100644 index 0000000..feea85e Binary files /dev/null and b/images/gps_ttl_1.png differ