DriveWorks SDK Reference
4.0.0 Release
For Test and Development only

VehicleIO.h File Reference

Detailed Description

NVIDIA DriveWorks API: VehicleIO car controller

Description: API to access car controller box

Definition in file VehicleIO.h.

Go to the source code of this file.

Data Structures

struct  dwStateValueFloat
 Generic state field structure capturing data validity and timestamp. More...
 
struct  dwVehicleIOAxleStatus
 
struct  dwVehicleIOCapabilities
 VehicleIO Capabilities. More...
 
struct  dwVehicleIOCapabilityState
 The capability state data. More...
 
struct  dwVehicleIOCommand
 The command data. More...
 
struct  dwVehicleIOMiscCommand
 
struct  dwVehicleIOState
 The state data. More...
 
struct  dwVehicleIOTrailerState
 

Macros

#define DW_VEHICLEIO_SPEED_LUT_MAX_ENTRIES   50
 

Typedefs

typedef struct dwVehicleIOObject * dwVehicleIOHandle_t
 

Enumerations

enum  dwVehicleIOAEBState {
  DW_VEHICLEIO_AEB_STATE_UNKNOWN = 0,
  DW_VEHICLEIO_AEB_STATE_OFF = 1,
  DW_VEHICLEIO_AEB_STATE_READY = 2
}
 
enum  dwVehicleIOBSMRequest {
  DW_VEHICLEIO_BSM_REQUEST_UNKNOWN = 0,
  DW_VEHICLEIO_BSM_REQUEST_NONE = 1,
  DW_VEHICLEIO_BSM_REQUEST_CONTINUOUS = 2,
  DW_VEHICLEIO_BSM_REQUEST_FLASHING = 3
}
 
enum  dwVehicleIOCDWRequestType {
  DW_VEHICLEIO_CDW_REQUEST_NONE = 0,
  DW_VEHICLEIO_CDW_REQUEST_LEVEL_1 = 1,
  DW_VEHICLEIO_CDW_REQUEST_LEVEL_2 = 2
}
 
enum  dwVehicleIODoorLock {
  DW_VEHICLEIO_DOOR_UNKNOWN = 0,
  DW_VEHICLEIO_DOOR_UNLOCK = 1,
  DW_VEHICLEIO_DOOR_LOCK = 2
}
 
enum  dwVehicleIODrivingMode {
  DW_VEHICLEIO_DRIVING_LIMITED = 0x000,
  DW_VEHICLEIO_DRIVING_LIMITED_ND = 0x100,
  DW_VEHICLEIO_DRIVING_COLLISION_AVOIDANCE = 0x200,
  DW_VEHICLEIO_DRIVING_NO_SAFETY = 0x300,
  DW_VEHICLEIO_DRIVING_MODE_INVALID = 0x400
}
 
enum  dwVehicleIOFaults {
  DW_VEHICLEIO_FAULT_NONE = 0,
  DW_VEHICLEIO_FAULT_BRAKE = 1 << 0,
  DW_VEHICLEIO_FAULT_STEERING = 1 << 1,
  DW_VEHICLEIO_FAULT_THROTTLE = 1 << 2,
  DW_VEHICLEIO_FAULT_GEAR = 1 << 3,
  DW_VEHICLEIO_FAULT_SAFETY = 1 << 4,
  DW_VEHICLEIO_FAULT_MAX = UINT32_MAX
}
 
enum  dwVehicleIOFCWState {
  DW_VEHICLEIO_FCW_STATE_UNKNOWN = 0,
  DW_VEHICLEIO_FCW_STATE_OFF = 1,
  DW_VEHICLEIO_FCW_STATE_READY = 2
}
 
enum  dwVehicleIOGear {
  DW_VEHICLEIO_GEAR_UNKNOWN = 0,
  DW_VEHICLEIO_GEAR_PARK = 1,
  DW_VEHICLEIO_GEAR_REVERSE = 2,
  DW_VEHICLEIO_GEAR_NEUTRAL = 3,
  DW_VEHICLEIO_GEAR_DRIVE = 4,
  DW_VEHICLEIO_GEAR_LOW = 5,
  DW_VEHICLEIO_GEAR_MANUAL_REVERSE = 100,
  DW_VEHICLEIO_GEAR_1 = 101,
  DW_VEHICLEIO_GEAR_2 = 102,
  DW_VEHICLEIO_GEAR_3 = 103,
  DW_VEHICLEIO_GEAR_4 = 104,
  DW_VEHICLEIO_GEAR_5 = 105,
  DW_VEHICLEIO_GEAR_6 = 106,
  DW_VEHICLEIO_GEAR_7 = 107,
  DW_VEHICLEIO_GEAR_8 = 108,
  DW_VEHICLEIO_GEAR_9 = 109
}
 
