DriveWorks SDK Reference
5.20.37 Release
For Test and Development only

VehicleIODriver.h
Go to the documentation of this file.
1
2//
3// Notice
4// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
5// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
6// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
7// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8//
9// NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
10// information or for any infringement of patents or other rights of third parties that may
11// result from its use. No license is granted by implication or otherwise under any patent
12// or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
13// expressly authorized by NVIDIA. Details are subject to change without notice.
14// This code supersedes and replaces all information previously supplied.
15// NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
16// components in life support devices or systems without express written approval of
17// NVIDIA CORPORATION & AFFILIATES.
18//
19// SPDX-FileCopyrightText: Copyright (c) 2019-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
20// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
21//
22// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
23// property and proprietary rights in and to this material, related
24// documentation and any modifications thereto. Any use, reproduction,
25// disclosure or distribution of this material and related documentation
26// without an express license agreement from NVIDIA CORPORATION or
27// its affiliates is strictly prohibited.
28//
30
38#ifndef DW_CONTROL_PLUGINS_VEHICLEIO_DRIVER_H_
39#define DW_CONTROL_PLUGINS_VEHICLEIO_DRIVER_H_
40
50#include <dw/core/base/Types.h>
52
53#ifdef __cplusplus
54extern "C" {
55#endif
56
67DW_DEPRECATED("_dwVehicleIODriver_initialize is deprecated and will be removed in the next major release. Use either _dwVehicleIODriver_initialize_V2 or _dwVehicleIODriver_initialize_V3 instead.")
69
81
94DW_DEPRECATED("_dwVehicleIODriver_consume is deprecated and will be removed in the next major release. Use _dwVehicleIODriver_consumeExt instead.")
96
109DW_DEPRECATED("_dwVehicleIODriver_sendCommand is deprecated and will be removed in the next major release.")
111 dwSensorHandle_t sensor);
112
125DW_DEPRECATED("_dwVehicleIODriver_sendMiscCommand is deprecated and will be removed in the next major release.")
127 dwSensorHandle_t sensor);
128
141DW_DEPRECATED("_dwVehicleIODriver_clearFaults is deprecated and will be removed in the next major release.")
143
157
170
187dwStatus _dwVehicleIODriver_initialize_V2(dwContextHandle_t context, char8_t const* vehicleTypeString, dwVehicle const* vehicleProperties, dwVehicleIOCapabilities* vehicleIOCapabilities, char8_t const* dbcFilepath, dwVehicleIOState* vioState, dwVehicleIOSafetyState* vioSafetyState, dwVehicleIONonSafetyState* vioNonSafetyState, dwVehicleIOActuationFeedback* vioActuationFeedback);
188
196DW_DEPRECATED("_dwVehicleIODriver_consumeForSafeState is deprecated and will be removed in the next major release. Use _dwVehicleIODriver_consumeExt instead")
198
206DW_DEPRECATED("_dwVehicleIODriver_consumeForNonSafeState is deprecated and will be removed in the next major release. Use _dwVehicleIODriver_consumeExt instead")
208
216DW_DEPRECATED("_dwVehicleIODriver_consumeForActuationFeedback is deprecated and will be removed in the next major release. Use _dwVehicleIODriver_consumeExt instead")
218
226DW_DEPRECATED("_dwVehicleIODriver_consumeDataForSafeState is deprecated and will be removed in the next major release. Use _dwVehicleIODriver_consumeDataExt instead")
228
236DW_DEPRECATED("_dwVehicleIODriver_consumeDataForNonSafeState is deprecated and will be removed in the next major release. Use _dwVehicleIODriver_consumeDataExt instead")
238
246DW_DEPRECATED("_dwVehicleIODriver_consumeDataForActuationFeedback is deprecated and will be removed in the next major release. Use _dwVehicleIODriver_consumeDataExt instead")
248
259
270
282dwStatus _dwVehicleIODriver_clearFaults_new(dwSensorHandle_t const sensorHandle, dwVehicleIOSafetyState const* vioSafetyState, dwVehicleIONonSafetyState const* vioNonSafetyState, dwVehicleIOActuationFeedback const* vioActuationFeedback);
283
295dwStatus _dwVehicleIODriver_initialize_V3(dwContextHandle_t context, dwVehicle const* vehicleProperties, dwVehicleIOCapabilities* vehicleIOCapabilities, char8_t const* dbcFilepath, dwVehicleIOASILStateE2EWrapper* vioAsilState, dwVehicleIOQMState* vioQmState);
296
304
312
321
330
339
348
351#ifdef __cplusplus
352}
353#endif
354
355#endif
Holds a CAN package.
Definition: CANTypes.h:108
dwStatus
Status definition.
Definition: ErrorDefs.h:44
NVIDIA DriveWorks API: Core Types
VehicleIO Capabilities.
NVIDIA DriveWorks API: VehicleIO car controller
Command signals of ValEgomotion. Expected to be sent from NDAS to VAL.
Command signals of ValSensorCalibration. Expected to be sent from NDAS to VAL.
E2E Profile4 Wrapper for dwVehicleIOASILCommand.
E2E Profile4 Wrapper for dwVehicleIOASILState.
Non-safety critical RoV commands.
Non-safety critical RoV state.
Command signals without an ASIL rating. Expected to be sent from NDAS to VAL.
State signals without an ASIL rating. Expected to be sent from VAL to AV Stack.
Safety critical RoV commands.
Safety critical VIO state.
The vehicle IO state data. Fields only set if supported by VehicleIO driver.
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:85
#define DW_DEPRECATED(msg)
Definition: Exports.h:68
Holds a data packet.
Definition: Data.h:61
DEPRECATED: Properties of a passenger car vehicle.
Definition: Vehicle.h:428
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor.
Definition: SensorTypes.h:75
dwStatus _dwVehicleIODriver_consumeDataForNonSafeState(dwDataPacket const *dataPacket, dwVehicleIONonSafetyState *nonSafetyState)
Extract dwVehicleIONonSafetyState from incoming data packet.
dwStatus _dwVehicleIODriver_consumeDataExt(dwDataPacket const *dataPacket)
Extract VehicleIO signals from incoming data packet.
dwStatus _dwVehicleIODriver_consumeDataForActuationFeedback(dwDataPacket const *dataPacket, dwVehicleIOActuationFeedback *actuationFeedback)
Extract dwVehicleIOActuationFeedback from incoming data packet.
dwStatus _dwVehicleIODriver_consume(const dwCANMessage *msg, dwVehicleIOState *state)
Consume a received CAN message and update the vehicle state.
dwStatus _dwVehicleIODriver_sendASILCommand(dwVehicleIOASILCommandE2EWrapper const *asilCommand, dwSensorHandle_t sensorHandle)
Send dwVehicleIOASILCommandE2EWrapper over specified sensor.
dwStatus _dwVehicleIODriver_sendSafetyCommand(dwVehicleIOSafetyCommand const *safetyCommand, dwSensorHandle_t sensorHandle)
Send dwVehicleIOSafetyCommand over specified sensor.
dwStatus _dwVehicleIODriver_clearFaults_new(dwSensorHandle_t const sensorHandle, dwVehicleIOSafetyState const *vioSafetyState, dwVehicleIONonSafetyState const *vioNonSafetyState, dwVehicleIOActuationFeedback const *vioActuationFeedback)
Clear any outstanding faults based on incoming VIO state structures.
dwStatus _dwVehicleIODriver_setDrivingMode(const dwVehicleIODrivingMode mode)
Set driving mode.
dwStatus _dwVehicleIODriver_initialize()
Initializes the VehicleIO Driver.
dwStatus _dwVehicleIODriver_consumeForSafeState(dwCANMessage const *canMessage, dwVehicleIOSafetyState *safetyState)
Extract dwVehicleIOSafetyState from incoming CAN message.
dwStatus _dwVehicleIODriver_sendCommand(const dwVehicleIOCommand *cmd, dwSensorHandle_t sensor)
Send a vehicle command to the given CAN sensor.
dwStatus _dwVehicleIODriver_consumeExt(dwCANMessage const *canMessage)
Extract VehicleIO signals from incoming CAN message.
dwStatus _dwVehicleIODriver_consumeDataForSafeState(dwDataPacket const *dataPacket, dwVehicleIOSafetyState *safetyState)
Extract dwVehicleIOSafetyState from incoming data packet.
dwStatus _dwVehicleIODriver_sendQMCommand(dwVehicleIOQMCommand const *qmCommand, dwSensorHandle_t sensorHandle)
Send dwVehicleIOQMCommand over specified sensor.
dwStatus _dwVehicleIODriver_initialize_V3(dwContextHandle_t context, dwVehicle const *vehicleProperties, dwVehicleIOCapabilities *vehicleIOCapabilities, char8_t const *dbcFilepath, dwVehicleIOASILStateE2EWrapper *vioAsilState, dwVehicleIOQMState *vioQmState)
Initialize Plugin VIO Driver.
dwStatus _dwVehicleIODriver_sendSensorCalibration(dwValSensorCalibration const *calibration, dwSensorHandle_t sensorHandle)
Send dwValSensorCalibration over specified sensor.
dwStatus _dwVehicleIODriver_release()
Releases the VehicleIO Driver.
dwStatus _dwVehicleIODriver_consumeForActuationFeedback(dwCANMessage const *canMessage, dwVehicleIOActuationFeedback *actuationFeedback)
Extract dwVehicleIOActuationFeedback from incoming CAN message.
dwStatus _dwVehicleIODriver_sendEgomotion(dwValEgomotion const *egomotion, dwSensorHandle_t sensorHandle)
Send dwValEgomotion over specified sensor.
dwStatus _dwVehicleIODriver_sendNonSafetyCommand(dwVehicleIONonSafetyCommand const *nonSafetyCommand, dwSensorHandle_t sensorHandle)
Send dwVehicleIONonSafetyCommand over specified sensor.
dwStatus _dwVehicleIODriver_sendMiscCommand(const dwVehicleIOMiscCommand *cmd, dwSensorHandle_t sensor)
Send misc vehicle command to the given CAN sensor.
dwStatus _dwVehicleIODriver_clearFaults(dwSensorHandle_t sensor, const dwVehicleIOState *state)
Clear faults in current vehicle state.
dwStatus _dwVehicleIODriver_consumeForNonSafeState(dwCANMessage const *canMessage, dwVehicleIONonSafetyState *nonSafetyState)
Extract dwVehicleIONonSafetyState from incoming CAN message.
dwStatus _dwVehicleIODriver_reset()
Reset driver to default state.
dwStatus _dwVehicleIODriver_initialize_V2(dwContextHandle_t context, char8_t const *vehicleTypeString, dwVehicle const *vehicleProperties, dwVehicleIOCapabilities *vehicleIOCapabilities, char8_t const *dbcFilepath, dwVehicleIOState *vioState, dwVehicleIOSafetyState *vioSafetyState, dwVehicleIONonSafetyState *vioNonSafetyState, dwVehicleIOActuationFeedback *vioActuationFeedback)
Initialize Plugin VIO Driver.