connection between 2 systems and bug fixes (#14)

This commit is contained in:
tompzf
2026-07-03 14:53:48 +02:00
committed by GitHub
parent 0fb5660d27
commit 46842200f1
284 changed files with 35200 additions and 8265 deletions

View File

@@ -43,59 +43,63 @@ file (COPY ${PROJECT_SOURCE_DIR}/door_example_receiver.asc DESTINATION ${CMAKE_B
######################################################################################################################################################################
# Execute sdv_vss_util to create IDL files for devices and basic services.
# In this example we split into into front and rear (frontdoors_proxystub.sdv and frontdoors_proxystub.sdv)
# because all interfaces combined in doors_proxystub.sdv would be to large
message("Create interface code for devices and basic services of doors example.")
execute_process(COMMAND "${SDV_VSS_UTIL}" "${PROJECT_SOURCE_DIR}/vss_doors_example.csv" "-O${PROJECT_SOURCE_DIR}/generated/" --prefixdoors --version1.0.0.1 --enable_components)
execute_process(COMMAND "${SDV_VSS_UTIL}" "${PROJECT_SOURCE_DIR}/vss_doors_front_example.csv" "-O${PROJECT_SOURCE_DIR}/generated/front/" --prefixfrontdoors --version1.0.0.1 --enable_components)
execute_process(COMMAND "${SDV_VSS_UTIL}" "${PROJECT_SOURCE_DIR}/vss_doors_rear_example.csv" "-O${PROJECT_SOURCE_DIR}/generated/rear/" --prefixreardoors --version1.0.0.1 --enable_components)
message("Compiling Interface Door01Left RX")
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_01left_vd_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_01left_bs_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namedoors_proxystub)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/front/vss_files/vss_vehiclebodydooraxle_01left_vd_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/front/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/front/vss_files/vss_vehiclebodydooraxle_01left_bs_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/front/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namefrontdoors_proxystub)
message("Compiling Interface Door01Right RX")
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_01right_vd_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_01right_bs_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namedoors_proxystub)
message("Compiling Interface Door02Left RX")
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_02left_vd_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_02left_bs_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namedoors_proxystub)
message("Compiling Interface Door02Right RX")
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_02right_vd_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_02right_bs_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namedoors_proxystub)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/front/vss_files/vss_vehiclebodydooraxle_01right_vd_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/front/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/front/vss_files/vss_vehiclebodydooraxle_01right_bs_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/front/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namefrontdoors_proxystub)
message("Compiling Interface Door01Left TX")
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_01left_vd_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_01left_bs_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namedoors_proxystub)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/front/vss_files/vss_vehiclebodydooraxle_01left_vd_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/front/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/front/vss_files/vss_vehiclebodydooraxle_01left_bs_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/front/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namefrontdoors_proxystub)
message("Compiling Interface Door01Right TX")
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_01right_vd_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_01right_bs_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namedoors_proxystub)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/front/vss_files/vss_vehiclebodydooraxle_01right_vd_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/front/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/front/vss_files/vss_vehiclebodydooraxle_01right_bs_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/front/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namefrontdoors_proxystub)
message("Compiling Interface Door02Left RX")
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/rear/vss_files/vss_vehiclebodydooraxle_02left_vd_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/rear/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/rear/vss_files/vss_vehiclebodydooraxle_02left_bs_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/rear/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namereardoors_proxystub)
message("Compiling Interface Door02Right RX")
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/rear/vss_files/vss_vehiclebodydooraxle_02right_vd_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/rear/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/rear/vss_files/vss_vehiclebodydooraxle_02right_bs_rx.idl" "-O${PROJECT_SOURCE_DIR}/generated/rear/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namereardoors_proxystub)
message("Compiling Interface Door02Left TX")
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_02left_vd_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_02left_bs_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namedoors_proxystub)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/rear/vss_files/vss_vehiclebodydooraxle_02left_vd_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/rear/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/rear/vss_files/vss_vehiclebodydooraxle_02left_bs_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/rear/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namereardoors_proxystub)
message("Compiling Interface Door02Right TX")
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_02right_vd_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/vss_files/vss_vehiclebodydooraxle_02right_bs_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namedoors_proxystub)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/rear/vss_files/vss_vehiclebodydooraxle_02right_vd_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/rear/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --no_ps)
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/generated/rear/vss_files/vss_vehiclebodydooraxle_02right_bs_tx.idl" "-O${PROJECT_SOURCE_DIR}/generated/rear/vss_files/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Igenerated/vss_files/ --ps_lib_namereardoors_proxystub)
# Execute the IDL compiler for the complex service to digest interface code.
message("Compiling door_ifc.idl")
execute_process(COMMAND "${SDV_IDL_COMPILER}" "${PROJECT_SOURCE_DIR}/door_service/door_ifc.idl" "-O${PROJECT_SOURCE_DIR}/generated/door_service/" "-I${SDV_FRAMEWORK_DEV_INCLUDE}" -Iexample_service/ --ps_lib_namedoors_service_proxystub)
add_subdirectory(generated/door_service/ps)
add_subdirectory(generated/vss_files/ps)
add_subdirectory(generated/front/vss_files/ps)
add_subdirectory(generated/rear/vss_files/ps)
add_subdirectory(generated/vss_files/vd_frontdoorleft)
add_subdirectory(generated/vss_files/vd_frontdoorright)
add_subdirectory(generated/vss_files/vd_reardoorleft)
add_subdirectory(generated/vss_files/vd_reardoorright)
add_subdirectory(generated/front/vss_files/vd_frontdoorleft)
add_subdirectory(generated/front/vss_files/vd_frontdoorright)
add_subdirectory(generated/front/vss_files/bs_frontdoorleft)
add_subdirectory(generated/front/vss_files/bs_frontdoorright)
add_subdirectory(generated/vss_files/bs_frontdoorleft)
add_subdirectory(generated/vss_files/bs_frontdoorright)
add_subdirectory(generated/vss_files/bs_reardoorleft)
add_subdirectory(generated/vss_files/bs_reardoorright)
add_subdirectory(generated/rear/vss_files/vd_reardoorleft)
add_subdirectory(generated/rear/vss_files/vd_reardoorright)
add_subdirectory(generated/rear/vss_files/bs_reardoorleft)
add_subdirectory(generated/rear/vss_files/bs_reardoorright)
# Execute sdv_dbc_util to create data link code & FMU code.
message("Create data link for doors example")
@@ -167,7 +171,6 @@ else()
target_link_libraries(door_external_app Rpcrt4.lib)
endif()
######################################################################################################################################################################
# create instance 3002 of door demo example
######################################################################################################################################################################
@@ -175,23 +178,25 @@ add_custom_target(vehicle_device_doors_config
ALL
DEPENDS
can_dl_doors
doors_vd_frontdoorleft_rx
doors_vd_frontdoorright_rx
doors_vd_reardoorleft_rx
doors_vd_reardoorright_rx
COMMAND "${SDV_PACKAGER}" DIRECT_INSTALL VehicleDeviceDoors --instance3002 can_dl_doors.sdv doors_vd_frontdoorleft_rx.sdv doors_vd_frontdoorright_rx.sdv doors_vd_reardoorleft_rx.sdv doors_vd_reardoorright_rx.sdv "-I${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" --interface_config --overwrite
frontdoors_vd_frontdoorleft_rx
frontdoors_vd_frontdoorright_rx
reardoors_vd_reardoorleft_rx
reardoors_vd_reardoorright_rx
COMMAND "${SDV_PACKAGER}" DIRECT_INSTALL VehicleDeviceDoors --instance3002 can_dl_doors.sdv frontdoors_vd_frontdoorleft_rx.sdv frontdoors_vd_frontdoorright_rx.sdv reardoors_vd_reardoorleft_rx.sdv reardoors_vd_reardoorright_rx.sdv "-I${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" --interface_config --overwrite
VERBATIM
)
add_custom_target(basic_service_doors_config
ALL
DEPENDS
doors_proxystub
doors_bs_frontdoorleft_rx
doors_bs_frontdoorright_rx
doors_bs_reardoorleft_rx
doors_bs_reardoorright_rx
COMMAND "${SDV_PACKAGER}" DIRECT_INSTALL BasicServiceDoors --instance3002 doors_proxystub.sdv doors_bs_frontdoorleft_rx.sdv doors_bs_frontdoorright_rx.sdv doors_bs_reardoorleft_rx.sdv doors_bs_reardoorright_rx.sdv "-I${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" --abstract_config --overwrite
frontdoors_proxystub
reardoors_proxystub
frontdoors_bs_frontdoorleft_rx
frontdoors_bs_frontdoorright_rx
reardoors_bs_reardoorleft_rx
reardoors_bs_reardoorright_rx
COMMAND "${SDV_PACKAGER}" DIRECT_INSTALL BasicServiceDoors --instance3002 frontdoors_proxystub.sdv reardoors_proxystub.sdv frontdoors_bs_frontdoorleft_rx.sdv frontdoors_bs_frontdoorright_rx.sdv reardoors_bs_reardoorleft_rx.sdv reardoors_bs_reardoorright_rx.sdv "-I${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" --abstract_config --overwrite
VERBATIM
)

