Livox SDK API  V1.1.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 uint8_t AddHubToConnect(const char *broadcast_code, uint8_t *handle);
107 
115 uint8_t AddLidarToConnect(const char *broadcast_code, uint8_t *handle);
116 
123 uint8_t GetConnectedDevices(DeviceInfo *devices, uint8_t *size);
124 
133 typedef void (*DeviceInformationCallback)(uint8_t status,
134  uint8_t handle,
135  DeviceInformationResponse *response,
136  void *client_data);
137 
145 uint8_t QueryDeviceInformation(uint8_t handle, DeviceInformationCallback cb, void *client_data);
146 
153 typedef void (*DataCallback)(uint8_t handle, LivoxEthPacket *data, uint32_t data_num);
154 
160 void SetDataCallback(uint8_t handle, DataCallback cb);
161 
170 typedef void (*CommonCommandCallback)(uint8_t status, uint8_t handle, uint8_t response, void *client_data);
171 
178 uint8_t HubStartSampling(CommonCommandCallback cb, void *client_data);
179 
186 uint8_t HubStopSampling(CommonCommandCallback cb, void *client_data);
187 
194 uint8_t HubGetLidarHandle(uint8_t slot, uint8_t id);
195 
203 uint8_t SetCartesianCoordinate(uint8_t handle, CommonCommandCallback cb, void *client_data);
204 
212 uint8_t SetSphericalCoordinate(uint8_t handle, CommonCommandCallback cb, void *client_data);
213 
219 typedef void (*ErrorMessageCallback)(uint8_t handle, ErrorMessage *message);
220 
227 uint8_t SetErrorMessageCallback(uint8_t handle, ErrorMessageCallback cb);
228 
237 uint8_t SetStaticDynamicIP(uint8_t handle,
240  void *client_data);
241 
250 typedef void (*GetDeviceIPInformationCallback)(uint8_t status,
251  uint8_t handle,
252  GetDeviceIPModeResponse *response,
253  void *client_data);
254 
262 uint8_t GetDeviceIPInformation(uint8_t handle, GetDeviceIPInformationCallback cb, void *client_data);
263 
272 typedef void (*HubQueryLidarInformationCallback)(uint8_t status,
273  uint8_t handle,
275  void *client_data);
276 
283 uint8_t HubQueryLidarInformation(HubQueryLidarInformationCallback cb, void *client_data);
284 
293 typedef void (*HubSetModeCallback)(uint8_t status, uint8_t handle, HubSetModeResponse *response, void *client_data);
294 
303 uint8_t HubSetMode(HubSetModeRequest *req, uint16_t length, HubSetModeCallback cb, void *client_data);
304 
313 typedef void (*HubQueryLidarStatusCallback)(uint8_t status, uint8_t handle, HubQueryLidarStatusResponse *response, void *client_data);
314 
321 uint8_t HubQueryLidarStatus(HubQueryLidarStatusCallback cb, void *client_data);
322 
331 uint8_t HubControlSlotPower(HubControlSlotPowerRequest *req, CommonCommandCallback cb, void *client_data);
332 
341 typedef void (*HubSetExtrinsicParameterCallback)(uint8_t status,
342  uint8_t handle,
344  void *client_data);
345 
355  uint16_t length,
357  void *client_data);
358 
367 typedef void (*HubGetExtrinsicParameterCallback)(uint8_t status,
368  uint8_t handle,
370  void *client_data);
371 
381  uint16_t length,
383  void *client_data);
384 
393 uint8_t HubExtrinsicParameterCalculation(bool enable, CommonCommandCallback cb, void *client_data);
394 
403 typedef void (*HubRainFogSuppressCallback)(uint8_t status,
404  uint8_t handle,
405  HubRainFogSuppressResponse *response,
406  void *client_data);
407 
417  uint16_t length,
419  void *client_data);
420 
428 uint8_t LidarStartSampling(uint8_t handle, CommonCommandCallback cb, void *client_data);
429 
437 uint8_t LidarStopSampling(uint8_t handle, CommonCommandCallback cb, void *client_data);
438 
449 uint8_t LidarSetMode(uint8_t handle, LidarMode mode, CommonCommandCallback cb, void *client_data);
450 
459 uint8_t LidarSetExtrinsicParameter(uint8_t handle,
462  void *client_data);
463 
472 typedef void (*LidarGetExtrinsicParameterCallback)(uint8_t status,
473  uint8_t handle,
475  void *client_data);
476 
484 uint8_t LidarGetExtrinsicParameter(uint8_t handle, LidarGetExtrinsicParameterCallback cb, void *client_data);
485 
493 uint8_t LidarRainFogSuppress(uint8_t handle, bool enable, CommonCommandCallback cb, void *client_data);
494 
495 #ifdef __cplusplus
496 }
497 #endif
498 
499 #endif // LIVOX_SDK_H_
void(* HubSetModeCallback)(uint8_t status, uint8_t handle, HubSetModeResponse *response, void *client_data)
Definition: livox_sdk.h:293
uint8_t GetConnectedDevices(DeviceInfo *devices, uint8_t *size)
void(* DeviceStateUpdateCallback)(const DeviceInfo *device, DeviceEvent type)
Definition: livox_sdk.h:82
DeviceEvent
Definition: livox_def.h:74
void(* GetDeviceIPInformationCallback)(uint8_t status, uint8_t handle, GetDeviceIPModeResponse *response, void *client_data)
Definition: livox_sdk.h:250
void Uninit()
void(* ErrorMessageCallback)(uint8_t handle, ErrorMessage *message)
Definition: livox_sdk.h:219
uint8_t HubStartSampling(CommonCommandCallback cb, void *client_data)
void SetDataCallback(uint8_t handle, DataCallback cb)
void(* CommonCommandCallback)(uint8_t status, uint8_t handle, uint8_t response, void *client_data)
Definition: livox_sdk.h:170
uint8_t HubStopSampling(CommonCommandCallback cb, void *client_data)
void(* LidarGetExtrinsicParameterCallback)(uint8_t status, uint8_t handle, LidarGetExtrinsicParameterResponse *response, void *client_data)
Definition: livox_sdk.h:472
uint8_t HubQueryLidarInformation(HubQueryLidarInformationCallback cb, void *client_data)
uint8_t HubSetMode(HubSetModeRequest *req, uint16_t length, HubSetModeCallback cb, void *client_data)
uint8_t LidarSetExtrinsicParameter(uint8_t handle, LidarSetExtrinsicParameterRequest *req, CommonCommandCallback cb, void *client_data)
uint8_t HubGetExtrinsicParameter(HubGetExtrinsicParameterRequest *req, uint16_t length, HubGetExtrinsicParameterCallback cb, void *client_data)
uint8_t QueryDeviceInformation(uint8_t handle, DeviceInformationCallback cb, void *client_data)
uint8_t LidarRainFogSuppress(uint8_t handle, bool enable, CommonCommandCallback cb, void *client_data)
uint8_t SetCartesianCoordinate(uint8_t handle, CommonCommandCallback cb, void *client_data)
void SetBroadcastCallback(DeviceBroadcastCallback cb)
void GetLivoxSdkVersion(LivoxSdkVersion *version)
uint8_t HubExtrinsicParameterCalculation(bool enable, CommonCommandCallback cb, void *client_data)
uint8_t HubGetLidarHandle(uint8_t slot, uint8_t id)
basic_data data
Definition: format.h:764
void SaveLoggerFile()
uint8_t LidarSetMode(uint8_t handle, LidarMode mode, CommonCommandCallback cb, void *client_data)
void(* HubSetExtrinsicParameterCallback)(uint8_t status, uint8_t handle, HubSetExtrinsicParameterResponse *response, void *client_data)
Definition: livox_sdk.h:341
uint8_t GetDeviceIPInformation(uint8_t handle, GetDeviceIPInformationCallback cb, void *client_data)
void(* DeviceInformationCallback)(uint8_t status, uint8_t handle, DeviceInformationResponse *response, void *client_data)
Definition: livox_sdk.h:133
uint8_t SetStaticDynamicIP(uint8_t handle, SetDeviceIPModeRequest *req, CommonCommandCallback cb, void *client_data)
uint8_t SetSphericalCoordinate(uint8_t handle, CommonCommandCallback cb, void *client_data)
void(* DeviceBroadcastCallback)(const BroadcastDeviceInfo *info)
Definition: livox_sdk.h:68
void(* DataCallback)(uint8_t handle, LivoxEthPacket *data, uint32_t data_num)
Definition: livox_sdk.h:153
LidarMode
Definition: livox_def.h:51
void(* HubQueryLidarInformationCallback)(uint8_t status, uint8_t handle, HubQueryLidarInformationResponse *response, void *client_data)
Definition: livox_sdk.h:272
uint8_t HubControlSlotPower(HubControlSlotPowerRequest *req, CommonCommandCallback cb, void *client_data)
bool Init()
uint8_t LidarStartSampling(uint8_t handle, CommonCommandCallback cb, void *client_data)
uint8_t AddLidarToConnect(const char *broadcast_code, uint8_t *handle)
void(* HubRainFogSuppressCallback)(uint8_t status, uint8_t handle, HubRainFogSuppressResponse *response, void *client_data)
Definition: livox_sdk.h:403
void(* HubGetExtrinsicParameterCallback)(uint8_t status, uint8_t handle, HubGetExtrinsicParameterResponse *response, void *client_data)
Definition: livox_sdk.h:367
uint8_t HubRainFogSuppress(HubRainFogSuppressRequest *req, uint16_t length, HubRainFogSuppressCallback cb, void *client_data)
uint8_t HubSetExtrinsicParameter(HubSetExtrinsicParameterRequest *req, uint16_t length, HubSetExtrinsicParameterCallback cb, void *client_data)
uint8_t SetErrorMessageCallback(uint8_t handle, ErrorMessageCallback cb)
uint8_t LidarStopSampling(uint8_t handle, CommonCommandCallback cb, void *client_data)
uint8_t HubQueryLidarStatus(HubQueryLidarStatusCallback cb, void *client_data)
bool Start()
void(* HubQueryLidarStatusCallback)(uint8_t status, uint8_t handle, HubQueryLidarStatusResponse *response, void *client_data)
Definition: livox_sdk.h:313
void SetDeviceStateUpdateCallback(DeviceStateUpdateCallback cb)
Add a callback for device connection or working state changing event.
uint8_t AddHubToConnect(const char *broadcast_code, uint8_t *handle)
uint8_t LidarGetExtrinsicParameter(uint8_t handle, LidarGetExtrinsicParameterCallback cb, void *client_data)