DriveWorks SDK Reference
5.20.37 Release
For Test and Development only

Lidar.h
Go to the documentation of this file.
1
2//
3// Notice
4// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
5// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
6// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
7// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8//
9// NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
10// information or for any infringement of patents or other rights of third parties that may
11// result from its use. No license is granted by implication or otherwise under any patent
12// or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
13// expressly authorized by NVIDIA. Details are subject to change without notice.
14// This code supersedes and replaces all information previously supplied.
15// NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
16// components in life support devices or systems without express written approval of
17// NVIDIA CORPORATION & AFFILIATES.
18//
19// SPDX-FileCopyrightText: Copyright (c) 2016-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
20// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
21//
22// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
23// property and proprietary rights in and to this material, related
24// documentation and any modifications thereto. Any use, reproduction,
25// disclosure or distribution of this material and related documentation
26// without an express license agreement from NVIDIA CORPORATION or
27// its affiliates is strictly prohibited.
28//
30
47#ifndef DW_SENSORS_LIDAR_LIDAR_H_
48#define DW_SENSORS_LIDAR_LIDAR_H_
49
50#include "LidarTypes.h"
51
53#include <stdalign.h>
54
55#ifdef __cplusplus
56extern "C" {
57#endif
58
72dwStatus dwSensorLidar_getAuxElementSize(uint32_t* const sizeBytes, dwLidarAuxDataType const auxType);
73
90
107
122
146 dwSensorHandle_t const sensor);
147
165
185dwStatus dwSensorLidar_processRawData(dwLidarDecodedPacket const** const data, uint8_t const* const rawData, size_t const size,
186 dwSensorHandle_t const sensor);
187
204
220dwStatus dwSensorLidar_sendMessage(uint32_t const cmd, uint8_t const* const data,
221 size_t const size, dwSensorHandle_t const sensor);
222
223#ifdef __cplusplus
224}
225#endif
226
228#endif // DW_SENSORS_LIDAR_LIDAR_H_
dwStatus
Status definition.
Definition: ErrorDefs.h:44
NVIDIA DriveWorks API: Lidar types
NVIDIA DriveWorks API: Sensors
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: BasicTypes.h:65
#define DW_API_PUBLIC
Definition: Exports.h:56
DW_API_PUBLIC dwStatus dwSensorLidar_enableDecoding(dwSensorHandle_t const sensor)
Enables the decoding of the Lidar packets, which incurs an additional CPU load.
DW_API_PUBLIC dwStatus dwSensorLidar_isDecodingEnabled(bool *const enable, dwSensorHandle_t const sensor)
Retrieves the state of packet decoding.
DW_API_PUBLIC dwStatus dwSensorLidar_returnPacket(dwLidarDecodedPacket const *const data, dwSensorHandle_t const sensor)
Returns the data read to the internal pool.
DW_API_PUBLIC dwStatus dwSensorLidar_getProperties(dwLidarProperties *const lidarProperties, dwSensorHandle_t const sensor)
Gets information about the Lidar sensor.
dwLidarAuxDataType
An enum for every data element we could possibly return.
Definition: LidarTypes.h:87
DW_API_PUBLIC dwStatus dwSensorLidar_getAuxElementSize(uint32_t *const sizeBytes, dwLidarAuxDataType const auxType)
Returns size of auxiliary data element in bytes.
DW_API_PUBLIC dwStatus dwSensorLidar_sendMessage(uint32_t const cmd, uint8_t const *const data, size_t const size, dwSensorHandle_t const sensor)
Sends a message to Lidar sensor.
DW_API_PUBLIC dwStatus dwSensorLidar_processRawData(dwLidarDecodedPacket const **const data, uint8_t const *const rawData, size_t const size, dwSensorHandle_t const sensor)
Decodes RAW data previously read and returns a pointer to it.
DW_API_PUBLIC dwStatus dwSensorLidar_disableDecoding(dwSensorHandle_t const sensor)
Disable the decoding of the Lidar packets, which frees additional CPU load.
DW_API_PUBLIC dwStatus dwSensorLidar_readPacket(dwLidarDecodedPacket const **const data, dwTime_t const timeoutUs, dwSensorHandle_t const sensor)
Reads one scan packet.
Defines the structure for a decoded lidar packet.
Definition: LidarTypes.h:233
Defines the properties of the lidar.
Definition: LidarTypes.h:161
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor.
Definition: SensorTypes.h:75