DriveWorks SDK Reference
3.5.78 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  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...
 

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  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
}
 
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
}
 
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  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  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
}
 
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_SPACEDRIVE = 2,
  DW_VEHICLEIO_STARDRIVE = 3,
  DW_VEHICLEIO_CUSTOM = 4,
  DW_VEHICLEIO_AUDIHYPERION = 5,
  DW_VEHICLEIO_DRIVER_COUNT = 6
}
 

Functions

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