DriveWorks SDK Reference
4.0.0 Release
For Test and Development only

Porting Guide from SDK 3.5 to SDK 4.0

This document will help you port your applications from DriveWorks SDK 3.5 to DriveWorks SDK 4.0.


Installation

DriveWorks main library was split into a collection of smaller libraries providing a subset of DriveWorks APIs to link against. Every user end application or library would need to link against a particular libdw_<module>.so library instead, to gain access to the API subset.


Calibration

Following APIs have been modified:

  • dwCalibrationEngine_addFeatureDetections additionally takes feature statuses as an input
  • dwCalibrationEngine_initializeStereo additionally takes the vehicle sensor index as an input and allows to perform calibration at low speeds

Camera Models

  • The parameter updateMasks was removed from dwCameraModel_applyImageTransform().
  • The OCam camera model is deprecated and will not be supported anymore in future releases. The FTheta camera model can be used instead.

Egomotion

  • The dwEgomotion_getHistoryElement API signature has been changed. The function no longer provides pointers into the egomotion history, instead a copy of the requested element is provided.
  • The deprecated enum values DW_EGOMOTION_MEASURMENT_VELOCITY, DW_EGOMOTION_MEASURMENT_STEERINGANGLE and DW_EGOMOTION_MEASURMENT_STEERINGWHEELANGLE are removed from dwMotionModelMeasurement.
  • The dwEgomotion_addOdometry API has been deprecated. Use dwEgomotion_addVehicleState going forward.
  • The dwEgomotion_update API has been deprecated. Please set dwEgomotionParameters.automaticUpdate to true. This setting will become the default behavior in an upcoming release, at which point dwEgomotion_update will be removed.

Sensors


Sensors Camera

The parameter siblingId in dwSensorCamera_readFrame has been removed. This is due to the fact each instance of a camera is a unit, resulting in no sibling logic anymore.


Sensor Serializer

This release removed the following APIs:

  • dwSensorSerializer_attachTo
  • dwSensorSerializer_isAttached
  • dwSensorSerializer_detachFrom

Previously, each SensorSerializer instance was capable of serializing data from multiple sensors, and the APIs above relates to that specific functionality. Such functionality will be removed and each instance of SensorSerializer will only handle data from one sensor. If the users want to serialize data from multiple sensors, it is necessary to create multiple instance of SensorSerializer


CAN Bus

This release can be used with update Aurix Firmware. Hardware timestamping and is not available with Aurix firmware version 4.0 and above. CAN data size limit is 8 bytes with Aurix firmware version 4.0 and above.


DNN Framework


Data Conditioner

The data conditioner initializer dwDataConditioner_initialize() will be deprecated and replaced with dwDataConditioner_initializeNew(). The new API has an additional parameter that allows setting the maximum number of images that can be processed in one prepareData() call. Previously the number was taken from the batch size of the model passed in to dwDataConditioner_initialize().


DNN Tensors

This release has removed the following previously deprecated APIs:

  • dwDNNTensor_create

and renamed:

  • dwDNNTensor_createNew to dwDNNTensor_create

Image Processing


Feature2DDetector

This release has removed the following previously deprecated APIs:

  • dwFeature2DDetectorConfig
  • dwFeature2DDetector_initDefaultParams
  • dwFeature2DDetector_initDefaultParamsForCamera
  • dwFeature2DDetector_initialize

and renamed:

  • dwFeature2DDetectorConfigNew to dwFeature2DDetectorConfig
  • dwFeature2DDetector_initDefaultParamsNew to dwFeature2DDetector_initDefaultParams
  • dwFeature2DDetector_initDefaultParamsForCameraNew to dwFeature2DDetector_initDefaultParamsForCamera
  • dwFeature2DDetector_initializeNew to dwFeature2DDetector_initialize

Feature2DTracker

This release has removed the following previously deprecated APIs:

  • dwFeature2DTrackerConfig
  • dwFeature2DTracker_initDefaultParams
  • dwFeature2DTracker_initDefaultParamsForCamera
  • dwFeature2DTracker_initialize

and renamed:

  • dwFeature2DTrackerConfigNew to dwFeature2DTrackerConfig
  • dwFeature2DTracker_initDefaultParamsNew to dwFeature2DTracker_initDefaultParams
  • dwFeature2DTracker_initDefaultParamsForCameraNew to dwFeature2DTracker_initDefaultParamsForCamera
  • dwFeature2DTracker_initializeNew to dwFeature2DTracker_initialize

This release has removed DW_FEATURE2D_TRACKER_ALGORITHM_SFM from dwFeature2DTrackerAlgorithm, please use dwFeature2DTrackerConfigNew::enableSparseOutput=1 instead.

Following APIs have been modified:

Point Cloud Processing

This release moved the following headers:

VehicleIO

Following APIs have been modified:

  • dwVehicleIOCommand::accelerationValue has been replaced by dwVehicleIOCommand::lonAccelerationValue
  • dwVehicleIOCommand::accelerationValid has been replaced by dwVehicleIOCommand::lonAccelerationValid
  • dwVehicleIOCommand::speedValid was removed
  • dwVehicleIOType was updated to support only the core VehicleIO interfaces. dwVehicleIO_initialize and dwVehicleIO_initializeFromDBC should be replaced by dwVehicleIO_initializeFromRig if previous interface types are desired.

Core


Memory

This release moved the following headers:

Logger

This release moved the following headers:

Core System

This release moved the following headers:

Base

This release moved the following headers: