NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
VehicleIO.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2015-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
29 #ifndef DW_VEHICLEIO_H_
30 #define DW_VEHICLEIO_H_
31 
32 #include <dw/control/vehicleio/VehicleIOLegacyStructures.h>
33 #include <dw/control/vehicleio/VehicleIOValStructures.h>
34 #include <dw/core/base/Config.h>
35 #include <dw/core/base/Exports.h>
36 #include <dw/core/context/Context.h>
37 #include <dw/core/base/Types.h>
38 #include <dw/sensors/common/Sensors.h>
39 #ifndef DW_IS_SAFETY
40 #include <dw/sensors/canbus/CAN.h>
41 #endif
42 #include <dw/sensors/data/Data.h>
43 #include <dw/rig/Rig.h>
44 
45 #include <stdint.h>
46 
47 #ifdef __cplusplus
48 extern "C" {
49 #endif
50 
51 typedef struct dwVehicleIOObject* dwVehicleIOHandle_t;
52 
71  dwContextHandle_t const ctx);
72 
91  dwConstRigHandle_t const rig,
92  dwContextHandle_t const ctx);
93 
109 
125 
143 dwStatus dwVehicleIO_selectDriverOverrides(bool const throttleOverride, bool const steeringOverride,
144  bool const brakeOverride, bool const gearOverride,
145  dwVehicleIOHandle_t const obj);
146 
164 dwStatus dwVehicleIO_consumeDataPacket(const dwDataPacket* const pkt, uint32_t const sensorId, dwVehicleIOHandle_t const obj);
165 
181 
200  dwVehicleIOHandle_t const obj);
201 
221  dwVehicleIOHandle_t const obj);
222 
241  dwVehicleIOHandle_t const obj);
242 
261  dwVehicleIOHandle_t const obj);
262 
281  dwVehicleIOHandle_t const obj);
282 
299  dwVehicleIOHandle_t const obj);
300 
317  dwVehicleIOHandle_t const obj);
318 
336  dwVehicleIOHandle_t const obj);
337 
355  dwVehicleIOHandle_t const obj);
356 
373  dwVehicleIOHandle_t const obj);
374 
391  dwVehicleIOHandle_t const obj);
392 
421 
439 dwStatus dwVehicleIO_addDataSensor(uint32_t const vehicleIOId, dwSensorHandle_t const sensorHandle, dwVehicleIOHandle_t const obj);
440 
441 #ifndef DW_IS_SAFETY
442 
460  const char* const dbcFilePath, dwContextHandle_t const ctx);
461 
481 dwStatus dwVehicleIO_consumeCANFrame(dwCANMessage const* const msg, uint32_t const sensorId, dwVehicleIOHandle_t const obj);
482 
500 dwStatus dwVehicleIO_addCANSensor(uint32_t const vehicleIOId, dwSensorHandle_t const sensorHandle, dwVehicleIOHandle_t const obj);
501 #endif
502 
503 #ifdef __cplusplus
504 }
505 #endif
506 
507 #endif // DW_VEHICLEIO_H_
dwSensorHandle_t
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor.
Definition: SensorTypes.h:42
dwConstRigHandle_t
struct dwRigObject const * dwConstRigHandle_t
Handle representing the const Rig interface.
Definition: Rig.h:58
ctx
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const const dwContextHandle_t ctx
Definition: PointCloudRangeImageCreator.h:293
dwVehicleIOASILCommandE2EWrapper
E2E Profile4 Wrapper for dwVehicleIOASILCommand.
Definition: VehicleIOValStructures.h:5125
dwVehicleIONonSafetyState
Non-safety critical RoV state.
Definition: VehicleIOValStructures.h:8792
dwVehicleIO_initialize
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.
mode
dwGPSMode mode
Definition: GPS.h:285
dwVehicleIO_selectDriverOverrides
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.
dwCANMessage
Holds a CAN package.
Definition: CANTypes.h:89
dwVehicleIOSafetyCommand
Safety critical RoV commands.
Definition: VehicleIOValStructures.h:6207
dwVehicleIO_getVehicleNonSafetyState
DW_API_PUBLIC dwStatus dwVehicleIO_getVehicleNonSafetyState(dwVehicleIONonSafetyState *const nonSafeState, dwVehicleIOHandle_t const obj)
Retrieve current vehicle non-safety state.
dwVehicleIONonSafetyCommand
Non-safety critical RoV commands.
Definition: VehicleIOValStructures.h:9967
dwVehicleIO_consumeDataPacket
DW_API_PUBLIC dwStatus dwVehicleIO_consumeDataPacket(const dwDataPacket *const pkt, uint32_t const sensorId, dwVehicleIOHandle_t const obj)
Similar to dwVehicleIO_consumeCANFrame.
dwVehicleIO_setDrivingMode
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 permitte...
dwValSensorCalibration
Command signals of ValSensorCalibration. Expected to be sent from NDAS to VAL.
Definition: VehicleIOValStructures.h:5613
dwVehicleIOType
dwVehicleIOType
Definition: VehicleIOLegacyStructures.h:70
dwVehicleIO_sendSafetyCommand
DW_API_PUBLIC dwStatus dwVehicleIO_sendSafetyCommand(const dwVehicleIOSafetyCommand *const safeCmd, dwVehicleIOHandle_t const obj)
Send a vehicle safety command to the VehicleIO.
dwVehicleIO_getVehicleASILState
DW_API_PUBLIC dwStatus dwVehicleIO_getVehicleASILState(dwVehicleIOASILStateE2EWrapper *const asilState, dwVehicleIOHandle_t const obj)
Retrieve current vehicle state with ASIL rating.
dwVehicleIO_getVehicleSafetyState
DW_API_PUBLIC dwStatus dwVehicleIO_getVehicleSafetyState(dwVehicleIOSafetyState *const safeState, dwVehicleIOHandle_t const obj)
Retrieve current vehicle safety state.
dwVehicleIODrivingMode
dwVehicleIODrivingMode
Definition: VehicleIOLegacyStructures.h:47
dwVehicleIOQMCommand
Command signals without an ASIL rating. Expected to be sent from NDAS to VAL.
Definition: VehicleIOValStructures.h:4886
dwVehicle
DEPRECATED: Properties of a passenger car vehicle.
Definition: Vehicle.h:472
dwVehicleIO_sendNonSafetyCommand
DW_API_PUBLIC dwStatus dwVehicleIO_sendNonSafetyCommand(const dwVehicleIONonSafetyCommand *const nonSafeCmd, dwVehicleIOHandle_t const obj)
Send a vehicle non-safety command to the VehicleIO.
WFDCommitType
WFDCommitType
Definition: wfd.h:112
dwContextHandle_t
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:74
dwVehicleIOCapabilities
VehicleIO Capabilities.
Definition: VehicleIOCapabilities.h:30
dwVehicleIO_sendCalibrationData
DW_API_PUBLIC dwStatus dwVehicleIO_sendCalibrationData(dwValSensorCalibration const *const sensorCalibration, dwVehicleIOHandle_t const obj)
Send a vehicle sensor calibration to the VehicleIO.
dwVehicleIOQMState
State signals without an ASIL rating. Expected to be sent from VAL to AV Stack.
Definition: VehicleIOValStructures.h:3709
dwVehicleIO_getVehicleActuationFeedback
DW_API_PUBLIC dwStatus dwVehicleIO_getVehicleActuationFeedback(dwVehicleIOActuationFeedback *const actuationFeedback, dwVehicleIOHandle_t const obj)
Retrieve current vehicle actuation feedback.
dwVehicleIO_sendEgomotionData
DW_API_PUBLIC dwStatus dwVehicleIO_sendEgomotionData(dwValEgomotion const *const egomotion, dwVehicleIOHandle_t const obj)
Send a vehicle egomotion data to the VehicleIO.
dwVehicleIOActuationFeedback
Feedback from actuation.
Definition: VehicleIOValStructures.h:7205
dwVehicleIO_release
DW_API_PUBLIC dwStatus dwVehicleIO_release(dwVehicleIOHandle_t const obj)
Release used memory and close all modules.
dwVehicleIO_sendASILCommand
DW_API_PUBLIC dwStatus dwVehicleIO_sendASILCommand(dwVehicleIOASILCommandE2EWrapper const *const asilCmd, dwVehicleIOHandle_t const obj)
Send a vehicle command with ASIL rating to the VehicleIO.
dwStatus
dwStatus
Status definition.
Definition: ErrorDefs.h:27
dwValEgomotion
Command signals of ValEgomotion. Expected to be sent from NDAS to VAL.
Definition: VehicleIOValStructures.h:5308
dwVehicleIOASILStateE2EWrapper
E2E Profile4 Wrapper for dwVehicleIOASILState.
Definition: VehicleIOValStructures.h:5112
dwVehicleIO_getCapabilities
DW_API_PUBLIC dwStatus dwVehicleIO_getCapabilities(dwVehicleIOCapabilities *const caps, dwVehicleIOHandle_t const obj)
Retrieve current VehicleIO capabilities.
dwVehicleIO_initializeFromDBC
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.
dwVehicleIO_sendQMCommand
DW_API_PUBLIC dwStatus dwVehicleIO_sendQMCommand(dwVehicleIOQMCommand const *const qmCmd, dwVehicleIOHandle_t const obj)
Send a vehicle command with QM rating to the VehicleIO.
DW_API_PUBLIC
#define DW_API_PUBLIC
Definition: Exports.h:38
dwVehicleIOHandle_t
struct dwVehicleIOObject * dwVehicleIOHandle_t
Definition: VehicleIO.h:51
dwVehicleIO_addCANSensor
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.
obj
const NvSciSyncObj *const obj
Definition: wfdext.h:120
dwVehicleIO_reset
DW_API_PUBLIC dwStatus dwVehicleIO_reset(dwVehicleIOHandle_t const obj)
Reset VehicleIO to default state.
dwDataPacket
Holds a data packet.
Definition: Data.h:41
dwVehicleIO_getVehicleQMState
DW_API_PUBLIC dwStatus dwVehicleIO_getVehicleQMState(dwVehicleIOQMState *const qmState, dwVehicleIOHandle_t const obj)
Retrieve current vehicle state with QM rating.
dwVehicleIO_consumeCANFrame
DW_API_PUBLIC dwStatus dwVehicleIO_consumeCANFrame(dwCANMessage const *const msg, uint32_t const sensorId, dwVehicleIOHandle_t const obj)
Parse a received event.
dwVehicleIO_initializeFromRig
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.
dwVehicleIOSafetyState
Safety critical VIO state.
Definition: VehicleIOValStructures.h:8054
dwVehicleIO_addDataSensor
DW_API_PUBLIC dwStatus dwVehicleIO_addDataSensor(uint32_t const vehicleIOId, dwSensorHandle_t const sensorHandle, dwVehicleIOHandle_t const obj)
Add CAN sensor handle and corresponding VehicleIO configuration ID.