enum  dwVehicleIOHeadlights {
  DW_VEHICLEIO_HEADLIGHTS_UNKNOWN = 0,
  DW_VEHICLEIO_HEADLIGHTS_OFF = 1,
  DW_VEHICLEIO_HEADLIGHTS_LOW_BEAM = 2,
  DW_VEHICLEIO_HEADLIGHTS_HIGH_BEAM = 3,
  DW_VEHICLEIO_HEADLIGHTS_DRL = 4
}
 
enum  dwVehicleIOLaneDepartureWarningSide {
  DW_VIO_LANE_DEPARTURE_WARNING_SIDE_NONE = 0,
  DW_VIO_LANE_DEPARTURE_WARNING_SIDE_LEFT = 1,
  DW_VIO_LANE_DEPARTURE_WARNING_SIDE_RIGHT = 2,
  DW_VIO_LANE_DEPARTURE_WARNING_SIDE_COUNT
}
 Driveworks LDW sides with respect to the ego lane. More...
 
enum  dwVehicleIOLaneDepartureWarningState {
  DW_VIO_LANE_DEPARTURE_WARNING_STATE_OFF = 0,
  DW_VIO_LANE_DEPARTURE_WARNING_STATE_ON = 1,
  DW_VIO_LANE_DEPARTURE_WARNING_STATE_COUNT
}
 Driveworks Lane Departure Warning (LDW) activation states. More...
 
enum  dwVehicleIOLateralActuatorInterface {
  DW_VEHICLEIO_LATERAL_ACTUATOR_UNKNOWN = 0,
  DW_VEHICLEIO_LATERAL_STEERING_WHEEL_ANGLE = 1,
  DW_VEHICLEIO_LATERAL_FRONT_WHEEL_ANGLE = 2,
  DW_VEHICLEIO_LATERAL_CURVATURE = 3
}
 
enum  dwVehicleIOLatMode {
  DW_VEHICLEIO_LAT_MODE_UNKNOWN = 0,
  DW_VEHICLEIO_LAT_MODE_IDLE = 1,
  DW_VEHICLEIO_LAT_MODE_L2 = 2,
  DW_VEHICLEIO_LAT_MODE_L3 = 3,
  DW_VEHICLEIO_LAT_MODE_PARK = 4,
  DW_VEHICLEIO_LAT_MODE_LSS = 5
}
 
enum  dwVehicleIOLonMode {
  DW_VEHICLEIO_LON_MODE_UNKNOWN = 0,
  DW_VEHICLEIO_LON_MODE_IDLE = 1,
  DW_VEHICLEIO_LON_MODE_PARK = 2,
  DW_VEHICLEIO_LON_MODE_CA = 3,
  DW_VEHICLEIO_LON_MODE_DRIVE_L2 = 4,
  DW_VEHICLEIO_LON_MODE_DRIVE_L3 = 5
}
 
enum  dwVehicleIOMirror {
  DW_VEHICLEIO_MIRROR_UNKNOWN = 0,
  DW_VEHICLEIO_MIRROR_FOLD = 1,
  DW_VEHICLEIO_MIRROR_UNFOLD = 2,
  DW_VEHICLEIO_MIRROR_ADJUST_LEFT = 3,
  DW_VEHICLEIO_MIRROR_ADJUST_RIGHT = 4
}
 
enum  dwVehicleIOMoonroof {
  DW_VEHICLEIO_MOONROOF_UNKNOWN = 0,
  DW_VEHICLEIO_MOONROOF_CLOSE = 1,
  DW_VEHICLEIO_MOONROOF_OPEN = 2
}
 
enum  dwVehicleIOOverrides {
  DW_VEHICLEIO_OVERRIDE_NONE = 0,
  DW_VEHICLEIO_OVERRIDE_BRAKE = 1 << 0,
  DW_VEHICLEIO_OVERRIDE_STEERING = 1 << 1,
  DW_VEHICLEIO_OVERRIDE_THROTTLE = 1 << 2,
  DW_VEHICLEIO_OVERRIDE_GEAR = 1 << 3,
  DW_VEHICLEIO_OVERRIDE_MAX = UINT32_MAX
}
 