View File

@@ -2,11 +2,11 @@
Version = 100
[[Component]]
Path = "doors_vd_frontdoorleft_rx.sdv"
Path = "frontdoors_vd_frontdoorleft_rx.sdv"
Class = "Vehicle.Body.Door.Axle._01.Left_Device"
[[Component]]
Path = "doors_bs_frontdoorleft_rx.sdv"
Path = "frontdoors_bs_frontdoorleft_rx.sdv"
Class = "Vehicle.Body.Door.Axle._01.Left_Service"

View File

@@ -2,11 +2,11 @@
Version = 100
[[Component]]
Path = "doors_vd_frontdoorright_rx.sdv"
Path = "frontdoors_vd_frontdoorright_rx.sdv"
Class = "Vehicle.Body.Door.Axle._01.Right_Device"
[[Component]]
Path = "doors_bs_frontdoorright_rx.sdv"
Path = "frontdoors_bs_frontdoorright_rx.sdv"
Class = "Vehicle.Body.Door.Axle._01.Right_Service"

View File

@@ -2,11 +2,11 @@
Version = 100
[[Component]]
Path = "doors_vd_reardoorleft_rx.sdv"
Path = "reardoors_vd_reardoorleft_rx.sdv"
Class = "Vehicle.Body.Door.Axle._02.Left_Device"
[[Component]]
Path = "doors_bs_reardoorleft_rx.sdv"
Path = "reardoors_bs_reardoorleft_rx.sdv"
Class = "Vehicle.Body.Door.Axle._02.Left_Service"

