NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
LidarDecoder.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2017-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
20 #ifndef DW_SENSORS_PLUGINS_LIDAR_DECODER_H_
21 #define DW_SENSORS_PLUGINS_LIDAR_DECODER_H_
22 
31 #include <dw/core/base/Types.h>
32 #include <dw/sensors/lidar/Lidar.h>
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
39 typedef struct
40 {
43 
45  size_t headerSize;
46 
50 
57 dwStatus _dwLidarDecoder_initialize(const float32_t spinFrequency);
58 
66 
76 
89  const uint8_t* buffer,
90  const size_t length);
91 
102 dwStatus _dwLidarDecoder_synchronize(const uint8_t* buffer,
103  const size_t length,
104  size_t* remaining);
105 
116 dwStatus _dwLidarDecoder_validatePacket(const uint8_t* buffer,
117  const size_t length);
118 
121 #ifdef __cplusplus
122 }
123 #endif
124 
125 #endif
_dwLidarDecoder_decodePacket
dwStatus _dwLidarDecoder_decodePacket(dwLidarDecodedPacket *output, const uint8_t *buffer, const size_t length)
Decodes a packet from the lidar, given a raw byte array and a specified decoding format.
_dwLidarDecoder_release
dwStatus _dwLidarDecoder_release()
Releases the lidar decoder interface.
_dwLidarDecoder_constants
Holds constants for a given lidar.
Definition: LidarDecoder.h:39
_dwLidarDecoder_constants::headerSize
size_t headerSize
Packet header size, in bytes.
Definition: LidarDecoder.h:45
float32_t
float float32_t
Specifies POD types.
Definition: BasicTypes.h:41
_dwLidarDecoder_constants::maxPayloadSize
size_t maxPayloadSize
Packet max payload size, in bytes.
Definition: LidarDecoder.h:48
dwLidarDecodedPacket
Defines the structure for a decoded lidar packet.
Definition: LidarTypes.h:275
dwLidarProperties
Defines the properties of the lidar.
Definition: LidarTypes.h:194
_dwLidarDecoder_initialize
dwStatus _dwLidarDecoder_initialize(const float32_t spinFrequency)
Initializes the lidar decoder interface.
_dwLidarDecoder_synchronize
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.
_dwLidarDecoder_validatePacket
dwStatus _dwLidarDecoder_validatePacket(const uint8_t *buffer, const size_t length)
Determines whether a byte array of packet data is valid.
dwStatus
dwStatus
Status definition.
Definition: ErrorDefs.h:27
_dwLidarDecoder_constants::properties
dwLidarProperties properties
Radar properties.
Definition: LidarDecoder.h:42
_dwLidarDecoder_getConstants
dwStatus _dwLidarDecoder_getConstants(_dwLidarDecoder_constants *constants)
Gets constants associated with this lidar sensor.