45 #ifndef DW_SENSORS_SENSORMANAGER_H_ 46 #define DW_SENSORS_SENSORMANAGER_H_ 64 #define DW_SENSORMANGER_MAX_CAMERAS 64U 67 #define DW_SENSORMANGER_MAX_CAMERAS 16U 69 #define DW_SENSORMANGER_MAX_NUM_SENSORS 64U 252 dwSensorManagerHandle_t sm);
278 dwSensorManagerHandle_t sm);
334 dwSensorManagerHandle_t sm);
350 dwSensorManagerHandle_t sm);
408 uint32_t sensorTypeIndex, dwSensorManagerHandle_t sm);
425 uint32_t sensorIndex, dwSensorManagerHandle_t sm);
459 #endif // DW_SENSORS_SENSORMANAGER_H_ dwDispatcherParams dispatcherParams
Parameters to configure dispatcher mode.
DW_API_PUBLIC dwStatus dwSensorManager_setDispatcher(dwSensorManagerDispatcher_t dispatchPtr, void *const cookie, dwSensorManagerHandle_t sm)
Sets sensor's dispatcher function when the feature is turned on.
Holds sets of parameters for sensor creation.
Defines the structure for a complete radar scan.
NVIDIA DriveWorks API: Rig Configuration
NVIDIA DriveWorks API: Radar
DW_API_PUBLIC dwStatus dwSensorManager_reset(dwSensorManagerHandle_t sm)
Resets all sensors.
uint32_t sensorIndex
The index of the sensor as defined by the order in which it was created.
NVIDIA DriveWorks API: Lidar
const dwRadarScan * radFrame
NVIDIA DriveWorks API: Cameras
dwSensorType
Defines the type of sensors that are available in DriveWorks.
#define DW_SENSORMANGER_MAX_NUM_SENSORS
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.
DW_API_PUBLIC dwStatus dwSensorManager_start(dwSensorManagerHandle_t sm)
Starts all sensors.
DW_API_PUBLIC dwStatus dwSensorManager_getSensorHandle(dwSensorHandle_t *handle, uint32_t sensorIndex, dwSensorManagerHandle_t sm)
Gets the sensor handle to the specified sensor.
void(* dwSensorManagerDispatcher_t)(const dwSensorEvent *, void *, dwStatus)
uint32_t numEnableSensors
Number of entries in the 'enableSensors' list.
Structure for returning data upon any sensor event.
DW_API_PUBLIC dwStatus dwSensorManager_addSensor(dwSensorParams params, uint64_t clientData, dwSensorManagerHandle_t sm)
Adds a sensor to the SAL instance.
uint32_t numCamFrames
Data accessor for camera.
struct _dwUltrasonicEnvelope dwUltrasonicEnvelope
Not available as of current release. Will be added in future releases.
struct dwSensorManagerObject * dwSensorManagerHandle_t
NVIDIA DriveWorks API: Data
DW_API_PUBLIC dwStatus dwSensorManager_getNumSensors(uint32_t *count, dwSensorType type, dwSensorManagerHandle_t sm)
Gets the number of sensors instantiated for a given sensor type.
DW_API_PUBLIC dwStatus dwSensorManager_getSensorClientData(uint64_t *cd, uint32_t sensorIndex, dwSensorManagerHandle_t sm)
Gets sensor's clientData.
dwTime_t timestamp_us
Timestamp (us)
dwTime_t camFramesTimeDiffLimit
Up to how much can timstamps of camera frames accumulated in a single event differ.
DW_API_PUBLIC dwStatus dwSensorManager_stop(dwSensorManagerHandle_t sm)
Stops all sensors.
DW_API_PUBLIC dwStatus dwSensorManager_setTimeout(dwTime_t timeout, dwSensorManagerHandle_t sm)
Sets the timeout to wait for a new frame across all sensors.
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor.
dwStatus
Status definition.
NVIDIA DriveWorks API: Sensors
const dwLidarDecodedPacket * lidFrame
const dwDataPacket * dataFrame
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...
DW_API_PUBLIC dwStatus dwSensorManager_releaseAcquiredEvent(const dwSensorEvent *ev, dwSensorManagerHandle_t sm)
Releases a previously acquired event back to the pool.
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
DW_API_PUBLIC dwStatus dwSensorManager_initialize(dwSensorManagerHandle_t *sm, size_t poolSize, dwSALHandle_t const sal)
Creates and initializes a SensorManager module.
An IMU frame containing sensor readings from the IMU sensor.
bool accumCamFrames
Whether Dispatcher shall accumulated frames from all cameras into a single event. ...
struct dwSALObject * dwSALHandle_t
Handle representing the Sensor Abstraction Layer interface.
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.
DW_API_PUBLIC dwStatus dwSensorManager_initializeFromRig(dwSensorManagerHandle_t *sm, dwRigHandle_t rc, size_t poolSize, dwSALHandle_t sal)
Creates and initializes a SensorManager module, adding all sensors in the provided Rig Configuration...
NVIDIA DriveWorks API: GPS
NVIDIA DriveWorks API: CAN
DW_API_PUBLIC dwStatus dwSensorManager_getSensorIndex(uint32_t *sensorIndex, dwSensorType type, uint32_t sensorTypeIndex, dwSensorManagerHandle_t sm)
Gets sensor's index.
#define DW_SENSORMANGER_MAX_CAMERAS
dwGPSFrame gpsFrame
Data accessor for all other sensors.
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.
struct dwCameraFrame * dwCameraFrameHandle_t
Handle to captured frame.
DW_API_PUBLIC dwStatus dwSensorManager_initializeFromRigWithParams(dwSensorManagerHandle_t *sm, dwRigHandle_t const 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...
dwTime_t timeout
Timeout value to be used in dispatcher mode for virtual files.
bool singleVirtualCameraGroup
Whether to associate virtual cameras to individual 'camera-group's (default), or to a single 'camera-...
DW_API_PUBLIC dwStatus dwSensorManager_release(dwSensorManagerHandle_t sm)
Releases the SensorManager module.
const dwUltrasonicEnvelope * ultrasonicFrame
NVIDIA DriveWorks API: IMU
dwSensorType type
Type of sensor providing data for this event.
A GPS packet containing localization information.
struct dwRigObject * dwRigHandle_t
Handle representing the Rig interface.