Please provide the following info (check/uncheck the boxes after creating this topic):
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.6 and DriveWorks 4.0
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
[*] NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
Target Operating System
[*] NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
SDK Manager Version
Host Machine Version
We are currently implementing a custom vio plug-in to send commands to our DBW module. Maybe you can help us with the following questions.
When using a custom plug-in, we need to re-write the VIO back-end via implementing the pre-defined functions that are declared on `dw/control/vehicleio/plugins/VehicleIODriver.h’. In this case, I cannot see if there is any scope for functions “dwVehicleIO_selectDriverOverrides()” or “dwVehicleIO_setDrivingMode()”.
In other words “DrivingMode” and “DriverOverrides” does not appear to have any effect when using a custom plug-in. Should we implement back end utility for those functions and how?
When using a VIO plug-in back end, what level of functionality is maintained from the original VIO? For example, check documentation here (DriveWorks SDK Reference: VehicleIO Workflow). Some automatic engagement/disengagement conditions are described, along with additional functionality that from what I understand is not available or needs to be implemented from scratch on a VIO plug-in. What is in the end maintained and can be used from all those conditions described at section “VehicleIO Workflow” ?
Usage of final .so library file.
Is it possible to send user data to the VIO plug-in back end, ex some customer related data that is not abstracted in your dwVehicleIO_sendCommand() and dwVehicleIOCommand interface? I have found a work-around of opening and writing on the .so library using “dlopen” but maybe you have some more appropriate suggestion. It would be really helpful to expand the VIO plug-in prefixed interface to include random or customer data that are not included on the pre-defined plugin interface.
In general, I do not see much gain in using VIO plug-in backend vs writing new interface, custom structs, etc and then to communicate with the vehicle at SensorAbstructionLayer. Is there any particular argumentation or long term benefit into using the VIO plugin that I am missing?
Many thanks in advance