Loading [MathJax]/extensions/tex2jax.js
  • <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>

  • DriveWorks SDK Reference
    5.14.77 Release
    For Test and Development only

    All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
    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
    人人超碰97caoporen国产