48 #ifndef DW_VEHICLEIO_H_ 49 #define DW_VEHICLEIO_H_ 51 #include <dw/core/Config.h> 383 #define DW_VEHICLEIO_SPEED_LUT_MAX_ENTRIES 50 489 bool brakeOverride,
bool gearOverride,
490 dwVehicleIOHandle_t obj);
521 dwVehicleIOHandle_t obj);
535 dwVehicleIOHandle_t obj);
596 #endif // DW_VehicleIO_ACTUATORS_H_ bool buttonCruiseControlGapDecrement
uint8_t displayBrightnessValue
bool buttonCruiseControlOnOff
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 permitte...
dwVehicleIODoorLock doorLock
basic lock or unlock
bool buttonCruiseControlIncrement
NVIDIA DriveWorks API: Core Types
float float32_t
Specifies POD types.
NVIDIA DriveWorks API: Rig Configuration
bool buttonLaneAssistOnOff
bool gearValid
True if setting gear.
float32_t steeringCmd
Last acknowledged steering value from a command (-10.0 to 10.0 +- 0.01rad)
dwVehicleIODrivingMode drivingMode
bool buttonCruiseControlGapIncrement
DW_API_PUBLIC dwStatus dwVehicleIO_initializeFromRig(dwVehicleIOHandle_t *obj, dwRigHandle_t rig, dwContextHandle_t ctx)
Initialize VehicleIO and prepare all internal structures from Rig Configuration.
bool mirrorFoldValid
True if setting mirror un/fold.
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.
dwVehicleIOMirror mirrors
FOLD, UNFOLD, ADJUST_LEFT, ADJUST_RIGHT.
float32_t throttleValue
Current thottle value as requested by a driver (0..1 +- 0.01 fraction of max pedal depressed...
Defines a two-element single-precision floating-point vector.
bool mirrorAdjustValid
True if setting mirror adjustment.
bool decelerationValid
True if setting deceleration.
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.
int32_t steeringWheelAngleLUTSize
Size of the corresponding lookup table.
bool accelerationValid
True if setting acceleration.
dwTime_t longVelocityForwardMinTimestamp
dwVehicleIOFaults faults
Faults detected (0 = none)
float32_t brakeCmd
Last acknowledged brake value from a command (0..1 +- 0.01 fraction of max pedal depressed, unitless)
int32_t brakeValueLUTSize
Size of the corresponding lookup table.
float32_t speed
Signed norm of velocity vector.
uint64_t heartbeatCounter
VIO command heartbeat.
float32_t steeringWheelAngle
Steering wheel angle (-10.0 to 10.0 +- 0.01rad)
float32_t brakeTorqueActual
Actual applied brake torque value (Nm)
NVIDIA DriveWorks API: Core Methods
float32_t brakeTorqueRequested
Requested value of brake torque (Nm)
DW_API_PUBLIC dwStatus dwVehicleIO_release(dwVehicleIOHandle_t obj)
Release used memory and close all modules.
dwTime_t speedTimestamp
Time at which speed was updated.
int32_t steeringSpeedLUTSize
Size of the corresponding lookup table.
bool moonroofValid
True if setting moonroof movement.
float32_t rearAxleCurvature
Path curvature [1/m].
float32_t accelerationValue
acceleration m/s^2
float32_t throttleState
Throttle value in effect (0..1 +- 0.01 fraction of max pedal depressed, unitless) ...
dwVehicleIOGear gear
Desired gear: 0=UNKNOWN, 1=PARK, 2=REVERSE, 3=NEUTRAL, 4=DRIVE.
bool steeringValid
True if setting steering.
bool turnSigValid
True if setting turn signal.
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor.
bool fcwRequest
Request to activate FCW.
dwStatus
Status definition.
NVIDIA DriveWorks API: Sensors
float32_t rearAxleCurvatureMax
The tightest radius (left) that can be guaranteed.
dwTime_t throttleTimestamp
Time at which throttle was updated.
float32_t rearAxleCurvatureMin
The tightest radius (right) that can be guaranteed.
dwVehicleIOFCWState fcwState
FCW system status/state.
Safety checks suitable for collision avoidance logic (right now same as NO_SAFETY below)...
float32_t steeringSpeed
Desired speed of the turning command rad/s.
DW_API_PUBLIC dwStatus dwVehicleIO_reset(dwVehicleIOHandle_t obj)
Reset VehicleIO to default state.
float32_t inverseSteeringR
Inverse turning radius of the vehicle on the road.
bool steeringEnabled
Steering by-wire enablement reported by vehicle.
float32_t longVelocityForwardMin
A minimum positive longitudinal vehicle speed, when driving forward, to avoid burning the clutch...
bool buttonLeftKeypadDown
dwVehicleIOCapabilityState capability
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
dwTime_t rearAxleCurvatureCapabilityTimestamp
DW_API_PUBLIC dwStatus dwVehicleIO_sendCommand(const dwVehicleIOCommand *cmd, dwVehicleIOHandle_t obj)
Send a vehicle command to the VehicleIO.
bool turnSigValid
True if setting turn signal.
bool throttleEnabled
Throttle by-wire enablement reported by vehicle.
dwVector2f acceleration
Actual acceleration measured in m/s^2.
dwTime_t brakeTimestamp
Time at which brake was updated.
float32_t fuelLevel
(0 to 1 +- 0.01 fraction of tank volume, unitless)
bool rearAxleCurvatureValid
True if setting rear axle curvature.
float32_t steeringWheelTorque
Steering wheel torque (0 to 10.0 +- 0.01 Nm)
dwVector2f radarVelocity
Reported velocity from radar unit(s)
bool speedValid
True if setting speed.
dwVehicleIOTurnSignal turnSig
Turn signal value.
dwTime_t longVelocityForwardMaxTimestamp
float32_t brakeValue
Current brake value as requested by a driver (0..1 +- 0.01 fraction of max pedal depressed, unitless)
bool throttleValid
True if setting throttle.
float32_t steeringWheelAngle
Desired steering wheel angle (rad)
float32_t brakeState
Brake value in effect (0..1 +- 0.01 fraction of max pedal depressed, unitless)
#define DW_VEHICLEIO_SPEED_LUT_MAX_ENTRIES
dwVehicleIOHeadlights headlights
ON/OFF, LOW_BEAM, HIGH_BEAM, DRL.
bool buttonCruiseControlResetCancel
bool aebRequest
Request to activate AEB.
bool enable
True if we are driving by wire. Has to always be set.
NVIDIA DriveWorks API: CAN
dwVehicleIOTurnSignal turnSignal
Turn signal value.
float32_t throttleValue
range 0.0 to 1.0
float32_t mirrorAdjustX
float value 0-5.0 seconds
Comfortable driving is expected (most conservative).
bool clearFaults
Setting > 0 clears any canbus faults/errors.
dwVehicleIOGear gearCmd
Last acknowledged gear from a command.
Number of wheels describing the vehicle.
float32_t brakeValue
range 0.0 to 1.0
float32_t reverseSpeedLimit
Normally a negative value (m/s)
bool displayBrightnessValid
True if setting display brightness.
bool buttonCruiseControlDecrement
struct dwContextObject * dwContextHandle_t
Context handle.
float32_t throttleCmd
Last acknowledged throttle value from a command (0..1 +- 0.01 fraction of max pedal depressed...
DW_API_PUBLIC dwStatus dwVehicleIO_getCapabilities(dwVehicleIOCapabilities *caps, dwVehicleIOHandle_t obj)
Retrieve current VehicleIO capabilities.
struct dwVehicleIOObject * dwVehicleIOHandle_t
dwTime_t accelerationTimestamp
Time at which acceleration was updated.
dwVehicleIOAEBState aebState
AEB system status/state.
dwVehicleIOOverrides overrides
Overrides in place (0 = none)
int32_t throttleValueLUTSize
Size of the corresponding lookup table.
bool buttonCruiseControlCancel
bool doorLockValid
True if setting door locks.
bool brakeValid
True if setting break.
float32_t decelerationValue
decleration m/s^2 - represented as a positive number
dwVehicleIOGear gear
Vehicle gear.
NVIDIA DriveWorks API: Core Exports
DW_API_PUBLIC dwStatus dwVehicleIO_sendMiscCommand(const dwVehicleIOMiscCommand *cmd, dwVehicleIOHandle_t obj)
Send a vehicle command to the VehicleIO.
dwVector2f velocity
Vehicle velocity (longitudinal, lateral) measured in m/s at the rear axle.
DW_API_PUBLIC dwStatus dwVehicleIO_consumeCANFrame(const dwCANMessage *msg, uint32_t sensorId, dwVehicleIOHandle_t obj)
Parse a received event.
DW_API_PUBLIC dwStatus dwVehicleIO_addCANSensor(uint32_t vehicleIOId, dwSensorHandle_t sensorHandle, dwVehicleIOHandle_t obj)
Add CAN sensor handle and corresponding VehicleIO configuration ID.
DW_API_PUBLIC dwStatus dwVehicleIO_initialize(dwVehicleIOHandle_t *obj, dwVehicleIOType type, const dwVehicle *properties, dwContextHandle_t ctx)
Initialize VehicleIO and prepare all internal structures.
bool headlightsValid
True if setting headlights.
dwVehicleIOTurnSignal turnSig
Turn signal - misc also wants this.
float32_t rearAxleCurvatureValue
Path curvature request based on travelled distance (1/m)
VehicleIO will bypass all safety checks.
The capability state data.
dwTime_t steeringTimestamp
Time at which steering was updated.
dwVehicleIOMoonroof moonroof
basic open or close
dwTime_t rearAxleCurvatureTimestamp
Timestamp for all motion signals.
dwTime_t radarVelocityTimestamp
DW_API_PUBLIC dwStatus dwVehicleIO_getVehicleState(dwVehicleIOState *state, dwVehicleIOHandle_t obj)
Retrieve current vehicle state.
float32_t longVelocityForwardMax
A maximum positive longitudinal vehicle speed that the vehicle is designed for.
struct dwRigObject * dwRigHandle_t
Handle representing the Sensor Abstraction Layer interface.
Properties of the vehicle.
float32_t mirrorAdjustY
float value 0-5.0 seconds
bool brakeEnabled
Brake by-wire enablement reported by vehicle.
bool buttonCruiseControlReset
Same as above, but unsafe commands are clamped to safe limits and warnings are isssued.