|
NVIDIA DriveOS Linux NSR SDK API Reference
|
7.0.3.0 Release
|
Go to the documentation of this file.
27 #ifndef DW_SENSORS_SENSORMANAGER_H_
28 #define DW_SENSORS_SENSORMANAGER_H_
30 #include <dw/rig/Rig.h>
31 #include <dw/sensors/common/Sensors.h>
32 #include <dw/sensors/camera/Camera.h>
33 #include <dw/sensors/imu/IMU.h>
34 #include <dw/sensors/gps/GPS.h>
35 #include <dw/sensors/radar/Radar.h>
36 #include <dw/sensors/data/Data.h>
39 #include <dw/sensors/canbus/CANTypes.h>
42 #if !defined(DW_L2_BUILD) && !defined(DW_IS_SAFETY)
43 #include <dw/sensors/lidar/Lidar.h>
58 #if defined(DW_L2_BUILD) || defined(DW_IS_SAFETY)
542 #endif // DW_SENSORS_SENSORMANAGER_H_
dwTime_t timeout
Timeout value to be used in dispatcher mode for virtual files, in microsecond.
DW_API_PUBLIC dwStatus dwSensorManager_initialize(dwSensorManagerHandle_t *sm, size_t poolSize, dwSALHandle_t const sal)
Creates an instance of SensorManager module.
A GPS packet containing localization information.
DW_API_PUBLIC dwStatus dwSensorManager_reset(dwSensorManagerHandle_t sm)
Resets all sensors.
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor.
dwDispatcherParams dispatcherParams
Parameters to configure dispatcher mode.
DW_API_PUBLIC dwStatus dwSensorManager_stop(dwSensorManagerHandle_t sm)
Stops all sensors.
dwTime_t timestamp_us
Timestamp (us)
struct dwRigObject const * dwConstRigHandle_t
Handle representing the const Rig interface.
dwLidarDecodedPacket dwLidarDecodedPacket_t
Holds sets of parameters for sensor creation.
DW_API_PUBLIC dwStatus dwSensorManager_initializeFromRigWithParams(dwSensorManagerHandle_t *sm, dwConstRigHandle_t rc, const dwSensorManagerParams *params, size_t poolSize, dwSALHandle_t const sal)
Creates and initializes a SensorManager module, adding enabled sensors in the provided Rig Configurat...
DW_API_PUBLIC dwStatus dwSensorManager_addSensor(dwSensorParams params, uint64_t clientData, dwSensorManagerHandle_t sm)
Adds a sensor to the SAL instance and add it to SensorManager to manage it.
Parameters for sensor manager, used to create a sensor manager.
DW_API_PUBLIC dwStatus dwSensorManager_getSensorIndex(uint32_t *sensorIndex, dwSensorType type, uint32_t sensorTypeIndex, dwSensorManagerHandle_t sm)
Gets sensor's index according to the dwSensorType and the sensorTypeIndex.
bool singleVirtualCameraGroup
Whether to associate virtual cameras to individual 'camera-group's (default), or to a single 'camera-...
Parameters for dispatcher, used to define some behaviors of dispatcher.
const dwRadarScan * radFrame
Radar scan in this event.
const uint8_t * rawData
Raw data in this event.
DW_API_PUBLIC dwStatus dwSensorManager_release(dwSensorManagerHandle_t sm)
Releases the SensorManager module by deleting the handle.
Structure for returning data upon any sensor event.
dwTime_t camFramesTimeDiffLimit
Up to how much can timestamps of camera frames accumulated in a single event differ,...
Defines the structure for a complete radar scan.
const WFDCommitType const WFDHandle handle
@ DW_SENSOR_MANAGER_DATA_MODE_RAW
Sensor manager will read only raw data.
struct dwSensorManagerObject * dwSensorManagerHandle_t
Handle of sensor manager.
DW_API_PUBLIC dwStatus dwSensorManager_releaseAcquiredEvent(const dwSensorEvent *ev, dwSensorManagerHandle_t sm)
Releases a previously acquired event back to the pool.
struct dwCameraFrame * dwCameraFrameHandle_t
Handle to captured frame.
dwIMUFrame imuFrame
IMU frame in this event.
struct dwUltrasonicFrame dwUltrasonicFrame
dwGPSFrame gpsFrame
GPS frame in this event.
uint32_t numCamFrames
Data accessor for camera.
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
DW_API_PUBLIC dwStatus dwSensorManager_getSensorTypeIndex(uint32_t *sensorTypeIndex, dwSensorType *type, uint32_t sensorIndex, dwSensorManagerHandle_t sm)
Gets sensor's relative index and type based upon its sensor index.
dwSensorManagerDataMode
Data mode in this unit, which determines whether read raw data.
This structure contains one frame of data from a IMU sensor.
#define DW_SENSORMANGER_MAX_CAMERAS
Defines the structure for a decoded lidar packet.
void(* dwSensorManagerDispatcher_t)(const dwSensorEvent *, void *, dwStatus)
function pointer of sensormanager dispatcher.
struct dwUltrasonicEnvelope dwUltrasonicEnvelope
Not available as of current release. Will be added in future releases.
DW_API_PUBLIC dwStatus dwSensorManager_acquireNextEvent(const dwSensorEvent **ev, dwTime_t timeoutMicroSeconds, dwSensorManagerHandle_t sm)
Called by the application to consume the next available sensor event ready for consumption.
dwSensorType
Defines the type of sensors that are available in DriveWorks.
typedef void(WFD_APIENTRY PFNWFDBINDSOURCETOPIPELINEWITHTIMESTAMPNV)(const WFDDevice device
const dwUltrasonicFrame * ultrasonicFrame
Ultrasonic frame in this event.
DW_API_PUBLIC dwStatus dwSensorManager_setTimeout(dwTime_t timeout, dwSensorManagerHandle_t sm)
Sets the timeout to wait for a new frame across all sensors.
DW_API_PUBLIC dwStatus dwSensorManager_getSensorClientData(uint64_t *cd, uint32_t sensorIndex, dwSensorManagerHandle_t sm)
Gets sensor's clientData according to the assigned sensorIndex.
size_t rawDataSize
Raw data size in this event.
bool accumCamFrames
Whether Dispatcher shall accumulated frames from all cameras into a single event.
uint32_t sensorIndex
The index of the sensor as defined by the order in which it was created.
const dwLidarDecodedPacket_t * lidFrame
Lidar decoded packet in this event.
struct dwSALObject * dwSALHandle_t
Handle representing the Sensor Abstraction Layer interface.
@ DW_SENSOR_MANAGER_DATA_MODE_NON_RAW
Sensor manager doesn't read raw data, but just offer decoded packet for users.
uint32_t sensorTypeIndex
Index of the given sensor as defined by the order in which it was created and the type of sensor it i...
dwStatus
Status definition.
uint32_t numEnableSensors
Number of entries in the 'enableSensors' list.
#define DW_SENSORMANGER_MAX_NUM_SENSORS
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const params
DW_API_PUBLIC dwStatus dwSensorManager_addCameraSensor(const char8_t *groupName, uint32_t siblingIndex, dwSensorParams params, uint64_t clientData, dwSensorManagerHandle_t sm)
Adds a camera sensor to the SAL instance and add it to SensorManager to manage it.
const dwDataPacket * dataFrame
dwDataPacket(see reference 15) in this event.
DW_API_PUBLIC dwStatus dwSensorManager_getSensorHandle(dwSensorHandle_t *handle, uint32_t sensorIndex, dwSensorManagerHandle_t sm)
Gets the sensor handle to the specified sensor.
DW_API_PUBLIC dwStatus dwSensorManager_getNumSensors(uint32_t *count, dwSensorType type, dwSensorManagerHandle_t sm)
Gets the number of sensors in the SensorManager instantiated for a given sensor type.
DW_API_PUBLIC dwStatus dwSensorManager_start(dwSensorManagerHandle_t sm)
Starts all sensors.
dwSensorType type
Type of sensor providing data for this event.
DW_API_PUBLIC dwStatus dwSensorManager_initializeFromRig(dwSensorManagerHandle_t *sm, dwConstRigHandle_t rc, size_t poolSize, dwSALHandle_t sal)
Create and initialize a SensorManager module, adding all sensors in the provided Rig Configuration.
dwCANMessage canFrame
CAN message frame in this event.
DW_API_PUBLIC dwStatus dwSensorManager_setDispatcher(dwSensorManagerDispatcher_t dispatchPtr, void *const cookie, dwSensorManagerHandle_t sm)
Register sensor's dispatcher function when the feature is turned on.