Livox SDK API
V1.1.0
livox_def.h
Go to the documentation of this file.
1
//
2
// The MIT License (MIT)
3
//
4
// Copyright (c) 2019 Livox. All rights reserved.
5
//
6
// Permission is hereby granted, free of charge, to any person obtaining a copy
7
// of this software and associated documentation files (the "Software"), to deal
8
// in the Software without restriction, including without limitation the rights
9
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
// copies of the Software, and to permit persons to whom the Software is
11
// furnished to do so, subject to the following conditions:
12
//
13
// The above copyright notice and this permission notice shall be included in
14
// all copies or substantial portions of the Software.
15
//
16
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
// SOFTWARE.
23
//
24
25
#ifndef LIVOX_DEF_H_
26
#define LIVOX_DEF_H_
27
28
#include <stdint.h>
29
30
#define kMaxLidarCount 32
31
33
typedef
enum
{
34
kDeviceTypeHub
= 0,
35
kDeviceTypeLidarMid40
= 1,
36
kDeviceTypeLidarTele
= 2,
37
kDeviceTypeLidarHorizon
= 3
38
}
DeviceType
;
39
41
typedef
enum
{
42
kLidarStateInit
= 0,
43
kLidarStateNormal
= 1,
44
kLidarStatePowerSaving
= 2,
45
kLidarStateStandBy
= 3,
46
kLidarStateError
= 4,
47
kLidarStateUnknown
= 5
48
}
LidarState
;
49
51
typedef
enum
{
52
kLidarModeNormal
= 1,
53
kLidarModePowerSaving
= 2,
54
kLidarModeStandby
= 3
55
}
LidarMode
;
56
58
typedef
enum
{
59
kLidarFeatureNone
= 0,
60
kLidarFeatureRainFog
= 1
61
}
LidarFeature
;
62
64
typedef
enum
{
65
kStatusSuccess
= 0,
66
kStatusFailure
= 1,
67
kStatusNotConnected
= 2,
68
kStatusNotSupported
= 3,
69
kStatusTimeout
= 4,
70
kStatusNotEnoughMemory
= 5
71
}
ResponseStatus
;
72
74
typedef
enum
{
75
kEventConnect
= 0,
76
kEventDisconnect
= 1,
77
kEventStateChange
= 2
78
}
DeviceEvent
;
79
81
typedef
enum
{
82
kTimestampTypeNoSync
= 0,
83
kTimestampTypePtp
= 1,
84
kTimestampTypeRsvd
= 2,
85
kTimestampTypePpsGps
= 3,
86
kTimestampTypePps
= 4,
87
kTimestampTypeUnknown
= 5
88
}
TimestampType
;
89
90
#pragma pack(1)
91
92
#define LIVOX_SDK_MAJOR_VERSION 1
93
#define LIVOX_SDK_MINOR_VERSION 1
94
#define LIVOX_SDK_PATCH_VERSION 0
95
96
#define kBroadcastCodeSize 16
97
99
typedef
struct
{
100
int
major
;
101
int
minor
;
102
int
patch
;
103
}
LivoxSdkVersion
;
104
106
typedef
struct
{
107
int32_t
x
;
108
int32_t
y
;
109
int32_t
z
;
110
uint8_t
reflectivity
;
111
}
LivoxRawPoint
;
112
114
typedef
struct
{
115
float
x
;
116
float
y
;
117
float
z
;
118
uint8_t
reflectivity
;
119
}
LivoxPoint
;
120
122
typedef
struct
{
123
uint8_t
version
;
124
uint8_t
slot
;
125
uint8_t
id
;
126
uint8_t
rsvd
;
127
uint32_t
err_code
;
128
uint8_t
timestamp_type
;
130
uint8_t
data_type
;
131
uint8_t timestamp[8];
132
uint8_t
data
[1];
133
}
LivoxEthPacket
;
134
136
typedef
union
{
137
uint32_t
status_code
;
138
uint32_t
progress
;
139
}
StatusUnion
;
140
142
typedef
struct
{
143
char
broadcast_code[
kBroadcastCodeSize
];
144
uint8_t
handle
;
145
uint8_t
slot
;
146
uint8_t
id
;
147
uint32_t
type
;
148
uint16_t
data_port
;
149
uint16_t
cmd_port
;
150
char
ip[16];
151
LidarState
state
;
152
LidarFeature
feature
;
153
StatusUnion
status
;
154
}
DeviceInfo
;
155
157
typedef
struct
{
158
char
broadcast_code[
kBroadcastCodeSize
];
159
uint8_t
dev_type
;
160
uint16_t
reserved
;
161
}
BroadcastDeviceInfo
;
162
164
typedef
struct
{
165
char
broadcast_code[
kBroadcastCodeSize
];
166
uint8_t
dev_type
;
167
uint8_t version[4];
168
uint8_t
slot
;
169
uint8_t
id
;
170
}
ConnectedLidarInfo
;
171
173
typedef
struct
{
174
char
broadcast_code[
kBroadcastCodeSize
];
175
uint8_t
state
;
176
}
LidarModeRequestItem
;
177
178
typedef
struct
{
179
uint8_t
ret_code
;
180
char
broadcast_code[
kBroadcastCodeSize
];
181
}
ReturnCode
;
182
183
typedef
struct
{
184
char
broadcast_code[
kBroadcastCodeSize
];
185
}
DeviceBroadcastCode
;
186
187
typedef
struct
{
188
char
broadcast_code[
kBroadcastCodeSize
];
189
uint8_t
feature
;
190
}
RainFogSuppressRequestItem
;
191
193
typedef
struct
{
194
char
broadcast_code[
kBroadcastCodeSize
];
195
float
roll
;
196
float
pitch
;
197
float
yaw
;
198
int32_t
x
;
199
int32_t
y
;
200
int32_t
z
;
201
}
ExtrinsicParameterRequestItem
;
202
204
typedef
struct
{
205
uint8_t
ret_code
;
206
char
broadcast_code[
kBroadcastCodeSize
];
207
float
roll
;
208
float
pitch
;
209
float
yaw
;
210
int32_t
x
;
211
int32_t
y
;
212
int32_t
z
;
213
}
ExtrinsicParameterResponseItem
;
214
215
typedef
struct
{
216
char
broadcast_code[
kBroadcastCodeSize
];
217
uint8_t
state
;
218
uint8_t
feature
;
219
StatusUnion
error_union
;
220
}
LidarStateItem
;
221
225
typedef
struct
{
226
uint32_t
ip_addr
;
227
uint16_t
data_port
;
228
uint16_t
cmd_port
;
229
}
HandshakeRequest
;
230
234
typedef
struct
{
235
uint8_t
ret_code
;
236
uint8_t firmware_version[4];
237
}
DeviceInformationResponse
;
238
242
typedef
struct
{
243
uint32_t
error_code
;
244
}
ErrorMessage
;
245
249
typedef
struct
{
250
uint8_t
ip_mode
;
251
uint32_t
ip_addr
;
252
}
SetDeviceIPModeRequest
;
253
257
typedef
struct
{
258
uint8_t
ret_code
;
259
uint8_t
ip_mode
;
260
uint32_t
ip_addr
;
261
}
GetDeviceIPModeResponse
;
262
266
typedef
struct
{
267
uint8_t
ret_code
;
268
uint8_t
state
;
269
uint8_t
feature
;
270
StatusUnion
error_union
;
271
}
HeartbeatResponse
;
272
276
typedef
struct
{
277
float
roll
;
278
float
pitch
;
279
float
yaw
;
280
int32_t
x
;
281
int32_t
y
;
282
int32_t
z
;
283
}
LidarSetExtrinsicParameterRequest
;
284
288
typedef
struct
{
289
uint8_t
ret_code
;
290
float
roll
;
291
float
pitch
;
292
float
yaw
;
293
int32_t
x
;
294
int32_t
y
;
295
int32_t
z
;
296
}
LidarGetExtrinsicParameterResponse
;
297
301
typedef
struct
{
302
uint8_t
ret_code
;
303
uint8_t
count
;
304
ConnectedLidarInfo
device_info_list[1];
305
}
HubQueryLidarInformationResponse
;
306
310
typedef
struct
{
311
uint8_t
count
;
312
LidarModeRequestItem
config_list[1];
313
}
HubSetModeRequest
;
314
318
typedef
struct
{
319
uint8_t
ret_code
;
320
uint8_t
count
;
321
ReturnCode
ret_state_list[1];
322
}
HubSetModeResponse
;
323
327
typedef
struct
{
328
uint8_t
slot
;
329
uint8_t
state
;
330
}
HubControlSlotPowerRequest
;
331
335
typedef
struct
{
336
uint8_t
count
;
337
ExtrinsicParameterRequestItem
parameter_list[1];
338
}
HubSetExtrinsicParameterRequest
;
339
343
typedef
struct
{
344
uint8_t
ret_code
;
345
uint8_t
count
;
346
ReturnCode
ret_code_list[1];
347
}
HubSetExtrinsicParameterResponse
;
348
352
typedef
struct
{
353
uint8_t
count
;
354
DeviceBroadcastCode
code_list[1];
355
}
HubGetExtrinsicParameterRequest
;
356
360
typedef
struct
{
361
uint8_t
ret_code
;
362
uint8_t
count
;
363
ExtrinsicParameterResponseItem
parameter_list[1];
364
}
HubGetExtrinsicParameterResponse
;
365
369
typedef
struct
{
370
uint8_t
ret_code
;
371
uint8_t
count
;
372
LidarStateItem
state_list[1];
373
}
HubQueryLidarStatusResponse
;
374
378
typedef
struct
{
379
uint8_t
count
;
380
RainFogSuppressRequestItem
lidar_cfg_list[1];
381
}
HubRainFogSuppressRequest
;
382
386
typedef
struct
{
387
uint8_t
ret_code
;
388
uint8_t
count
;
389
ReturnCode
ret_state_list[1];
390
}
HubRainFogSuppressResponse
;
391
392
#pragma pack()
393
394
#endif // LIVOX_DEF_H_
DeviceInfo::type
uint32_t type
Definition:
livox_def.h:147
HubRainFogSuppressResponse::count
uint8_t count
Definition:
livox_def.h:388
LivoxPoint::reflectivity
uint8_t reflectivity
Definition:
livox_def.h:118
LidarGetExtrinsicParameterResponse::yaw
float yaw
Definition:
livox_def.h:292
kLidarModeNormal
Definition:
livox_def.h:52
LidarStateItem::feature
uint8_t feature
Definition:
livox_def.h:218
LidarGetExtrinsicParameterResponse::ret_code
uint8_t ret_code
Definition:
livox_def.h:289
LidarSetExtrinsicParameterRequest::roll
float roll
Definition:
livox_def.h:277
HubQueryLidarInformationResponse::ret_code
uint8_t ret_code
Definition:
livox_def.h:302
DeviceInfo
Definition:
livox_def.h:142
LidarGetExtrinsicParameterResponse::y
int32_t y
Definition:
livox_def.h:294
kLidarStateStandBy
Definition:
livox_def.h:45
kTimestampTypePtp
Definition:
livox_def.h:83
DeviceInfo::feature
LidarFeature feature
Definition:
livox_def.h:152
GetDeviceIPModeResponse::ret_code
uint8_t ret_code
Definition:
livox_def.h:258
LidarModeRequestItem::state
uint8_t state
Definition:
livox_def.h:175
HubRainFogSuppressRequest::count
uint8_t count
Definition:
livox_def.h:379
ExtrinsicParameterRequestItem::pitch
float pitch
Definition:
livox_def.h:196
LidarSetExtrinsicParameterRequest::x
int32_t x
Definition:
livox_def.h:280
LivoxRawPoint::reflectivity
uint8_t reflectivity
Definition:
livox_def.h:110
DeviceEvent
DeviceEvent
Definition:
livox_def.h:74
DeviceBroadcastCode
Definition:
livox_def.h:183
LivoxEthPacket::slot
uint8_t slot
Definition:
livox_def.h:124
HubGetExtrinsicParameterRequest::count
uint8_t count
Definition:
livox_def.h:353
LidarState
LidarState
Definition:
livox_def.h:41
LivoxSdkVersion::patch
int patch
Definition:
livox_def.h:102
HubRainFogSuppressRequest
Definition:
livox_def.h:378
LidarStateItem
Definition:
livox_def.h:215
LidarGetExtrinsicParameterResponse
Definition:
livox_def.h:288
kStatusNotConnected
Definition:
livox_def.h:67
kLidarModeStandby
Definition:
livox_def.h:54
GetDeviceIPModeResponse::ip_addr
uint32_t ip_addr
Definition:
livox_def.h:260
HandshakeRequest::data_port
uint16_t data_port
Definition:
livox_def.h:227
ConnectedLidarInfo::slot
uint8_t slot
Definition:
livox_def.h:168
LivoxEthPacket
Definition:
livox_def.h:122
ExtrinsicParameterRequestItem::yaw
float yaw
Definition:
livox_def.h:197
LivoxSdkVersion::major
int major
Definition:
livox_def.h:100
LivoxEthPacket::rsvd
uint8_t rsvd
Definition:
livox_def.h:126
HubSetModeResponse::count
uint8_t count
Definition:
livox_def.h:320
HubSetExtrinsicParameterResponse::ret_code
uint8_t ret_code
Definition:
livox_def.h:344
kStatusSuccess
Definition:
livox_def.h:65
HubSetExtrinsicParameterRequest
Definition:
livox_def.h:335
HeartbeatResponse::state
uint8_t state
Definition:
livox_def.h:268
DeviceInfo::cmd_port
uint16_t cmd_port
Definition:
livox_def.h:149
BroadcastDeviceInfo::dev_type
uint8_t dev_type
Definition:
livox_def.h:159
kEventStateChange
Definition:
livox_def.h:77
HubControlSlotPowerRequest
Definition:
livox_def.h:327
kTimestampTypeUnknown
Definition:
livox_def.h:87
RainFogSuppressRequestItem::feature
uint8_t feature
Definition:
livox_def.h:189
ResponseStatus
ResponseStatus
Definition:
livox_def.h:64
LidarStateItem::state
uint8_t state
Definition:
livox_def.h:217
LivoxRawPoint::z
int32_t z
Definition:
livox_def.h:109
kEventDisconnect
Definition:
livox_def.h:76
kLidarModePowerSaving
Definition:
livox_def.h:53
LivoxEthPacket::timestamp_type
uint8_t timestamp_type
Definition:
livox_def.h:128
HubSetExtrinsicParameterRequest::count
uint8_t count
Definition:
livox_def.h:336
kTimestampTypeRsvd
Definition:
livox_def.h:84
LidarFeature
LidarFeature
Definition:
livox_def.h:58
kLidarStatePowerSaving
Definition:
livox_def.h:44
LidarModeRequestItem
Definition:
livox_def.h:173
kStatusNotSupported
Definition:
livox_def.h:68
LivoxSdkVersion
Definition:
livox_def.h:99
kTimestampTypePpsGps
Definition:
livox_def.h:85
kLidarFeatureRainFog
Definition:
livox_def.h:60
kDeviceTypeLidarHorizon
Definition:
livox_def.h:37
HeartbeatResponse
Definition:
livox_def.h:266
kLidarStateInit
Definition:
livox_def.h:42
StatusUnion::status_code
uint32_t status_code
Definition:
livox_def.h:137
ExtrinsicParameterRequestItem::roll
float roll
Definition:
livox_def.h:195
TimestampType
TimestampType
Definition:
livox_def.h:81
LivoxPoint
Definition:
livox_def.h:114
ExtrinsicParameterResponseItem::yaw
float yaw
Definition:
livox_def.h:209
LidarSetExtrinsicParameterRequest::z
int32_t z
Definition:
livox_def.h:282
BroadcastDeviceInfo::reserved
uint16_t reserved
Definition:
livox_def.h:160
HubSetModeRequest
Definition:
livox_def.h:310
LidarSetExtrinsicParameterRequest::y
int32_t y
Definition:
livox_def.h:281
DeviceInformationResponse::ret_code
uint8_t ret_code
Definition:
livox_def.h:235
ExtrinsicParameterResponseItem::z
int32_t z
Definition:
livox_def.h:212
HubSetModeRequest::count
uint8_t count
Definition:
livox_def.h:311
ReturnCode
Definition:
livox_def.h:178
LidarGetExtrinsicParameterResponse::roll
float roll
Definition:
livox_def.h:290
HubQueryLidarStatusResponse
Definition:
livox_def.h:369
kTimestampTypePps
Definition:
livox_def.h:86
HubQueryLidarInformationResponse::count
uint8_t count
Definition:
livox_def.h:303
ConnectedLidarInfo
Definition:
livox_def.h:164
kStatusFailure
Definition:
livox_def.h:66
HeartbeatResponse::feature
uint8_t feature
Definition:
livox_def.h:269
LidarSetExtrinsicParameterRequest::yaw
float yaw
Definition:
livox_def.h:279
DeviceInformationResponse
Definition:
livox_def.h:234
HeartbeatResponse::error_union
StatusUnion error_union
Definition:
livox_def.h:270
kEventConnect
Definition:
livox_def.h:75
HubQueryLidarStatusResponse::ret_code
uint8_t ret_code
Definition:
livox_def.h:370
kDeviceTypeHub
Definition:
livox_def.h:34
GetDeviceIPModeResponse::ip_mode
uint8_t ip_mode
Definition:
livox_def.h:259
RainFogSuppressRequestItem
Definition:
livox_def.h:187
DeviceInfo::slot
uint8_t slot
Definition:
livox_def.h:145
LidarGetExtrinsicParameterResponse::z
int32_t z
Definition:
livox_def.h:295
kTimestampTypeNoSync
Definition:
livox_def.h:82
DeviceInfo::handle
uint8_t handle
Definition:
livox_def.h:144
DeviceInfo::status
StatusUnion status
Definition:
livox_def.h:153
fmt::v5::internal::data
basic_data data
Definition:
format.h:764
DeviceType
DeviceType
Definition:
livox_def.h:33
LivoxPoint::y
float y
Definition:
livox_def.h:116
ConnectedLidarInfo::id
uint8_t id
Definition:
livox_def.h:169
StatusUnion
Definition:
livox_def.h:136
ExtrinsicParameterRequestItem
Definition:
livox_def.h:193
ExtrinsicParameterResponseItem::ret_code
uint8_t ret_code
Definition:
livox_def.h:205
LidarGetExtrinsicParameterResponse::pitch
float pitch
Definition:
livox_def.h:291
kStatusNotEnoughMemory
Definition:
livox_def.h:70
HubSetModeResponse
Definition:
livox_def.h:318
LivoxRawPoint::y
int32_t y
Definition:
livox_def.h:108
ExtrinsicParameterResponseItem::pitch
float pitch
Definition:
livox_def.h:208
LidarGetExtrinsicParameterResponse::x
int32_t x
Definition:
livox_def.h:293
ExtrinsicParameterResponseItem::roll
float roll
Definition:
livox_def.h:207
kDeviceTypeLidarTele
Definition:
livox_def.h:36
HeartbeatResponse::ret_code
uint8_t ret_code
Definition:
livox_def.h:267
LidarStateItem::error_union
StatusUnion error_union
Definition:
livox_def.h:219
ExtrinsicParameterResponseItem::x
int32_t x
Definition:
livox_def.h:210
kStatusTimeout
Definition:
livox_def.h:69
kBroadcastCodeSize
#define kBroadcastCodeSize
Definition:
livox_def.h:96
StatusUnion::progress
uint32_t progress
Definition:
livox_def.h:138
HubGetExtrinsicParameterResponse
Definition:
livox_def.h:360
ErrorMessage::error_code
uint32_t error_code
Definition:
livox_def.h:243
kLidarFeatureNone
Definition:
livox_def.h:59
LidarMode
LidarMode
Definition:
livox_def.h:51
ExtrinsicParameterResponseItem
Definition:
livox_def.h:204
kLidarStateError
Definition:
livox_def.h:46
HubQueryLidarStatusResponse::count
uint8_t count
Definition:
livox_def.h:371
HubRainFogSuppressResponse
Definition:
livox_def.h:386
DeviceInfo::state
LidarState state
Definition:
livox_def.h:151
HubRainFogSuppressResponse::ret_code
uint8_t ret_code
Definition:
livox_def.h:387
LivoxRawPoint::x
int32_t x
Definition:
livox_def.h:107
LivoxPoint::z
float z
Definition:
livox_def.h:117
SetDeviceIPModeRequest::ip_mode
uint8_t ip_mode
Definition:
livox_def.h:250
ExtrinsicParameterRequestItem::z
int32_t z
Definition:
livox_def.h:200
LivoxEthPacket::data_type
uint8_t data_type
Definition:
livox_def.h:130
LivoxEthPacket::version
uint8_t version
Definition:
livox_def.h:123
ExtrinsicParameterRequestItem::y
int32_t y
Definition:
livox_def.h:199
LivoxSdkVersion::minor
int minor
Definition:
livox_def.h:101
kLidarStateUnknown
Definition:
livox_def.h:47
HubControlSlotPowerRequest::slot
uint8_t slot
Definition:
livox_def.h:328
LidarSetExtrinsicParameterRequest::pitch
float pitch
Definition:
livox_def.h:278
LivoxRawPoint
Definition:
livox_def.h:106
HubGetExtrinsicParameterRequest
Definition:
livox_def.h:352
SetDeviceIPModeRequest::ip_addr
uint32_t ip_addr
Definition:
livox_def.h:251
LidarSetExtrinsicParameterRequest
Definition:
livox_def.h:276
HubSetModeResponse::ret_code
uint8_t ret_code
Definition:
livox_def.h:319
LivoxEthPacket::err_code
uint32_t err_code
Definition:
livox_def.h:127
ErrorMessage
Definition:
livox_def.h:242
ExtrinsicParameterResponseItem::y
int32_t y
Definition:
livox_def.h:211
HubGetExtrinsicParameterResponse::ret_code
uint8_t ret_code
Definition:
livox_def.h:361
ConnectedLidarInfo::dev_type
uint8_t dev_type
Definition:
livox_def.h:166
HandshakeRequest
Definition:
livox_def.h:225
HubQueryLidarInformationResponse
Definition:
livox_def.h:301
GetDeviceIPModeResponse
Definition:
livox_def.h:257
ExtrinsicParameterRequestItem::x
int32_t x
Definition:
livox_def.h:198
kLidarStateNormal
Definition:
livox_def.h:43
LivoxEthPacket::id
uint8_t id
Definition:
livox_def.h:125
HubControlSlotPowerRequest::state
uint8_t state
Definition:
livox_def.h:329
SetDeviceIPModeRequest
Definition:
livox_def.h:249
HubSetExtrinsicParameterResponse
Definition:
livox_def.h:343
ReturnCode::ret_code
uint8_t ret_code
Definition:
livox_def.h:179
HubSetExtrinsicParameterResponse::count
uint8_t count
Definition:
livox_def.h:345
kDeviceTypeLidarMid40
Definition:
livox_def.h:35
BroadcastDeviceInfo
Definition:
livox_def.h:157
DeviceInfo::data_port
uint16_t data_port
Definition:
livox_def.h:148
HandshakeRequest::ip_addr
uint32_t ip_addr
Definition:
livox_def.h:226
HandshakeRequest::cmd_port
uint16_t cmd_port
Definition:
livox_def.h:228
DeviceInfo::id
uint8_t id
Definition:
livox_def.h:146
HubGetExtrinsicParameterResponse::count
uint8_t count
Definition:
livox_def.h:362
LivoxPoint::x
float x
Definition:
livox_def.h:115
sdk_core
include
livox_def.h
Generated by
1.8.15