48 #ifndef DW_VEHICLEIO_H_ 49 #define DW_VEHICLEIO_H_ 51 #include <dw/core/Config.h> 396 #define DW_VEHICLEIO_SPEED_LUT_MAX_ENTRIES 50 502 bool brakeOverride,
bool gearOverride,
503 dwVehicleIOHandle_t obj);
549 dwVehicleIOHandle_t obj);
563 dwVehicleIOHandle_t obj);
639 #endif // DW_VehicleIO_ACTUATORS_H_ bool buttonCruiseControlGapDecrement
uint8_t displayBrightnessValue
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.
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...
float32_t maxFrontSteeringSpeed
Maximum front wheel speed of the turning command (rad/s)
dwVehicleIODoorLock doorLock
basic lock or unlock
bool buttonCruiseControlIncrement
float32_t steeringWheelAngleCmd
Last acknowledged steering wheel value from a command (-10.0 to 10.0 +- 0.01rad)
NVIDIA DriveWorks API: Core Types
float float32_t
Specifies POD types.
NVIDIA DriveWorks API: Rig Configuration
dwVehicleIOLateralActuatorInterface
bool buttonLaneAssistOnOff
bool gearValid
True if setting gear.
dwVehicleIODrivingMode drivingMode
bool buttonCruiseControlGapIncrement
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.
NVIDIA DriveWorks API: Data
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 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 maxSteeringWheelSpeed
Maximum steering wheel speed of the turning command rad/s.
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)...
bool steeringWheelValid
True if setting steering wheel steering.
dwTime_t engineSpeedTimestamp
engine speed timestamp[us]
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.
struct dwRigObject const * dwConstRigHandle_t
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 frontSteeringAngle
Same as inverseSteeringR described as an angle instead of radius [rad].
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
float32_t frontSteeringAngle
Desired front wheel steering angle (rad)
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_addDataSensor(uint32_t vehicleIOId, dwSensorHandle_t sensorHandle, dwVehicleIOHandle_t obj)
Add data sensor handle and corresponding VehicleIO configuration ID.
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.
bool frontSteeringValid
True if setting front wheel steering.
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.
DEPRECATED: Properties of a passenger car vehicle.
float32_t mirrorAdjustY
float value 0-5.0 seconds
DW_API_PUBLIC dwStatus dwVehicleIO_consumeDataPacket(const dwDataPacket *pkt, uint32_t sensorId, dwVehicleIOHandle_t obj)
Similar to dwVehicleIO_consumeCANFrame.
float32_t engineSpeed
engine rpm speed [RPM]
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.