Livox SDK API  V2.0.0
livox_sdk.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_SDK_H_
26 #define LIVOX_SDK_H_
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 #include <stdbool.h>
33 #include <stdint.h>
34 #include "livox_def.h"
35 
40 void GetLivoxSdkVersion(LivoxSdkVersion *version);
41 
46 bool Init();
47 
52 bool Start();
53 
57 void Uninit();
58 
62 void SaveLoggerFile();
63 
69 
76 
82 typedef void (*DeviceStateUpdateCallback)(const DeviceInfo *device, DeviceEvent type);
83 
97 
106 livox_status AddHubToConnect(const char *broadcast_code, uint8_t *handle);
107 
115 livox_status AddLidarToConnect(const char *broadcast_code, uint8_t *handle);
116 
123 livox_status GetConnectedDevices(DeviceInfo *devices, uint8_t *size);
124 
134  uint8_t handle,
135  DeviceInformationResponse *response,
136  void *client_data);
137 
145 livox_status QueryDeviceInformation(uint8_t handle, DeviceInformationCallback cb, void *client_data);
146 
154 typedef void (*DataCallback)(uint8_t handle, LivoxEthPacket *data, uint32_t data_num, void *client_data);
155 
163 void SetDataCallback(uint8_t handle, DataCallback cb, void *client_data);
164 
173 typedef void (*CommonCommandCallback)(livox_status status, uint8_t handle, uint8_t response, void *client_data);
174 
182 
189 livox_status HubStopSampling(CommonCommandCallback cb, void *client_data);
190 
197 livox_status HubGetLidarHandle(uint8_t slot, uint8_t id);
198 
206 livox_status DisconnectDevice(uint8_t handle, CommonCommandCallback cb, void *client_data);
207 
215 livox_status SetCartesianCoordinate(uint8_t handle, CommonCommandCallback cb, void *client_data);
216 
224 livox_status SetSphericalCoordinate(uint8_t handle, CommonCommandCallback cb, void *client_data);
225 
232 typedef void (*ErrorMessageCallback)(livox_status status, uint8_t handle, ErrorMessage *message);
233 
242 
253 livox_status SetStaticDynamicIP(uint8_t handle,
256  void *client_data);
267 livox_status SetStaticIp(uint8_t handle,
270  void *client_data);
271 
279 livox_status SetDynamicIp(uint8_t handle,
281  void *client_data);
291  uint8_t handle,
292  GetDeviceIpModeResponse *response,
293  void *client_data);
294 
302 livox_status GetDeviceIpInformation(uint8_t handle, GetDeviceIpInformationCallback cb, void *client_data);
303 
313 livox_status RebootDevice(uint8_t handle, uint16_t timeout, CommonCommandCallback cb, void * client_data);
314 
324  uint8_t handle,
326  void *client_data);
327 
335 
344 typedef void (*HubSetModeCallback)(livox_status status, uint8_t handle, HubSetModeResponse *response, void *client_data);
345 
354 livox_status HubSetMode(HubSetModeRequest *req, uint16_t length, HubSetModeCallback cb, void *client_data);
355 
364 typedef void (*HubQueryLidarStatusCallback)(livox_status status, uint8_t handle, HubQueryLidarStatusResponse *response, void *client_data);
365 
373 
382 
392  uint8_t handle,
394  void *client_data);
395 
405  uint16_t length,
407  void *client_data);
408 
418  uint8_t handle,
420  void *client_data);
421 
429 
437 livox_status HubExtrinsicParameterCalculation(bool enable, CommonCommandCallback cb, void *client_data);
438 
448  uint8_t handle,
449  HubRainFogSuppressResponse *response,
450  void *client_data);
451 
461  uint16_t length,
463  void *client_data);
464 
473 typedef void(*HubQuerySlotPowerStatusCallback)(livox_status status, uint8_t handle, HubQuerySlotPowerStatusResponse *response, void *client_data);
474 
482 
491 typedef void (*HubFanControlCallback)(livox_status status,
492  uint8_t handle,
493  HubFanControlResponse *response,
494  void *client_data);
495 
504 livox_status HubFanControl(HubFanControlRequest *req, uint16_t length, HubFanControlCallback cb, void *client_data);
505 
514 typedef void (*HubGetFanStateCallback)(livox_status status,
515  uint8_t handle,
516  HubGetFanStateResponse *response,
517  void *client_data);
518 
528  uint16_t length,
530  void *client_data);
531 
541  uint8_t handle,
543  void *client_data);
544 
554  uint16_t length,
556  void *client_data);
557 
567  uint8_t handle,
569  void *client_data);
570 
580  uint16_t length,
582  void *client_data);
583 
593  uint8_t handle,
595  void *client_data);
596 
606  uint16_t length,
608  void *client_data);
609 
619  uint8_t handle,
621  void *client_data);
622 
632  uint16_t length,
634  void *client_data);
635 
643 livox_status LidarStartSampling(uint8_t handle, CommonCommandCallback cb, void *client_data);
644 
652 livox_status LidarStopSampling(uint8_t handle, CommonCommandCallback cb, void *client_data);
653 
664 livox_status LidarSetMode(uint8_t handle, LidarMode mode, CommonCommandCallback cb, void *client_data);
665 
677  void *client_data);
678 
688  uint8_t handle,
690  void *client_data);
691 
699 livox_status LidarGetExtrinsicParameter(uint8_t handle, LidarGetExtrinsicParameterCallback cb, void *client_data);
700 
710 livox_status LidarRainFogSuppress(uint8_t handle, bool enable, CommonCommandCallback cb, void *client_data);
711 
720 livox_status LidarTurnOffFan(uint8_t handle, CommonCommandCallback cb, void *client_data);
721 
730 livox_status LidarTurnOnFan(uint8_t handle, CommonCommandCallback cb, void *client_data);
731 
740 typedef void (*LidarGetFanStateCallback)(livox_status status,
741  uint8_t handle,
742  LidarGetFanStateResponse *response,
743  void *client_data);
744 
753 livox_status LidarGetFanState(uint8_t handle, LidarGetFanStateCallback cb, void * client_data) ;
754 
764 livox_status LidarSetPointCloudReturnMode(uint8_t handle, PointCloudReturnMode mode, CommonCommandCallback cb, void * client_data);
765 
775  uint8_t handle,
777  void *client_data);
778 
788 
798 livox_status LidarSetImuPushFrequency(uint8_t handle, ImuFreq freq, CommonCommandCallback cb, void * client_data);
799 
809  uint8_t handle,
811  void *client_data);
812 
821 livox_status LidarGetImuPushFrequency(uint8_t handle, LidarGetImuPushFrequencyCallback cb, void * client_data);
822 
832 livox_status LidarSetRmcSyncTime(uint8_t handle,
833  const char* rmc,
834  uint16_t rmc_length,
836  void *client_data);
837 
846 livox_status LidarSetUtcSyncTime(uint8_t handle,
849  void *client_data);
850 
851 #ifdef __cplusplus
852 }
853 #endif
854 
855 #endif // LIVOX_SDK_H_
HubSetPointCloudReturnMode
livox_status HubSetPointCloudReturnMode(HubSetPointCloudReturnModeRequest *req, uint16_t length, HubSetPointCloudReturnModeCallback cb, void *client_data)
ErrorMessageCallback
void(* ErrorMessageCallback)(livox_status status, uint8_t handle, ErrorMessage *message)
Definition: livox_sdk.h:232
HubSetImuPushFrequencyResponse
Definition: livox_def.h:717
LidarGetFanState
livox_status LidarGetFanState(uint8_t handle, LidarGetFanStateCallback cb, void *client_data)
SetCartesianCoordinate
livox_status SetCartesianCoordinate(uint8_t handle, CommonCommandCallback cb, void *client_data)
DisconnectDevice
livox_status DisconnectDevice(uint8_t handle, CommonCommandCallback cb, void *client_data)
HubGetImuPushFrequency
livox_status HubGetImuPushFrequency(HubGetImuPushFrequencyRequest *req, uint16_t length, HubGetImuPushFrequencyCallback cb, void *client_data)
HubQueryLidarStatus
livox_status HubQueryLidarStatus(HubQueryLidarStatusCallback cb, void *client_data)
PointCloudReturnMode
PointCloudReturnMode
Definition: livox_def.h:117
fmt::v5::internal::data
basic_data data
Definition: format.h:764
LidarSetRmcSyncTime
livox_status LidarSetRmcSyncTime(uint8_t handle, const char *rmc, uint16_t rmc_length, CommonCommandCallback cb, void *client_data)
HubGetFanStateResponse
Definition: livox_def.h:666
spdlog::level::info
Definition: common.h:115
HubFanControlResponse
Definition: livox_def.h:649
HubGetPointCloudReturnMode
livox_status HubGetPointCloudReturnMode(HubGetPointCloudReturnModeRequest *req, uint16_t length, HubGetPointCloudReturnModeCallback cb, void *client_data)
livox_def.h
HubRainFogSuppressRequest
Definition: livox_def.h:616
livox_status
int32_t livox_status
Definition: livox_def.h:84
HubQueryLidarStatusResponse
Definition: livox_def.h:607
HubControlSlotPower
livox_status HubControlSlotPower(HubControlSlotPowerRequest *req, CommonCommandCallback cb, void *client_data)
SetDataCallback
void SetDataCallback(uint8_t handle, DataCallback cb, void *client_data)
SetDynamicIp
livox_status SetDynamicIp(uint8_t handle, CommonCommandCallback cb, void *client_data)
DeviceEvent
DeviceEvent
Definition: livox_def.h:87
HubGetPointCloudReturnModeResponse
Definition: livox_def.h:700
LidarSetPointCloudReturnMode
livox_status LidarSetPointCloudReturnMode(uint8_t handle, PointCloudReturnMode mode, CommonCommandCallback cb, void *client_data)
SetSphericalCoordinate
livox_status SetSphericalCoordinate(uint8_t handle, CommonCommandCallback cb, void *client_data)
Start
bool Start()
HubGetFanState
livox_status HubGetFanState(HubGetFanStateRequest *req, uint16_t length, HubGetFanStateCallback cb, void *client_data)
HubSetImuPushFrequency
livox_status HubSetImuPushFrequency(HubSetImuPushFrequencyRequest *req, uint16_t length, HubSetImuPushFrequencyCallback cb, void *client_data)
RebootDevice
livox_status RebootDevice(uint8_t handle, uint16_t timeout, CommonCommandCallback cb, void *client_data)
HubControlSlotPowerRequest
Definition: livox_def.h:565
GetLivoxSdkVersion
void GetLivoxSdkVersion(LivoxSdkVersion *version)
CommonCommandCallback
void(* CommonCommandCallback)(livox_status status, uint8_t handle, uint8_t response, void *client_data)
Definition: livox_sdk.h:173
SetStaticDeviceIpModeRequest
Definition: livox_def.h:459
HubGetPointCloudReturnModeRequest
Definition: livox_def.h:692
SetErrorMessageCallback
livox_status SetErrorMessageCallback(uint8_t handle, ErrorMessageCallback cb)
HubSetPointCloudReturnModeRequest
Definition: livox_def.h:675
HubSetModeCallback
void(* HubSetModeCallback)(livox_status status, uint8_t handle, HubSetModeResponse *response, void *client_data)
Definition: livox_sdk.h:344
HubSetImuPushFrequencyCallback
void(* HubSetImuPushFrequencyCallback)(livox_status status, uint8_t handle, HubSetImuPushFrequencyResponse *response, void *client_data)
Definition: livox_sdk.h:592
HubSetPointCloudReturnModeCallback
void(* HubSetPointCloudReturnModeCallback)(livox_status status, uint8_t handle, HubSetPointCloudReturnModeResponse *response, void *client_data)
Definition: livox_sdk.h:540
ImuFreq
ImuFreq
Definition: livox_def.h:124
AddLidarToConnect
livox_status AddLidarToConnect(const char *broadcast_code, uint8_t *handle)
LidarSetUtcSyncTimeRequest
Definition: livox_def.h:528
HubFanControlCallback
void(* HubFanControlCallback)(livox_status status, uint8_t handle, HubFanControlResponse *response, void *client_data)
Definition: livox_sdk.h:491
HubRainFogSuppressCallback
void(* HubRainFogSuppressCallback)(livox_status status, uint8_t handle, HubRainFogSuppressResponse *response, void *client_data)
Definition: livox_sdk.h:447
LidarSetExtrinsicParameter
livox_status LidarSetExtrinsicParameter(uint8_t handle, LidarSetExtrinsicParameterRequest *req, CommonCommandCallback cb, void *client_data)
GetDeviceIpModeResponse
Definition: livox_def.h:448
HubRainFogSuppress
livox_status HubRainFogSuppress(HubRainFogSuppressRequest *req, uint16_t length, HubRainFogSuppressCallback cb, void *client_data)
HubSetImuPushFrequencyRequest
Definition: livox_def.h:709
GetConnectedDevices
livox_status GetConnectedDevices(DeviceInfo *devices, uint8_t *size)
HubQuerySlotPowerStatus
livox_status HubQuerySlotPowerStatus(HubQuerySlotPowerStatusCallback cb, void *client_data)
LidarGetPointCloudReturnMode
livox_status LidarGetPointCloudReturnMode(uint8_t handle, LidarGetPointCloudReturnModeCallback cb, void *client_data)
SetStaticDynamicIP
livox_status SetStaticDynamicIP(uint8_t handle, SetDeviceIPModeRequest *req, CommonCommandCallback cb, void *client_data)
LidarGetExtrinsicParameter
livox_status LidarGetExtrinsicParameter(uint8_t handle, LidarGetExtrinsicParameterCallback cb, void *client_data)
HubRainFogSuppressResponse
Definition: livox_def.h:624
LidarGetPointCloudReturnModeResponse
Definition: livox_def.h:511
DeviceInformationCallback
void(* DeviceInformationCallback)(livox_status status, uint8_t handle, DeviceInformationResponse *response, void *client_data)
Definition: livox_sdk.h:133
HubGetImuPushFrequencyResponse
Definition: livox_def.h:734
HubQueryLidarInformation
livox_status HubQueryLidarInformation(HubQueryLidarInformationCallback cb, void *client_data)
SetDeviceIPModeRequest
Definition: livox_def.h:440
LidarGetFanStateResponse
Definition: livox_def.h:503
HubSetModeResponse
Definition: livox_def.h:556
HubSetModeRequest
Definition: livox_def.h:548
HubQueryLidarInformationCallback
void(* HubQueryLidarInformationCallback)(livox_status status, uint8_t handle, HubQueryLidarInformationResponse *response, void *client_data)
Definition: livox_sdk.h:323
HubSetMode
livox_status HubSetMode(HubSetModeRequest *req, uint16_t length, HubSetModeCallback cb, void *client_data)
HubQueryLidarStatusCallback
void(* HubQueryLidarStatusCallback)(livox_status status, uint8_t handle, HubQueryLidarStatusResponse *response, void *client_data)
Definition: livox_sdk.h:364
GetDeviceIpInformationCallback
void(* GetDeviceIpInformationCallback)(livox_status status, uint8_t handle, GetDeviceIpModeResponse *response, void *client_data)
Definition: livox_sdk.h:290
HubQuerySlotPowerStatusCallback
void(* HubQuerySlotPowerStatusCallback)(livox_status status, uint8_t handle, HubQuerySlotPowerStatusResponse *response, void *client_data)
Definition: livox_sdk.h:473
DataCallback
void(* DataCallback)(uint8_t handle, LivoxEthPacket *data, uint32_t data_num, void *client_data)
Definition: livox_sdk.h:154
HubGetExtrinsicParameter
livox_status HubGetExtrinsicParameter(HubGetExtrinsicParameterCallback cb, void *client_data)
SetDeviceStateUpdateCallback
void SetDeviceStateUpdateCallback(DeviceStateUpdateCallback cb)
Add a callback for device connection or working state changing event.
GetDeviceIpInformation
livox_status GetDeviceIpInformation(uint8_t handle, GetDeviceIpInformationCallback cb, void *client_data)
HubSetPointCloudReturnModeResponse
Definition: livox_def.h:683
HubGetLidarHandle
livox_status HubGetLidarHandle(uint8_t slot, uint8_t id)
LidarGetExtrinsicParameterResponse
Definition: livox_def.h:490
HubQuerySlotPowerStatusResponse
Definition: livox_def.h:633
HubStartSampling
livox_status HubStartSampling(CommonCommandCallback cb, void *client_data)
HubGetExtrinsicParameterCallback
void(* HubGetExtrinsicParameterCallback)(livox_status status, uint8_t handle, HubGetExtrinsicParameterResponse *response, void *client_data)
Definition: livox_sdk.h:417
HubSetExtrinsicParameterCallback
void(* HubSetExtrinsicParameterCallback)(livox_status status, uint8_t handle, HubSetExtrinsicParameterResponse *response, void *client_data)
Definition: livox_sdk.h:391
LidarSetExtrinsicParameterRequest
Definition: livox_def.h:478
HubGetFanStateCallback
void(* HubGetFanStateCallback)(livox_status status, uint8_t handle, HubGetFanStateResponse *response, void *client_data)
Definition: livox_sdk.h:514
Init
bool Init()
Uninit
void Uninit()
SaveLoggerFile
void SaveLoggerFile()
LidarGetExtrinsicParameterCallback
void(* LidarGetExtrinsicParameterCallback)(livox_status status, uint8_t handle, LidarGetExtrinsicParameterResponse *response, void *client_data)
Definition: livox_sdk.h:687
HubGetPointCloudReturnModeCallback
void(* HubGetPointCloudReturnModeCallback)(livox_status status, uint8_t handle, HubGetPointCloudReturnModeResponse *response, void *client_data)
Definition: livox_sdk.h:566
HubGetFanStateRequest
Definition: livox_def.h:658
LidarSetImuPushFrequency
livox_status LidarSetImuPushFrequency(uint8_t handle, ImuFreq freq, CommonCommandCallback cb, void *client_data)
HubSetExtrinsicParameterResponse
Definition: livox_def.h:581
LidarStopSampling
livox_status LidarStopSampling(uint8_t handle, CommonCommandCallback cb, void *client_data)
LivoxSdkVersion
Definition: livox_def.h:138
DeviceInfo
Definition: livox_def.h:291
HubFanControlRequest
Definition: livox_def.h:641
HubFanControl
livox_status HubFanControl(HubFanControlRequest *req, uint16_t length, HubFanControlCallback cb, void *client_data)
LidarGetPointCloudReturnModeCallback
void(* LidarGetPointCloudReturnModeCallback)(livox_status status, uint8_t handle, LidarGetPointCloudReturnModeResponse *response, void *client_data)
Definition: livox_sdk.h:774
LidarGetFanStateCallback
void(* LidarGetFanStateCallback)(livox_status status, uint8_t handle, LidarGetFanStateResponse *response, void *client_data)
Definition: livox_sdk.h:740
LidarMode
LidarMode
Definition: livox_def.h:51
LidarRainFogSuppress
livox_status LidarRainFogSuppress(uint8_t handle, bool enable, CommonCommandCallback cb, void *client_data)
HubStopSampling
livox_status HubStopSampling(CommonCommandCallback cb, void *client_data)
QueryDeviceInformation
livox_status QueryDeviceInformation(uint8_t handle, DeviceInformationCallback cb, void *client_data)
HubSetExtrinsicParameterRequest
Definition: livox_def.h:573
ErrorMessage
Definition: livox_def.h:264
HubQueryLidarInformationResponse
Definition: livox_def.h:539
DeviceBroadcastCallback
void(* DeviceBroadcastCallback)(const BroadcastDeviceInfo *info)
Definition: livox_sdk.h:68
LidarGetImuPushFrequencyResponse
Definition: livox_def.h:520
fmt::v5::internal::type
type
Definition: core.h:530
SetStaticIp
livox_status SetStaticIp(uint8_t handle, SetStaticDeviceIpModeRequest *req, CommonCommandCallback cb, void *client_data)
AddHubToConnect
livox_status AddHubToConnect(const char *broadcast_code, uint8_t *handle)
HubGetImuPushFrequencyRequest
Definition: livox_def.h:726
LidarTurnOffFan
livox_status LidarTurnOffFan(uint8_t handle, CommonCommandCallback cb, void *client_data)
DeviceInformationResponse
Definition: livox_def.h:432
LidarGetImuPushFrequencyCallback
void(* LidarGetImuPushFrequencyCallback)(livox_status status, uint8_t handle, LidarGetImuPushFrequencyResponse *response, void *client_data)
Definition: livox_sdk.h:808
HubGetImuPushFrequencyCallback
void(* HubGetImuPushFrequencyCallback)(livox_status status, uint8_t handle, HubGetImuPushFrequencyResponse *response, void *client_data)
Definition: livox_sdk.h:618
BroadcastDeviceInfo
Definition: livox_def.h:307
DeviceStateUpdateCallback
void(* DeviceStateUpdateCallback)(const DeviceInfo *device, DeviceEvent type)
Definition: livox_sdk.h:82
LidarStartSampling
livox_status LidarStartSampling(uint8_t handle, CommonCommandCallback cb, void *client_data)
HubGetExtrinsicParameterResponse
Definition: livox_def.h:598
SetBroadcastCallback
void SetBroadcastCallback(DeviceBroadcastCallback cb)
LidarGetImuPushFrequency
livox_status LidarGetImuPushFrequency(uint8_t handle, LidarGetImuPushFrequencyCallback cb, void *client_data)
LidarSetUtcSyncTime
livox_status LidarSetUtcSyncTime(uint8_t handle, LidarSetUtcSyncTimeRequest *req, CommonCommandCallback cb, void *client_data)
LidarTurnOnFan
livox_status LidarTurnOnFan(uint8_t handle, CommonCommandCallback cb, void *client_data)
LivoxEthPacket
Definition: livox_def.h:271
HubSetExtrinsicParameter
livox_status HubSetExtrinsicParameter(HubSetExtrinsicParameterRequest *req, uint16_t length, HubSetExtrinsicParameterCallback cb, void *client_data)
HubExtrinsicParameterCalculation
livox_status HubExtrinsicParameterCalculation(bool enable, CommonCommandCallback cb, void *client_data)
LidarSetMode
livox_status LidarSetMode(uint8_t handle, LidarMode mode, CommonCommandCallback cb, void *client_data)