DriveWorks SDK Reference

| 0.6.67 Release

LidarDecoder.h
Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed
3 // under the Mutual Non-Disclosure Agreement.
4 //
5 // Notice
6 // ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
7 // NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
8 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
9 // MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
10 //
11 // NVIDIA Corporation assumes no responsibility for the consequences of use of such
12 // information or for any infringement of patents or other rights of third parties that may
13 // result from its use. No license is granted by implication or otherwise under any patent
14 // or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
15 // expressly authorized by NVIDIA. Details are subject to change without notice.
16 // This code supersedes and replaces all information previously supplied.
17 // NVIDIA Corporation products are not authorized for use as critical
18 // components in life support devices or systems without express written approval of
19 // NVIDIA Corporation.
20 //
21 // Copyright (c) 2017 NVIDIA Corporation. All rights reserved.
22 //
23 // NVIDIA Corporation and its licensors retain all intellectual property and proprietary
24 // rights in and to this software and related documentation and any modifications thereto.
25 // Any use, reproduction, disclosure or distribution of this software and related
26 // documentation without an express license agreement from NVIDIA Corporation is
27 // strictly prohibited.
28 //
30 
51 #ifndef DW_SENSORS_PLUGINS_LIDAR_DECODER_H__
52 #define DW_SENSORS_PLUGINS_LIDAR_DECODER_H__
53 
54 #include <dw/core/Types.h>
55 #include <dw/sensors/lidar/Lidar.h>
56 
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60 
62 typedef struct {
65 
67  size_t headerSize;
68 
72 
79  dwStatus _dwLidarDecoder_initialize(const float32_t spinFrequency);
80 
88 
98 
112  const uint8_t *buffer,
113  const size_t length,
114  const dwLidarDecodeFormat decodeType);
115 
126 dwStatus _dwLidarDecoder_synchronize(const uint8_t *buffer,
127  const size_t length,
128  size_t *remaining);
129 
140 dwStatus _dwLidarDecoder_validatePacket(const uint8_t *buffer,
141  const size_t length);
142 
145 #ifdef __cplusplus
146 }
147 #endif
148 
149 #endif
dwStatus _dwLidarDecoder_release()
Releases the lidar decoder interface.
NVIDIA DriveWorks API: Core Types
float float32_t
Specifies POD types.
Definition: Types.h:77
Holds constants for a given lidar.
Definition: LidarDecoder.h:62
NVIDIA DriveWorks API: Lidar
dwStatus _dwLidarDecoder_initialize(const float32_t spinFrequency)
Initializes the lidar decoder interface.
dwStatus _dwLidarDecoder_validatePacket(const uint8_t *buffer, const size_t length)
Determines whether a byte array of packet data is valid.
dwStatus
Status definition.
Definition: Status.h:167
dwStatus _dwLidarDecoder_getConstants(_dwLidarDecoder_constants *constants)
Gets constants associated with this lidar sensor.
dwLidarDecodeFormat
Definition: Lidar.h:103
size_t headerSize
Packet header size, in bytes.
Definition: LidarDecoder.h:67
dwStatus _dwLidarDecoder_synchronize(const uint8_t *buffer, const size_t length, size_t *remaining)
Determines whether a byte array of packet data has a valid lidar signature.
size_t maxPayloadSize
Packet max payload size, in bytes.
Definition: LidarDecoder.h:70
dwStatus _dwLidarDecoder_decodePacket(dwLidarDecodedPacket *output, const uint8_t *buffer, const size_t length, const dwLidarDecodeFormat decodeType)
Decodes a packet from the lidar, given a raw byte array and a specified decoding format.
dwLidarProperties properties
Radar properties.
Definition: LidarDecoder.h:64