48 #ifndef DW_SENSORS_SENSORMANAGER_H_ 49 #define DW_SENSORS_SENSORMANAGER_H_ 65 #define DW_SENSORMANGER_MAX_CAMERAS 16U 66 #define DW_SENSORMANGER_MAX_NUM_SENSORS 64U 233 dwSensorManagerHandle_t sm);
257 dwSensorManagerHandle_t sm);
313 dwSensorManagerHandle_t sm);
329 dwSensorManagerHandle_t sm);
387 uint32_t sensorTypeIndex, dwSensorManagerHandle_t sm);
404 uint32_t sensorIndex, dwSensorManagerHandle_t sm);
426 #endif // DW_SENSORS_SENSORMANAGER_H_ dwDispatcherParams dispatcherParams
Parameters to configure dispatcher mode.
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.
DW_API_PUBLIC dwStatus dwSensorManager_setDispatcher(dwSensorManagerDispatcher_t dispatchPtr, void *cookie, dwSensorManagerHandle_t sm)
Sets sensor's dispatcher function when the feature is turned on.
struct dwSensorManagerObject * dwSensorManagerHandle_t
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.
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor.
dwStatus
Status definition.
NVIDIA DriveWorks API: Sensors
const dwLidarDecodedPacket * lidFrame
DW_API_PUBLIC dwStatus dwSensorManager_addCameraSensor(const char *groupName, uint32_t siblingIndex, dwSensorParams params, uint64_t clientData, dwSensorManagerHandle_t sm)
Adds a camera sensor to the SAL instance.
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_initializeFromRigWithParams(dwSensorManagerHandle_t *sm, dwRigHandle_t rc, const dwSensorManagerParams *params, size_t poolSize, dwSALHandle_t sal)
Creates and initializes a SensorManager module, adding enabled sensors in the provided Rig Configurat...
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.
struct dwCameraFrame * dwCameraFrameHandle_t
Handle to captured frame.
dwTime_t timeout
Timeout value to be used in dispatcher mode for virtual files.
DW_API_PUBLIC dwStatus dwSensorManager_initialize(dwSensorManagerHandle_t *sm, size_t poolSize, dwSALHandle_t sal)
Creates and initializes a SensorManager module.
DW_API_PUBLIC dwStatus dwSensorManager_release(dwSensorManagerHandle_t sm)
Releases the SensorManager module.
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 Sensor Abstraction Layer interface.