DriveWorks SDK Reference
5.4.5418 Release
For Test and Development only

SensorSerializer.h
Go to the documentation of this file.
1 //
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-2021 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_SENSORSERIALIZER_H_
48 #define DW_SENSORS_SENSORSERIALIZER_H_
49 
50 #include <dw/core/Config.h>
51 #include <dw/core/base/Exports.h>
52 #include <dw/core/base/Types.h>
54 
55 #include <dw/sensors/Sensors.h>
57 
58 #ifdef __cplusplus
59 extern "C" {
60 #endif
61 
67 typedef void (*dwSensorSerializerOnDataFunc_t)(const uint8_t* data, size_t size, void* userData);
68 
70 typedef struct dwSensorSerializerObject* dwSensorSerializerHandle_t;
71 
74 typedef struct dwSerializerParams
75 {
100 
103 
105  void* userData;
107 
125 dwStatus dwSensorSerializer_initialize(dwSensorSerializerHandle_t* const serializer,
126  dwSerializerParams const* const params,
127  dwSensorHandle_t const sensor);
128 
146 dwStatus dwSensorSerializer_release(dwSensorSerializerHandle_t const serializer);
147 
166 DW_DEPRECATED("This API is deprecated and will be removed in the next major release")
167 dwStatus dwSensorSerializer_attachTo(dwSensorSerializerHandle_t const serializer,
168  dwSensorSerializerHandle_t const masterSerializer);
169 
182 DW_DEPRECATED("This API is deprecated and will be removed in the next major release")
183 dwStatus dwSensorSerializer_isAttached(bool* const isAttached, dwSensorSerializerHandle_t const serializer);
184 
206 DW_DEPRECATED("This API is deprecated and will be removed in the next major release")
207 dwStatus dwSensorSerializer_detachFrom(dwSensorSerializerHandle_t const serializer,
208  dwSensorSerializerHandle_t const masterSerializer);
209 
225 dwStatus dwSensorSerializer_start(dwSensorSerializerHandle_t const serializer);
226 
239 dwStatus dwSensorSerializer_stop(dwSensorSerializerHandle_t const serializer);
240 
255 dwStatus dwSensorSerializer_serializeData(uint8_t const* const data, size_t const size,
256  dwSensorSerializerHandle_t const serializer);
257 
275 dwStatus dwSensorSerializer_serializeDataAsync(uint8_t const* const data, size_t const size,
276  dwSensorSerializerHandle_t const serializer);
277 
291 dwStatus
293  dwSensorSerializerHandle_t const serializer);
294 
308  dwSensorSerializerHandle_t const serializer);
309 
310 #ifdef __cplusplus
311 }
312 #endif
313 
315 #endif // DW_SENSORS_SENSORSERIALIZER_H_
NVIDIA DriveWorks API: Core Types
DW_API_PUBLIC dwStatus dwSensorSerializer_stop(dwSensorSerializerHandle_t const serializer)
Starts serialization of sensor.
NVIDIA DriveWorks API: Cameras
struct dwSensorSerializerObject * dwSensorSerializerHandle_t
Handle representing a sensor serializer.
DW_API_PUBLIC dwStatus dwSensorSerializer_start(dwSensorSerializerHandle_t const serializer)
Starts serialization of sensor.
dwSensorSerializerOnDataFunc_t onData
Callback executed by the serializer on new data available.
const char8_t * parameters
Array for additional parameters provided to sensor serializer creation.
Holds the parameters for sensor serializer creation.
void(* dwSensorSerializerOnDataFunc_t)(const uint8_t *data, size_t size, void *userData)
Callback type for getting data from sensor serializer.
DW_API_PUBLIC dwStatus dwSensorSerializer_isAttached(bool *const isAttached, dwSensorSerializerHandle_t const serializer)
Query method to check whether the serializer is attached to another.
DW_API_PUBLIC dwStatus dwSensorSerializer_release(dwSensorSerializerHandle_t const serializer)
Releases a sensor serializer.
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor.
Definition: Sensors.h:85
dwStatus
Status definition.
Definition: Status.h:180
NVIDIA DriveWorks API: Sensors
#define DW_DEPRECATED(msg)
Definition: Exports.h:66
void * userData
User data to be passed to the callback.
DW_API_PUBLIC dwStatus dwSensorSerializer_serializeCameraFrameAsync(dwCameraFrameHandle_t const frame, dwSensorSerializerHandle_t const serializer)
Pushes a camera frame to the serializer.
DW_API_PUBLIC dwStatus dwSensorSerializer_detachFrom(dwSensorSerializerHandle_t const serializer, dwSensorSerializerHandle_t const masterSerializer)
This method detaches the serializer previously attached with dwSensorSerializer_attachTo().
struct dwCameraFrame * dwCameraFrameHandle_t
Handle to captured frame.
Definition: Camera.h:70
NVIDIA DriveWorks API: Core Methods
char char8_t
Definition: Types.h:72
DW_API_PUBLIC dwStatus dwSensorSerializer_serializeCameraFrame(dwCameraFrameHandle_t const frame, dwSensorSerializerHandle_t const serializer)
Pushes a camera frame to the serializer.This method must only be used if &#39;dwSensorSerializer_start&#39; i...
DW_API_PUBLIC dwStatus dwSensorSerializer_serializeDataAsync(uint8_t const *const data, size_t const size, dwSensorSerializerHandle_t const serializer)
Pushes data to the serializer.
DW_API_PUBLIC dwStatus dwSensorSerializer_serializeData(uint8_t const *const data, size_t const size, dwSensorSerializerHandle_t const serializer)
Pushes data to the serializer.
#define DW_API_PUBLIC
Definition: Exports.h:54
DW_API_PUBLIC dwStatus dwSensorSerializer_attachTo(dwSensorSerializerHandle_t const serializer, dwSensorSerializerHandle_t const masterSerializer)
Starts and stops serialization of a sensor with a master serializer.
DW_API_PUBLIC dwStatus dwSensorSerializer_initialize(dwSensorSerializerHandle_t *const serializer, dwSerializerParams const *const params, dwSensorHandle_t const sensor)
Initializes a sensor serializer with the parameters provided.
NVIDIA DriveWorks API: Core Exports