DriveWorks SDK Reference
5.14.77 Release
For Test and Development only

VehicleIO.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) 2015-2023 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
46#ifndef DW_VEHICLEIO_H_
47#define DW_VEHICLEIO_H_
48
51#include <dw/core/base/Config.h>
54#include <dw/core/base/Types.h>
55#include <dw/sensors/Sensors.h>
58#include <dw/rig/Rig.h>
59
60#include <stdint.h>
61
62#ifdef __cplusplus
63extern "C" {
64#endif
65
66typedef struct dwVehicleIOObject* dwVehicleIOHandle_t;
67
81dwStatus dwVehicleIO_initialize(dwVehicleIOHandle_t* const obj, dwVehicleIOType const type, const dwVehicle* const properties,
82 dwContextHandle_t const ctx);
97 const char* const dbcFilePath, dwContextHandle_t const ctx);
98
113 dwConstRigHandle_t const rig,
114 dwContextHandle_t const ctx);
115
127
139
153dwStatus dwVehicleIO_selectDriverOverrides(bool const throttleOverride, bool const steeringOverride,
154 bool const brakeOverride, bool const gearOverride,
155 dwVehicleIOHandle_t const obj);
156
172dwStatus dwVehicleIO_consumeCANFrame(dwCANMessage const* const msg, uint32_t const sensorId, dwVehicleIOHandle_t const obj);
173
187dwStatus dwVehicleIO_consumeDataPacket(const dwDataPacket* const pkt, uint32_t const sensorId, dwVehicleIOHandle_t const obj);
188
202DW_DEPRECATED("dwVehicleIO_sendCommand is deprecated and will be removed in the next major release. Use either dwVehicleIO_sendNonSafetyCommand or dwVehicleIO_sendSafetyCommand instead.")
204 dwVehicleIOHandle_t const obj);
205
219DW_DEPRECATED("dwVehicleIO_sendMiscCommand is deprecated and will be removed in the next major release. Use either dwVehicleIO_sendNonSafetyCommand or dwVehicleIO_sendSafetyCommand instead.")
221 dwVehicleIOHandle_t const obj);
222
236
239
251
264 dwVehicleIOHandle_t const obj);
265
279 dwVehicleIOHandle_t const obj);
280
293 dwVehicleIOHandle_t const obj);
294
307 dwVehicleIOHandle_t const obj);
308
321 dwVehicleIOHandle_t const obj);
322
347
361dwStatus dwVehicleIO_addCANSensor(uint32_t const vehicleIOId, dwSensorHandle_t const sensorHandle, dwVehicleIOHandle_t const obj);
362
376dwStatus dwVehicleIO_addDataSensor(uint32_t const vehicleIOId, dwSensorHandle_t const sensorHandle, dwVehicleIOHandle_t const obj);
377
378#ifdef __cplusplus
379}
380#endif
382#endif // DW_VEHICLEIO_H_
NVIDIA DriveWorks API: CAN
NVIDIA DriveWorks API: Core Methods
NVIDIA DriveWorks API: Data
dwStatus
Status definition.
Definition: ErrorDefs.h:45
NVIDIA DriveWorks API: Rig Configuration
NVIDIA DriveWorks API: Sensors
NVIDIA DriveWorks API: Core Types
VehicleIO Capabilities.
NVIDIA DriveWorks API: VehicleIO car controller
NVIDIA DriveWorks API: VehicleIO VAL interface structures
NVIDIA DriveWorks API: Core Exports
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.
DW_API_PUBLIC dwStatus dwVehicleIO_sendNonSafetyCommand(const dwVehicleIONonSafetyCommand *const nonSafeCmd, dwVehicleIOHandle_t const obj)
Send a vehicle non-safety command to the VehicleIO.
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.
DW_API_PUBLIC dwStatus dwVehicleIO_getVehicleActuationFeedback(dwVehicleIOActuationFeedback *const actuationFeedback, dwVehicleIOHandle_t const obj)
Retrieve current vehicle actuation feedback.
DW_API_PUBLIC dwStatus dwVehicleIO_release(dwVehicleIOHandle_t const obj)
Release used memory and close all modules.
DW_API_PUBLIC dwStatus dwVehicleIO_reset(dwVehicleIOHandle_t const obj)
Reset VehicleIO to default state.
DW_API_PUBLIC dwStatus dwVehicleIO_getVehicleNonSafetyState(dwVehicleIONonSafetyState *const nonSafeState, dwVehicleIOHandle_t const obj)
Retrieve current vehicle non-safety state.
DW_API_PUBLIC dwStatus dwVehicleIO_sendCommand(const dwVehicleIOCommand *const cmd, dwVehicleIOHandle_t const obj)
Send a vehicle command to the VehicleIO.
DW_API_PUBLIC dwStatus dwVehicleIO_getCapabilities(dwVehicleIOCapabilities *const caps, dwVehicleIOHandle_t const obj)
Retrieve current VehicleIO capabilities.
DW_API_PUBLIC dwStatus dwVehicleIO_getVehicleState(dwVehicleIOState *const state, dwVehicleIOHandle_t const obj)
Retrieve current vehicle state.
DW_API_PUBLIC dwStatus dwVehicleIO_sendSafetyCommand(const dwVehicleIOSafetyCommand *const safeCmd, dwVehicleIOHandle_t const obj)
Send a vehicle safety command to the VehicleIO.
DW_API_PUBLIC dwStatus dwVehicleIO_sendMiscCommand(const dwVehicleIOMiscCommand *const cmd, dwVehicleIOHandle_t const obj)
Send a vehicle command to the VehicleIO.
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...
struct dwVehicleIOObject * dwVehicleIOHandle_t
Definition: VehicleIO.h:66
DW_API_PUBLIC dwStatus dwVehicleIO_addDataSensor(uint32_t const vehicleIOId, dwSensorHandle_t const sensorHandle, dwVehicleIOHandle_t const obj)
Add data sensor handle and corresponding VehicleIO configuration ID.
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.
DW_API_PUBLIC dwStatus dwVehicleIO_getVehicleSafetyState(dwVehicleIOSafetyState *const safeState, dwVehicleIOHandle_t const obj)
Retrieve current vehicle safety state.
DW_API_PUBLIC dwStatus dwVehicleIO_consumeDataPacket(const dwDataPacket *const pkt, uint32_t const sensorId, dwVehicleIOHandle_t const obj)
Similar to dwVehicleIO_consumeCANFrame.
DW_API_PUBLIC dwStatus dwVehicleIO_consumeCANFrame(dwCANMessage const *const msg, uint32_t const sensorId, dwVehicleIOHandle_t const obj)
Parse a received event.
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.
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.
Non-safety critical RoV commands.
Non-safety critical RoV state.
Safety critical RoV commands.
Safety critical VIO state.
The vehicle IO state data. Fields only set if supported by VehicleIO driver.
Holds a CAN package.
Definition: CAN.h:113
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:86
#define DW_DEPRECATED(msg)
Definition: Exports.h:66
#define DW_API_PUBLIC
Definition: Exports.h:54
Holds a data packet.
Definition: Data.h:61
struct dwRigObject const * dwConstRigHandle_t
Definition: Rig.h:73
DEPRECATED: Properties of a passenger car vehicle.
Definition: Vehicle.h:354
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor.
Definition: Sensors.h:86