enum  dwVehicleIOSignalQuality {
  DW_VEHICLEIO_SIGNAL_QUALITY_NOT_OK = 0,
  DW_VEHICLEIO_SIGNAL_QUALITY_OK = 1
}
 
enum  dwVehicleIOTrailerConnectedStatus {
  DW_VEHICLEIO_TRAILER_CONNECTED_UNKNOWN = 0,
  DW_VEHICLEIO_TRAILER_CONNECTED_NO = 1,
  DW_VEHICLEIO_TRAILER_CONNECTED_YES = 2,
  DW_VEHICLEIO_TRAILER_CONNECTED_ERROR = 3
}
 
enum  dwVehicleIOTurnSignal {
  DW_VEHICLEIO_TURNSIGNAL_UNKNOWN = 0,
  DW_VEHICLEIO_TURNSIGNAL_OFF = 1,
  DW_VEHICLEIO_TURNSIGNAL_LEFT = 2,
  DW_VEHICLEIO_TURNSIGNAL_RIGHT = 3,
  DW_VEHICLEIO_TURNSIGNAL_EMERGENCY = 4
}
 
enum  dwVehicleIOType {
  DW_VEHICLEIO_DATASPEED = 0,
  DW_VEHICLEIO_GENERIC = 1,
  DW_VEHICLEIO_CUSTOM = 2,
  DW_VEHICLEIO_DRIVER_COUNT = 3
}
 

Functions

DW_API_PUBLIC dwStatus dwVehicleIO_addCANSensor (uint32_t const vehicleIOId, dwSensorHandle_t const sensorHandle, dwVehicleIOHandle_t const obj)
 Add CAN sensor handle and corresponding VehicleIO configuration ID. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_addDataSensor (uint32_t const vehicleIOId, dwSensorHandle_t const sensorHandle, dwVehicleIOHandle_t const obj)
 Add data sensor handle and corresponding VehicleIO configuration ID. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_consumeCANFrame (dwCANMessage const *const msg, uint32_t const sensorId, dwVehicleIOHandle_t const obj)
 Parse a received event. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_consumeDataPacket (const dwDataPacket *const pkt, uint32_t const sensorId, dwVehicleIOHandle_t const obj)
 Similar to dwVehicleIO_consumeCANFrame. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_getCapabilities (dwVehicleIOCapabilities *const caps, dwVehicleIOHandle_t const obj)
 Retrieve current VehicleIO capabilities. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_getVehicleState (dwVehicleIOState *const state, dwVehicleIOHandle_t const obj)
 Retrieve current vehicle state. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_initialize (dwVehicleIOHandle_t *const obj, dwVehicleIOType const type, const dwVehicle *const properties, dwContextHandle_t const ctx)
 Initialize VehicleIO and prepare all internal structures. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_initializeFromDBC (dwVehicleIOHandle_t *const obj, dwVehicleIOType const type, const dwVehicle *const properties, const char *const dbcFilePath, dwContextHandle_t const ctx)
 Initialize VehicleIO and prepare all internal structures from DBC File. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_initializeFromRig (dwVehicleIOHandle_t *const obj, dwConstRigHandle_t const rig, dwContextHandle_t const ctx)
 Initialize VehicleIO and prepare all internal structures from Rig Configuration. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_release (dwVehicleIOHandle_t const obj)
 Release used memory and close all modules. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_reset (dwVehicleIOHandle_t const obj)
 Reset VehicleIO to default state. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_selectDriverOverrides (bool const throttleOverride, bool const steeringOverride, bool const brakeOverride, bool const gearOverride, dwVehicleIOHandle_t const obj)
 Select the overrides that the driver can use to disable vehicle control. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_sendCommand (const dwVehicleIOCommand *const cmd, dwVehicleIOHandle_t const obj)
 Send a vehicle command to the VehicleIO. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_sendMiscCommand (const dwVehicleIOMiscCommand *const cmd, dwVehicleIOHandle_t const obj)
 Send a vehicle command to the VehicleIO. More...
 
DW_API_PUBLIC dwStatus dwVehicleIO_setDrivingMode (dwVehicleIODrivingMode const mode, dwVehicleIOHandle_t const obj)
 Setting driving mode allows to control the behaviour of VehicleIO module with regards to the permitted commands and number of safety checks performed. More...