View File

@@ -2,9 +2,9 @@
Version = 100
[[Component]]
Path = "doors_vd_reardoorright_rx.sdv"
Path = "reardoors_vd_reardoorright_rx.sdv"
Class = "Vehicle.Body.Door.Axle._02.Right_Device"
[[Component]]
Path = "doors_bs_reardoorright_rx.sdv"
Path = "reardoors_bs_reardoorright_rx.sdv"
Class = "Vehicle.Body.Door.Axle._02.Right_Service"

View File

@@ -128,7 +128,6 @@ void CConsole::PrintHeader(const uint32_t numberOfDoors)
PrintText(g_sTitle, title.c_str());
PrintText(g_sControlDescription, "Press 'X' to quit; Doors are toggled automatically");
}
}
bool CConsole::PrepareDataConsumers()
@@ -205,8 +204,7 @@ void CConsole::ResetSignals()
// Set the cursor position at the end
SetCursorPos(g_sCursor);
// Registrate for the vehicle device & basic service of the front left door. Front left door mzust exist, the others are optional
auto vehicleDevice =
auto vehicleDevice =
sdv::core::GetObject("Vehicle.Body.Door.Axle._01.Left_Device").GetInterface < vss::Vehicle::Body::Door::Axle::_01 ::LeftDevice::IVSS_ReadIsOpen > ();
if (vehicleDevice)
vehicleDevice->UnregisterIsOpenEvent(dynamic_cast<vss::Vehicle::Body::Door::Axle::_01::LeftDevice::IVSS_WriteIsOpen_Event*> (this));
@@ -254,7 +252,7 @@ void CConsole::StartUpdateDataThread()
m_bThreadStarted = true;
m_bRunning = true;
m_threadReadTxSignals = std::thread(&CConsole::UpdateDataThreadFunc, this);
m_threadReadTxSignals = sdv::core::secure_thread(&CConsole::UpdateDataThreadFunc, this);
}
void CConsole::StopUpdateDataThread()
@@ -299,21 +297,21 @@ bool CConsole::PrepareDataConsumersForStandAlone()
{
// Subscribe for the door and if available get TX signal. Either both exists or none of them
sdv::core::CDispatchService dispatch;
m_SignalFrontLeftDoorIsOpen = dispatch.Subscribe(doors::dsLeftDoorIsOpen01, [&](sdv::any_t value) { CallbackFrontLeftDoorIsOpen(value); });
m_SignalFrontLeftDoorIsOpen = dispatch.Subscribe(frontdoors::dsLeftDoorIsOpen01, [&](sdv::any_t value) { CallbackFrontLeftDoorIsOpen(value); });
if(m_SignalFrontLeftDoorIsOpen)
m_SignalFrontLeftDoorIsLocked = dispatch.RegisterTxSignal(doors::dsLeftLatch01, 0);
m_SignalFrontLeftDoorIsLocked = dispatch.RegisterTxSignal(frontdoors::dsLeftLatch01, 0);
m_SignalFrontRightDoorIsOpen = dispatch.Subscribe(doors::dsRightDoorIsOpen01, [&](sdv::any_t value) { CallbackFrontRightDoorIsOpen(value); });
m_SignalFrontRightDoorIsOpen = dispatch.Subscribe(frontdoors::dsRightDoorIsOpen01, [&](sdv::any_t value) { CallbackFrontRightDoorIsOpen(value); });
if(m_SignalFrontRightDoorIsOpen)
m_SignalFrontRightDoorIsLocked = dispatch.RegisterTxSignal(doors::dsRightLatch01, 0);
m_SignalFrontRightDoorIsLocked = dispatch.RegisterTxSignal(frontdoors::dsRightLatch01, 0);
m_SignalRearLeftDoorIsOpen = dispatch.Subscribe(doors::dsLeftDoorIsOpen02, [&](sdv::any_t value) {CallbackRearLeftDoorIsOpen(value); });
m_SignalRearLeftDoorIsOpen = dispatch.Subscribe(reardoors::dsLeftDoorIsOpen02, [&](sdv::any_t value) {CallbackRearLeftDoorIsOpen(value); });
if(m_SignalRearLeftDoorIsOpen)
m_SignalRearLeftDoorIsLocked = dispatch.RegisterTxSignal(doors::dsLeftLatch02, 0);
m_SignalRearLeftDoorIsLocked = dispatch.RegisterTxSignal(reardoors::dsLeftLatch02, 0);
m_SignalRearRightDoorIsOpen = dispatch.Subscribe(doors::dsRightDoorIsOpen02, [&](sdv::any_t value) { CallbackRearRightDoorIsOpen(value); });
m_SignalRearRightDoorIsOpen = dispatch.Subscribe(reardoors::dsRightDoorIsOpen02, [&](sdv::any_t value) { CallbackRearRightDoorIsOpen(value); });
if(m_SignalRearRightDoorIsOpen)
m_SignalRearRightDoorIsLocked = dispatch.RegisterTxSignal(doors::dsRightLatch02, 0);
m_SignalRearRightDoorIsLocked = dispatch.RegisterTxSignal(reardoors::dsRightLatch02, 0);
// Validate: Either both exists or none of them
if (m_SignalFrontLeftDoorIsOpen != m_SignalFrontLeftDoorIsLocked)
@@ -337,7 +335,7 @@ bool CConsole::PrepareDataConsumersForStandAlone()
return false;
}
// Registrate for the vehicle device & basic service of the front left door. Front left door mzust exist, the others are optional
// Register for the vehicle device & basic service of the front left door. Front left door must exist, the others are optional
auto vehicleDevice = sdv::core::GetObject("Vehicle.Body.Door.Axle._01.Left_Device").GetInterface<vss::Vehicle::Body::Door::Axle::_01::LeftDevice::IVSS_ReadIsOpen>();
if (!vehicleDevice)
{

View File

@@ -9,7 +9,8 @@
********************************************************************************/
#include "../door_app/include/door_application.h"
#include "../generated/vss_files/signal_identifier.h"
#include "../generated/front/vss_files/signal_identifier.h"
#include "../generated/rear/vss_files/signal_identifier.h"
#ifdef _WIN32
#include <conio.h> // Needed for _kbhit
@@ -61,23 +62,23 @@ bool CDoorControl::RegisterSignals()
{
sdv::core::CDispatchService dispatch;
m_SignalFrontLeftDoorIsOpen = dispatch.RegisterRxSignal(doors::dsLeftDoorIsOpen01);
m_SignalFrontLeftDoorIsLocked = dispatch.RegisterTxSignal(doors::dsLeftLatch01, 0);
m_SignalFrontLeftDoorIsOpen = dispatch.RegisterRxSignal(frontdoors::dsLeftDoorIsOpen01);
m_SignalFrontLeftDoorIsLocked = dispatch.RegisterTxSignal(frontdoors::dsLeftLatch01, 0);
if (m_iNumberOfDoors > 1)
{
m_SignalFrontRightDoorIsOpen = dispatch.RegisterRxSignal(doors::dsRightDoorIsOpen01);
m_SignalFrontRightDoorIsLocked = dispatch.RegisterTxSignal(doors::dsRightLatch01, 0);
m_SignalFrontRightDoorIsOpen = dispatch.RegisterRxSignal(frontdoors::dsRightDoorIsOpen01);
m_SignalFrontRightDoorIsLocked = dispatch.RegisterTxSignal(frontdoors::dsRightLatch01, 0);
if (m_iNumberOfDoors > 2)
{
m_SignalRearLeftDoorIsOpen = dispatch.RegisterRxSignal(doors::dsLeftDoorIsOpen02);
m_SignalRearLeftDoorIsLocked = dispatch.RegisterTxSignal(doors::dsLeftLatch02, 0);
m_SignalRearLeftDoorIsOpen = dispatch.RegisterRxSignal(reardoors::dsLeftDoorIsOpen02);
m_SignalRearLeftDoorIsLocked = dispatch.RegisterTxSignal(reardoors::dsLeftLatch02, 0);
if (m_iNumberOfDoors > 3)
{
m_SignalRearRightDoorIsOpen = dispatch.RegisterRxSignal(doors::dsRightDoorIsOpen02);
m_SignalRearRightDoorIsLocked = dispatch.RegisterTxSignal(doors::dsRightLatch02, 0);
m_SignalRearRightDoorIsOpen = dispatch.RegisterRxSignal(reardoors::dsRightDoorIsOpen02);
m_SignalRearRightDoorIsLocked = dispatch.RegisterTxSignal(reardoors::dsRightLatch02, 0);
}
}
}

View File

@@ -9,7 +9,8 @@
********************************************************************************/
#include "../door_app/include/door_extern_application.h"
#include "../generated/vss_files/signal_identifier.h"
#include "../generated/front/vss_files/signal_identifier.h"
#include "../generated/rear/vss_files/signal_identifier.h"
#ifdef _WIN32
#include <conio.h> // Needed for _kbhit

View File

@@ -19,15 +19,16 @@
#include <support/app_control.h>
#include <support/component_impl.h>
#include <support/timer.h>
#include "../../generated/vss_files/signal_identifier.h"
#include "../../generated/front/vss_files/signal_identifier.h"
#include "../../generated/rear/vss_files/signal_identifier.h"
#include <fcntl.h>
#include <atomic>
#include "../../generated/vss_files/vss_vehiclebodydooraxle_01left_vd_rx.h"
#include "../../generated/vss_files/vss_vehiclebodydooraxle_01left_bs_rx.h"
#include "../../generated/vss_files/vss_vehiclebodydooraxle_01right_bs_rx.h"
#include "../../generated/vss_files/vss_vehiclebodydooraxle_02left_bs_rx.h"
#include "../../generated/vss_files/vss_vehiclebodydooraxle_02right_bs_rx.h"
#include "../../generated/front/vss_files/vss_vehiclebodydooraxle_01left_vd_rx.h"
#include "../../generated/front/vss_files/vss_vehiclebodydooraxle_01left_bs_rx.h"
#include "../../generated/front/vss_files/vss_vehiclebodydooraxle_01right_bs_rx.h"
#include "../../generated/rear/vss_files/vss_vehiclebodydooraxle_02left_bs_rx.h"
#include "../../generated/rear/vss_files/vss_vehiclebodydooraxle_02right_bs_rx.h"
#ifdef __unix__
#include <termios.h> // Needed for tcgetattr and fcntl
@@ -215,41 +216,41 @@ private:
*/
std::string AlignString(const std::string& message, uint32_t desiredLength = 0);
mutable std::mutex m_mtxPrintToConsole; ///< Mutex to print complete message
bool m_bThreadStarted = false; ///< Set when initialized.
std::atomic_bool m_bRunning = false; ///< When set, the application is running.
bool m_isExternalApp = false; ///< True when we have an external application
mutable std::mutex m_mtxPrintToConsole; ///< Mutex to print complete message
bool m_bThreadStarted = false; ///< Set when initialized.
std::atomic_bool m_bRunning = false; ///< When set, the application is running.
bool m_isExternalApp = false; ///< True when we have an external application
std::thread m_threadReadTxSignals; ///< Simulation datalink thread.
sdv::core::secure_thread m_threadReadTxSignals; ///< Simulation datalink thread.
sdv::core::CSignal m_SignalFrontLeftDoorIsOpen; ///< Front Left Door signal (RX input) - open / closed
sdv::core::CSignal m_SignalFrontRightDoorIsOpen; ///< Front Right Door signal (RX input) - open / closed
sdv::core::CSignal m_SignalRearLeftDoorIsOpen; ///< Rear Left Door signal (RX input) - open / closed
sdv::core::CSignal m_SignalRearRightDoorIsOpen; ///< Rear Right Door signal (RX input) - open / closed
sdv::core::CSignal m_SignalFrontLeftDoorIsOpen; ///< Front Left Door signal (RX input) - open / closed
sdv::core::CSignal m_SignalFrontRightDoorIsOpen; ///< Front Right Door signal (RX input) - open / closed
sdv::core::CSignal m_SignalRearLeftDoorIsOpen; ///< Rear Left Door signal (RX input) - open / closed
sdv::core::CSignal m_SignalRearRightDoorIsOpen; ///< Rear Right Door signal (RX input) - open / closed
bool m_FrontLeftDoorIsOpen = false; ///< Front Left Door value (RX input signal) - open / closed
bool m_FrontRightDoorIsOpen = false; ///< Front Right Door value (RX input signal) - open / closed
bool m_RearLeftDoorIsOpen = false; ///< Rear Left Door value (RX input signal) - open / closed
bool m_RearRightDoorIsOpen = false; ///< Rear Right Door value (RX input signal) - open / closed
bool m_FrontLeftDoorIsOpen = false; ///< Front Left Door value (RX input signal) - open / closed
bool m_FrontRightDoorIsOpen = false; ///< Front Right Door value (RX input signal) - open / closed
bool m_RearLeftDoorIsOpen = false; ///< Rear Left Door value (RX input signal) - open / closed
bool m_RearRightDoorIsOpen = false; ///< Rear Right Door value (RX input signal) - open / closed
sdv::core::CSignal m_SignalFrontLeftDoorIsLocked; ///< Front Left Door signal (TX output) - locked / unlocked
sdv::core::CSignal m_SignalFrontRightDoorIsLocked; ///< Front Right Door signal (TX output) - locked / unlocked
sdv::core::CSignal m_SignalRearLeftDoorIsLocked; ///< Rear Left Door signal (TX output) - locked / unlocked
sdv::core::CSignal m_SignalRearRightDoorIsLocked; ///< Rear Right Door signal (TX output) - locked / unlocked
sdv::core::CSignal m_SignalFrontLeftDoorIsLocked; ///< Front Left Door signal (TX output) - locked / unlocked
sdv::core::CSignal m_SignalFrontRightDoorIsLocked; ///< Front Right Door signal (TX output) - locked / unlocked
sdv::core::CSignal m_SignalRearLeftDoorIsLocked; ///< Rear Left Door signal (TX output) - locked / unlocked
sdv::core::CSignal m_SignalRearRightDoorIsLocked; ///< Rear Right Door signal (TX output) - locked / unlocked
bool m_FrontLeftDoorIsLocked = false; ///< Front Left Door value (TX output) - locked / unlocked
bool m_FrontRightDoorIsLocked = false; ///< Front Right Door value (TX output) - locked / unlocked
bool m_RearLeftDoorIsLocked = false; ///< Rear Left Door value (TX output) - locked / unlocked
bool m_RearRightDoorIsLocked = false; ///< Rear Right Door value (TX output) - locked / unlocked
bool m_FrontLeftDoorIsLocked = false; ///< Front Left Door value (TX output) - locked / unlocked
bool m_FrontRightDoorIsLocked = false; ///< Front Right Door value (TX output) - locked / unlocked
bool m_RearLeftDoorIsLocked = false; ///< Rear Left Door value (TX output) - locked / unlocked
bool m_RearRightDoorIsLocked = false; ///< Rear Right Door value (TX output) - locked / unlocked
IDoorService* m_pDoorService = nullptr; ///< Door service interface pointer.
IDoorService* m_pDoorService = nullptr; ///< Door service interface pointer.
#ifdef _WIN32
DWORD m_dwConsoleOutMode = 0u; ///< The console mode before switching on ANSI support.
DWORD m_dwConsoleInMode = 0u; ///< The console mode before switching on ANSI support.
DWORD m_dwConsoleOutMode = 0u; ///< The console mode before switching on ANSI support.
DWORD m_dwConsoleInMode = 0u; ///< The console mode before switching on ANSI support.
#elif defined __unix__
struct termios m_sTermAttr{}; ///< The terminal attributes before disabling echo.
int m_iFileStatus = 0; ///< The file status flags for STDIN.
struct termios m_sTermAttr{}; ///< The terminal attributes before disabling echo.
int m_iFileStatus = 0; ///< The file status flags for STDIN.
#else
#error The OS is not supported!
#endif

View File

@@ -19,14 +19,14 @@
#include <support/timer.h>
// VSS interfaces - located in ../generated/vss_files/
#include "../generated/vss_files/vss_vehiclebodydooraxle_01left_bs_rx.h"
#include "../generated/vss_files/vss_vehiclebodydooraxle_01left_bs_tx.h"
#include "../generated/vss_files/vss_vehiclebodydooraxle_01right_bs_rx.h"
#include "../generated/vss_files/vss_vehiclebodydooraxle_01right_bs_tx.h"
#include "../generated/vss_files/vss_vehiclebodydooraxle_02left_bs_rx.h"
#include "../generated/vss_files/vss_vehiclebodydooraxle_02left_bs_tx.h"
#include "../generated/vss_files/vss_vehiclebodydooraxle_02right_bs_rx.h"
#include "../generated/vss_files/vss_vehiclebodydooraxle_02right_bs_tx.h"
#include "../generated/front/vss_files/vss_vehiclebodydooraxle_01left_bs_rx.h"
#include "../generated/front/vss_files/vss_vehiclebodydooraxle_01left_bs_tx.h"
#include "../generated/front/vss_files/vss_vehiclebodydooraxle_01right_bs_rx.h"
#include "../generated/front/vss_files/vss_vehiclebodydooraxle_01right_bs_tx.h"
#include "../generated/rear/vss_files/vss_vehiclebodydooraxle_02left_bs_rx.h"
#include "../generated/rear/vss_files/vss_vehiclebodydooraxle_02left_bs_tx.h"
#include "../generated/rear/vss_files/vss_vehiclebodydooraxle_02right_bs_rx.h"
#include "../generated/rear/vss_files/vss_vehiclebodydooraxle_02right_bs_tx.h"
#include "lock_doors_thread.h"

View File

@@ -40,7 +40,7 @@ public:
m_timeIn100MilliSeconds = timeSpan;
m_counter = 0;
m_running = true;
m_thread = std::thread(&LockDoorsThread::run, this);
m_thread = sdv::core::secure_thread(&LockDoorsThread::run, this);
}
/**
@@ -94,11 +94,11 @@ public:
m_running = false;
}
std::function<void()> m_callback; ///< callback function
std::atomic<bool> m_running; ///< status if loop is running
std::thread m_thread; ///< timer thread
uint32_t m_counter; ///< loop counter
uint32_t m_timeIn100MilliSeconds; ///< time before the callback will be executed
std::function<void()> m_callback; ///< callback function
std::atomic<bool> m_running; ///< status if loop is running
sdv::core::secure_thread m_thread; ///< timer thread
uint32_t m_counter; ///< loop counter
uint32_t m_timeIn100MilliSeconds; ///< time before the callback will be executed
};
#endif // !define LOCK_DOORS_THREAD_H

View File

@@ -100,7 +100,10 @@ bool CreateCoreServiceTomlFile(const std::string& resources)
std::ofstream tomlFile("sdv_core_reloc.toml");
if (tomlFile.is_open())
{
tomlFile << "# Location of the SDV binaries and configuration files\ndirectory = \"";
tomlFile << R"toml(# Location of the SDV binaries and configuration files
[CoreLocation]
Version = 100
Framework = ")toml";
tomlFile << resources;
tomlFile << "\"\n";
tomlFile.close();

View File

@@ -2,11 +2,11 @@
Version = 100
[[Component]]
Path = "doors_vd_frontdoorleft_rx.sdv"
Path = "frontdoors_vd_frontdoorleft_rx.sdv"
Class = "Vehicle.Body.Door.Axle._01.Left_Device"
[[Component]]
Path = "doors_bs_frontdoorleft_rx.sdv"
Path = "frontdoors_bs_frontdoorleft_rx.sdv"
Class = "Vehicle.Body.Door.Axle._01.Left_Service"

View File

@@ -2,10 +2,10 @@
Version = 100
[[Component]]
Path = "doors_vd_frontdoorright_rx.sdv"
Path = "frontdoors_vd_frontdoorright_rx.sdv"
Class = "Vehicle.Body.Door.Axle._01.Right_Device"
[[Component]]
Path = "doors_bs_frontdoorright_rx.sdv"
Path = "frontdoors_bs_frontdoorright_rx.sdv"
Class = "Vehicle.Body.Door.Axle._01.Right_Service"

View File

@@ -125,7 +125,10 @@ bool CreateCoreServiceTomlFile(const std::string& resources)
std::ofstream tomlFile("sdv_core_reloc.toml");
if (tomlFile.is_open())
{
tomlFile << "# Location of the SDV binaries and configuration files\ndirectory = \"";
tomlFile << R"toml(# Location of the SDV binaries and configuration files
[CoreLocation]
Version = 100
Framework = ")toml";
tomlFile << resources;
tomlFile << "\"\n";
tomlFile.close();

View File

@@ -2,11 +2,11 @@
Version = 100
[[Component]]
Path = "doors_vd_frontdoorleft_rx.sdv"
Path = "frontdoors_vd_frontdoorleft_rx.sdv"
Class = "Vehicle.Body.Door.Axle._01.Left_Device"
[[Component]]
Path = "doors_bs_frontdoorleft_rx.sdv"
Path = "frontdoors_bs_frontdoorleft_rx.sdv"
Class = "Vehicle.Body.Door.Axle._01.Left_Service"

View File

@@ -2,10 +2,10 @@
Version = 100
[[Component]]
Path = "doors_vd_frontdoorright_rx.sdv"
Path = "frontdoors_vd_frontdoorright_rx.sdv"
Class = "Vehicle.Body.Door.Axle._01.Right_Device"
[[Component]]
Path = "doors_bs_frontdoorright_rx.sdv"
Path = "frontdoors_bs_frontdoorright_rx.sdv"
Class = "Vehicle.Body.Door.Axle._01.Right_Service"

View File

@@ -2,11 +2,11 @@
Version = 100
[[Component]]
Path = "doors_vd_reardoorleft_rx.sdv"
Path = "reardoors_vd_reardoorleft_rx.sdv"
Class = "Vehicle.Body.Door.Axle._02.Left_Device"
[[Component]]
Path = "doors_bs_reardoorleft_rx.sdv"
Path = "reardoors_bs_reardoorleft_rx.sdv"
Class = "Vehicle.Body.Door.Axle._02.Left_Service"

View File

@@ -2,9 +2,9 @@
Version = 100
[[Component]]
Path = "doors_vd_reardoorright_rx.sdv"
Path = "reardoors_vd_reardoorright_rx.sdv"
Class = "Vehicle.Body.Door.Axle._02.Right_Device"
[[Component]]
Path = "doors_bs_reardoorright_rx.sdv"
Path = "reardoors_bs_reardoorright_rx.sdv"
Class = "Vehicle.Body.Door.Axle._02.Right_Service"

View File

@@ -2,17 +2,9 @@
;;;;;;;
VD;FrontDoorLeft;IsOpen;leftDoorIsOpen01;Vehicle.Body.Door.Axle.01.Left;RX;boolean;CAN_Input_L1.Door01LeftIsOpen
VD;FrontDoorRight;IsOpen;rightDoorIsOpen01;Vehicle.Body.Door.Axle.01.Right;RX;boolean;CAN_Input_R1.Door01RightIsOpen
VD;RearDoorLeft;IsOpen;leftDoorIsOpen02;Vehicle.Body.Door.Axle.02.Left;RX;boolean;CAN_Input_L2.Door02LeftIsOpen
VD;RearDoorRight;IsOpen;rightDoorIsOpen02;Vehicle.Body.Door.Axle.02.Right;RX;boolean;CAN_Input_R2.Door02RightIsOpen
VD;FrontDoorLeft;Lock;leftLatch01;Vehicle.Body.Door.Axle.01.Left;TX;boolean;CAN_Output.LockDoor01Left
VD;FrontDoorRight;Lock;rightLatch01;Vehicle.Body.Door.Axle.01.Right;TX;boolean;CAN_Output.LockDoor01Right
VD;RearDoorLeft;Lock;leftLatch02;Vehicle.Body.Door.Axle.02.Left;TX;boolean;CAN_Output.LockDoor02Left
VD;RearDoorRight;Lock;rightLatch02;Vehicle.Body.Door.Axle.02.Right;TX;boolean;CAN_Output.LockDoor02Right
BS;FrontDoorLeft;IsOpenL1;leftDoorIsOpen01;Vehicle.Body.Door.Axle.01.Left;RX;boolean;Vehicle.Body.Door.Axle.01.Left
BS;FrontDoorRight;IsOpenR1;rightDoorIsOpen01;Vehicle.Body.Door.Axle.01.Right;RX;boolean;Vehicle.Body.Door.Axle.01.Right
BS;RearDoorLeft;IsOpenL2;leftDoorIsOpen02;Vehicle.Body.Door.Axle.02.Left;RX;boolean;Vehicle.Body.Door.Axle.02.Left
BS;RearDoorRight;IsOpenR2;rightDoorIsOpen02;Vehicle.Body.Door.Axle.02.Right;RX;boolean;Vehicle.Body.Door.Axle.02.Right
BS;FrontDoorLeft;Lock;leftLatch01;Vehicle.Body.Door.Axle.01.Left;TX;boolean;Vehicle.Body.Door.Axle.01.Left
BS;FrontDoorRight;Lock;rightLatch01;Vehicle.Body.Door.Axle.01.Right;TX;boolean;Vehicle.Body.Door.Axle.01.Right
BS;RearDoorLeft;Lock;leftLatch02;Vehicle.Body.Door.Axle.02.Left;TX;boolean;Vehicle.Body.Door.Axle.02.Left
BS;RearDoorRight;Lock;rightLatch02;Vehicle.Body.Door.Axle.02.Right;TX;boolean;Vehicle.Body.Door.Axle.02.Right
1 Class name Function name Signal name vss Signal direction type DBC CAN name includes CAN message name
2
3 VD FrontDoorLeft IsOpen leftDoorIsOpen01 Vehicle.Body.Door.Axle.01.Left RX boolean CAN_Input_L1.Door01LeftIsOpen
4 VD FrontDoorRight IsOpen rightDoorIsOpen01 Vehicle.Body.Door.Axle.01.Right RX boolean CAN_Input_R1.Door01RightIsOpen
VD RearDoorLeft IsOpen leftDoorIsOpen02 Vehicle.Body.Door.Axle.02.Left RX boolean CAN_Input_L2.Door02LeftIsOpen
VD RearDoorRight IsOpen rightDoorIsOpen02 Vehicle.Body.Door.Axle.02.Right RX boolean CAN_Input_R2.Door02RightIsOpen
5 VD FrontDoorLeft Lock leftLatch01 Vehicle.Body.Door.Axle.01.Left TX boolean CAN_Output.LockDoor01Left
6 VD FrontDoorRight Lock rightLatch01 Vehicle.Body.Door.Axle.01.Right TX boolean CAN_Output.LockDoor01Right
VD RearDoorLeft Lock leftLatch02 Vehicle.Body.Door.Axle.02.Left TX boolean CAN_Output.LockDoor02Left
VD RearDoorRight Lock rightLatch02 Vehicle.Body.Door.Axle.02.Right TX boolean CAN_Output.LockDoor02Right
7 BS FrontDoorLeft IsOpenL1 leftDoorIsOpen01 Vehicle.Body.Door.Axle.01.Left RX boolean Vehicle.Body.Door.Axle.01.Left
8 BS FrontDoorRight IsOpenR1 rightDoorIsOpen01 Vehicle.Body.Door.Axle.01.Right RX boolean Vehicle.Body.Door.Axle.01.Right
BS RearDoorLeft IsOpenL2 leftDoorIsOpen02 Vehicle.Body.Door.Axle.02.Left RX boolean Vehicle.Body.Door.Axle.02.Left
BS RearDoorRight IsOpenR2 rightDoorIsOpen02 Vehicle.Body.Door.Axle.02.Right RX boolean Vehicle.Body.Door.Axle.02.Right
9 BS FrontDoorLeft Lock leftLatch01 Vehicle.Body.Door.Axle.01.Left TX boolean Vehicle.Body.Door.Axle.01.Left
10 BS FrontDoorRight Lock rightLatch01 Vehicle.Body.Door.Axle.01.Right TX boolean Vehicle.Body.Door.Axle.01.Right
BS RearDoorLeft Lock leftLatch02 Vehicle.Body.Door.Axle.02.Left TX boolean Vehicle.Body.Door.Axle.02.Left
BS RearDoorRight Lock rightLatch02 Vehicle.Body.Door.Axle.02.Right TX boolean Vehicle.Body.Door.Axle.02.Right

View File

@@ -0,0 +1,10 @@
;Class name;Function name;Signal name;vss;Signal direction;type;DBC CAN name includes CAN message name
;;;;;;;
VD;RearDoorLeft;IsOpen;leftDoorIsOpen02;Vehicle.Body.Door.Axle.02.Left;RX;boolean;CAN_Input_L2.Door02LeftIsOpen
VD;RearDoorRight;IsOpen;rightDoorIsOpen02;Vehicle.Body.Door.Axle.02.Right;RX;boolean;CAN_Input_R2.Door02RightIsOpen
VD;RearDoorLeft;Lock;leftLatch02;Vehicle.Body.Door.Axle.02.Left;TX;boolean;CAN_Output.LockDoor02Left
VD;RearDoorRight;Lock;rightLatch02;Vehicle.Body.Door.Axle.02.Right;TX;boolean;CAN_Output.LockDoor02Right
BS;RearDoorLeft;IsOpenL2;leftDoorIsOpen02;Vehicle.Body.Door.Axle.02.Left;RX;boolean;Vehicle.Body.Door.Axle.02.Left
BS;RearDoorRight;IsOpenR2;rightDoorIsOpen02;Vehicle.Body.Door.Axle.02.Right;RX;boolean;Vehicle.Body.Door.Axle.02.Right
BS;RearDoorLeft;Lock;leftLatch02;Vehicle.Body.Door.Axle.02.Left;TX;boolean;Vehicle.Body.Door.Axle.02.Left
BS;RearDoorRight;Lock;rightLatch02;Vehicle.Body.Door.Axle.02.Right;TX;boolean;Vehicle.Body.Door.Axle.02.Right
1 Class name Function name Signal name vss Signal direction type DBC CAN name includes CAN message name
2
3 VD RearDoorLeft IsOpen leftDoorIsOpen02 Vehicle.Body.Door.Axle.02.Left RX boolean CAN_Input_L2.Door02LeftIsOpen
4 VD RearDoorRight IsOpen rightDoorIsOpen02 Vehicle.Body.Door.Axle.02.Right RX boolean CAN_Input_R2.Door02RightIsOpen
5 VD RearDoorLeft Lock leftLatch02 Vehicle.Body.Door.Axle.02.Left TX boolean CAN_Output.LockDoor02Left
6 VD RearDoorRight Lock rightLatch02 Vehicle.Body.Door.Axle.02.Right TX boolean CAN_Output.LockDoor02Right
7 BS RearDoorLeft IsOpenL2 leftDoorIsOpen02 Vehicle.Body.Door.Axle.02.Left RX boolean Vehicle.Body.Door.Axle.02.Left
8 BS RearDoorRight IsOpenR2 rightDoorIsOpen02 Vehicle.Body.Door.Axle.02.Right RX boolean Vehicle.Body.Door.Axle.02.Right
9 BS RearDoorLeft Lock leftLatch02 Vehicle.Body.Door.Axle.02.Left TX boolean Vehicle.Body.Door.Axle.02.Left
10 BS RearDoorRight Lock rightLatch02 Vehicle.Body.Door.Axle.02.Right TX boolean Vehicle.Body.Door.Axle.02.Right