DriveWorks SDK Reference
4.0.0 Release
For Test and Development only

Ultrasonic.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) 2020-2021 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 
46 #ifndef DW_SENSORS_ULTRASONIC_ULTRASONIC_H_
47 #define DW_SENSORS_ULTRASONIC_ULTRASONIC_H_
48 
49 #include <dw/core/base/Types.h>
50 #include <dw/sensors/Sensors.h>
51 
52 #ifdef __cplusplus
53 extern "C" {
54 #endif
55 
57 #define DW_ULTRASONIC_MAX_SAMPLE_SIZE 320
58 
60 #define DW_ULTRASONIC_MAX_NUM_SENSORS 12
61 
63 #define DW_ULTRASONIC_MAX_NUM_SIGNAL_WAYS 32
64 
68 {
71 
74 
77 
81 
92 
97 
100 
104 
107 typedef struct _dwUltrasonicEnvelope
108 {
110  uint32_t cycleCount;
111 
114 
117 
120  uint32_t txSensorId;
121 
124  uint32_t rxSensorId;
125 
128 
131 
134 
137 
140 
143 
147 
150 
153 
156 
159 
161  int32_t temperature;
163 
166 {
168  uint32_t versionId[3];
169 
171  uint32_t numSensors;
172 
175 
178 
181 
184 
187 
189  uint32_t fwVersion[3];
191 
211  dwTime_t timeout_us,
212  dwSensorHandle_t sensor);
213 
229 
245 dwStatus dwSensorUltrasonic_processRawData(uint8_t const* data, size_t size, dwSensorHandle_t sensor);
246 
259 
272 
284 
296 
308 
309 #ifdef __cplusplus
310 }
311 #endif
312 
313 #endif // DW_SENSORS_ULTRASONIC_ULTRASONIC_H_
NVIDIA DriveWorks API: Core Types
uint32_t numSensors
Number of physical sensors installed in the system.
Definition: Ultrasonic.h:171
dwUltrasonicNearRangeDetectionStatus nearRangeDetectionStatus
Indicator of near range detection out put status.
Definition: Ultrasonic.h:142
float float32_t
Specifies POD types.
Definition: Types.h:70
uint32_t cycleCount
Cycle counter of packet received by the host.
Definition: Ultrasonic.h:110
DW_API_PUBLIC dwStatus dwSensorUltrasonic_setTemperature(float32_t const temperature, dwSensorHandle_t sensor)
Sets the environment temperature to be used in temperature compensation of the incoming data...
Defines a three-element floating-point vector.
Definition: Types.h:319
dwUltrasonicMeasurementMode
Measurement modes that define the transmission frequencies and firing patterns.
Definition: Ultrasonic.h:83
dwTime_t hostTimestamp
Timestamp when the data was received by the host [us].
Definition: Ultrasonic.h:113
int32_t temperature
Temperature reported by ultrasonic sensor [C].
Definition: Ultrasonic.h:161
#define DW_ULTRASONIC_MAX_SAMPLE_SIZE
The maximum envelope sample array size of any vendor, to allow compile time declarations.
Definition: Ultrasonic.h:57
struct _dwUltrasonicEnvelope dwUltrasonicEnvelope
Not available as of current release. Will be added in future releases.
Definition: SensorManager.h:74
Near range detection algorithm is active but does not sense any obstacles.
Definition: Ultrasonic.h:99
DW_API_PUBLIC dwStatus dwSensorUltrasonic_enableDecoding(dwSensorHandle_t sensor)
Enables the decoding of the Ultrasonic envelopes, which incurs an additional CPU load.
Near range detection algorithm is active and providing range information.
Definition: Ultrasonic.h:102
float32_t verticalFoV
Vertical FoV relative to the sensor for standard target conditions [radians].
Definition: Ultrasonic.h:79
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor.
Definition: Sensors.h:84
Near range detection algorithm is not providing results.
Definition: Ultrasonic.h:96
dwStatus
Status definition.
Definition: Status.h:180
NVIDIA DriveWorks API: Sensors
#define DW_ULTRASONIC_MAX_NUM_SENSORS
The maximum number of sensors of any vendor, to allow compile time declarations.
Definition: Ultrasonic.h:60
uint32_t rxSensorId
ID of the sensor that received the echo.
Definition: Ultrasonic.h:124
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: Types.h:82
float32_t sampleTimeInterval
Sensor sample rate [seconds].
Definition: Ultrasonic.h:180
float32_t rxFrequency
Center frequency of the received signal [Hz].
Definition: Ultrasonic.h:130
uint32_t txSensorId
ID of the sensor that transmitted the signal.
Definition: Ultrasonic.h:120
uint32_t numAmplitudeSamples
Number of valid amplitude samples in the data.
Definition: Ultrasonic.h:152
Data structure containing all relevant information about a single envelope measurement Not available ...
Definition: Ultrasonic.h:107
dwVector3f angles[DW_ULTRASONIC_MAX_NUM_SENSORS]
Roll, pitch, yaw Euler angles of each individual sensor [radians].
Definition: Ultrasonic.h:73
uint32_t maxRawSizeInBytes
Maximum size of Ultrasonic data payload.
Definition: Ultrasonic.h:177
DW_API_PUBLIC dwStatus dwSensorUltrasonic_isDecodingEnabled(bool *enable, dwSensorHandle_t sensor)
Retrieves the state of packet decoding.
dwUltrasonicMeasurementMode measurementMode
Operating mode of the ultrasonic system during this measurement.
Definition: Ultrasonic.h:133
float32_t nearRangeDistance
Separate estimation of a near range detection&#39;s distance [m].
Definition: Ultrasonic.h:146
DW_API_PUBLIC dwStatus dwSensorUltrasonic_disableDecoding(dwSensorHandle_t sensor)
Disable the decoding of the Ultrasonic envelopes, which frees additional CPU load.
DW_API_PUBLIC dwStatus dwSensorUltrasonic_returnEnvelope(dwUltrasonicEnvelope const *envelope, dwSensorHandle_t sensor)
Returns the Ultrasonic envelope to the internal pool.
Contextual information of the ultrasonic sensors currently used.
Definition: Ultrasonic.h:165
float32_t txFrequency
Center frequency of the transmitted signal [Hz].
Definition: Ultrasonic.h:127
Set of mounting parameters for each sensor.
Definition: Ultrasonic.h:67
float32_t horizontalFoV
Horizontal FoV for standard target conditions [radians].
Definition: Ultrasonic.h:183
DW_API_PUBLIC dwStatus dwSensorUltrasonic_readEnvelope(dwUltrasonicEnvelope const **envelope, dwTime_t timeout_us, dwSensorHandle_t sensor)
Reads a Ultrasonic envelope.
dwUltrasonicNearRangeDetectionStatus
Status to indicate whether the ultrasonic system could estimate a near range detection or not...
Definition: Ultrasonic.h:94
uint32_t maxNumAmplitudeSamples
Maximum number of valid amplitude samples in the data.
Definition: Ultrasonic.h:149
uint32_t maxNumSignalWays
Maximum number of signal ways that report data in one measurement cycle.
Definition: Ultrasonic.h:174
float32_t verticalFoV
Vertical FoV for standard target conditions [radians].
Definition: Ultrasonic.h:186
dwVector3f coordinates[DW_ULTRASONIC_MAX_NUM_SENSORS]
X,Y,Z translation of each individual sensor [m].
Definition: Ultrasonic.h:70
#define DW_API_PUBLIC
Definition: Exports.h:54
float32_t distanceInterval
Fixed distance interval between amplitude samples [m].
Definition: Ultrasonic.h:139
dwTime_t sensorTimestamp
Timestamp when the data was updated on the sensor [us].
Definition: Ultrasonic.h:116
float32_t reverberationPeriod
Period of the reverberation decay [ns].
Definition: Ultrasonic.h:136
float32_t horizontalFoV
Horizontal FoV relative to sensor for standard target conditions [radians].
Definition: Ultrasonic.h:76
float32_t speed
Vehicle speed reported by ultrasonic sensor [km/h].
Definition: Ultrasonic.h:158
DW_API_PUBLIC dwStatus dwSensorUltrasonic_processRawData(uint8_t const *data, size_t size, dwSensorHandle_t sensor)
Reads the Ultrasonic envelope from raw data.
DW_API_PUBLIC dwStatus dwSensorUltrasonic_getProperties(dwUltrasonicProperties *properties, dwSensorHandle_t sensor)
Gets information about the Ultrasonic sensor.