initial commit

This commit is contained in:
Elias Rosendahl 2025-07-21 14:36:31 +02:00
parent 159ed5b972
commit 9b28718635
85 changed files with 103396 additions and 0 deletions

View File

@ -0,0 +1,14 @@
{
"name": "ft_analytics",
"image": "ft_analytics:latest",
"workspaceFolder": "/workspaces/can_viewer",
"runArgs": [
"--net=host",
"--privileged"
],
"settings": {},
"extensions": [
"ms-iot.vscode-ros",
"ms-python.python"
]
}

46
docker/Dockerfile Normal file
View File

@ -0,0 +1,46 @@
FROM ubuntu:24.04
ENV PIP_BREAK_SYSTEM_PACKAGES=1 \
SHELL=/bin/bash
ARG USERNAME=can_viewer
ARG USER_UID=1000
ARG USER_GID=${USER_UID}
RUN if id -u "${USER_UID}" >/dev/null 2>&1; then \
userdel "$(id -un "${USER_UID}")"; \
fi \
&& groupadd --gid "${USER_GID}" "${USERNAME}" \
&& useradd --uid "${USER_UID}" --gid "${USER_GID}" -m "${USERNAME}" \
&& apt-get update \
&& apt-get install -y --no-install-recommends sudo \
&& echo "${USERNAME} ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/${USERNAME} \
&& chmod 0440 /etc/sudoers.d/${USERNAME}
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y --no-install-recommends \
python3-pip \
nano \
python3-rosdep \
&& rm -rf /var/lib/apt/lists/*
RUN pip3 install --no-cache-dir python-can cantools
RUN echo "source /opt/ros/jazzy/setup.bash" \
>> /home/${USERNAME}/.bashrc \
&& echo "source /workspaces/can_viewer/install/setup.bash" \
>> /home/${USERNAME}/.bashrc
RUN usermod --shell /bin/bash -aG video ${USERNAME}
WORKDIR /workspaces/can_viewer
COPY --chown=${USERNAME}:${USERNAME} ros2_ws/src ros2_ws/src
RUN rosdep update \
&& rosdep install -r --rosdistro jazzy \
--from-paths ros2_ws/src --ignore-src -y
USER ${USERNAME}
CMD ["/bin/bash"]

Binary file not shown.

View File

@ -0,0 +1 @@
build/

View File

@ -0,0 +1,77 @@
cmake_minimum_required(VERSION 3.8)
project(ft_can_transceiver_lib)
# include for standard directories
include(GNUInstallDirs)
# include for creating config.cmake
include(CMakePackageConfigHelpers)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
set(AUTOGENERATED_FILE_NAME can1)
set(AUTOGENERATED_FILE_NAME_TRANSCEIVER transceiver)
set(CAN_DBC_FILE_NAME can/CANdbcFT25/CAN1MainFT25.dbc)
execute_process(
COMMAND python3 "-m" "cantools" "generate_c_source" "--prune" "${CMAKE_CURRENT_SOURCE_DIR}/dbc/${CAN_DBC_FILE_NAME}" "--database-name" "${AUTOGENERATED_FILE_NAME}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/src"
)
execute_process(
COMMAND mkdir -p ${CMAKE_CURRENT_SOURCE_DIR}/include/${PROJECT_NAME}
COMMAND mv ${CMAKE_CURRENT_SOURCE_DIR}/src/${AUTOGENERATED_FILE_NAME}.h ${CMAKE_CURRENT_SOURCE_DIR}/include/${PROJECT_NAME}/${AUTOGENERATED_FILE_NAME}.h
COMMAND mv ${CMAKE_CURRENT_SOURCE_DIR}/src/${AUTOGENERATED_FILE_NAME}.c ${CMAKE_CURRENT_SOURCE_DIR}/src/${AUTOGENERATED_FILE_NAME}.cpp
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/src"
)
execute_process(
COMMAND python3 "-m" "cantools"
"generate_c_source_transceiver" "${CMAKE_CURRENT_SOURCE_DIR}/dbc/${CAN_DBC_FILE_NAME}"
"--prune"
"--database-name" "${AUTOGENERATED_FILE_NAME}"
"--output-headers" "include/${PROJECT_NAME}"
"--output-sources" "src"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)
include_directories(include/${PROJECT_NAME})
include_directories(include)
add_library(${PROJECT_NAME} SHARED src/${AUTOGENERATED_FILE_NAME}.cpp src/${AUTOGENERATED_FILE_NAME_TRANSCEIVER}.cpp)
# Link the desire include directories of the library - different for build and install
target_include_directories(${PROJECT_NAME}
PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
)
install(TARGETS ${PROJECT_NAME}
EXPORT ${PROJECT_NAME}Targets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
install(DIRECTORY include/${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(EXPORT ${PROJECT_NAME}Targets
FILE ${PROJECT_NAME}Targets.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
)
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
)
install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
)

View File

@ -0,0 +1,4 @@
@PACKAGE_INIT@
include("${CMAKE_CURRENT_LIST_DIR}/ft_can_transceiver_libTargets.cmake")

View File

@ -0,0 +1,127 @@
# can-transceiver-lib
Generates a cpp library from a DBC file using the cantools DBC parser and extended generator.
# Install
## cantools extended generator
1. Get the extended generator
git clone --branch extend_codegen https://github.com/rimakoe/cantools.git
1. Install it in your python using
pip install -e ./path/to/cantools
1. Verify the installation with
pip freeze
You should see something like
-e <some local cantool link>
## transceiver library
1. Create a build folder inside the repo and go into it
mkdir build && cd build
1. Use cmake to build and install the library
cmake .. && sudo make install
Now you are able to link the library in every c++ project.
<!-- The rest of this document is verbatim from the original README and therefore not really applicable to us anymore -->
<!-- ## Link the library
In your CMakeLists.txt use
find_package(can-transceiver-lib REQURIED)
target_link_libraries(${TARGET_NAME} canlib::can-transceiver-lib)
Thats all for standard cmake.
If you are using ROS make sure to use the cmake standard link path with
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
## Usage
As an example a ROS node is cerated, but you can use it equivalently in any other c++ class. You can look at the [playground](https://github.com/rimakoe/can-transceiver-playground) for reference.
### **Init**
The idea is to inherit from the canlib::Transceiver. The constructor needs the device name and the filters. Of course you dont explicitly need to inherit and can use the class as it is and create an instance of the Transceiver object.
```(c++)
class TestNode : public rclcpp::Node, canlib::Transceiver {
public:
TestNode();
TestNode(std::string device_name, std::vector<can_filter> filters);
~TestNode();
private:
bool is_receiver_running = false;
bool is_transmitter_running = false;
};
```
```(c++)
// Setup filters
std::vector<can_filter> filters;
can_filter filter;
filter.can_id = 0x0E2;
filter.can_mask = CAN_SFF_MASK;
filters.push_back(filter);
filter.can_id = 0x0E1;
filter.can_mask = CAN_SFF_MASK;
filters.push_back(filter);
// Set device name
std::string device_name = "vcan0";
// Start ROS Node
rclcpp::spin(std::make_shared<TestNode>(device_name, filters));
```
### **Receive**
Inside your transceiver you have to call the *receive* function regularly to receive can messages. It waits for a certain amount of time on every call, but does not listen continuosly. Manage it in some way, e.g. put it into a thread and manage your thread properly.
For safety reasons we use a mutex here aswell.
```
std::thread receiver([this]() {
RCLCPP_INFO(this->get_logger(), "starting CAN receiver ...");
while (rclcpp::ok()) {
mtx.lock();
if (receive()) {
RCLCPP_INFO(this->get_logger(), "received data");
}
mtx.unlock();
}
RCLCPP_INFO(this->get_logger(), "shutdown CAN receiver ...");
});
receiver.detach();
```
Once you received data from a desired CAN ID, the corresponding callback is called. Fill in your desired actions e.g. update your member variables.
```
canlib::callback::rcv::can1::jetson_commands = [&](can1_jetson_commands_t /*frame_encoded*/, canlib::frame::decoded::can1::jetson_commands_t frame_decoded) {
RCLCPP_INFO(this->get_logger(), "received jetson_commands: brake ratio = %lf", frame_decoded.jetson_brake_ratio);
m_brake_ratio = frame_decoded.jetson_brake_ratio;
};
```
### **Transmit**
The transceiver has a very hard overloaded transmit function. Just pass it you desired message frame and it will take care of the encoding and sending for you. So you just want to call e.g.
```
transmit(canlib::frame::decoded::can1::jetson_commands_t(0.1, 0.2, 0.3, 0.4, 0.5));
```
If your IDE is setup correctly, you have autocomplete help to fill in the constructor of the struct. Thus you know exactly what every part of the frame represents. -->

View File

@ -0,0 +1 @@
placeholder to keep filestructure

View File

@ -0,0 +1,165 @@
[View_Vehicles]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Vehicle]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,250,
[View_VehicleNetworks]
HIDDEN=3,
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,150,
[View_VehicleNetwork]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleNetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_VehicleNetworkSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,
[View_VehicleControlUnit]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleGateways]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,
[View_VehicleGatewaySignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,
DEFINITIONS=
COLUMNWIDTHS=250,250,250,250,250,250,250,
[View_Networks]
HIDDEN=2,
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,150,
[View_Network]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_NetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_NetworkTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NetworkNodeGroup]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Ecus]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Ecu]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_EnvVars]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,50,50,100,100,150,
[View_EnvVar]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,50,50,50,50,100,100,150,
[View_NodeGroups]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_NodeGroup]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,150,
[View_Nodes]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Node]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,150,
[View_NodeTxMsg]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeRxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_NodeRxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_Messages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,55,100,50,100,100,100,150,
[View_Message]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,
DEFINITIONS=
COLUMNWIDTHS=250,156,100,50,50,100,100,100,71,50,50,50,100,100,150,
[View_Signals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,50,100,100,100,50,50,50,50,100,100,150,100,
[View_ValueTables]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_AttrDefs]
HIDDEN=6,
ORDER=0,1,2,3,4,5,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,100,150,

View File

@ -0,0 +1,78 @@
VERSION ""
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_: Shunt AMS ABX
BO_ 1280 AMS_Log: 3 AMS
SG_ AMS_Log_voltage7 m1 : 8|8@1+ (0.0196078,0) [0|5] "V" ABX
SG_ AMS_Log_voltage0 m0 : 8|8@1+ (0.0196078,0) [0|5] "V" ABX
SG_ AMS_Log_slave_ID : 4|4@1+ (1,0) [0|15] "" ABX
SG_ AMS_Log_frame M : 0|4@1+ (1,0) [0|15] "" ABX
BO_ 10 AMS_Status: 6 AMS
SG_ AMS_State : 0|7@1+ (1,0) [0|1] "" ABX
SG_ SDC_Closed : 7|1@1+ (1,0) [0|1] "" ABX
SG_ SOC : 8|8@1+ (0.392157,0) [0|100] "%" ABX
SG_ Min_cell_volt : 23|16@0+ (7.62951E-005,0) [0|5] "V" ABX
SG_ Max_cell_temp : 39|16@0+ (0.0625,0) [0|4095.9375] "°C" ABX
BO_ 66 AMS_Panic: 8 AMS
SG_ AMS_Error_arg : 8|56@1+ (1,0) [0|7.20576E+016] "" ABX
SG_ AMS_Error : 0|8@1+ (1,0) [0|255] "" ABX
BO_ 11 AMS_In: 1 ABX
SG_ TS_activate : 0|1@1+ (1,0) [0|1] "" AMS
SG_ Lap_Number : 2|6@1+ (1,0) [0|64] "Laps" AMS
BO_ 1313 Shunt_Current: 6 Shunt
SG_ Shunt_Current : 23|32@0- (0.001,0) [-2000000|2000000] "A" AMS
BO_ 1314 Shunt_Voltage1: 6 Shunt
SG_ Shunt_Voltage1 : 23|32@0- (0.001,0) [-2000000|2000000] "V" AMS
BO_ 1315 Shunt_Voltage2: 6 Shunt
SG_ Shunt_Voltage2 : 23|32@0- (0.001,0) [-2000000|2000000] "V" AMS
BO_ 1316 Shunt_Voltage3: 6 Shunt
SG_ Shunt_Voltage3 : 23|32@0- (0.001,0) [-2000000|2000000] "V" AMS
BO_ 1317 Shunt_Temperature: 6 Shunt
SG_ Shunt_Temperature : 23|32@0+ (0.1,0) [0|1000] "°C" ABX
VAL_ 10 AMS_State 0 "TS_INACTIVE" 1 "TS_ACTIVE" 2 "TS_PRECHARGE" 3 "TS_DISCHARGE" 4 "TS_ERROR" 0 "No Description" ;

View File

@ -0,0 +1,165 @@
[View_Vehicles]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Vehicle]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,250,
[View_VehicleNetworks]
HIDDEN=3,
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,150,
[View_VehicleNetwork]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleNetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_VehicleNetworkSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,
[View_VehicleControlUnit]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleGateways]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,
[View_VehicleGatewaySignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,
DEFINITIONS=
COLUMNWIDTHS=250,250,250,250,250,250,250,
[View_Networks]
HIDDEN=2,
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,150,
[View_Network]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_NetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_NetworkTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NetworkNodeGroup]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Ecus]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Ecu]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_EnvVars]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,50,50,100,100,150,
[View_EnvVar]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,50,50,50,50,100,100,150,
[View_NodeGroups]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_NodeGroup]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,150,
[View_Nodes]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Node]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,150,
[View_NodeTxMsg]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeRxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_NodeRxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_Messages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,55,100,50,100,100,100,150,
[View_Message]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,131,50,50,50,100,100,150,
[View_Signals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,50,100,100,100,50,50,50,50,100,100,150,100,
[View_ValueTables]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_AttrDefs]
HIDDEN=6,
ORDER=0,1,2,3,4,5,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,100,150,

View File

@ -0,0 +1,78 @@
VERSION ""
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_: ABX PDU SDCL SSU
BO_ 17 SDCL_tx: 1 SDCL
SG_ sdcl_sdc_in : 0|1@1+ (1,0) [0|1] "" ABX
SG_ sdcl_sdc_ready : 1|1@1+ (1,0) [0|1] "" ABX
SG_ ts_start_muxed : 2|1@1+ (1,0) [0|1] "" ABX
BO_ 16 SDCL_rx: 1 ABX
SG_ as_driving_mode : 0|1@1+ (1,0) [0|1] "" SDCL
SG_ as_close_sdc : 1|1@1+ (1,0) [0|1] "" SDCL
SG_ sdcl_heartbeat : 2|1@1+ (1,0) [0|1] "" SDCL
BO_ 7 PDU_Setpoints: 6 ABX
SG_ EPSC : 23|1@1+ (1,0) [0|1] "" PDU
SG_ Fans : 8|1@1+ (1,0) [0|1] "" PDU
SG_ BBMC : 9|1@1+ (1,0) [0|1] "" PDU
SG_ Pumps : 10|1@1+ (1,0) [0|1] "" PDU
SG_ STW : 11|1@1+ (1,0) [0|1] "" PDU
SG_ Sensorbox : 12|1@1+ (1,0) [0|1] "" PDU
SG_ Soundbox : 14|1@1+ (1,0) [0|1] "" PDU
SG_ Misc : 15|1@1+ (1,0) [0|1] "" PDU
SG_ PDM : 22|1@1+ (1,0) [0|1] "" PDU
SG_ Autobox : 21|1@1+ (1,0) [0|1] "" PDU
SG_ Inverters : 20|1@1+ (1,0) [0|1] "" PDU
SG_ PWR_Servo_1 : 19|1@1+ (1,0) [0|1] "" PDU
SG_ HV_Box : 16|1@1+ (1,0) [0|1] "" PDU
SG_ Circuit_Switch_Valve : 31|1@1+ (1,0) [0|1] "" PDU
SG_ SB_Release_Valve : 30|1@1+ (1,0) [0|1] "" PDU
SG_ EBS_B_Valve : 29|1@1+ (1,0) [0|1] "" PDU
SG_ PWR_Servo : 17|1@1+ (1,0) [0|1] "" PDU
SG_ EBS_A_Valve : 28|1@1+ (1,0) [0|1] "" PDU
SG_ SDC : 27|1@1+ (1,0) [0|1] "" PDU
SG_ HydPowerPack : 26|1@1+ (1,0) [0|1] "" PDU
SG_ AMS : 25|1@1+ (1,0) [0|1] "" PDU
SG_ PWR_19V : 13|1@1+ (1,0) [0|1] "" PDU
SG_ HydPowerPack_DutyCycle : 32|8@1+ (1,0) [0|100] "%" PDU
SG_ Fan_DutyCycle : 40|8@1+ (1,0) [0|100] "%" PDU
SG_ Z_Stabi : 18|1@1+ (1,0) [0|1] "" PDU
BO_ 8 PDU_Call: 1 ABX
SG_ PDU_Call : 0|8@1+ (1,0) [0|255] "" PDU
BO_ 9 PDU_Response: 1 PDU
SG_ PDU_Response : 0|8@1+ (1,0) [0|255] "" ABX

View File

@ -0,0 +1,165 @@
[View_Vehicles]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Vehicle]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,250,
[View_VehicleNetworks]
HIDDEN=3,
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,150,
[View_VehicleNetwork]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleNetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_VehicleNetworkSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,
[View_VehicleControlUnit]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleGateways]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,
[View_VehicleGatewaySignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,
DEFINITIONS=
COLUMNWIDTHS=250,250,250,250,250,250,250,
[View_Networks]
HIDDEN=2,
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,150,
[View_Network]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_NetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_NetworkTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NetworkNodeGroup]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Ecus]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Ecu]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_EnvVars]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,50,50,100,100,150,
[View_EnvVar]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,50,50,50,50,100,100,150,
[View_NodeGroups]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_NodeGroup]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,150,
[View_Nodes]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Node]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,150,
[View_NodeTxMsg]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeRxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_NodeRxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_Messages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,55,100,50,100,100,100,150,
[View_Message]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,
[View_Signals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,50,100,100,100,50,50,50,50,100,100,150,100,
[View_ValueTables]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_AttrDefs]
HIDDEN=6,
ORDER=0,1,2,3,4,5,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,100,150,

View File

@ -0,0 +1,309 @@
VERSION ""
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_: ABX STW FSG_Logger RES EPSC XSens PDMV
BO_ 1 Error: 1 XSens
BO_ 2 Warning: 1 XSens
SG_ WarningCode : 7|8@0+ (1,0) [0|0] "" ABX
BO_ 5 SampleTime: 4 XSens
SG_ Timestamp : 7|32@0+ (1,0) [0|0] "us" ABX
BO_ 6 GroupCounter: 2 XSens
SG_ Counter : 7|16@0+ (1,0) [0|0] "" ABX
BO_ 17 StatusWord: 4 XSens
SG_ SelfTestOk : 24|1@1+ (1,0) [0|1] "" ABX
SG_ OrientationValid : 25|1@1+ (1,0) [0|1] "" ABX
SG_ GpsValid : 26|1@1+ (1,0) [0|1] "" ABX
SG_ NoRotation : 28|2@0+ (1,0) [0|3] "" ABX
SG_ RepresentativeMotion : 29|1@1+ (1,0) [0|1] "" ABX
SG_ ExternalClockSynced : 30|1@1+ (1,0) [0|1] "" ABX
SG_ ClipAccX : 16|1@1+ (1,0) [0|1] "" ABX
SG_ ClipAccY : 17|1@1+ (1,0) [0|1] "" ABX
SG_ ClipAccZ : 18|1@1+ (1,0) [0|1] "" ABX
SG_ ClipGyrX : 19|1@1+ (1,0) [0|1] "" ABX
SG_ ClipGyrY : 20|1@1+ (1,0) [0|1] "" ABX
SG_ ClipGyrZ : 21|1@1+ (1,0) [0|1] "" ABX
SG_ ClipMagX : 22|1@1+ (1,0) [0|1] "" ABX
SG_ ClipMagY : 23|1@1+ (1,0) [0|1] "" ABX
SG_ ClipMagZ : 8|1@1+ (1,0) [0|1] "" ABX
SG_ Retransmitted : 10|1@1+ (1,0) [0|1] "" ABX
SG_ ClippingDetected : 11|1@1+ (1,0) [0|1] "" ABX
SG_ Interpolated : 12|1@1+ (1,0) [0|1] "" ABX
SG_ SyncIn : 13|1@1+ (1,0) [0|1] "" ABX
SG_ SyncOut : 14|1@1+ (1,0) [0|1] "" ABX
SG_ FilterMode : 1|3@0+ (1,0) [0|1] "" ABX
SG_ HaveGnssTimePulse : 2|1@1+ (1,0) [0|1] "" ABX
SG_ RtkStatus : 4|2@0+ (1,0) [0|1] "" ABX
BO_ 33 Quaternion: 8 XSens
SG_ Q1 : 7|16@0- (3.05176e-05,0) [-1|1] "" ABX
SG_ Q2 : 23|16@0- (3.05176e-05,0) [-1|1] "" ABX
SG_ Q3 : 39|16@0- (3.05176e-05,0) [-1|1] "" ABX
SG_ Q4 : 55|16@0- (3.05176e-05,0) [-1|1] "" ABX
BO_ 49 DeltaV: 7 XSens
SG_ X : 7|16@0- (7.62939e-06,0) [-0.25|0.25] "m/s" ABX
SG_ Y : 23|16@0- (7.62939e-06,0) [-0.25|0.25] "m/s" ABX
SG_ Z : 39|16@0- (7.62939e-06,0) [-0.25|0.25] "m/s" ABX
SG_ Exponent : 55|8@0+ (1,0) [0|0] "" ABX
BO_ 50 RateOfTurn: 6 XSens
SG_ gyrX : 7|16@0- (0.00195313,0) [-35|35] "rad/s" ABX
SG_ gyrY : 23|16@0- (0.00195313,0) [-35|35] "rad/s" ABX
SG_ gyrZ : 39|16@0- (0.00195313,0) [-35|35] "rad/s" ABX
BO_ 51 DeltaQ: 8 XSens
SG_ DeltaQ1 : 7|16@0- (3.05185e-05,0) [-1|1] "m/s²" ABX
SG_ DeltaQ2 : 23|16@0- (3.05185e-05,0) [-1|1] "m/s²" ABX
SG_ DeltaQ3 : 39|16@0- (3.05185e-05,0) [-1|1] "m/s²" ABX
SG_ DeltaQ4 : 55|16@0- (3.05185e-05,0) [-1|1] "m/s²" ABX
BO_ 52 Acceleration: 6 XSens
SG_ accX : 7|16@0- (0.00390625,0) [-100|100] "m/s²" ABX
SG_ accY : 23|16@0- (0.00390625,0) [-100|100] "m/s²" ABX
SG_ accZ : 39|16@0- (0.00390625,0) [-100|100] "m/s²" ABX
BO_ 53 FreeAcceleration: 6 XSens
SG_ FreeAccX : 7|16@0- (0.00390625,0) [-100|100] "m/s²" ABX
SG_ FreeAccY : 23|16@0- (0.00390625,0) [-100|100] "m/s²" ABX
SG_ FreeAccZ : 39|16@0- (0.00390625,0) [-100|100] "m/s²" ABX
BO_ 97 RateOfTurnHR: 6 XSens
SG_ HrGyrX : 7|16@0- (0.00195313,0) [-35|35] "rad/s" ABX
SG_ HrGyrY : 23|16@0- (0.00195313,0) [-35|35] "rad/s" ABX
SG_ HrGyrZ : 39|16@0- (0.00195313,0) [-35|35] "rad/s" ABX
BO_ 98 AccelerationHR: 6 XSens
SG_ HrAccX : 7|16@0- (0.00390625,0) [-100|100] "m/s²" ABX
SG_ HrAccY : 23|16@0- (0.00390625,0) [-100|100] "m/s²" ABX
SG_ HrAccZ : 39|16@0- (0.00390625,0) [-100|100] "m/s²" ABX
BO_ 65 MagneticField: 6 XSens
SG_ magX : 7|16@0- (0.000976563,0) [-32|32] "a.u." ABX
SG_ magY : 23|16@0- (0.000976563,0) [-32|32] "a.u" ABX
SG_ magZ : 39|16@0- (0.000976563,0) [-32|32] "a.u" ABX
BO_ 81 Temperature: 2 XSens
SG_ Temperature : 7|16@0- (0.00390625,0) [-40|85] "degC" ABX
BO_ 82 BarometricPressure: 4 XSens
SG_ Pressure : 7|32@0- (3.05176e-05,0) [30000|125000] "Pa" ABX
BO_ 7 UTC: 8 XSens
SG_ year : 7|8@0+ (1,0) [0|0] "Y" ABX
SG_ month : 15|8@0+ (1,0) [1|12] "M" ABX
SG_ day : 23|8@0+ (1,0) [1|31] "D" ABX
SG_ hour : 31|8@0+ (1,0) [0|24] "h" ABX
SG_ minute : 39|8@0+ (1,0) [0|60] "m" ABX
SG_ second : 47|8@0+ (1,0) [0|60] "s" ABX
SG_ tenthms : 55|16@0+ (1,0) [0|0] "ms/10" ABX
BO_ 34 EulerAngles: 6 XSens
SG_ roll : 7|16@0- (0.0078125,0) [-180|180] "deg" ABX
SG_ pitch : 23|16@0- (0.0078125,0) [-90|90] "deg" ABX
SG_ yaw : 39|16@0- (0.0078125,0) [-180|180] "deg" ABX
BO_ 113 LongLat: 8 XSens
SG_ latitude : 7|32@0- (5.96046e-08,0) [-90|90] "deg" ABX
SG_ longitude : 39|32@0- (1.19209e-07,0) [-180|180] "deg" ABX
BO_ 114 AltitudeEllipsoid: 4 XSens
SG_ altEllipsoid : 7|32@0+ (3.05176e-05,0) [0|50000] "m" ABX
BO_ 115 PositionEcef_X: 4 XSens
SG_ PositionEcef_X : 7|32@0- (0.00390625,0) [-6.5e+06|6.5e+06] "m" ABX
BO_ 116 PositionEcef_Y: 4 XSens
SG_ PositionEcef_Y : 7|32@0- (0.00390625,0) [-6.5e+06|6.5e+06] "m" ABX
BO_ 117 PositionEcef_Z: 4 XSens
SG_ PositionEcef_Z : 7|32@0- (0.00390625,0) [-6.5e+06|6.5e+06] "m" ABX
BO_ 118 Velocity: 6 XSens
SG_ velX : 7|16@0- (0.015625,0) [-500|500] "m/s" ABX
SG_ velY : 23|16@0- (0.015625,0) [-500|500] "m/s" ABX
SG_ velZ : 39|16@0- (0.015625,0) [-500|500] "m/s" ABX
BO_ 1040 AS_Mission_fb: 1 ABX
SG_ Mission_selection : 0|3@1+ (1,0) [1|7] "" STW
BO_ 1024 STW_mission_selected: 1 STW
SG_ Mission_selection : 0|3@1+ (1,0) [1|7] "" ABX
BO_ 1280 DV_driving_dynamics_1: 8 ABX
SG_ Speed_actual : 0|8@1+ (1,0) [0|250] "km/h" FSG_Logger
SG_ Speed_target : 8|8@1+ (1,0) [0|250] "km/h" FSG_Logger
SG_ Steering_angle_actual : 16|8@1- (0.5,0) [-60|60] "°" FSG_Logger
SG_ Steering_angle_target : 24|8@1- (0.5,0) [-60|60] "°" FSG_Logger
SG_ Brake_hydr_actual : 32|8@1+ (1,0) [0|100] "%" FSG_Logger
SG_ Brake_hydr_target : 40|8@1+ (1,0) [0|100] "%" FSG_Logger
SG_ Motor_moment_actual : 48|8@1- (1,0) [-100|100] "%" FSG_Logger
SG_ Motor_moment_target : 56|8@1- (1,0) [-100|100] "%" FSG_Logger
BO_ 1281 DV_driving_dynamics_2: 6 ABX
SG_ Acceleration_longitudinal : 0|16@1- (0.00195313,0) [-50|50] "m/s^2" FSG_Logger
SG_ Acceleration_lateral : 16|16@1- (0.00195313,0) [-50|50] "m/s^2" FSG_Logger
SG_ Yaw_rate : 32|16@1- (0.0078125,0) [-200|200] "°/s" FSG_Logger
BO_ 1282 DV_system_status: 5 ABX
SG_ AS_state : 0|3@1+ (1,0) [1|5] "" FSG_Logger
SG_ EBS_state : 3|2@1+ (1,0) [1|3] "" FSG_Logger
SG_ AMI_state : 5|3@1+ (1,0) [1|6] "" FSG_Logger
SG_ Steering_state : 8|1@1+ (1,0) [0|1] "" FSG_Logger
SG_ Service_brake_state : 9|2@1+ (1,0) [1|3] "" FSG_Logger
SG_ Lap_counter : 11|4@1+ (1,0) [0|10] "" FSG_Logger
SG_ Cones_count_actual : 15|8@1+ (1,0) [0|250] "" FSG_Logger
SG_ Cones_count_all : 23|17@1+ (1,0) [0|131000] "" FSG_Logger
BO_ 801 EPSC_out: 8 EPSC
SG_ EPSC_measured_steering_angle : 0|12@1- (0.1,0) [-120|120] "°" ABX
SG_ EPSC_measured_rpm : 12|12@1- (1,0) [-120|120] "rpm" ABX
SG_ EPSC_measured_current : 24|12@1+ (0.1,0) [0|20] "A" ABX
SG_ EPSC_measured_voltage : 36|12@1+ (0.1,0) [0|20] "V" ABX
SG_ EPSC_measured_temperature : 48|12@1+ (1,0) [0|200] "°C" ABX
SG_ EPSC_measured_flag1 : 60|1@1+ (1,0) [0|1] "" ABX
SG_ EPSC_measured_flag2 : 61|1@1+ (1,0) [0|1] "" ABX
SG_ EPSC_measured_flag3 : 62|1@1+ (1,0) [0|1] "" ABX
SG_ EPSC_measured_flag4 : 63|1@1+ (1,0) [0|1] "" ABX
BO_ 291 EPSC_In: 8 ABX
SG_ EPSC_mode M : 0|8@1+ (1,0) [0|1] "" EPSC
SG_ EPSC_desired_steering_angle : 8|16@1- (0.0001,0) [-10000|10000] "" EPSC
SG_ EPSC_Kp_pos : 24|8@1+ (0.1,0) [0|25.6] "" EPSC
SG_ EPSC_Kp_rpm m0 : 32|8@1+ (0.1,0) [0|25.6] "" EPSC
SG_ EPSC_Ki_rpm m0 : 40|8@1+ (0.1,0) [0|25.6] "" EPSC
SG_ EPSC_Kp_curr m0 : 48|8@1+ (0.1,0) [0|25.6] "" EPSC
SG_ EPSC_Ki_curr m0 : 56|8@1+ (0.1,0) [0|25.6] "" EPSC
SG_ EPSC_Ki_pos m1 : 32|8@1+ (0.1,0) [0|25.6] "" EPSC
BO_ 1041 STW_control: 1 ABX
SG_ STW_debugMode : 0|1@1+ (1,0) [0|1] "" STW
BO_ 1025 STW_buttons: 1 STW
SG_ STW_button_left : 0|1@1+ (1,0) [0|1] "" ABX
SG_ STW_button_right : 1|1@1+ (1,0) [0|1] "" ABX
SG_ STW_button_R2D : 2|1@1+ (1,0) [0|1] "" ABX
SG_ STW_button_Enter : 3|1@1+ (1,0) [0|1] "" ABX
BO_ 1042 STW_status: 6 ABX
SG_ InvL_ready : 8|1@1+ (1,0) [0|0] "" STW
SG_ iniChk_state : 24|8@1+ (1,0) [0|255] "" STW
SG_ InvR_ready : 9|1@1+ (1,0) [0|0] "" STW
SG_ AS_state : 0|3@1+ (1,0) [0|5] "" Vector__XXX
SG_ SDC_BFL : 10|1@1+ (1,0) [0|0] "" STW
SG_ SDC_BRL : 11|1@1+ (1,0) [0|0] "" STW
SG_ SDC_ACC : 12|1@1+ (1,0) [0|0] "" STW
SG_ SDC_HVB : 13|1@1+ (1,0) [0|0] "" STW
SG_ Lap_Count : 16|6@1+ (1,0) [0|64] "" STW
SG_ ERR_SDC : 32|1@1+ (1,0) [0|1] "" STW
SG_ ERR_AMS : 33|1@1+ (1,0) [0|1] "" STW
SG_ ERR_InvL : 43|1@1+ (1,0) [0|1] "" STW
SG_ ERR_InvR : 44|1@1+ (1,0) [0|1] "" STW
SG_ ERR_IniChk : 35|1@1+ (1,0) [0|1] "" STW
SG_ ERR_ConMon : 36|1@1+ (1,0) [0|1] "" STW
SG_ ERR_SCS : 37|1@1+ (1,0) [0|1] "" STW
SG_ ERR_sBSPD : 38|1@1+ (1,0) [0|1] "" STW
SG_ ERR_APPSp : 39|1@1+ (1,0) [0|1] "" STW
SG_ ERR_AS : 40|1@1+ (1,0) [0|1] "" STW
SG_ ERR_ROS : 41|1@1+ (1,0) [0|1] "" STW
SG_ ERR_RES : 42|1@1+ (1,0) [0|1] "" STW
SG_ ERR_PDU : 34|1@1+ (1,0) [0|1] "" STW
SG_ R2D_Progress : 4|4@1+ (1,0) [0|15] "" STW
BO_ 1297 DV_SEBSS_Pressures: 8 ABX
SG_ EBS_Pressure_tank_A : 0|16@1+ (0.1,0) [0|50] "Bar" FSG_Logger
SG_ EBS_Pressure_tank_B : 16|16@1+ (0.1,0) [0|50] "Bar" FSG_Logger
SG_ Brake_Pressure_front : 32|16@1+ (0.1,0) [0|200] "Bar" FSG_Logger
SG_ Brake_Pressure_rear : 48|16@1+ (0.1,0) [0|200] "Bar" FSG_Logger
CM_ BU_ XSens "Generic Xsens Motion Sensor";
CM_ SG_ 17 SelfTestOk "Set when the self test result was ok";
CM_ SG_ 17 OrientationValid "Set when the computed orientation is valid. The orientation may be invalid during startup or when the XSens data is clipping during violent (for the device) motion";
CM_ SG_ 17 GpsValid "Set when the device has a GPS receiver and the receiver says that there is a GPS position fix.";
CM_ SG_ 17 RepresentativeMotion "Indicates if the In-Run Compass Calibration is doing the representative motion analysis";
CM_ SG_ 17 ExternalClockSynced "Indicates whether the internal clock is synced with an external clock (Either GNNS or custom provided clock sync)";
CM_ SG_ 17 ClipAccX "Indicates if there was clipping on the X-axis of the accelerometer";
CM_ SG_ 17 ClipAccY "Indicates if there was clipping on the Y-axis of the accelerometer";
CM_ SG_ 17 ClipAccZ "Indicates if there was clipping on the Z-axis of the accelerometer";
CM_ SG_ 17 ClipGyrX "Indicates if there was clipping on the X-axis of the gyroscope";
CM_ SG_ 17 ClipGyrY "Indicates if there was clipping on the Y-axis of the gyroscope";
CM_ SG_ 17 ClipGyrZ "Indicates if there was clipping on the Z-axis of the gyroscope";
CM_ SG_ 17 ClipMagX "Indicates if there was clipping on the X-axis of the magnetometer";
CM_ SG_ 17 ClipMagY "Indicates if there was clipping on the Y-axis of the magnetometer";
CM_ SG_ 17 ClipMagZ "Indicates if there was clipping on the Z-axis of the magnetometer";
CM_ SG_ 17 Retransmitted "When set Indicates the sample was received as a retransmission";
CM_ SG_ 17 ClippingDetected "When set Indicates clipping has occurred";
CM_ SG_ 17 Interpolated "When set Indicates the sample is an interpolation between other samples";
CM_ SG_ 17 SyncIn "When set indicates a sync-in event has been triggered";
CM_ SG_ 17 SyncOut "When set Indicates a sync-out event has been generated";
CM_ SG_ 17 FilterMode "Mask for the 3 bit filter mode field";
CM_ SG_ 17 HaveGnssTimePulse "Indicates that the 1PPS GNSS time pulse is present";
CM_ SG_ 17 RtkStatus "Mask for 2 bit RTK status field";
CM_ BO_ 7 "UTC Time in the following format YYMMDDhhmmss plus tenth of a milli second";
VAL_ 17 SelfTestOk 0 "false" 1 "true";
VAL_ 17 OrientationValid 0 "false" 1 "true";
VAL_ 17 GpsValid 0 "false" 1 "true";
VAL_ 17 NoRotation 1 "Aborted" 2 "SamplesRejected" 3 "RunningNormally";
VAL_ 17 RepresentativeMotion 0 "false" 1 "true";
VAL_ 17 ExternalClockSynced 0 "false" 1 "true";
VAL_ 17 ClipAccX 0 "false" 1 "true";
VAL_ 17 ClipAccY 0 "false" 1 "true";
VAL_ 17 ClipAccZ 0 "false" 1 "true";
VAL_ 17 ClipGyrX 0 "false" 1 "true";
VAL_ 17 ClipGyrY 0 "false" 1 "true";
VAL_ 17 ClipGyrZ 0 "false" 1 "true";
VAL_ 17 ClipMagX 0 "false" 1 "true";
VAL_ 17 ClipMagY 0 "false" 1 "true";
VAL_ 17 ClipMagZ 0 "false" 1 "true";
VAL_ 17 Retransmitted 0 "false" 1 "true";
VAL_ 17 ClippingDetected 0 "false" 1 "true";
VAL_ 17 Interpolated 0 "false" 1 "true";
VAL_ 17 SyncIn 0 "false" 1 "true";
VAL_ 17 SyncOut 0 "false" 1 "true";
VAL_ 17 FilterMode 0 "false" 1 "true";
VAL_ 17 HaveGnssTimePulse 0 "false" 1 "true";
VAL_ 17 RtkStatus 0 "No RTK" 1 "RTK floating" 2 "RTK fixed";
VAL_ 1040 Mission_selection 7 "MissionSelection_manual" 1 "MissionSelection_acceleration" 2 "MissionSelection_skidpad" 3 "MissionSelection_trackdrive" 4 "MissionSelection_braketest" 5 "MissionSelection_inspection" 6 "MissionSelection_autocross";
VAL_ 1024 Mission_selection 7 "MissionSelection_manual" 1 "MissionSelection_acceleration" 2 "MissionSelection_skidpad" 3 "MissionSelection_trackdrive" 4 "MissionSelection_braketest" 5 "MissionSelection_inspection" 6 "MissionSelection_autocross";
VAL_ 1282 AS_state 1 "AS_state_off" 2 "AS_state_ready" 3 "AS_state_driving" 4 "AS_state_emergency_brake" 5 "AS_state_finish";
VAL_ 1282 EBS_state 1 "EBS_state_unavailable" 2 "EBS_state_armed" 3 "EBS_state_activated";
VAL_ 1282 AMI_state 1 "AMI_state_acceleration" 2 "AMI_state_skidpad" 3 "AMI_state_trackdrive" 4 "AMI_state_braketest" 5 "AMI_state_inspection" 6 "AMI_state_autocross";
VAL_ 1282 Service_brake_state 1 "Service_brake_state_disengaged" 2 "Service_brake_state_engaged" 3 "Service_brake_state_available";
VAL_ 291 EPSC_mode 0 "Triple_Control_Loop" 1 "Single_Control_Loop";
VAL_ 1042 iniChk_state 0 "Start" 1 "WD_Check" 2 "WD_OK" 3 "ASB_Check_1" 4 "ASB_Check_2" 5 "Wait_TS" 6 "EBS_Check_A" 7 "EBS_Check_B" 8 "Done" 9 "Error";
VAL_ 1042 AS_state 0 "AS_Off" 1 "AS_Manual" 2 "AS_Ready" 3 "AS_Driving" 4 "AS_Finished" 5 "AS_Emergency";
VAL_ 1042 R2D_Progress 0 "R2D_None" 1 "R2D_TSMS" 2 "R2D_TSActive" 3 "R2D_Resetting_Nodes" 4 "R2D_Resetting_Comms" 5 "R2D_Waiting_Init" 6 "R2D_Init_Stage1" 7 "R2D_Init_Stage2" 15 "R2D_Init_Success";

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,165 @@
[View_Vehicles]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Vehicle]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,250,
[View_VehicleNetworks]
HIDDEN=3,
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,150,
[View_VehicleNetwork]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleNetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_VehicleNetworkSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,
[View_VehicleControlUnit]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleGateways]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,
[View_VehicleGatewaySignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,
DEFINITIONS=
COLUMNWIDTHS=250,250,250,250,250,250,250,
[View_Networks]
HIDDEN=2,
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,150,
[View_Network]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_NetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_NetworkTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NetworkNodeGroup]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Ecus]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Ecu]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_EnvVars]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,50,50,100,100,150,
[View_EnvVar]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,50,50,50,50,100,100,150,
[View_NodeGroups]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_NodeGroup]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,150,
[View_Nodes]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Node]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,150,
[View_NodeTxMsg]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeRxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_NodeRxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_Messages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,55,100,50,100,100,100,150,
[View_Message]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,73,50,100,100,100,136,50,50,50,100,100,150,
[View_Signals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,50,100,100,100,50,50,50,50,100,100,150,100,
[View_ValueTables]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_AttrDefs]
HIDDEN=6,
ORDER=0,1,2,3,4,5,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,100,150,

View File

@ -0,0 +1,93 @@
VERSION ""
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_: ABX RES FS_Datalogger
BO_ 1072 FS_Datalogger_Status: 6 FS_Datalogger
SG_ Current : 32|16@1+ (64,0) [0|4194240] "mA" ABX
SG_ Voltage : 16|16@1+ (16,0) [0|1048560] "mV" ABX
SG_ Status_Triggered_Current : 11|1@1- (1,0) [0|0] "" ABX
SG_ Status_Triggered_Voltage : 10|1@1- (1,0) [0|0] "" ABX
SG_ Status_Logging : 9|1@1- (1,0) [0|0] "" ABX
SG_ Status_Ready : 8|1@1- (1,0) [0|0] "" ABX
SG_ MsgCnt : 0|8@1+ (1,0) [0|255] "" ABX
BO_ 1298 DV_ContinuousMonitoring: 1 ABX
SG_ Pressure_charged : 5|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ PDU_comm_alive : 2|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ Position_sensors_closed : 4|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ AS_error : 3|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ AS_comm_alive : 1|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ SDC_opened : 0|1@1+ (1,0) [0|1] "bool" FS_Datalogger
BO_ 1280 DV_driving_dynamics_1: 8 ABX
SG_ Speed_actual : 0|8@1+ (1,0) [0|250] "km/h" FS_Datalogger
SG_ Speed_target : 8|8@1+ (1,0) [0|250] "km/h" FS_Datalogger
SG_ Steering_angle_actual : 16|8@1- (0.5,0) [-60|60] "°" FS_Datalogger
SG_ Steering_angle_target : 24|8@1- (0.5,0) [-60|60] "°" FS_Datalogger
SG_ Brake_hydr_actual : 32|8@1+ (1,0) [0|100] "%" FS_Datalogger
SG_ Brake_hydr_target : 40|8@1+ (1,0) [0|100] "%" FS_Datalogger
SG_ Motor_moment_actual : 48|8@1- (1,0) [-100|100] "%" FS_Datalogger
SG_ Motor_moment_target : 56|8@1- (1,0) [-100|100] "%" FS_Datalogger
BO_ 1281 DV_driving_dynamics_2: 6 ABX
SG_ Acceleration_longitudinal : 0|16@1- (0.00195313,0) [-50|50] "m/s^2" FS_Datalogger
SG_ Acceleration_lateral : 16|16@1- (0.00195313,0) [-50|50] "m/s^2" FS_Datalogger
SG_ Yaw_rate : 32|16@1- (0.0078125,0) [-200|200] "°/s" FS_Datalogger
BO_ 1282 DV_system_status: 5 ABX
SG_ AS_state : 0|3@1+ (1,0) [1|5] "" FS_Datalogger
SG_ EBS_state : 3|2@1+ (1,0) [1|3] "" FS_Datalogger
SG_ AMI_state : 5|3@1+ (1,0) [1|6] "" FS_Datalogger
SG_ Steering_state : 8|1@1+ (1,0) [0|1] "" FS_Datalogger
SG_ Service_brake_state : 9|2@1+ (1,0) [1|3] "" FS_Datalogger
SG_ Lap_counter : 11|4@1+ (1,0) [0|10] "" FS_Datalogger
SG_ Cones_count_actual : 15|8@1+ (1,0) [0|250] "" FS_Datalogger
SG_ Cones_count_all : 23|17@1+ (1,0) [0|131000] "" FS_Datalogger
BO_ 1297 DV_SEBSS_Pressures: 8 ABX
SG_ EBS_Pressure_tank_A : 0|16@1+ (0.1,0) [0|50] "Bar" FS_Datalogger
SG_ EBS_Pressure_tank_B : 16|16@1+ (0.1,0) [0|50] "Bar" FS_Datalogger
SG_ Brake_Pressure_front : 32|16@1+ (0.1,0) [0|200] "Bar" FS_Datalogger
SG_ Brake_Pressure_rear : 48|16@1+ (0.1,0) [0|200] "Bar" FS_Datalogger
VAL_ 1282 AS_state 1 "AS_state_off" 2 "AS_state_ready" 3 "AS_state_driving" 4 "AS_state_emergency_brake" 5 "AS_state_finish" ;
VAL_ 1282 EBS_state 1 "EBS_state_unavailable" 2 "EBS_state_armed" 3 "EBS_state_activated" ;
VAL_ 1282 AMI_state 1 "AMI_state_acceleration" 2 "AMI_state_skidpad" 3 "AMI_state_trackdrive" 4 "AMI_state_braketest" 5 "AMI_state_inspection" 6 "AMI_state_autocross" ;
VAL_ 1282 Service_brake_state 1 "Service_brake_state_disengaged" 2 "Service_brake_state_engaged" 3 "Service_brake_state_available" ;

View File

@ -0,0 +1,165 @@
[View_Vehicles]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Vehicle]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,250,
[View_VehicleNetworks]
HIDDEN=3,
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,150,
[View_VehicleNetwork]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleNetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_VehicleNetworkSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,
[View_VehicleControlUnit]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleGateways]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,
[View_VehicleGatewaySignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,
DEFINITIONS=
COLUMNWIDTHS=250,250,250,250,250,250,250,
[View_Networks]
HIDDEN=2,
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,150,
[View_Network]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_NetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_NetworkTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NetworkNodeGroup]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Ecus]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Ecu]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_EnvVars]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,50,50,100,100,150,
[View_EnvVar]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,50,50,50,50,100,100,150,
[View_NodeGroups]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_NodeGroup]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,150,
[View_Nodes]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Node]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,150,
[View_NodeTxMsg]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeRxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_NodeRxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_Messages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,55,100,50,100,100,100,150,
[View_Message]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,
[View_Signals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,50,100,100,100,50,50,50,50,100,100,150,100,
[View_ValueTables]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_AttrDefs]
HIDDEN=6,
ORDER=0,1,2,3,4,5,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,100,150,

View File

@ -0,0 +1,76 @@
VERSION "created by canmatrix"
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_: ABX FSG_Logger RES
BO_ 1280 DV_driving_dynamics_1: 8 ABX
SG_ Speed_actual : 0|8@1+ (1,0) [0|250] "km/h" FSG_Logger
SG_ Speed_target : 8|8@1+ (1,0) [0|250] "km/h" FSG_Logger
SG_ Steering_angle_actual : 16|8@1- (0.5,0) [-60|60] "°" FSG_Logger
SG_ Steering_angle_target : 24|8@1- (0.5,0) [-60|60] "°" FSG_Logger
SG_ Brake_hydr_actual : 32|8@1+ (1,0) [0|100] "%" FSG_Logger
SG_ Brake_hydr_target : 40|8@1+ (1,0) [0|100] "%" FSG_Logger
SG_ Motor_moment_actual : 48|8@1- (1,0) [-100|100] "%" FSG_Logger
SG_ Motor_moment_target : 56|8@1- (1,0) [-100|100] "%" FSG_Logger
BO_ 1281 DV_driving_dynamics_2: 6 ABX
SG_ Acceleration_longitudinal : 0|16@1- (0.00195313,0) [-50|50] "m/s^2" FSG_Logger
SG_ Acceleration_lateral : 16|16@1- (0.00195313,0) [-50|50] "m/s^2" FSG_Logger
SG_ Yaw_rate : 32|16@1- (0.0078125,0) [-200|200] "°/s" FSG_Logger
BO_ 1282 DV_system_status: 5 ABX
SG_ AS_state : 0|3@1+ (1,0) [1|5] "" FSG_Logger
SG_ EBS_state : 3|2@1+ (1,0) [1|3] "" FSG_Logger
SG_ AMI_state : 5|3@1+ (1,0) [1|6] "" FSG_Logger
SG_ Steering_state : 8|1@1+ (1,0) [0|1] "" FSG_Logger
SG_ Service_brake_state : 9|2@1+ (1,0) [1|3] "" FSG_Logger
SG_ Lap_counter : 11|4@1+ (1,0) [0|10] "" FSG_Logger
SG_ Cones_count_actual : 15|8@1+ (1,0) [0|250] "" FSG_Logger
SG_ Cones_count_all : 23|17@1+ (1,0) [0|131000] "" FSG_Logger
BO_ 1297 DV_SEBSS_Pressures: 8 ABX
SG_ EBS_Pressure_tank_A : 0|16@1+ (0.1,0) [0|50] "Bar" FSG_Logger
SG_ EBS_Pressure_tank_B : 16|16@1+ (0.1,0) [0|50] "Bar" FSG_Logger
SG_ Brake_Pressure_front : 32|16@1+ (0.1,0) [0|200] "Bar" FSG_Logger
SG_ Brake_Pressure_rear : 48|16@1+ (0.1,0) [0|200] "Bar" FSG_Logger
VAL_ 1282 AS_state 1 "AS_state_off" 2 "AS_state_ready" 3 "AS_state_driving" 4 "AS_state_emergency_brake" 5 "AS_state_finish" ;
VAL_ 1282 EBS_state 1 "EBS_state_unavailable" 2 "EBS_state_armed" 3 "EBS_state_activated" ;
VAL_ 1282 AMI_state 1 "AMI_state_acceleration" 2 "AMI_state_skidpad" 3 "AMI_state_trackdrive" 4 "AMI_state_braketest" 5 "AMI_state_inspection" 6 "AMI_state_autocross" ;
VAL_ 1282 Service_brake_state 1 "Service_brake_state_disengaged" 2 "Service_brake_state_engaged" 3 "Service_brake_state_available" ;

View File

@ -0,0 +1,165 @@
[View_Vehicles]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Vehicle]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,250,
[View_VehicleNetworks]
HIDDEN=3,
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,150,
[View_VehicleNetwork]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleNetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_VehicleNetworkSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,
[View_VehicleControlUnit]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleGateways]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,
[View_VehicleGatewaySignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,
DEFINITIONS=
COLUMNWIDTHS=250,250,250,250,250,250,250,
[View_Networks]
HIDDEN=2,
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,150,
[View_Network]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_NetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_NetworkTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NetworkNodeGroup]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Ecus]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Ecu]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_EnvVars]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,50,50,100,100,150,
[View_EnvVar]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,50,50,50,50,100,100,150,
[View_NodeGroups]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_NodeGroup]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,150,
[View_Nodes]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Node]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,150,
[View_NodeTxMsg]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeRxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_NodeRxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_Messages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,55,100,50,100,100,100,150,
[View_Message]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,
[View_Signals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,50,100,100,100,50,50,50,50,100,100,150,100,
[View_ValueTables]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_AttrDefs]
HIDDEN=6,
ORDER=0,1,2,3,4,5,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,100,150,

View File

@ -0,0 +1,104 @@
VERSION ""
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_: ABX RES FS_Datalogger
BO_ 401 RES_PDO: 7 RES
SG_ RES_Signal_Strength : 48|8@1+ (1,0) [0|100] "%" Vector__XXX
SG_ RES_Switch : 1|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ RES_Go_Signal : 2|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ RES_EStop : 0|1@1+ (1,0) [0|1] "" Vector__XXX
BO_ 0 NMT_Operational: 2 Vector__XXX
SG_ NMT_Node_ID : 8|8@1+ (1,0) [0|255] "" Vector__XXX
SG_ NMT_Command : 0|1@1+ (1,0) [0|1] "" Vector__XXX
BO_ 1072 FS_Datalogger_Status: 6 FS_Datalogger
SG_ Current : 32|16@1+ (64,0) [0|4194240] "mA" ABX
SG_ Voltage : 16|16@1+ (16,0) [0|1048560] "mV" ABX
SG_ Status_Triggered_Current : 11|1@1- (1,0) [0|0] "" ABX
SG_ Status_Triggered_Voltage : 10|1@1- (1,0) [0|0] "" ABX
SG_ Status_Logging : 9|1@1- (1,0) [0|0] "" ABX
SG_ Status_Ready : 8|1@1- (1,0) [0|0] "" ABX
SG_ MsgCnt : 0|8@1+ (1,0) [0|255] "" ABX
BO_ 1298 DV_ContinuousMonitoring: 1 ABX
SG_ Pressure_charged : 5|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ PDU_comm_alive : 2|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ Position_sensors_closed : 4|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ AS_error : 3|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ AS_comm_alive : 1|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ SDC_opened : 0|1@1+ (1,0) [0|1] "bool" FS_Datalogger
BO_ 1280 DV_driving_dynamics_1: 8 ABX
SG_ Speed_actual : 0|8@1+ (1,0) [0|250] "km/h" FS_Datalogger
SG_ Speed_target : 8|8@1+ (1,0) [0|250] "km/h" FS_Datalogger
SG_ Steering_angle_actual : 16|8@1- (0.5,0) [-60|60] "°" FS_Datalogger
SG_ Steering_angle_target : 24|8@1- (0.5,0) [-60|60] "°" FS_Datalogger
SG_ Brake_hydr_actual : 32|8@1+ (1,0) [0|100] "%" FS_Datalogger
SG_ Brake_hydr_target : 40|8@1+ (1,0) [0|100] "%" FS_Datalogger
SG_ Motor_moment_actual : 48|8@1- (1,0) [-100|100] "%" FS_Datalogger
SG_ Motor_moment_target : 56|8@1- (1,0) [-100|100] "%" FS_Datalogger
BO_ 1281 DV_driving_dynamics_2: 6 ABX
SG_ Acceleration_longitudinal : 0|16@1- (0.00195313,0) [-50|50] "m/s^2" FS_Datalogger
SG_ Acceleration_lateral : 16|16@1- (0.00195313,0) [-50|50] "m/s^2" FS_Datalogger
SG_ Yaw_rate : 32|16@1- (0.0078125,0) [-200|200] "°/s" FS_Datalogger
BO_ 1282 DV_system_status: 5 ABX
SG_ AS_state : 0|3@1+ (1,0) [1|5] "" FS_Datalogger
SG_ EBS_state : 3|2@1+ (1,0) [1|3] "" FS_Datalogger
SG_ AMI_state : 5|3@1+ (1,0) [1|6] "" FS_Datalogger
SG_ Steering_state : 8|1@1+ (1,0) [0|1] "" FS_Datalogger
SG_ Service_brake_state : 9|2@1+ (1,0) [1|3] "" FS_Datalogger
SG_ Lap_counter : 11|4@1+ (1,0) [0|10] "" FS_Datalogger
SG_ Cones_count_actual : 15|8@1+ (1,0) [0|250] "" FS_Datalogger
SG_ Cones_count_all : 23|17@1+ (1,0) [0|131000] "" FS_Datalogger
BO_ 1297 DV_SEBSS_Pressures: 8 ABX
SG_ EBS_Pressure_tank_A : 0|16@1+ (0.1,0) [0|50] "Bar" FS_Datalogger
SG_ EBS_Pressure_tank_B : 16|16@1+ (0.1,0) [0|50] "Bar" FS_Datalogger
SG_ Brake_Pressure_front : 32|16@1+ (0.1,0) [0|200] "Bar" FS_Datalogger
SG_ Brake_Pressure_rear : 48|16@1+ (0.1,0) [0|200] "Bar" FS_Datalogger
CM_ SG_ 0 NMT_Node_ID "Needs to be 17 for RES";
VAL_ 1282 AS_state 1 "AS_state_off" 2 "AS_state_ready" 3 "AS_state_driving" 4 "AS_state_emergency_brake" 5 "AS_state_finish" ;
VAL_ 1282 EBS_state 1 "EBS_state_unavailable" 2 "EBS_state_armed" 3 "EBS_state_activated" ;
VAL_ 1282 AMI_state 1 "AMI_state_acceleration" 2 "AMI_state_skidpad" 3 "AMI_state_trackdrive" 4 "AMI_state_braketest" 5 "AMI_state_inspection" 6 "AMI_state_autocross" ;
VAL_ 1282 Service_brake_state 1 "Service_brake_state_disengaged" 2 "Service_brake_state_engaged" 3 "Service_brake_state_available" ;

View File

@ -0,0 +1,165 @@
[View_Vehicles]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Vehicle]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,250,
[View_VehicleNetworks]
HIDDEN=3,
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,150,
[View_VehicleNetwork]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleNetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_VehicleNetworkSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,
[View_VehicleControlUnit]
HIDDEN=
ORDER=0,1,2,3,4,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,250,150,
[View_VehicleGateways]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,
[View_VehicleGatewaySignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,
DEFINITIONS=
COLUMNWIDTHS=250,250,250,250,250,250,250,
[View_Networks]
HIDDEN=2,
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,150,
[View_Network]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_NetworkTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,100,150,
[View_NetworkTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,100,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NetworkNodeGroup]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Ecus]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_Ecu]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,150,
[View_EnvVars]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,50,50,100,100,150,
[View_EnvVar]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,100,50,50,50,50,100,100,150,
[View_NodeGroups]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_NodeGroup]
HIDDEN=
ORDER=0,1,2,3,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,150,
[View_Nodes]
HIDDEN=
ORDER=0,1,2,
DEFINITIONS=
COLUMNWIDTHS=250,100,150,
[View_Node]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxMessages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,250,55,100,50,100,100,150,
[View_NodeTxMsg]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeRxSignals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,-1,
[View_NodeTxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_NodeRxSigs]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,250,50,100,100,100,50,50,50,50,100,100,150,
[View_Messages]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,
DEFINITIONS=
COLUMNWIDTHS=250,55,100,50,100,100,100,150,
[View_Message]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,
DEFINITIONS=
COLUMNWIDTHS=250,250,100,50,50,100,100,100,50,50,50,50,100,100,150,
[View_Signals]
HIDDEN=
ORDER=0,1,2,3,4,5,6,7,8,9,10,11,12,
DEFINITIONS=
COLUMNWIDTHS=250,50,100,100,100,50,50,50,50,100,100,150,100,
[View_ValueTables]
HIDDEN=
ORDER=0,1,
DEFINITIONS=
COLUMNWIDTHS=250,150,
[View_AttrDefs]
HIDDEN=6,
ORDER=0,1,2,3,4,5,
DEFINITIONS=
COLUMNWIDTHS=250,100,100,50,50,100,150,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,99 @@
VERSION ""
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_: ABX RES FS_Datalogger
BO_ 1347 RES_Czech: 8 Vector__XXX
SG_ RES_Switch : 2|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ RES_Signal_Quality : 8|8@1+ (1,0) [0|100] "" Vector__XXX
SG_ RES_Go : 1|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ RES_EStop : 0|1@1+ (1,0) [0|1] "" Vector__XXX
BO_ 1072 FS_Datalogger_Status: 6 FS_Datalogger
SG_ Current : 32|16@1+ (64,0) [0|4194240] "mA" ABX
SG_ Voltage : 16|16@1+ (16,0) [0|1048560] "mV" ABX
SG_ Status_Triggered_Current : 11|1@1- (1,0) [0|0] "" ABX
SG_ Status_Triggered_Voltage : 10|1@1- (1,0) [0|0] "" ABX
SG_ Status_Logging : 9|1@1- (1,0) [0|0] "" ABX
SG_ Status_Ready : 8|1@1- (1,0) [0|0] "" ABX
SG_ MsgCnt : 0|8@1+ (1,0) [0|255] "" ABX
BO_ 1298 DV_ContinuousMonitoring: 1 ABX
SG_ Pressure_charged : 5|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ PDU_comm_alive : 2|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ Position_sensors_closed : 4|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ AS_error : 3|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ AS_comm_alive : 1|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ SDC_opened : 0|1@1+ (1,0) [0|1] "bool" FS_Datalogger
BO_ 1280 DV_driving_dynamics_1: 8 ABX
SG_ Speed_actual : 0|8@1+ (1,0) [0|250] "km/h" FS_Datalogger
SG_ Speed_target : 8|8@1+ (1,0) [0|250] "km/h" FS_Datalogger
SG_ Steering_angle_actual : 16|8@1- (0.5,0) [-60|60] "°" FS_Datalogger
SG_ Steering_angle_target : 24|8@1- (0.5,0) [-60|60] "°" FS_Datalogger
SG_ Brake_hydr_actual : 32|8@1+ (1,0) [0|100] "%" FS_Datalogger
SG_ Brake_hydr_target : 40|8@1+ (1,0) [0|100] "%" FS_Datalogger
SG_ Motor_moment_actual : 48|8@1- (1,0) [-100|100] "%" FS_Datalogger
SG_ Motor_moment_target : 56|8@1- (1,0) [-100|100] "%" FS_Datalogger
BO_ 1281 DV_driving_dynamics_2: 6 ABX
SG_ Acceleration_longitudinal : 0|16@1- (0.00195313,0) [-50|50] "m/s^2" FS_Datalogger
SG_ Acceleration_lateral : 16|16@1- (0.00195313,0) [-50|50] "m/s^2" FS_Datalogger
SG_ Yaw_rate : 32|16@1- (0.0078125,0) [-200|200] "°/s" FS_Datalogger
BO_ 1282 DV_system_status: 5 ABX
SG_ AS_state : 0|3@1+ (1,0) [1|5] "" FS_Datalogger
SG_ EBS_state : 3|2@1+ (1,0) [1|3] "" FS_Datalogger
SG_ AMI_state : 5|3@1+ (1,0) [1|6] "" FS_Datalogger
SG_ Steering_state : 8|1@1+ (1,0) [0|1] "" FS_Datalogger
SG_ Service_brake_state : 9|2@1+ (1,0) [1|3] "" FS_Datalogger
SG_ Lap_counter : 11|4@1+ (1,0) [0|10] "" FS_Datalogger
SG_ Cones_count_actual : 15|8@1+ (1,0) [0|250] "" FS_Datalogger
SG_ Cones_count_all : 23|17@1+ (1,0) [0|131000] "" FS_Datalogger
BO_ 1297 DV_SEBSS_Pressures: 8 ABX
SG_ EBS_Pressure_tank_A : 0|16@1+ (0.1,0) [0|50] "Bar" FS_Datalogger
SG_ EBS_Pressure_tank_B : 16|16@1+ (0.1,0) [0|50] "Bar" FS_Datalogger
SG_ Brake_Pressure_front : 32|16@1+ (0.1,0) [0|200] "Bar" FS_Datalogger
SG_ Brake_Pressure_rear : 48|16@1+ (0.1,0) [0|200] "Bar" FS_Datalogger
VAL_ 1282 AS_state 1 "AS_state_off" 2 "AS_state_ready" 3 "AS_state_driving" 4 "AS_state_emergency_brake" 5 "AS_state_finish" ;
VAL_ 1282 EBS_state 1 "EBS_state_unavailable" 2 "EBS_state_armed" 3 "EBS_state_activated" ;
VAL_ 1282 AMI_state 1 "AMI_state_acceleration" 2 "AMI_state_skidpad" 3 "AMI_state_trackdrive" 4 "AMI_state_braketest" 5 "AMI_state_inspection" 6 "AMI_state_autocross" ;
VAL_ 1282 Service_brake_state 1 "Service_brake_state_disengaged" 2 "Service_brake_state_engaged" 3 "Service_brake_state_available" ;

View File

@ -0,0 +1,96 @@
VERSION ""
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_: ABX RES FS_Datalogger
BO_ 401 RES_PDO: 7 RES
SG_ RES_Signal_Strength : 48|8@1+ (1,0) [0|100] "%" Vector__XXX
SG_ RES_Switch : 1|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ RES_Go_Signal : 2|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ RES_EStop : 0|1@1+ (1,0) [0|1] "" Vector__XXX
BO_ 0 NMT_Operational: 2 Vector__XXX
SG_ NMT_Node_ID : 8|8@1+ (1,0) [0|255] "" Vector__XXX
SG_ NMT_Command : 0|1@1+ (1,0) [0|1] "" Vector__XXX
BO_ 1072 FS_Datalogger_Status: 6 FS_Datalogger
SG_ Current : 32|16@1+ (64,0) [0|4194240] "mA" ABX
SG_ Voltage : 16|16@1+ (16,0) [0|1048560] "mV" ABX
SG_ Status_Triggered_Current : 11|1@1- (1,0) [0|0] "" ABX
SG_ Status_Triggered_Voltage : 10|1@1- (1,0) [0|0] "" ABX
SG_ Status_Logging : 9|1@1- (1,0) [0|0] "" ABX
SG_ Status_Ready : 8|1@1- (1,0) [0|0] "" ABX
SG_ MsgCnt : 0|8@1+ (1,0) [0|255] "" ABX
BO_ 1280 DV_driving_dynamics_1: 8 ABX
SG_ Speed_actual : 0|8@1+ (1,0) [0|250] "km/h" FS_Datalogger
SG_ Speed_target : 8|8@1+ (1,0) [0|250] "km/h" FS_Datalogger
SG_ Steering_angle_actual : 16|8@1- (0.5,0) [-30|30] "°" FS_Datalogger
SG_ Steering_angle_target : 24|8@1- (0.5,0) [-30|30] "°" FS_Datalogger
SG_ Brake_hydr_actual : 32|8@1+ (1,0) [0|100] "%" FS_Datalogger
SG_ Brake_hydr_target : 40|8@1+ (1,0) [0|100] "%" FS_Datalogger
SG_ Motor_moment_actual : 48|8@1- (1,0) [-100|100] "%" FS_Datalogger
SG_ Motor_moment_target : 56|8@1- (1,0) [-128|127] "%" FS_Datalogger
BO_ 1281 DV_driving_dynamics_2: 6 ABX
SG_ Yaw_rate : 32|16@1- (0.0078125,0) [0|0] "°/s" FS_Datalogger
SG_ Acceleration_longitudinal : 0|16@1- (0.00195313,0) [-50|50] "m/s^2" FS_Datalogger
SG_ Acceleration_lateral : 16|16@1- (0.00195313,0) [-50|50] "m/s^2" FS_Datalogger
BO_ 1282 DV_system_status: 5 ABX
SG_ AS_state : 0|3@1+ (1,0) [1|5] "" FS_Datalogger
SG_ EBS_state : 3|2@1+ (1,0) [1|3] "" FS_Datalogger
SG_ AMI_state : 5|3@1+ (1,0) [1|6] "" FS_Datalogger
SG_ Steering_state : 8|1@1+ (1,0) [0|1] "" FS_Datalogger
SG_ Service_brake_state : 9|2@1+ (1,0) [1|3] "" FS_Datalogger
SG_ Lap_counter : 11|4@1+ (1,0) [0|10] "" FS_Datalogger
SG_ Cones_count_actual : 15|8@1+ (1,0) [0|250] "" FS_Datalogger
SG_ Cones_count_all : 23|17@1+ (1,0) [0|131000] "" FS_Datalogger
BO_ 1297 DV_SEBSS_Pressures: 8 ABX
SG_ EBS_Pressure_tank_A : 0|16@1+ (0.1,0) [0|50] "Bar" FS_Datalogger
SG_ EBS_Pressure_tank_B : 16|16@1+ (0.1,0) [0|50] "Bar" FS_Datalogger
SG_ Brake_Pressure_front : 32|16@1+ (0.1,0) [0|200] "Bar" FS_Datalogger
SG_ Brake_Pressure_rear : 48|16@1+ (0.1,0) [0|200] "Bar" FS_Datalogger
CM_ SG_ 0 NMT_Node_ID "Needs to be 17 for RES";
VAL_ 1282 AS_state 1 "AS_state_off" 2 "AS_state_ready" 3 "AS_state_driving" 4 "AS_state_emergency_brake" 5 "AS_state_finish" ;
VAL_ 1282 EBS_state 1 "EBS_state_unavailable" 2 "EBS_state_armed" 3 "EBS_state_activated" ;
VAL_ 1282 AMI_state 1 "AMI_state_acceleration" 2 "AMI_state_skidpad" 3 "AMI_state_trackdrive" 4 "AMI_state_braketest" 5 "AMI_state_inspection" 6 "AMI_state_autocross" ;
VAL_ 1282 Service_brake_state 1 "Service_brake_state_disengaged" 2 "Service_brake_state_engaged" 3 "Service_brake_state_available" ;

View File

@ -0,0 +1,856 @@
VERSION ""
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_: Dashboard Sensornode_R Sensornode_F VN200 ACU SSU TTS_RL TTS_RR TTS_FR TTS_FL Shunt AMS FTCU PDU PDMV STW EPSC
BO_ 3221225472 VECTOR__INDEPENDENT_SIG_MSG: 0 Vector__XXX
SG_ New_Signal_547 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ New_Signal_546 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ New_Signal_545 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ New_Signal_544 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ New_Signal_543 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ New_Signal_542 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ New_Signal_541 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ New_Signal_540 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ New_Signal_539 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ SDO_Read_Write : 0|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ New_Signal_542 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
BO_ 1910 Inverter_Velocity: 8 Vector__XXX
SG_ Inverter_2_Velocity : 32|32@1- (0.001,0) [-2147483.648|2147483.647] "" Vector__XXX
SG_ Inverter_1_Velocity : 0|32@1- (0.001,0) [-2147483.648|2147483.647] "" Vector__XXX
BO_ 1920 Inverter_Errors_Warnings: 8 Vector__XXX
SG_ Inverter_2_Warnings : 48|16@1+ (1,0) [0|65535] "" Vector__XXX
SG_ Inverter_2_Errors : 32|16@1+ (1,0) [0|65535] "" Vector__XXX
SG_ Inverter_1_Warnings : 16|16@1+ (1,0) [0|65535] "" Vector__XXX
SG_ Inverter_1_Errors : 0|16@1+ (1,0) [0|65535] "" Vector__XXX
BO_ 1913 Inverter_Torque_Actual_CW: 8 Vector__XXX
SG_ Inverter_2_Torque_Actual : 48|16@1- (1,0) [-32768|32767] "" Vector__XXX
SG_ Inverter_2_ControlWord : 32|16@1+ (1,0) [0|65535] "" Vector__XXX
SG_ Inverter_1_Torque_Actual : 16|16@1- (1,0) [-32768|32767] "" Vector__XXX
SG_ Inverter_1_ControlWord : 0|16@1+ (1,0) [0|65535] "" Vector__XXX
BO_ 1912 Inverter_Temperatur: 8 Vector__XXX
SG_ Inverter_2_Temp_Mot : 48|16@1- (1,0) [-128|127] "" Vector__XXX
SG_ Inverter_2_Temp_Inv : 32|16@1- (1,0) [-32768|32767] "" Vector__XXX
SG_ Inverter_1_Temp_Mot : 16|16@1- (1,0) [-128|127] "" Vector__XXX
SG_ Inverter_1_Temp_Inv : 0|16@1- (1,0) [-128|127] "" Vector__XXX
BO_ 1911 Inverter_Torque_wanted: 8 Vector__XXX
SG_ Inverter_2_Torque_Desired : 48|16@1- (1,0) [-32768|32767] "" Vector__XXX
SG_ Inverter_1_Torque_Desired : 32|16@1- (1,0) [-32768|32767] "" Vector__XXX
SG_ Inverter_2_Torque_Demanded : 16|16@1- (1,0) [-32768|32767] "" Vector__XXX
SG_ Inverter_1_Torque_Demanded : 0|16@1- (1,0) [-32768|32767] "" Vector__XXX
BO_ 1843 SDO_Telemetrie_Rx_Node1: 8 Vector__XXX
SG_ SDO_data : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX
SG_ SDO_OD_subindex : 24|8@1+ (1,0) [0|255] "" Vector__XXX
SG_ SDO_OD_index : 8|16@1+ (1,0) [0|65535] "" Vector__XXX
SG_ SDO_command_byte : 0|8@1+ (1,0) [0|255] "" Vector__XXX
BO_ 1841 SDO_Telemetrie_Rx_Node2: 8 Vector__XXX
SG_ SDO_data : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX
SG_ SDO_OD_subindex : 24|8@1+ (1,0) [0|255] "" Vector__XXX
SG_ SDO_OD_index : 8|16@1+ (1,0) [0|65535] "" Vector__XXX
SG_ SDO_command_byte : 0|8@1+ (1,0) [0|255] "" Vector__XXX
BO_ 1842 SDO_Telemetrie_Tx: 8 Vector__XXX
SG_ SDO_data : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX
SG_ SDO_OD_subindex : 24|8@1+ (1,0) [0|255] "" Vector__XXX
SG_ SDO_OD_index : 8|16@1+ (1,0) [0|65535] "" Vector__XXX
SG_ SDO_command_byte : 0|8@1+ (1,0) [0|255] "" Vector__XXX
BO_ 1840 Laptop_SDO_Node: 1 Vector__XXX
SG_ Node_ID_SDO : 0|2@1+ (1,0) [0|3] "" Vector__XXX
BO_ 1811 XSens_LongLat: 8 Vector__XXX
SG_ XSens_longitude : 32|32@1- (1.19209E-07,0) [-255.999378194432|255.999378075223] "deg" Vector__XXX
SG_ XSens_latitude : 0|32@1- (5.96046E-08,0) [-127.999903845581|127.999903785976] "deg" Vector__XXX
BO_ 1810 XSens_rateofturn: 6 Vector__XXX
SG_ XSens_gyZ : 32|16@1- (0.00195313,0) [-64.00016384|63.99821071] "rad/s" Vector__XXX
SG_ XSens_gyY : 16|16@1- (0.00195313,0) [-64.00016384|63.99821071] "rad/s" Vector__XXX
SG_ XSens_gyrX : 0|16@1- (0.00195313,0) [-64.00016384|63.99821071] "rad/s" Vector__XXX
BO_ 1809 XSens_Acceleration: 6 Vector__XXX
SG_ XSens_accZ : 32|16@1- (0.00390625,0) [-128|127.99609375] "m/s^2" Vector__XXX
SG_ XSens_accY : 16|16@1- (0.00390625,0) [-128|127.99609375] "m/s^2" Vector__XXX
SG_ XSens_accX : 0|16@1- (0.00390625,0) [-128|127.99609375] "m/s^2" Vector__XXX
BO_ 1812 XSens_Velocity: 6 Vector__XXX
SG_ XSens_velZ : 32|16@1- (0.015625,0) [-512|511.984375] "m/s" Vector__XXX
SG_ XSens_velY : 16|16@1- (0.015625,0) [-512|511.984375] "m/s" Vector__XXX
SG_ XSens_velX : 0|16@1- (0.015625,0) [-512|511.984375] "m/s" Vector__XXX
BO_ 1824 Telemetrie: 7 Vector__XXX
SG_ TS_deactivate : 15|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ Traction_Control_on : 14|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ Reku_on : 13|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ Torque_Vectoring_on : 12|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ Torque_ohne_Limit_R : 48|8@1+ (10,0) [0|2550] "" Vector__XXX
SG_ Torque_ohne_Limit_L : 40|8@1+ (10,0) [0|2550] "" Vector__XXX
SG_ Torque_Limit_dynamisch : 32|8@1+ (10,0) [0|2550] "" Vector__XXX
SG_ Powermap : 4|3@1+ (1,0) [0|7] "" Vector__XXX
SG_ Power_Limit : 24|8@1+ (1,0) [0|255] "" Vector__XXX
SG_ Pressure_Sensor_ok : 11|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ ASP_ok : 10|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ Torque_Limit : 16|8@1+ (10,0) [0|2550] "" Vector__XXX
SG_ Allow_Torque : 9|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ Brake_ok : 8|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ APPS_ok : 7|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ Ini_Check_error_State : 0|4@1+ (1,0) [0|15] "" Vector__XXX
BO_ 1829 Override_Powermap: 8 Vector__XXX
SG_ Laptopp_Power_Map : 0|3@1+ (1,0) [0|7] "" Vector__XXX
SG_ Laptop_TV : 5|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ Laptop_TC_P : 32|16@1+ (0.1,0) [0|65535] "" Vector__XXX
SG_ Laptop_TC_Mumax : 48|8@1+ (0.01,1) [1|3.55] "" Vector__XXX
SG_ Laptop_TC_I : 16|16@1+ (0.1,0) [0|6553.5] "" Vector__XXX
SG_ Laptop_TC : 4|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ Laptop_slipref : 8|8@1+ (0.01,0) [0|2.55] "" Vector__XXX
SG_ Laptop_Reku : 3|1@1+ (1,0) [0|0] "" Vector__XXX
BO_ 1828 Override_Laptop_2: 5 Vector__XXX
SG_ Laptop_Torque_Lim : 32|8@1+ (10,0) [0|1500] "" Vector__XXX
SG_ Laptop_Powerlimit : 24|8@1+ (1,0) [0|80] "" Vector__XXX
SG_ manual_input_torque : 8|12@1+ (1,0) [0|4095] "" Vector__XXX
SG_ AS_State : 3|3@1+ (1,0) [0|7] "" Vector__XXX
SG_ AS_Mission : 0|3@1+ (1,0) [0|7] "" Vector__XXX
BO_ 1827 Override_EPSC_Cooling: 8 Vector__XXX
SG_ TS_cooling_PWM : 24|8@1+ (0.005,0) [0|1.275] "" Vector__XXX
SG_ TS_cooling_enable : 13|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ AC_cooling_PWM : 16|8@1+ (0.005,0) [0|1.275] "" Vector__XXX
SG_ AC_Cooling_enable : 12|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ EPSC_mode : 10|2@1+ (1,0) [0|3] "" Vector__XXX
SG_ EPSC_manual_angle : 0|10@1- (1,0) [-512|511] "" Vector__XXX
BO_ 1825 Override_Laptop: 3 Vector__XXX
SG_ override_torque_input : 19|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_TC_parameter : 18|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_Power_Map : 17|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_PDU_TS_Cooling_enable : 16|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_PDU_PN_V2_enable : 15|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_PDU_PN_V1_enable : 14|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_PDU_Lidar_enable : 13|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_PDU_Heartbeat : 12|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_PDU_EPSC_enable : 11|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_PDU_DRS_enable : 10|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_PDU_ACU_enable : 9|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_PDU_AC_Cooling_enable : 8|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_EPSC_mode : 7|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_AS_State : 6|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_AS_Mission : 5|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ override_APPS : 4|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ Fake_TS_Active : 3|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ Fake_Soundbox_R2D : 2|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ Fake_Soundbox_Emergency : 1|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ Fake_R2D : 0|1@1+ (1,0) [0|0] "" Vector__XXX
BO_ 1826 APPS_Override: 5 Vector__XXX
SG_ APPS_1_min : 30|10@1+ (0.01,0) [0|10.23] "" Vector__XXX
SG_ APPS_1_max : 20|10@1+ (0.01,0) [0|10.23] "" Vector__XXX
SG_ APPS_0_min : 10|10@1+ (0.01,0) [0|10.23] "" Vector__XXX
SG_ APPS_0_max : 0|10@1+ (0.01,0) [0|10.23] "" Vector__XXX
BO_ 259 FTCU_Damper: 8 Vector__XXX
SG_ FTCU_Damper_RR : 48|16@1+ (0.01,0) [0|75] "mm" Vector__XXX
SG_ FTCU_Damper_RL : 32|16@1+ (0.01,0) [0|75] "mm" Vector__XXX
SG_ FTCU_Damper_FR : 16|16@1+ (0.01,0) [0|75] "mm" Vector__XXX
SG_ FTCU_Damper_FL : 0|16@1+ (0.01,0) [0|75] "mm" Vector__XXX
BO_ 1043 FTCU_ParamConfirm: 1 Vector__XXX
SG_ FTCU_Param_Confirm : 0|8@1+ (1,0) [0|255] "" Vector__XXX
BO_ 209 Sensornode_F_10Hz: 3 Sensornode_F
SG_ BDTS_FL : 8|8@1+ (2,0) [0|510] "degC" FTCU
SG_ BDTS_FR : 16|8@1+ (2,0) [0|510] "degC" FTCU
SG_ LS_L : 0|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ LS_R : 1|1@1+ (1,0) [0|1] "" FTCU
SG_ SDC_M_pre_BOTS : 2|1@1+ (1,0) [0|1] "" FTCU
SG_ SDC_M_post_INS : 3|1@1+ (1,0) [0|1] "" FTCU
SG_ SDC_M_post_BSPD : 4|1@1+ (1,0) [0|1] "" FTCU
BO_ 211 Sensornode_F_100Hz_1: 7 Sensornode_F
SG_ APPS_1 : 0|8@1+ (0.00392157,0) [0|1] "" FTCU
SG_ APPS_2 : 8|8@1+ (0.00392157,0) [0|1] "" FTCU
SG_ BP_F : 16|8@1+ (2,0) [0|510] "" FTCU
SG_ WSS_FL : 40|8@1+ (1,0) [0|255] "notches" FTCU
SG_ WSS_FR : 48|8@1+ (1,0) [0|255] "notches" FTCU
SG_ SAS : 24|12@1+ (1,0) [0|4095] "" FTCU
BO_ 213 Sensornode_F_100Hz_2: 3 Sensornode_F
SG_ DS_FL : 0|12@1+ (1,0) [0|4095] "" FTCU
SG_ DS_FR : 12|12@1+ (1,0) [0|4095] "" FTCU
BO_ 215 Sensornode_F_1kHz: 3 Sensornode_F
SG_ SLS_FL : 0|12@1+ (1,0) [0|4095] "" FTCU
SG_ SLS_FR : 12|12@1+ (1,0) [0|4095] "" FTCU
BO_ 210 Sensornode_R_10Hz: 7 Sensornode_R
SG_ BDTS_RL : 8|8@1+ (2,0) [0|510] "degC" FTCU
SG_ BDTS_RR : 16|8@1+ (2,0) [0|510] "degC" FTCU
SG_ ExtTSOn : 0|1@1+ (1,0) [0|1] "" FTCU
SG_ SDC_M_pre_TSMS : 1|1@1+ (1,0) [0|1] "" FTCU
SG_ SDC_M_post_TSMS : 2|1@1+ (1,0) [0|1] "" FTCU
SG_ WT_BAT : 24|8@1+ (1,0) [0|255] "degC" FTCU
SG_ WT_DT : 32|8@1+ (1,0) [0|255] "degC" FTCU
SG_ WP_BAT : 40|8@1+ (1,0) [0|255] "" FTCU
SG_ WP_DT : 48|8@1+ (1,0) [0|255] "" FTCU
BO_ 212 Sensornode_R_100Hz: 8 Sensornode_R
SG_ EBS_APS_1 : 0|8@1+ (0.1,0) [0|25.5] "" FTCU
SG_ EBS_APS_2 : 8|8@1+ (0.1,0) [0|25.5] "" FTCU
SG_ BP_R : 16|8@1+ (2,0) [0|510] "" FTCU
SG_ DS_RL : 40|12@1+ (1,0) [0|4095] "" FTCU
SG_ DS_RR : 52|12@1+ (1,0) [0|4095] "" FTCU
SG_ WSS_RL : 24|8@1+ (1,0) [0|255] "notches" FTCU
SG_ WSS_RR : 32|8@1+ (1,0) [0|255] "notches" FTCU
BO_ 216 Sensornode_R_1kHz: 3 Sensornode_R
SG_ SLS_RL : 0|12@1+ (1,0) [0|4095] "" FTCU
SG_ SLS_RR : 12|12@1+ (1,0) [0|4095] "" FTCU
BO_ 220 PWM_DutyCycle: 7 FTCU
SG_ DC_DRS : 0|8@1+ (1,0) [0|255] "/255" Sensornode_R
SG_ DC_ASSI_Y : 8|8@1+ (1,0) [0|255] "/255" Sensornode_R
SG_ DC_ASSI_B : 16|8@1+ (1,0) [0|255] "/255" Sensornode_R
SG_ DC_BL : 24|8@1+ (1,0) [0|255] "/255" Sensornode_R
SG_ DC_Fans_DT : 32|8@1+ (1,0) [0|255] "/255" Sensornode_R
SG_ DC_Fans_BAT : 40|8@1+ (1,0) [0|255] "/255" Sensornode_R
SG_ DC_SBX : 48|8@1+ (1,0) [0|255] "/255" Sensornode_R
BO_ 221 PWM_Config: 6 FTCU
SG_ Freq_PWM1_DRS_Lighting : 0|16@1+ (1,0) [0|65535] "Hz" Sensornode_R
SG_ Freq_PWM3_Fans : 16|16@1+ (1,0) [0|65535] "Hz" Sensornode_R
SG_ Freq_PWM2_SBX : 32|16@1+ (1,0) [0|65535] "Hz" Sensornode_R
BO_ 1056 Dashboard_In: 1 FTCU
SG_ Dashboard_SDC_out : 4|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ Dashboard_SDC_in : 3|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ Dashboard_Race_Key : 2|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ Dashboard_TS_Activate_Button : 1|1@1+ (1,0) [0|1] "" Dashboard
SG_ Dashboard_R2D_Button : 0|1@1+ (1,0) [0|1] "" Dashboard
BO_ 129 AMS_Slave1Status: 8 AMS
SG_ AMS_SlaveStatus_MaxTemp : 51|12@0- (0.0625,0) [0|1] "degC" FTCU
SG_ AMS_SlaveStatus_MaxCellVolt : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveStatus_MinCellVolt : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveStatus_Temp_Sensor : 15|8@0+ (1,0) [0|1] "%" FTCU
SG_ AMS_SlaveStatus_Error : 7|1@0+ (1,0) [0|1] "" FTCU
SG_ AMS_SlaveStatus_ID : 6|7@0+ (1,0) [0|0] "" FTCU
BO_ 1568 AMS_Slave2_Log0: 8 AMS
SG_ AMS_SlaveID_V0 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V1 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V2 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V3 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1569 AMS_Slave2_Log1: 8 AMS
SG_ AMS_SlaveID_V4 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V5 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V6 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V7 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1570 AMS_Slave2_Log2: 8 AMS
SG_ AMS_SlaveID_V8 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V9 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V10 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V11 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1571 AMS_Slave2_Log3: 8 AMS
SG_ AMS_SlaveID_V12 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V13 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V14 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V15 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1572 AMS_Slave2_Log4: 6 AMS
SG_ AMS_SlaveID_FailedSensors : 23|32@0+ (1,0) [0|0] "" FTCU
BO_ 1573 AMS_Slave2_Log5: 8 AMS
SG_ AMS_SlaveID_T0 : 0|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T1 : 8|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T2 : 16|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T3 : 24|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T5 : 40|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T6 : 48|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T7 : 56|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T4 : 32|8@1- (1,0) [0|0] "" FTCU
BO_ 1622 AMS_Slave5_Log6: 8 AMS
SG_ AMS_SlaveID_T9 : 8|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T8 : 0|8@1- (1,0) [0|0] "" FTCU
BO_ 1606 AMS_Slave4_Log6: 8 AMS
SG_ AMS_SlaveID_T9 : 8|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T8 : 0|8@1- (1,0) [0|0] "" FTCU
BO_ 1590 AMS_Slave3_Log6: 8 AMS
SG_ AMS_SlaveID_T9 : 8|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T8 : 0|8@1- (1,0) [0|0] "" FTCU
BO_ 1574 AMS_Slave2_Log6: 8 AMS
SG_ AMS_SlaveID_T9 : 8|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T8 : 0|8@1- (1,0) [0|0] "" FTCU
BO_ 1558 AMS_Slave1_Log6: 8 AMS
SG_ AMS_SlaveID_T9 : 8|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T8 : 0|8@1- (1,0) [0|0] "" FTCU
BO_ 1621 AMS_Slave5_Log5: 8 AMS
SG_ AMS_SlaveID_T4 : 32|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T7 : 56|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T6 : 48|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T5 : 40|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T3 : 24|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T2 : 16|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T1 : 8|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T0 : 0|8@1- (1,0) [0|0] "" FTCU
BO_ 1605 AMS_Slave4_Log5: 8 AMS
SG_ AMS_SlaveID_T4 : 32|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T7 : 56|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T6 : 48|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T5 : 40|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T3 : 24|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T2 : 16|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T1 : 8|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T0 : 0|8@1- (1,0) [0|0] "" FTCU
BO_ 1589 AMS_Slave3_Log5: 8 AMS
SG_ AMS_SlaveID_T4 : 32|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T7 : 56|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T6 : 48|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T5 : 40|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T3 : 24|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T2 : 16|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T1 : 8|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T0 : 0|8@1- (1,0) [0|0] "" FTCU
BO_ 1557 AMS_Slave1_Log5: 8 AMS
SG_ AMS_SlaveID_T4 : 32|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T7 : 56|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T6 : 48|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T5 : 40|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T3 : 24|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T2 : 16|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T1 : 8|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T0 : 0|8@1- (1,0) [0|0] "" FTCU
BO_ 1620 AMS_Slave5_Log4: 6 AMS
SG_ AMS_SlaveID_FailedSensors : 23|32@0+ (1,0) [0|0] "" FTCU
BO_ 1604 AMS_Slave4_Log4: 6 AMS
SG_ AMS_SlaveID_FailedSensors : 23|32@0+ (1,0) [0|0] "" FTCU
BO_ 1588 AMS_Slave3_Log4: 6 AMS
SG_ AMS_SlaveID_FailedSensors : 23|32@0+ (1,0) [0|0] "" FTCU
BO_ 1556 AMS_Slave1_Log4: 6 AMS
SG_ AMS_SlaveID_FailedSensors : 23|32@0+ (1,0) [0|0] "" FTCU
BO_ 1619 AMS_Slave5_Log3: 8 AMS
SG_ AMS_SlaveID_V15 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V14 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V13 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V12 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1603 AMS_Slave4_Log3: 8 AMS
SG_ AMS_SlaveID_V15 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V14 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V13 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V12 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1587 AMS_Slave3_Log3: 8 AMS
SG_ AMS_SlaveID_V15 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V14 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V13 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V12 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1555 AMS_Slave1_Log3: 8 AMS
SG_ AMS_SlaveID_V15 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V14 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V13 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V12 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1618 AMS_Slave5_Log2: 8 AMS
SG_ AMS_SlaveID_V11 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V10 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V9 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V8 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1602 AMS_Slave4_Log2: 8 AMS
SG_ AMS_SlaveID_V11 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V10 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V9 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V8 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1586 AMS_Slave3_Log2: 8 AMS
SG_ AMS_SlaveID_V11 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V10 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V9 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V8 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1554 AMS_Slave1_Log2: 8 AMS
SG_ AMS_SlaveID_V11 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V10 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V9 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V8 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1617 AMS_Slave5_Log1: 8 AMS
SG_ AMS_SlaveID_V7 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V6 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V5 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V4 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1601 AMS_Slave4_Log1: 8 AMS
SG_ AMS_SlaveID_V7 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V6 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V5 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V4 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1585 AMS_Slave3_Log1: 8 AMS
SG_ AMS_SlaveID_V7 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V6 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V5 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V4 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1553 AMS_Slave1_Log1: 8 AMS
SG_ AMS_SlaveID_V7 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V6 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V5 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V4 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1616 AMS_Slave5_Log0: 8 AMS
SG_ AMS_SlaveID_V3 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V2 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V1 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V0 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1600 AMS_Slave4_Log0: 8 AMS
SG_ AMS_SlaveID_V3 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V2 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V1 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V0 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1584 AMS_Slave3_Log0: 8 AMS
SG_ AMS_SlaveID_V3 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V2 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V1 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V0 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1552 AMS_Slave1_Log0: 8 AMS
SG_ AMS_SlaveID_V3 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V2 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V1 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V0 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 206 PDU_Heartbeat: 1 FTCU
SG_ PDU_Heartbeat : 0|1@1- (1,0) [0|0] "" Vector__XXX
BO_ 272 FTCU_Pneumatik: 8 FTCU
SG_ FTCU_Tank_Pressure_2 : 16|12@1+ (0.01,0) [0|409.5] "" Vector__XXX
SG_ FTCU_Tank_Pressure_1 : 0|12@1+ (0.01,0) [0|40.95] "" Vector__XXX
BO_ 227 ACU_TX_Commands: 6 FTCU
SG_ ABX_Speed_FR : 8|8@1+ (0.2,0) [0|51] "" Vector__XXX
SG_ ABX_Steering_Angle_Right : 40|8@1- (0.0156863,0) [-2.00784|1.99216] "" ACU
SG_ ABX_Steering_Angle_Left : 32|8@1- (0.0156863,0) [-2.00784|1.99216] "" ACU
SG_ ABX_Speed_RR : 24|8@1+ (0.2,0) [0|51] "" ACU
SG_ ABX_Speed_RL : 16|8@1+ (0.2,0) [0|51] "" ACU
SG_ ABX_Speed_FL : 0|8@1+ (0.2,0) [0|51] "" ACU
BO_ 226 ACU_RX_Commands: 4 ACU
SG_ ACU_Steering_Angle_Left : 24|8@1- (0.016,0) [-2.048|2.032] "" Vector__XXX
SG_ ACU_Steering_Angle_Right : 16|8@1- (0.016,0) [-2.048|2.032] "" Vector__XXX
SG_ ACU_Speed_Target_right : 8|8@1+ (1.2,0) [0|306] "m/s" Vector__XXX
SG_ ACU_Speed_Target_left : 0|8@1+ (1.2,0) [0|306] "" Vector__XXX
BO_ 225 ACU_RX: 3 ACU
SG_ ACU_DRS : 2|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ ACU_Cones_Actual : 16|8@1+ (1,0) [0|255] "" FTCU
SG_ ACU_Cones_All : 8|8@1+ (1,0) [0|255] "" FTCU
SG_ ACU_Lap_Count : 3|4@1+ (1,0) [0|15] "" FTCU
SG_ ACU_AS_OK : 1|1@1+ (1,0) [0|1] "Bool" FTCU
SG_ ACU_AS_Mission_Complete : 0|1@1+ (1,0) [0|1] "Bool" FTCU
BO_ 1536 AMS_Slave0_Log0: 8 AMS
SG_ AMS_SlaveID_V3 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V2 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V1 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V0 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1537 AMS_Slave0_Log1: 8 AMS
SG_ AMS_SlaveID_V7 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V6 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V5 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V4 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1539 AMS_Slave0_Log3: 8 AMS
SG_ AMS_SlaveID_V15 : 55|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V14 : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V13 : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveID_V12 : 7|16@0+ (0.001,0) [0|6.5535] "V" FTCU
BO_ 1540 AMS_Slave0_Log4: 6 AMS
SG_ AMS_SlaveID_FailedSensors : 23|32@0+ (1,0) [0|0] "" FTCU
BO_ 1541 AMS_Slave0_Log5: 8 AMS
SG_ AMS_SlaveID_T4 : 32|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T7 : 56|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T6 : 48|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T5 : 40|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T3 : 24|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T2 : 16|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T1 : 8|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T0 : 0|8@1- (1,0) [0|0] "" FTCU
BO_ 1542 AMS_Slave0_Log6: 8 AMS
SG_ AMS_SlaveID_T9 : 8|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_SlaveID_T8 : 0|8@1- (1,0) [0|0] "" FTCU
BO_ 224 ACU_TX: 2 FTCU
SG_ ABX_ConMon_Error : 9|4@1+ (1,0) [0|15] "" Vector__XXX
SG_ ACU_AllowTorque : 8|1@1+ (1,0) [0|1] "bool" Vector__XXX
SG_ ACU_Reset : 7|1@1+ (1,0) [0|1] "bool" Vector__XXX
SG_ ACU_Power_Off : 6|1@1+ (1,0) [0|1] "bool" Vector__XXX
SG_ ACU_AS_State : 3|3@1+ (1,0) [0|5] "" ACU
SG_ ACU_AS_Mission : 0|3@1+ (1,0) [0|7] "int" ACU
BO_ 133 AMS_Slave5Status: 8 AMS
SG_ AMS_SlaveStatus_ID : 6|7@0+ (1,0) [0|0] "" FTCU
SG_ AMS_SlaveStatus_Error : 7|1@0+ (1,0) [0|1] "" FTCU
SG_ AMS_SlaveStatus_Temp_sensor : 15|8@0+ (1,0) [0|1] "%" FTCU
SG_ AMS_SlaveStatus_MinCellVolt : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveStatus_MaxCellVolt : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveStatus_MaxTemp : 51|12@0- (0.0625,0) [0|1] "degC" FTCU
BO_ 132 AMS_Slave4Status: 8 AMS
SG_ AMS_SlaveStatus_ID : 6|7@0+ (1,0) [0|0] "" FTCU
SG_ AMS_SlaveStatus_Error : 7|1@0+ (1,0) [0|1] "" FTCU
SG_ AMS_SlaveStatus_Temp_sensor : 15|8@0+ (1,0) [0|1] "%" FTCU
SG_ AMS_SlaveStatus_MinCellVolt : 23|16@0+ (0.001,0) [0|1] "V" FTCU
SG_ AMS_SlaveStatus_MaxCellVolt : 39|16@0+ (0.001,0) [0|1] "V" FTCU
SG_ AMS_SlaveStatus_MaxTemp : 51|12@0- (0.0625,0) [0|1] "degC" FTCU
BO_ 131 AMS_Slave3Status: 8 AMS
SG_ AMS_SlaveStatus_ID : 6|7@0+ (1,0) [0|0] "" FTCU
SG_ AMS_SlaveStatus_Error : 7|1@0+ (1,0) [0|1] "" FTCU
SG_ AMS_SlaveStatus_Temp_sensor : 15|8@0+ (1,0) [0|1] "%" FTCU
SG_ AMS_SlaveStatus_MinCellVolt : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveStatus_MaxCellVolt : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveStatus_MaxTemp : 51|12@0- (0.0625,0) [0|1] "degC" FTCU
BO_ 130 AMS_Slave2Status: 8 AMS
SG_ AMS_SlaveStatus_ID : 6|7@0+ (1,0) [0|0] "" FTCU
SG_ AMS_SlaveStatus_Error : 7|1@0+ (1,0) [0|1] "" FTCU
SG_ AMS_SlaveStatus_Temp_sensor : 15|8@0+ (1,0) [0|1] "%" FTCU
SG_ AMS_SlaveStatus_MinCellVolt : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveStatus_MaxCellVolt : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveStatus_MaxTemp : 51|12@0- (0.0625,0) [0|1] "degC" FTCU
BO_ 12 AMS_Error: 2 AMS
SG_ AMS_Error_Arg : 8|8@1- (1,0) [0|0] "" FTCU
SG_ AMS_Error_Kind : 0|8@1- (1,0) [0|0] "" FTCU
BO_ 263 FTCU_Cooling: 8 FTCU
SG_ FTCU_Water_Pressure_1 : 8|8@1+ (0.01,0) [0|2.55] "bar" Vector__XXX
SG_ FTCU_Water_Temperature_1 : 16|10@1+ (0.1,0) [0|102.3] "Deg" Vector__XXX
SG_ FTCU_Flow_rate : 36|10@1+ (0.1,0) [0|102.3] "degC" Vector__XXX
SG_ FTCU_Water_Temperature_2 : 26|10@1+ (0.1,0) [0|102.3] "degC" Vector__XXX
SG_ FTCU_Water_Pressure_2 : 0|8@1+ (0.01,0) [0|2.55] "bar" Vector__XXX
BO_ 261 FTCU_BrakeT: 8 FTCU
SG_ FTCU_BrakeT_RR : 48|16@1+ (0.01,0) [0|655.35] "degC" Vector__XXX
SG_ FTCU_BrakeT_RL : 32|16@1+ (0.01,0) [0|655.35] "degC" Vector__XXX
SG_ FTCU_BrakeT_FR : 16|16@1+ (0.01,0) [0|655.35] "degC" Vector__XXX
SG_ FTCU_BrakeT_FL : 0|16@1+ (0.01,0) [0|655.35] "degC" Vector__XXX
BO_ 260 FTCU_Wheelspeed: 8 FTCU
SG_ FTCU_Distance_Session : 48|16@1+ (1,0) [0|65535] "m" Vector__XXX
SG_ FTCU_Wheelspeed_RR : 36|12@1- (0.05,0) [-102.4|102.35] "1/s" Vector__XXX
SG_ FTCU_Wheelspeed_RL : 24|12@1- (0.05,0) [-102.4|102.35] "1/s" Vector__XXX
SG_ FTCU_Wheelspeed_FR : 12|12@1- (0.05,0) [-102.4|102.35] "1/s" Vector__XXX
SG_ FTCU_Wheelspeed_FL : 0|12@1- (0.05,0) [-102.4|102.35] "1/s" Vector__XXX
BO_ 258 FTCU_Timings: 8 FTCU
SG_ FTCU_Sectortime_last : 48|16@1+ (0.01,0) [0|655.35] "s" Vector__XXX
SG_ FTCU_Sectortime_best : 32|16@1+ (0.01,0) [0|655.35] "s" Vector__XXX
SG_ FTCU_Laptime_last : 16|16@1+ (0.01,0) [0|655.35] "s" Vector__XXX
SG_ FTCU_Laptime_best : 0|16@1+ (0.01,0) [0|655.35] "s" Vector__XXX
BO_ 273 FTCU_Driver: 8 FTCU
SG_ FTCU_Brake_Pressure_R : 20|12@1+ (0.1,0) [0|160] "bar" Vector__XXX
SG_ FTCU_Sectorcounter : 56|8@1+ (1,0) [0|255] "" Vector__XXX
SG_ FTCU_Lapcounter : 48|8@1+ (1,0) [0|255] "" Vector__XXX
SG_ FTCU_Steering_Angle : 32|8@1- (1,0) [-128|127] "Deg" Vector__XXX
SG_ FTCU_Speed : 40|8@1+ (0.2,0) [0|51] "m/s" Vector__XXX
SG_ FTCU_Brake_Pressure_F : 8|12@1+ (0.1,0) [0|160] "bar" Vector__XXX
SG_ FTCU_APPS_Percent : 0|8@1+ (1,0) [0|100] "%" Vector__XXX
BO_ 1796 TTS_RR: 8 TTS_RR
SG_ TTS_Status : 60|4@1+ (1,0) [0|15] "" Vector__XXX
SG_ TTS_OutetRight : 48|12@1+ (0.1,0) [-54.8|354.7] "degC" Vector__XXX
SG_ TTS_OuterLeft : 0|12@1+ (0.1,0) [-54.8|354.7] "degC" Vector__XXX
SG_ TTS_CenterRight : 36|12@1+ (0.1,0) [-54.8|354.7] "degC" Vector__XXX
SG_ TTS_CenterLeft : 12|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
SG_ TTS_Center : 24|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
BO_ 1795 TTS_RL: 8 TTS_RL
SG_ TTS_Status : 60|4@1+ (1,0) [0|15] "" Vector__XXX
SG_ TTS_OuterLeft : 0|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
SG_ TTS_OuterRight : 48|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
SG_ TTS_CenterRight : 36|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
SG_ TTS_CenterLeft : 12|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
SG_ TTS_Center : 24|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
BO_ 1794 TTS_FR: 8 TTS_FR
SG_ TTS_Status : 60|4@1+ (1,0) [0|15] "" Vector__XXX
SG_ TTS_OuterRight : 48|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
SG_ TTS_OuterLeft : 0|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
SG_ TTS_CenterLeft : 12|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
SG_ TTS_CenterRight : 36|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
SG_ TTS_Center : 24|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
BO_ 1793 TTS_FL: 8 TTS_FL
SG_ TTS_Status : 60|4@1+ (1,0) [0|15] "" Vector__XXX
SG_ TTS_OuterLeft : 0|12@1+ (0.1,0) [-54.8|354.7] "degC" Vector__XXX
SG_ TTS_OuterRight : 48|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
SG_ TTS_CenterRight : 36|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
SG_ TTS_CenterLeft : 12|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
SG_ TTS_Center : 24|12@1+ (0.1,0) [0|409.5] "degC" Vector__XXX
BO_ 1026 STW_Param_Set: 6 STW
SG_ STW_Param_TC_Slipref m10 : 16|32@1+ (1,0) [0|1] "" Vector__XXX
SG_ STW_Param_TC_Mumax m9 : 16|32@1+ (1,0) [0|1] "" Vector__XXX
SG_ STW_Param_TC_I m8 : 16|32@1+ (1,0) [0|1] "" Vector__XXX
SG_ STW_Param_Plim m2 : 16|32@1+ (1,0) [0|0] "" Vector__XXX
SG_ STW_Param_Set M : 0|16@1+ (1,0) [0|0] "" Vector__XXX
SG_ STW_Param_Tlim m1 : 16|32@1+ (1,0) [0|1] "" Vector__XXX
SG_ STW_Param_TC_P m7 : 16|32@1+ (1,0) [0|1] "" Vector__XXX
SG_ STW_Param_Reku m6 : 16|32@1+ (1,0) [0|1] "" Vector__XXX
SG_ STW_Param_TC_on m5 : 16|32@1+ (1,0) [0|1] "" Vector__XXX
SG_ STW_Param_TV_on m4 : 16|32@1+ (1,0) [0|1] "" Vector__XXX
SG_ STW_Param_Discipline m3 : 16|32@1+ (1,0) [0|1] "" Vector__XXX
SG_ STW_Param_Slim m0 : 16|32@1+ (1,0) [0|1] "" Vector__XXX
BO_ 128 AMS_Slave0Status: 8 AMS
SG_ AMS_SlaveStatus_MinCellVolt : 23|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveStatus_ID : 6|7@0+ (1,0) [0|0] "" FTCU
SG_ AMS_SlaveStatus_Error : 7|1@0+ (1,0) [0|1] "" FTCU
SG_ AMS_SlaveStatus_Temp_sensor : 15|8@0+ (1,0) [-128|127] "%" FTCU
SG_ AMS_SlaveStatus_MaxCellVolt : 39|16@0+ (0.001,0) [0|6.5535] "V" FTCU
SG_ AMS_SlaveStatus_MaxTemp : 51|12@0- (0.0625,0) [0|1] "degC" FTCU
BO_ 1280 SSU_Message: 4 SSU
SG_ SSU_Pressure : 0|16@1- (1,0) [-32768|32767] "" Vector__XXX
SG_ SSU_AirTemp : 16|16@1- (0.1,0) [-20|80] "degC" Vector__XXX
BO_ 10 AMS_Status: 8 AMS
SG_ AMS_IMD_State : 48|7@1+ (1,0) [0|0] "" FTCU
SG_ AMS_IMD_ok : 55|1@1+ (1,0) [0|0] "" FTCU
SG_ AMS_State : 0|7@1+ (1,0) [0|1] "" FTCU
SG_ SDC_Closed : 7|1@1+ (1,0) [0|1] "" FTCU
SG_ SOC : 8|8@1+ (1,0) [0|100] "%" FTCU
SG_ Min_cell_volt : 23|16@0+ (0.001,0) [0|65.535] "V" FTCU
SG_ Max_cell_temp : 39|16@0+ (0.0625,0) [0|4095.94] "degC" FTCU
BO_ 9 AMS_SlavePanic: 8 AMS
SG_ AMS_SlavePanic_Kind : 15|8@0+ (1,0) [0|7.20576E+16] "" FTCU
SG_ AMS_SlavePanic_SlaveID : 0|8@1+ (1,0) [0|255] "" FTCU
SG_ AMS_SlavePanic_Arg : 23|32@0+ (1,0) [0|7.20576E+16] "" FTCU
BO_ 11 AMS_In: 1 FTCU
SG_ TS_activate : 0|1@1+ (1,0) [0|1] "" AMS
SG_ Lap_Number : 2|6@1+ (1,0) [0|64] "Laps" AMS
SG_ Inverters_discharged : 1|1@1+ (1,0) [0|1] "" AMS
BO_ 1313 Shunt_Current: 6 Shunt
SG_ Shunt_Current : 23|32@0- (0.001,0) [-2000000|2000000] "A" AMS
BO_ 1314 Shunt_Voltage1: 6 Shunt
SG_ Shunt_Voltage1 : 23|32@0- (0.001,0) [-2000000|2000000] "V" AMS
BO_ 1315 Shunt_Voltage2: 6 Shunt
SG_ Shunt_Voltage2 : 23|32@0- (0.001,0) [-2000000|2000000] "V" AMS
BO_ 1316 Shunt_Voltage3: 6 Shunt
SG_ Shunt_Voltage3 : 23|32@0- (0.001,0) [-2000000|2000000] "V" AMS
BO_ 1317 Shunt_Temperature: 6 Shunt
SG_ Shunt_Temperature : 23|32@0+ (0.1,0) [0|1000] "degC" FTCU
BO_ 200 PDU_Command: 7 FTCU
SG_ PDU_enable_EBS_C : 11|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ PDU_enable_TS_Cooling : 3|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ PDU_enable_lldar : 5|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ PDU__enable_ACU : 8|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ PDU_enable_DRS : 6|1@1+ (1,0) [0|1] "" PDU
SG_ PDU_enable_misc : 0|1@1+ (1,0) [0|1] "" PDU
SG_ PDU_enable_sdc : 1|1@1+ (1,0) [0|1] "" PDU
SG_ PDU_enable_EBS_B : 10|1@1+ (1,0) [0|1] "" PDU
SG_ PDU_enable_inverter : 2|1@1+ (1,0) [0|1] "" PDU
SG_ PDU_enable_EPSC : 7|1@1+ (1,0) [0|1] "" PDU
SG_ PDU_enable_EBS_A : 9|1@1+ (1,0) [0|1] "" PDU
SG_ PDU_enable_ACC_Cooling : 4|1@1+ (1,0) [0|1] "" PDU
BO_ 201 PDU_Response: 7 PDU
SG_ PDU_ebs_valve_2_tx : 12|1@0+ (1,0) [0|1] "" FTCU
SG_ PDU_PWM_TSAC_fans : 23|8@0+ (1,0) [0|255] "" Vector__XXX
SG_ PDU_servos_regler_tx : 2|1@0+ (1,0) [0|1] "" Vector__XXX
SG_ PDU_ACU_tx : 3|1@0+ (1,0) [0|1] "" Vector__XXX
SG_ PDU_lidar_tx : 5|1@0+ (1,0) [0|1] "" Vector__XXX
SG_ PDU_servo_tx : 14|1@0+ (1,0) [0|1] "" FTCU
SG_ PDU_misc_tx : 15|1@0+ (1,0) [0|1] "" FTCU
SG_ PDU_alwayson_tx : 7|1@0+ (1,0) [0|1] "" FTCU
SG_ PDU_shutdown_circuit_tx : 6|1@0+ (1,0) [0|1] "" FTCU
SG_ PDU_aggregat_tx : 9|1@0+ (1,0) [0|1] "" FTCU
SG_ PDU_inverter_tx : 1|1@0+ (1,0) [0|1] "" FTCU
SG_ PDU_steering_tx : 8|1@0+ (1,0) [0|1] "" FTCU
SG_ PDU_ebs_valve_1_tx : 13|1@0+ (1,0) [0|1] "" FTCU
SG_ PDU_cs_valve_tx : 11|1@0+ (1,0) [0|1] "" FTCU
SG_ PDU_PWM_radiatot_fans_tx : 31|8@0+ (1,0) [0|255] "" FTCU
SG_ PDU_PWM_aggregat : 39|8@0+ (1,0) [0|255] "" FTCU
SG_ PDU_PWM_pump : 47|8@0+ (1,0) [0|255] "" FTCU
SG_ PDU_heartbeat_ok_tx : 55|8@0+ (1,0) [0|255] "" FTCU
BO_ 1040 AS_Mission_fb: 1 FTCU
SG_ Mission_selection : 0|3@1+ (1,0) [1|7] "" STW
BO_ 1024 STW_mission_selected: 1 STW
SG_ Mission_selection : 0|3@1+ (1,0) [1|7] "" FTCU
BO_ 293 EPSC_out: 8 EPSC
SG_ EPSC_measured_steering_angle : 16|16@1+ (0.01,0) [0|360] "deg" FTCU
SG_ EPSC_measured_rpm : 0|16@1- (0.1,0) [-3276.8|3276.7] "rpm" FTCU
SG_ EPSC_measured_current : 56|8@1+ (0.1,0) [0|25.5] "A" FTCU
SG_ EPSC_measured_voltage : 42|10@1+ (0.1,0) [0|102.3] "V" FTCU
SG_ EPSC_measured_MOSFET_temperature : 32|10@1+ (0.1,0) [0|102.3] "degC" FTCU
BO_ 291 EPSC_Steering_In: 2 FTCU
SG_ EPSC_desired_steering_angle : 0|10@1- (1,0) [-0.0512|0.0511] "" EPSC
BO_ 1025 STW_buttons: 1 STW
SG_ STW_button_DRS : 0|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ STW_button_3 : 3|1@1+ (1,0) [0|1] "" FTCU
SG_ STW_button_2 : 2|1@1+ (1,0) [0|1] "" FTCU
SG_ STW_button_1 : 1|1@1+ (1,0) [0|1] "" FTCU
SG_ STW_button_4 : 4|1@1+ (1,0) [0|1] "" FTCU
BO_ 1042 STW_status: 7 FTCU
SG_ SDC_Status : 28|4@0+ (1,0) [0|15] "" Vector__XXX
SG_ Energy_per_Lap : 32|16@1+ (0.001,0) [0|65.535] "kWh" STW
SG_ Inv1_ready : 30|1@1+ (1,0) [0|0] "" STW
SG_ iniChk_state : 48|8@1+ (1,0) [0|255] "" STW
SG_ Inv2_ready : 29|1@1+ (1,0) [0|0] "" STW
SG_ AS_State_STW : 12|3@1+ (1,0) [0|5] "" Vector__XXX
SG_ Lap_Count : 0|6@1+ (1,0) [0|64] "" STW
SG_ ERR_SDC : 24|1@1+ (1,0) [0|1] "" STW
SG_ ERR_AMS : 23|1@1+ (1,0) [0|1] "" STW
SG_ ERR_Inv1 : 22|1@1+ (1,0) [0|1] "" STW
SG_ ERR_Inv2 : 21|1@1+ (1,0) [0|1] "" STW
SG_ ERR_IniChk : 20|1@1+ (1,0) [0|1] "" STW
SG_ ERR_ConMon : 19|1@1+ (1,0) [0|1] "" STW
SG_ ERR_SCS : 18|1@1+ (1,0) [0|1] "" STW
SG_ ERR_sBSPD : 17|1@1+ (1,0) [0|1] "" STW
SG_ ERR_APPSp : 16|1@1+ (1,0) [0|1] "" STW
SG_ ERR_AS : 15|1@1+ (1,0) [0|1] "" STW
SG_ ERR_RES : 7|1@1+ (1,0) [0|1] "" STW
SG_ ERR_PDU : 6|1@1+ (1,0) [0|1] "" STW
SG_ R2D_Progress : 8|4@1+ (1,0) [0|15] "" STW
BO_ 202 PDU_Current_1: 8 PDU
SG_ PDU_always_on_current : 0|16@1+ (1,0) [0|65535] "" FTCU
SG_ PDU_LVMS_current : 16|16@1+ (1,0) [0|65535] "" FTCU
SG_ PDU_ASMS_current : 32|16@1+ (1,0) [0|65535] "" FTCU
SG_ PDU_MISC_current : 48|16@1+ (1,0) [0|65535] "" FTCU
BO_ 203 PDU_Current_2: 8 PDU
SG_ PDU_SDC_current : 0|16@1+ (1,0) [0|65535] "" FTCU
SG_ PDU_Inverter_current : 16|16@1+ (1,0) [0|65535] "" FTCU
SG_ PDU_TS_Cooling_current : 32|16@1+ (1,0) [0|65535] "" FTCU
SG_ PDU_ACC_Cooling_current : 48|16@1+ (1,0) [0|65535] "" FTCU
BO_ 204 PDU_Current_3: 8 PDU
SG_ PDU_Lidar_current : 0|16@1+ (1,0) [0|65535] "" FTCU
SG_ PDU_DRS_current : 16|16@1+ (1,0) [0|65535] "" FTCU
SG_ PDU_EPSC_current : 32|16@1+ (1,0) [0|65535] "" FTCU
SG_ PDU_ACU_current : 48|16@1+ (1,0) [0|65535] "" FTCU
BO_ 205 PDU_Current_4: 8 PDU
SG_ PDU_EBS_A_current : 0|16@1+ (1,0) [0|65535] "" FTCU
SG_ PDU_EBS_B_current : 16|16@1+ (1,0) [0|65535] "" FTCU
BO_ 292 EPSC_Config_In: 6 FTCU
SG_ EPSC_Config_P_Gain : 0|16@1+ (0.01,0) [0|655.35] "" Vector__XXX
SG_ EPSC_Config_D_Gain : 32|16@1+ (0.01,0) [0|655.35] "" Vector__XXX
SG_ EPSC_Config_I_Gain : 16|16@1+ (0.01,0) [0|655.35] "" Vector__XXX
CM_ BO_ 3221225472 "This is a message for not used signals, created by Vector CANdb++ DBC OLE DB Provider.";
CM_ SG_ 3221225472 SDO_Read_Write "0: Read
1: Write
";
CM_ SG_ 1840 Node_ID_SDO "0: beide Nodes
1: Node 1
2: Node 2";
CM_ SG_ 221 Freq_PWM1_DRS_Lighting "DRS+Lighting,Default=500Hz";
CM_ SG_ 221 Freq_PWM3_Fans "Fans,Default=20kHz";
CM_ SG_ 221 Freq_PWM2_SBX "SBX,Default=313Hz";
CM_ BO_ 225 "Cycle Time: 100ms";
CM_ BO_ 224 "Cycle Time: 50ms";
CM_ SG_ 224 ACU_AS_Mission "AS Mission Selection";
CM_ BO_ 263 "Cycle time: 100ms";
CM_ BO_ 261 "Cycle time: 100ms";
CM_ BO_ 260 "Cycle time: 10ms";
CM_ BO_ 258 "Cycle time: 1s";
BA_DEF_ "BusType" STRING ;
BA_DEF_ "MultiplexExtEnabled" ENUM "No","Yes";
BA_DEF_DEF_ "BusType" "CAN";
BA_DEF_DEF_ "MultiplexExtEnabled" "No";
VAL_ 12 AMS_Error_Kind 5 "Shunt Overtemperature" 4 "Shunt Overcurrent" 3 "Shunt Timeout" 2 "Slave Panic" 1 "Slave Timeout" 0 "None" ;
VAL_ 1026 STW_Param_Set 10 "TC_Slipref" 9 "TC_Mumax" 8 "TC_I" 0 "SpeedLimit" 1 "Torque Limit" 2 "PowerLimit" 3 "Discipline" 4 "TV_on" 5 "TC_on" 6 "Reku_on" 7 "TC_P" ;
VAL_ 10 AMS_State 0 "TS_INACTIVE" 1 "TS_ACTIVE" 2 "TS_PRECHARGE" 3 "TS_DISCHARGE" 4 "TS_ERROR" ;
VAL_ 9 AMS_SlavePanic_Kind 0 "Overtemperature" 1 "Undertemperature" 2 "Overvoltage" 3 "Undervoltage" 4 "Too_few_temp_sensors" 5 "Open_cell_connection" ;
VAL_ 1040 Mission_selection 1 "MissionSelection_acceleration" 2 "MissionSelection_skidpad" 3 "MissionSelection_trackdrive" 4 "MissionSelection_braketest" 5 "MissionSelection_inspection" 6 "MissionSelection_autocross" 7 "MissionSelection_manual" ;
VAL_ 1024 Mission_selection 1 "MissionSelection_acceleration" 2 "MissionSelection_skidpad" 3 "MissionSelection_trackdrive" 4 "MissionSelection_braketest" 5 "MissionSelection_inspection" 6 "MissionSelection_autocross" 7 "MissionSelection_manual" ;
VAL_ 1042 iniChk_state 0 "Start" 1 "WD_Check" 2 "WD_OK" 3 "ASB_Check_1" 4 "ASB_Check_2" 5 "Wait_TS" 6 "EBS_Check_A" 7 "EBS_Check_B" 8 "Done" 9 "Error" ;
VAL_ 1042 AS_State_STW 0 "AS_Off" 1 "AS_Manual" 2 "AS_Ready" 3 "AS_Driving" 4 "AS_Finished" 5 "AS_Emergency" ;
VAL_ 1042 R2D_Progress 0 "R2D_None" 1 "R2D_TSMS" 2 "R2D_TSActive" 3 "R2D_Resetting_Nodes" 4 "R2D_Resetting_Comms" 5 "R2D_Waiting_Init" 6 "R2D_Init_Stage1" 7 "R2D_Init_Stage2" 15 "R2D_Init_Success" ;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,99 @@
VERSION ""
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_: ABX RES FS_Datalogger
BO_ 1347 RES_Czech: 8 Vector__XXX
SG_ RES_Switch : 2|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ RES_Signal_Quality : 8|8@1+ (1,0) [0|100] "" Vector__XXX
SG_ RES_Go : 1|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ RES_EStop : 0|1@1+ (1,0) [0|1] "" Vector__XXX
BO_ 1072 FS_Datalogger_Status: 6 FS_Datalogger
SG_ Current : 32|16@1+ (64,0) [0|4194240] "mA" ABX
SG_ Voltage : 16|16@1+ (16,0) [0|1048560] "mV" ABX
SG_ Status_Triggered_Current : 11|1@1- (1,0) [0|0] "" ABX
SG_ Status_Triggered_Voltage : 10|1@1- (1,0) [0|0] "" ABX
SG_ Status_Logging : 9|1@1- (1,0) [0|0] "" ABX
SG_ Status_Ready : 8|1@1- (1,0) [0|0] "" ABX
SG_ MsgCnt : 0|8@1+ (1,0) [0|255] "" ABX
BO_ 1298 DV_ContinuousMonitoring: 1 ABX
SG_ Pressure_charged : 5|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ PDU_comm_alive : 2|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ Position_sensors_closed : 4|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ AS_error : 3|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ AS_comm_alive : 1|1@1+ (1,0) [0|1] "bool" FS_Datalogger
SG_ SDC_opened : 0|1@1+ (1,0) [0|1] "bool" FS_Datalogger
BO_ 1280 DV_driving_dynamics_1: 8 ABX
SG_ Speed_actual : 0|8@1+ (1,0) [0|250] "km/h" FS_Datalogger
SG_ Speed_target : 8|8@1+ (1,0) [0|250] "km/h" FS_Datalogger
SG_ Steering_angle_actual : 16|8@1- (0.5,0) [-60|60] "°" FS_Datalogger
SG_ Steering_angle_target : 24|8@1- (0.5,0) [-60|60] "°" FS_Datalogger
SG_ Brake_hydr_actual : 32|8@1+ (1,0) [0|100] "%" FS_Datalogger
SG_ Brake_hydr_target : 40|8@1+ (1,0) [0|100] "%" FS_Datalogger
SG_ Motor_moment_actual : 48|8@1- (1,0) [-100|100] "%" FS_Datalogger
SG_ Motor_moment_target : 56|8@1- (1,0) [-100|100] "%" FS_Datalogger
BO_ 1281 DV_driving_dynamics_2: 6 ABX
SG_ Acceleration_longitudinal : 0|16@1- (0.00195313,0) [-50|50] "m/s^2" FS_Datalogger
SG_ Acceleration_lateral : 16|16@1- (0.00195313,0) [-50|50] "m/s^2" FS_Datalogger
SG_ Yaw_rate : 32|16@1- (0.0078125,0) [-200|200] "°/s" FS_Datalogger
BO_ 1282 DV_system_status: 5 ABX
SG_ AS_state : 0|3@1+ (1,0) [1|5] "" FS_Datalogger
SG_ EBS_state : 3|2@1+ (1,0) [1|3] "" FS_Datalogger
SG_ AMI_state : 5|3@1+ (1,0) [1|6] "" FS_Datalogger
SG_ Steering_state : 8|1@1+ (1,0) [0|1] "" FS_Datalogger
SG_ Service_brake_state : 9|2@1+ (1,0) [1|3] "" FS_Datalogger
SG_ Lap_counter : 11|4@1+ (1,0) [0|10] "" FS_Datalogger
SG_ Cones_count_actual : 15|8@1+ (1,0) [0|250] "" FS_Datalogger
SG_ Cones_count_all : 23|17@1+ (1,0) [0|131000] "" FS_Datalogger
BO_ 1297 DV_SEBSS_Pressures: 8 ABX
SG_ EBS_Pressure_tank_A : 0|16@1+ (0.1,0) [0|50] "Bar" FS_Datalogger
SG_ EBS_Pressure_tank_B : 16|16@1+ (0.1,0) [0|50] "Bar" FS_Datalogger
SG_ Brake_Pressure_front : 32|16@1+ (0.1,0) [0|200] "Bar" FS_Datalogger
SG_ Brake_Pressure_rear : 48|16@1+ (0.1,0) [0|200] "Bar" FS_Datalogger
VAL_ 1282 AS_state 1 "AS_state_off" 2 "AS_state_ready" 3 "AS_state_driving" 4 "AS_state_emergency_brake" 5 "AS_state_finish" ;
VAL_ 1282 EBS_state 1 "EBS_state_unavailable" 2 "EBS_state_armed" 3 "EBS_state_activated" ;
VAL_ 1282 AMI_state 1 "AMI_state_acceleration" 2 "AMI_state_skidpad" 3 "AMI_state_trackdrive" 4 "AMI_state_braketest" 5 "AMI_state_inspection" 6 "AMI_state_autocross" ;
VAL_ 1282 Service_brake_state 1 "Service_brake_state_disengaged" 2 "Service_brake_state_engaged" 3 "Service_brake_state_available" ;

View File

@ -0,0 +1,96 @@
VERSION ""
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_: ABX RES FS_Datalogger
BO_ 401 RES_PDO: 7 RES
SG_ RES_Signal_Strength : 48|8@1+ (1,0) [0|100] "%" Vector__XXX
SG_ RES_Switch : 1|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ RES_Go_Signal : 2|1@1+ (1,0) [0|1] "" Vector__XXX
SG_ RES_EStop : 0|1@1+ (1,0) [0|1] "" Vector__XXX
BO_ 0 NMT_Operational: 2 Vector__XXX
SG_ NMT_Node_ID : 8|8@1+ (1,0) [0|255] "" Vector__XXX
SG_ NMT_Command : 0|1@1+ (1,0) [0|1] "" Vector__XXX
BO_ 1072 FS_Datalogger_Status: 6 FS_Datalogger
SG_ Current : 32|16@1+ (64,0) [0|4194240] "mA" ABX
SG_ Voltage : 16|16@1+ (16,0) [0|1048560] "mV" ABX
SG_ Status_Triggered_Current : 11|1@1- (1,0) [0|0] "" ABX
SG_ Status_Triggered_Voltage : 10|1@1- (1,0) [0|0] "" ABX
SG_ Status_Logging : 9|1@1- (1,0) [0|0] "" ABX
SG_ Status_Ready : 8|1@1- (1,0) [0|0] "" ABX
SG_ MsgCnt : 0|8@1+ (1,0) [0|255] "" ABX
BO_ 1280 DV_driving_dynamics_1: 8 ABX
SG_ Speed_actual : 0|8@1+ (1,0) [0|250] "km/h" FS_Datalogger
SG_ Speed_target : 8|8@1+ (1,0) [0|250] "km/h" FS_Datalogger
SG_ Steering_angle_actual : 16|8@1- (0.5,0) [-30|30] "°" FS_Datalogger
SG_ Steering_angle_target : 24|8@1- (0.5,0) [-30|30] "°" FS_Datalogger
SG_ Brake_hydr_actual : 32|8@1+ (1,0) [0|100] "%" FS_Datalogger
SG_ Brake_hydr_target : 40|8@1+ (1,0) [0|100] "%" FS_Datalogger
SG_ Motor_moment_actual : 48|8@1- (1,0) [-100|100] "%" FS_Datalogger
SG_ Motor_moment_target : 56|8@1- (1,0) [-128|127] "%" FS_Datalogger
BO_ 1281 DV_driving_dynamics_2: 6 ABX
SG_ Yaw_rate : 32|16@1- (0.0078125,0) [0|0] "°/s" FS_Datalogger
SG_ Acceleration_longitudinal : 0|16@1- (0.00195313,0) [-50|50] "m/s^2" FS_Datalogger
SG_ Acceleration_lateral : 16|16@1- (0.00195313,0) [-50|50] "m/s^2" FS_Datalogger
BO_ 1282 DV_system_status: 5 ABX
SG_ AS_state : 0|3@1+ (1,0) [1|5] "" FS_Datalogger
SG_ EBS_state : 3|2@1+ (1,0) [1|3] "" FS_Datalogger
SG_ AMI_state : 5|3@1+ (1,0) [1|6] "" FS_Datalogger
SG_ Steering_state : 8|1@1+ (1,0) [0|1] "" FS_Datalogger
SG_ Service_brake_state : 9|2@1+ (1,0) [1|3] "" FS_Datalogger
SG_ Lap_counter : 11|4@1+ (1,0) [0|10] "" FS_Datalogger
SG_ Cones_count_actual : 15|8@1+ (1,0) [0|250] "" FS_Datalogger
SG_ Cones_count_all : 23|17@1+ (1,0) [0|131000] "" FS_Datalogger
BO_ 1297 DV_SEBSS_Pressures: 8 ABX
SG_ EBS_Pressure_tank_A : 0|16@1+ (0.1,0) [0|50] "Bar" FS_Datalogger
SG_ EBS_Pressure_tank_B : 16|16@1+ (0.1,0) [0|50] "Bar" FS_Datalogger
SG_ Brake_Pressure_front : 32|16@1+ (0.1,0) [0|200] "Bar" FS_Datalogger
SG_ Brake_Pressure_rear : 48|16@1+ (0.1,0) [0|200] "Bar" FS_Datalogger
CM_ SG_ 0 NMT_Node_ID "Needs to be 17 for RES";
VAL_ 1282 AS_state 1 "AS_state_off" 2 "AS_state_ready" 3 "AS_state_driving" 4 "AS_state_emergency_brake" 5 "AS_state_finish" ;
VAL_ 1282 EBS_state 1 "EBS_state_unavailable" 2 "EBS_state_armed" 3 "EBS_state_activated" ;
VAL_ 1282 AMI_state 1 "AMI_state_acceleration" 2 "AMI_state_skidpad" 3 "AMI_state_trackdrive" 4 "AMI_state_braketest" 5 "AMI_state_inspection" 6 "AMI_state_autocross" ;
VAL_ 1282 Service_brake_state 1 "Service_brake_state_disengaged" 2 "Service_brake_state_engaged" 3 "Service_brake_state_available" ;

View File

@ -0,0 +1,170 @@
VERSION ""
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_:
BO_ 4 New_Message_27: 8 Vector__XXX
SG_ New_Signal_67 : 15|8@1+ (1,0) [0|0] "" Vector__XXX
BO_ 3 New_Message_26: 8 Vector__XXX
SG_ New_Signal_66 : 15|8@1+ (1,0) [0|0] "" Vector__XXX
BO_ 2 New_Message_25: 8 Vector__XXX
SG_ New_Signal_65 : 15|8@1+ (1,0) [0|0] "" Vector__XXX
BO_ 1 New_Message_24: 8 Vector__XXX
SG_ New_Signal_64 : 15|8@1+ (1,0) [0|0] "" Vector__XXX
BO_ 1409 SDO_T_Node_1: 8 Vector__XXX
SG_ payload : 32|32@1- (1,0) [0|0] "" Vector__XXX
SG_ od_subindex : 24|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ OD_index : 8|16@1+ (1,0) [0|0] "" Vector__XXX
SG_ command_byte : 0|8@1+ (1,0) [0|255] "" Vector__XXX
BO_ 1410 SDO_T_Node_2: 8 Vector__XXX
SG_ payload : 32|32@1- (1,0) [0|0] "" Vector__XXX
SG_ od_subindex : 24|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ OD_index : 8|16@1+ (1,0) [0|0] "" Vector__XXX
SG_ command_byte : 0|8@1+ (1,0) [0|255] "" Vector__XXX
BO_ 1538 SDO_R_Node_2: 8 Vector__XXX
SG_ payload : 32|32@1- (1,0) [0|0] "" Vector__XXX
SG_ od_subindex : 24|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ OD_index : 8|16@1+ (1,0) [0|0] "" Vector__XXX
SG_ command_byte : 0|8@1+ (1,0) [0|255] "" Vector__XXX
BO_ 1537 SDO_R_Node_1: 8 Vector__XXX
SG_ payload : 32|32@1- (1,0) [0|0] "" Vector__XXX
SG_ od_subindex : 24|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ OD_index : 8|16@1+ (1,0) [0|0] "" Vector__XXX
SG_ command_byte : 0|8@1+ (1,0) [0|255] "" Vector__XXX
BO_ 401 RES_TxPDO: 8 Vector__XXX
SG_ RES_Switch : 1|1@1- (1,0) [0|0] "" Vector__XXX
SG_ RES_Signal_Strength : 8|8@1+ (1,0) [-128|127] "" Vector__XXX
SG_ RES_Go_Signal : 2|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ RES_EStop : 0|1@1+ (1,0) [0|0] "" Vector__XXX
BO_ 353 EMCY_Node81: 8 Vector__XXX
SG_ Errors : 3|5@1- (1,0) [0|0] "" Vector__XXX
SG_ Error_Register : 2|1@1+ (1,0) [0|0] "" Vector__XXX
SG_ Emergency_Error_Code : 0|2@1+ (1,0) [0|0] "" Vector__XXX
BO_ 130 EMCY_Node2: 8 Vector__XXX
SG_ Emergency_Error_Code : 0|2@1+ (1,0) [0|0] "" Vector__XXX
SG_ Errors : 3|5@1- (1,0) [0|0] "" Vector__XXX
SG_ Error_Register : 2|1@1+ (1,0) [0|0] "" Vector__XXX
BO_ 129 EMCY_Node1: 8 Vector__XXX
SG_ Emergency_Error_Code : 0|2@1+ (1,0) [0|0] "" Vector__XXX
SG_ Errors : 3|5@1- (1,0) [0|0] "" Vector__XXX
SG_ Error_Register : 2|1@1+ (1,0) [0|0] "" Vector__XXX
BO_ 1921 Heartbeat_Node81: 8 Vector__XXX
SG_ Heartbeat : 0|8@1+ (1,0) [0|0] "" Vector__XXX
BO_ 1794 Heartbeat_Node2: 8 Vector__XXX
SG_ Heartbeat : 0|8@1+ (1,0) [0|0] "" Vector__XXX
BO_ 1793 Heartbeat_Node1: 8 Vector__XXX
SG_ Heartbeat : 0|8@1+ (1,0) [0|0] "" Vector__XXX
BO_ 128 SYNC: 1 Vector__XXX
SG_ Sync_frame : 0|8@1- (1,0) [0|0] "" Vector__XXX
BO_ 0 NMT_Command: 2 Vector__XXX
SG_ Requested_State : 0|8@1+ (1,0) [0|255] "" Vector__XXX
SG_ Node_ID : 8|8@1+ (1,0) [0|255] "" Vector__XXX
BO_ 514 INV_R_RxPDO_1: 6 Vector__XXX
SG_ Target_Velocity : 16|32@1- (1,0) [-2147483648|2147483647] "" Vector__XXX
SG_ Target_Torque : 0|16@1- (1,0) [-32768|32767] "" Vector__XXX
BO_ 513 INV_L_RxPDO_1: 6 Vector__XXX
SG_ Target_Velocity : 16|32@1- (1,0) [-2147483648|2147483647] "" Vector__XXX
SG_ Target_Torque : 0|16@1- (1,0) [-32768|32767] "" Vector__XXX
BO_ 1154 INV_R_TxPDO_4: 8 Vector__XXX
SG_ Velocity_R : 32|32@1- (0.001,0) [-2147483.648|2147483.647] "1/s" Vector__XXX
SG_ ActualFlux_R : 16|16@1- (1,0) [-32768|32767] "" Vector__XXX
SG_ DemandedFlux_R : 0|16@1- (1,0) [-32768|32767] "" Vector__XXX
BO_ 898 INV_R_TxPDO_3: 8 Vector__XXX
SG_ ActualTorque_R : 48|16@1- (1,0) [-32768|32767] "" Vector__XXX
SG_ DemandedTorque_R : 32|16@1- (1,0) [-32768|32767] "" Vector__XXX
SG_ Errors_R : 16|16@1+ (1,0) [0|65535] "" Vector__XXX
SG_ Warnings_R : 0|16@1+ (1,0) [0|65535] "" Vector__XXX
BO_ 642 INV_R_TxPDO_2: 7 Vector__XXX
SG_ OperationMode_R : 48|8@1- (1,0) [-128|127] "" Vector__XXX
SG_ Controlword_R : 32|16@1+ (1,0) [0|65535] "" Vector__XXX
SG_ U_phase_R : 0|32@1- (1,0) [-2147483648|2147483647] "V" Vector__XXX
BO_ 386 INV_R_TxPDO_1: 8 Vector__XXX
SG_ T_Mot_R : 32|32@1- (1,0) [-2147483648|2147483647] "°C" Vector__XXX
SG_ T_Inv_R : 0|32@1- (1,0) [-2147483648|2147483647] "°C" Vector__XXX
BO_ 1153 INV_L_TxPDO_4: 8 Vector__XXX
SG_ Velocity_L : 32|32@1- (0.001,0) [-2147483.648|2147483.647] "1/s" Vector__XXX
SG_ ActualFlux_L : 16|16@1- (1,0) [-32768|32767] "" Vector__XXX
SG_ DemandedFlux_L : 0|16@1- (1,0) [-32768|32767] "" Vector__XXX
BO_ 897 INV_L_TxPDO_3: 8 Vector__XXX
SG_ ActualTorque_L : 48|16@1- (1,0) [-32768|32767] "" Vector__XXX
SG_ DemandedTorque_L : 32|16@1- (1,0) [-32768|32767] "" Vector__XXX
SG_ Errors_L : 16|16@1+ (1,0) [0|65535] "" Vector__XXX
SG_ Warnings_L : 0|16@1+ (1,0) [0|65535] "" Vector__XXX
BO_ 385 INV_L_TxPDO_1: 8 Vector__XXX
SG_ T_Mot_L : 32|32@1- (1,0) [-2147483648|2147483647] "°C" Vector__XXX
SG_ T_Inv_L : 0|32@1- (1,0) [-3.4E+38|3.4E+38] "°C" Vector__XXX
BO_ 641 INV_L_TxPDO_2: 7 Vector__XXX
SG_ OperationMode_L : 48|8@1- (1,0) [-128|127] "" Vector__XXX
SG_ Controlword_L : 32|16@1+ (1,0) [0|65535] "" Vector__XXX
SG_ U_phase_L : 0|32@1- (1,0) [-2147483648|2147483647] "V" Vector__XXX
BA_DEF_ "MultiplexExtEnabled" ENUM "No","Yes";
BA_DEF_ "BusType" STRING ;
BA_DEF_DEF_ "MultiplexExtEnabled" "No";
BA_DEF_DEF_ "BusType" "CAN";
SIG_VALTYPE_ 386 T_Mot_R : 1;
SIG_VALTYPE_ 386 T_Inv_R : 1;
SIG_VALTYPE_ 385 T_Mot_L : 1;
SIG_VALTYPE_ 385 T_Inv_L : 1;

View File

@ -0,0 +1,52 @@
VERSION ""
NS_ :
NS_DESC_
CM_
BA_DEF_
BA_
VAL_
CAT_DEF_
CAT_
FILTER
BA_DEF_DEF_
EV_DATA_
ENVVAR_DATA_
SGTYPE_
SGTYPE_VAL_
BA_DEF_SGTYPE_
BA_SGTYPE_
SIG_TYPE_REF_
VAL_TABLE_
SIG_GROUP_
SIG_VALTYPE_
SIGTYPE_VALTYPE_
BO_TX_BU_
BA_DEF_REL_
BA_REL_
BA_DEF_DEF_REL_
BU_SG_REL_
BU_EV_REL_
BU_BO_REL_
SG_MUL_VAL_
BS_:
BU_:
VAL_TABLE_ XCP_CMD_Values 246 "SET_MTA" 245 "UPLOAD" ;
BO_ 2 XCP_MOSI: 8 Vector__XXX
SG_ XCP_Upload_Len m245 : 8|8@1+ (1,0) [0|0] "" Vector__XXX
SG_ XCP_MTA m246 : 15|32@0+ (1,0) [0|0] "" Vector__XXX
SG_ XCP_CMD M : 0|8@1+ (1,0) [0|0] "" Vector__XXX
BA_DEF_ "MultiplexExtEnabled" ENUM "No","Yes";
BA_DEF_ "BusType" STRING ;
BA_DEF_DEF_ "MultiplexExtEnabled" "No";
BA_DEF_DEF_ "BusType" "CAN";
VAL_ 2 XCP_CMD 246 "SET_MTA" 245 "UPLOAD" ;

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,275 @@
#ifndef _TRANSCEIVER_H_
#define _TRANSCEIVER_H_
#include <chrono>
#include <functional>
#include <memory>
#include <string>
#include <linux/can.h>
#include <linux/can/raw.h>
#include <net/if.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include "endec.hpp"
#define STANDARD_TIMEOUT 10000
namespace canlib {
class Transceiver {
public:
Transceiver();
Transceiver(std::string device_name, std::vector<can_filter> filters);
~Transceiver();
virtual void transmit(canlib::frame::decoded::can1::inverter_velocity_t inverter_velocity);
virtual void transmit(canlib::frame::decoded::can1::inverter_errors_warnings_t inverter_errors_warnings);
virtual void transmit(canlib::frame::decoded::can1::inverter_torque_actual_cw_t inverter_torque_actual_cw);
virtual void transmit(canlib::frame::decoded::can1::inverter_temperatur_t inverter_temperatur);
virtual void transmit(canlib::frame::decoded::can1::inverter_torque_wanted_t inverter_torque_wanted);
virtual void transmit(canlib::frame::decoded::can1::sdo_telemetrie_rx_node1_t sdo_telemetrie_rx_node1);
virtual void transmit(canlib::frame::decoded::can1::sdo_telemetrie_rx_node2_t sdo_telemetrie_rx_node2);
virtual void transmit(canlib::frame::decoded::can1::sdo_telemetrie_tx_t sdo_telemetrie_tx);
virtual void transmit(canlib::frame::decoded::can1::laptop_sdo_node_t laptop_sdo_node);
virtual void transmit(canlib::frame::decoded::can1::x_sens_long_lat_t x_sens_long_lat);
virtual void transmit(canlib::frame::decoded::can1::x_sens_rateofturn_t x_sens_rateofturn);
virtual void transmit(canlib::frame::decoded::can1::x_sens_acceleration_t x_sens_acceleration);
virtual void transmit(canlib::frame::decoded::can1::x_sens_velocity_t x_sens_velocity);
virtual void transmit(canlib::frame::decoded::can1::telemetrie_t telemetrie);
virtual void transmit(canlib::frame::decoded::can1::override_powermap_t override_powermap);
virtual void transmit(canlib::frame::decoded::can1::override_laptop_2_t override_laptop_2);
virtual void transmit(canlib::frame::decoded::can1::override_epsc_cooling_t override_epsc_cooling);
virtual void transmit(canlib::frame::decoded::can1::override_laptop_t override_laptop);
virtual void transmit(canlib::frame::decoded::can1::apps_override_t apps_override);
virtual void transmit(canlib::frame::decoded::can1::ftcu_damper_t ftcu_damper);
virtual void transmit(canlib::frame::decoded::can1::ftcu_param_confirm_t ftcu_param_confirm);
virtual void transmit(canlib::frame::decoded::can1::sensornode_f_10_hz_t sensornode_f_10_hz);
virtual void transmit(canlib::frame::decoded::can1::sensornode_f_100_hz_1_t sensornode_f_100_hz_1);
virtual void transmit(canlib::frame::decoded::can1::sensornode_f_100_hz_2_t sensornode_f_100_hz_2);
virtual void transmit(canlib::frame::decoded::can1::sensornode_f_1k_hz_t sensornode_f_1k_hz);
virtual void transmit(canlib::frame::decoded::can1::sensornode_r_10_hz_t sensornode_r_10_hz);
virtual void transmit(canlib::frame::decoded::can1::sensornode_r_100_hz_t sensornode_r_100_hz);
virtual void transmit(canlib::frame::decoded::can1::sensornode_r_1k_hz_t sensornode_r_1k_hz);
virtual void transmit(canlib::frame::decoded::can1::pwm_duty_cycle_t pwm_duty_cycle);
virtual void transmit(canlib::frame::decoded::can1::pwm_config_t pwm_config);
virtual void transmit(canlib::frame::decoded::can1::dashboard_in_t dashboard_in);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_status_t ams_slave1_status);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log0_t ams_slave2_log0);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log1_t ams_slave2_log1);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log2_t ams_slave2_log2);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log3_t ams_slave2_log3);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log4_t ams_slave2_log4);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log5_t ams_slave2_log5);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log6_t ams_slave5_log6);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log6_t ams_slave4_log6);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log6_t ams_slave3_log6);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log6_t ams_slave2_log6);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log6_t ams_slave1_log6);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log5_t ams_slave5_log5);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log5_t ams_slave4_log5);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log5_t ams_slave3_log5);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log5_t ams_slave1_log5);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log4_t ams_slave5_log4);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log4_t ams_slave4_log4);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log4_t ams_slave3_log4);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log4_t ams_slave1_log4);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log3_t ams_slave5_log3);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log3_t ams_slave4_log3);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log3_t ams_slave3_log3);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log3_t ams_slave1_log3);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log2_t ams_slave5_log2);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log2_t ams_slave4_log2);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log2_t ams_slave3_log2);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log2_t ams_slave1_log2);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log1_t ams_slave5_log1);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log1_t ams_slave4_log1);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log1_t ams_slave3_log1);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log1_t ams_slave1_log1);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log0_t ams_slave5_log0);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log0_t ams_slave4_log0);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log0_t ams_slave3_log0);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log0_t ams_slave1_log0);
virtual void transmit(canlib::frame::decoded::can1::pdu_heartbeat_t pdu_heartbeat);
virtual void transmit(canlib::frame::decoded::can1::ftcu_pneumatik_t ftcu_pneumatik);
virtual void transmit(canlib::frame::decoded::can1::acu_tx_commands_t acu_tx_commands);
virtual void transmit(canlib::frame::decoded::can1::acu_rx_commands_t acu_rx_commands);
virtual void transmit(canlib::frame::decoded::can1::acu_rx_t acu_rx);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_log0_t ams_slave0_log0);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_log1_t ams_slave0_log1);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_log3_t ams_slave0_log3);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_log4_t ams_slave0_log4);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_log5_t ams_slave0_log5);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_log6_t ams_slave0_log6);
virtual void transmit(canlib::frame::decoded::can1::acu_tx_t acu_tx);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_status_t ams_slave5_status);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_status_t ams_slave4_status);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_status_t ams_slave3_status);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_status_t ams_slave2_status);
virtual void transmit(canlib::frame::decoded::can1::ams_error_t ams_error);
virtual void transmit(canlib::frame::decoded::can1::ftcu_cooling_t ftcu_cooling);
virtual void transmit(canlib::frame::decoded::can1::ftcu_brake_t_t ftcu_brake_t);
virtual void transmit(canlib::frame::decoded::can1::ftcu_wheelspeed_t ftcu_wheelspeed);
virtual void transmit(canlib::frame::decoded::can1::ftcu_timings_t ftcu_timings);
virtual void transmit(canlib::frame::decoded::can1::ftcu_driver_t ftcu_driver);
virtual void transmit(canlib::frame::decoded::can1::tts_rr_t tts_rr);
virtual void transmit(canlib::frame::decoded::can1::tts_rl_t tts_rl);
virtual void transmit(canlib::frame::decoded::can1::tts_fr_t tts_fr);
virtual void transmit(canlib::frame::decoded::can1::tts_fl_t tts_fl);
virtual void transmit(canlib::frame::decoded::can1::stw_param_set_t stw_param_set);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_status_t ams_slave0_status);
virtual void transmit(canlib::frame::decoded::can1::ssu_message_t ssu_message);
virtual void transmit(canlib::frame::decoded::can1::ams_status_t ams_status);
virtual void transmit(canlib::frame::decoded::can1::ams_slave_panic_t ams_slave_panic);
virtual void transmit(canlib::frame::decoded::can1::ams_in_t ams_in);
virtual void transmit(canlib::frame::decoded::can1::shunt_current_t shunt_current);
virtual void transmit(canlib::frame::decoded::can1::shunt_voltage1_t shunt_voltage1);
virtual void transmit(canlib::frame::decoded::can1::shunt_voltage2_t shunt_voltage2);
virtual void transmit(canlib::frame::decoded::can1::shunt_voltage3_t shunt_voltage3);
virtual void transmit(canlib::frame::decoded::can1::shunt_temperature_t shunt_temperature);
virtual void transmit(canlib::frame::decoded::can1::pdu_command_t pdu_command);
virtual void transmit(canlib::frame::decoded::can1::pdu_response_t pdu_response);
virtual void transmit(canlib::frame::decoded::can1::as_mission_fb_t as_mission_fb);
virtual void transmit(canlib::frame::decoded::can1::stw_mission_selected_t stw_mission_selected);
virtual void transmit(canlib::frame::decoded::can1::epsc_out_t epsc_out);
virtual void transmit(canlib::frame::decoded::can1::epsc_steering_in_t epsc_steering_in);
virtual void transmit(canlib::frame::decoded::can1::stw_buttons_t stw_buttons);
virtual void transmit(canlib::frame::decoded::can1::stw_status_t stw_status);
virtual void transmit(canlib::frame::decoded::can1::pdu_current_1_t pdu_current_1);
virtual void transmit(canlib::frame::decoded::can1::pdu_current_2_t pdu_current_2);
virtual void transmit(canlib::frame::decoded::can1::pdu_current_3_t pdu_current_3);
virtual void transmit(canlib::frame::decoded::can1::pdu_current_4_t pdu_current_4);
virtual void transmit(canlib::frame::decoded::can1::epsc_config_in_t epsc_config_in);
virtual bool receive(int timeout_us = STANDARD_TIMEOUT);
private:
virtual bool read(struct can_frame &frame, int timeout_usec);
can1_inverter_velocity_t can1_inverter_velocity_frame;
can1_inverter_errors_warnings_t can1_inverter_errors_warnings_frame;
can1_inverter_torque_actual_cw_t can1_inverter_torque_actual_cw_frame;
can1_inverter_temperatur_t can1_inverter_temperatur_frame;
can1_inverter_torque_wanted_t can1_inverter_torque_wanted_frame;
can1_sdo_telemetrie_rx_node1_t can1_sdo_telemetrie_rx_node1_frame;
can1_sdo_telemetrie_rx_node2_t can1_sdo_telemetrie_rx_node2_frame;
can1_sdo_telemetrie_tx_t can1_sdo_telemetrie_tx_frame;
can1_laptop_sdo_node_t can1_laptop_sdo_node_frame;
can1_x_sens_long_lat_t can1_x_sens_long_lat_frame;
can1_x_sens_rateofturn_t can1_x_sens_rateofturn_frame;
can1_x_sens_acceleration_t can1_x_sens_acceleration_frame;
can1_x_sens_velocity_t can1_x_sens_velocity_frame;
can1_telemetrie_t can1_telemetrie_frame;
can1_override_powermap_t can1_override_powermap_frame;
can1_override_laptop_2_t can1_override_laptop_2_frame;
can1_override_epsc_cooling_t can1_override_epsc_cooling_frame;
can1_override_laptop_t can1_override_laptop_frame;
can1_apps_override_t can1_apps_override_frame;
can1_ftcu_damper_t can1_ftcu_damper_frame;
can1_ftcu_param_confirm_t can1_ftcu_param_confirm_frame;
can1_sensornode_f_10_hz_t can1_sensornode_f_10_hz_frame;
can1_sensornode_f_100_hz_1_t can1_sensornode_f_100_hz_1_frame;
can1_sensornode_f_100_hz_2_t can1_sensornode_f_100_hz_2_frame;
can1_sensornode_f_1k_hz_t can1_sensornode_f_1k_hz_frame;
can1_sensornode_r_10_hz_t can1_sensornode_r_10_hz_frame;
can1_sensornode_r_100_hz_t can1_sensornode_r_100_hz_frame;
can1_sensornode_r_1k_hz_t can1_sensornode_r_1k_hz_frame;
can1_pwm_duty_cycle_t can1_pwm_duty_cycle_frame;
can1_pwm_config_t can1_pwm_config_frame;
can1_dashboard_in_t can1_dashboard_in_frame;
can1_ams_slave1_status_t can1_ams_slave1_status_frame;
can1_ams_slave2_log0_t can1_ams_slave2_log0_frame;
can1_ams_slave2_log1_t can1_ams_slave2_log1_frame;
can1_ams_slave2_log2_t can1_ams_slave2_log2_frame;
can1_ams_slave2_log3_t can1_ams_slave2_log3_frame;
can1_ams_slave2_log4_t can1_ams_slave2_log4_frame;
can1_ams_slave2_log5_t can1_ams_slave2_log5_frame;
can1_ams_slave5_log6_t can1_ams_slave5_log6_frame;
can1_ams_slave4_log6_t can1_ams_slave4_log6_frame;
can1_ams_slave3_log6_t can1_ams_slave3_log6_frame;
can1_ams_slave2_log6_t can1_ams_slave2_log6_frame;
can1_ams_slave1_log6_t can1_ams_slave1_log6_frame;
can1_ams_slave5_log5_t can1_ams_slave5_log5_frame;
can1_ams_slave4_log5_t can1_ams_slave4_log5_frame;
can1_ams_slave3_log5_t can1_ams_slave3_log5_frame;
can1_ams_slave1_log5_t can1_ams_slave1_log5_frame;
can1_ams_slave5_log4_t can1_ams_slave5_log4_frame;
can1_ams_slave4_log4_t can1_ams_slave4_log4_frame;
can1_ams_slave3_log4_t can1_ams_slave3_log4_frame;
can1_ams_slave1_log4_t can1_ams_slave1_log4_frame;
can1_ams_slave5_log3_t can1_ams_slave5_log3_frame;
can1_ams_slave4_log3_t can1_ams_slave4_log3_frame;
can1_ams_slave3_log3_t can1_ams_slave3_log3_frame;
can1_ams_slave1_log3_t can1_ams_slave1_log3_frame;
can1_ams_slave5_log2_t can1_ams_slave5_log2_frame;
can1_ams_slave4_log2_t can1_ams_slave4_log2_frame;
can1_ams_slave3_log2_t can1_ams_slave3_log2_frame;
can1_ams_slave1_log2_t can1_ams_slave1_log2_frame;
can1_ams_slave5_log1_t can1_ams_slave5_log1_frame;
can1_ams_slave4_log1_t can1_ams_slave4_log1_frame;
can1_ams_slave3_log1_t can1_ams_slave3_log1_frame;
can1_ams_slave1_log1_t can1_ams_slave1_log1_frame;
can1_ams_slave5_log0_t can1_ams_slave5_log0_frame;
can1_ams_slave4_log0_t can1_ams_slave4_log0_frame;
can1_ams_slave3_log0_t can1_ams_slave3_log0_frame;
can1_ams_slave1_log0_t can1_ams_slave1_log0_frame;
can1_pdu_heartbeat_t can1_pdu_heartbeat_frame;
can1_ftcu_pneumatik_t can1_ftcu_pneumatik_frame;
can1_acu_tx_commands_t can1_acu_tx_commands_frame;
can1_acu_rx_commands_t can1_acu_rx_commands_frame;
can1_acu_rx_t can1_acu_rx_frame;
can1_ams_slave0_log0_t can1_ams_slave0_log0_frame;
can1_ams_slave0_log1_t can1_ams_slave0_log1_frame;
can1_ams_slave0_log3_t can1_ams_slave0_log3_frame;
can1_ams_slave0_log4_t can1_ams_slave0_log4_frame;
can1_ams_slave0_log5_t can1_ams_slave0_log5_frame;
can1_ams_slave0_log6_t can1_ams_slave0_log6_frame;
can1_acu_tx_t can1_acu_tx_frame;
can1_ams_slave5_status_t can1_ams_slave5_status_frame;
can1_ams_slave4_status_t can1_ams_slave4_status_frame;
can1_ams_slave3_status_t can1_ams_slave3_status_frame;
can1_ams_slave2_status_t can1_ams_slave2_status_frame;
can1_ams_error_t can1_ams_error_frame;
can1_ftcu_cooling_t can1_ftcu_cooling_frame;
can1_ftcu_brake_t_t can1_ftcu_brake_t_frame;
can1_ftcu_wheelspeed_t can1_ftcu_wheelspeed_frame;
can1_ftcu_timings_t can1_ftcu_timings_frame;
can1_ftcu_driver_t can1_ftcu_driver_frame;
can1_tts_rr_t can1_tts_rr_frame;
can1_tts_rl_t can1_tts_rl_frame;
can1_tts_fr_t can1_tts_fr_frame;
can1_tts_fl_t can1_tts_fl_frame;
can1_stw_param_set_t can1_stw_param_set_frame;
can1_ams_slave0_status_t can1_ams_slave0_status_frame;
can1_ssu_message_t can1_ssu_message_frame;
can1_ams_status_t can1_ams_status_frame;
can1_ams_slave_panic_t can1_ams_slave_panic_frame;
can1_ams_in_t can1_ams_in_frame;
can1_shunt_current_t can1_shunt_current_frame;
can1_shunt_voltage1_t can1_shunt_voltage1_frame;
can1_shunt_voltage2_t can1_shunt_voltage2_frame;
can1_shunt_voltage3_t can1_shunt_voltage3_frame;
can1_shunt_temperature_t can1_shunt_temperature_frame;
can1_pdu_command_t can1_pdu_command_frame;
can1_pdu_response_t can1_pdu_response_frame;
can1_as_mission_fb_t can1_as_mission_fb_frame;
can1_stw_mission_selected_t can1_stw_mission_selected_frame;
can1_epsc_out_t can1_epsc_out_frame;
can1_epsc_steering_in_t can1_epsc_steering_in_frame;
can1_stw_buttons_t can1_stw_buttons_frame;
can1_stw_status_t can1_stw_status_frame;
can1_pdu_current_1_t can1_pdu_current_1_frame;
can1_pdu_current_2_t can1_pdu_current_2_frame;
can1_pdu_current_3_t can1_pdu_current_3_frame;
can1_pdu_current_4_t can1_pdu_current_4_frame;
can1_epsc_config_in_t can1_epsc_config_in_frame;
struct can_frame frame;
int socket_instance;
};
}
#endif // _TRANSCEIVER_H_

View File

@ -0,0 +1 @@
isolated

View File

@ -0,0 +1,407 @@
# Copyright 2016-2019 Dirk Thomas
# Licensed under the Apache License, Version 2.0
import argparse
from collections import OrderedDict
import os
from pathlib import Path
import sys
FORMAT_STR_COMMENT_LINE = '# {comment}'
FORMAT_STR_SET_ENV_VAR = 'Set-Item -Path "Env:{name}" -Value "{value}"'
FORMAT_STR_USE_ENV_VAR = '$env:{name}'
FORMAT_STR_INVOKE_SCRIPT = '_colcon_prefix_powershell_source_script "{script_path}"' # noqa: E501
FORMAT_STR_REMOVE_LEADING_SEPARATOR = '' # noqa: E501
FORMAT_STR_REMOVE_TRAILING_SEPARATOR = '' # noqa: E501
DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate'
DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate'
DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists'
DSV_TYPE_SET = 'set'
DSV_TYPE_SET_IF_UNSET = 'set-if-unset'
DSV_TYPE_SOURCE = 'source'
def main(argv=sys.argv[1:]): # noqa: D103
parser = argparse.ArgumentParser(
description='Output shell commands for the packages in topological '
'order')
parser.add_argument(
'primary_extension',
help='The file extension of the primary shell')
parser.add_argument(
'additional_extension', nargs='?',
help='The additional file extension to be considered')
parser.add_argument(
'--merged-install', action='store_true',
help='All install prefixes are merged into a single location')
args = parser.parse_args(argv)
packages = get_packages(Path(__file__).parent, args.merged_install)
ordered_packages = order_packages(packages)
for pkg_name in ordered_packages:
if _include_comments():
print(
FORMAT_STR_COMMENT_LINE.format_map(
{'comment': 'Package: ' + pkg_name}))
prefix = os.path.abspath(os.path.dirname(__file__))
if not args.merged_install:
prefix = os.path.join(prefix, pkg_name)
for line in get_commands(
pkg_name, prefix, args.primary_extension,
args.additional_extension
):
print(line)
for line in _remove_ending_separators():
print(line)
def get_packages(prefix_path, merged_install):
"""
Find packages based on colcon-specific files created during installation.
:param Path prefix_path: The install prefix path of all packages
:param bool merged_install: The flag if the packages are all installed
directly in the prefix or if each package is installed in a subdirectory
named after the package
:returns: A mapping from the package name to the set of runtime
dependencies
:rtype: dict
"""
packages = {}
# since importing colcon_core isn't feasible here the following constant
# must match colcon_core.location.get_relative_package_index_path()
subdirectory = 'share/colcon-core/packages'
if merged_install:
# return if workspace is empty
if not (prefix_path / subdirectory).is_dir():
return packages
# find all files in the subdirectory
for p in (prefix_path / subdirectory).iterdir():
if not p.is_file():
continue
if p.name.startswith('.'):
continue
add_package_runtime_dependencies(p, packages)
else:
# for each subdirectory look for the package specific file
for p in prefix_path.iterdir():
if not p.is_dir():
continue
if p.name.startswith('.'):
continue
p = p / subdirectory / p.name
if p.is_file():
add_package_runtime_dependencies(p, packages)
# remove unknown dependencies
pkg_names = set(packages.keys())
for k in packages.keys():
packages[k] = {d for d in packages[k] if d in pkg_names}
return packages
def add_package_runtime_dependencies(path, packages):
"""
Check the path and if it exists extract the packages runtime dependencies.
:param Path path: The resource file containing the runtime dependencies
:param dict packages: A mapping from package names to the sets of runtime
dependencies to add to
"""
content = path.read_text()
dependencies = set(content.split(os.pathsep) if content else [])
packages[path.name] = dependencies
def order_packages(packages):
"""
Order packages topologically.
:param dict packages: A mapping from package name to the set of runtime
dependencies
:returns: The package names
:rtype: list
"""
# select packages with no dependencies in alphabetical order
to_be_ordered = list(packages.keys())
ordered = []
while to_be_ordered:
pkg_names_without_deps = [
name for name in to_be_ordered if not packages[name]]
if not pkg_names_without_deps:
reduce_cycle_set(packages)
raise RuntimeError(
'Circular dependency between: ' + ', '.join(sorted(packages)))
pkg_names_without_deps.sort()
pkg_name = pkg_names_without_deps[0]
to_be_ordered.remove(pkg_name)
ordered.append(pkg_name)
# remove item from dependency lists
for k in list(packages.keys()):
if pkg_name in packages[k]:
packages[k].remove(pkg_name)
return ordered
def reduce_cycle_set(packages):
"""
Reduce the set of packages to the ones part of the circular dependency.
:param dict packages: A mapping from package name to the set of runtime
dependencies which is modified in place
"""
last_depended = None
while len(packages) > 0:
# get all remaining dependencies
depended = set()
for pkg_name, dependencies in packages.items():
depended = depended.union(dependencies)
# remove all packages which are not dependent on
for name in list(packages.keys()):
if name not in depended:
del packages[name]
if last_depended:
# if remaining packages haven't changed return them
if last_depended == depended:
return packages.keys()
# otherwise reduce again
last_depended = depended
def _include_comments():
# skipping comment lines when COLCON_TRACE is not set speeds up the
# processing especially on Windows
return bool(os.environ.get('COLCON_TRACE'))
def get_commands(pkg_name, prefix, primary_extension, additional_extension):
commands = []
package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv')
if os.path.exists(package_dsv_path):
commands += process_dsv_file(
package_dsv_path, prefix, primary_extension, additional_extension)
return commands
def process_dsv_file(
dsv_path, prefix, primary_extension=None, additional_extension=None
):
commands = []
if _include_comments():
commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path}))
with open(dsv_path, 'r') as h:
content = h.read()
lines = content.splitlines()
basenames = OrderedDict()
for i, line in enumerate(lines):
# skip over empty or whitespace-only lines
if not line.strip():
continue
# skip over comments
if line.startswith('#'):
continue
try:
type_, remainder = line.split(';', 1)
except ValueError:
raise RuntimeError(
"Line %d in '%s' doesn't contain a semicolon separating the "
'type from the arguments' % (i + 1, dsv_path))
if type_ != DSV_TYPE_SOURCE:
# handle non-source lines
try:
commands += handle_dsv_types_except_source(
type_, remainder, prefix)
except RuntimeError as e:
raise RuntimeError(
"Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e
else:
# group remaining source lines by basename
path_without_ext, ext = os.path.splitext(remainder)
if path_without_ext not in basenames:
basenames[path_without_ext] = set()
assert ext.startswith('.')
ext = ext[1:]
if ext in (primary_extension, additional_extension):
basenames[path_without_ext].add(ext)
# add the dsv extension to each basename if the file exists
for basename, extensions in basenames.items():
if not os.path.isabs(basename):
basename = os.path.join(prefix, basename)
if os.path.exists(basename + '.dsv'):
extensions.add('dsv')
for basename, extensions in basenames.items():
if not os.path.isabs(basename):
basename = os.path.join(prefix, basename)
if 'dsv' in extensions:
# process dsv files recursively
commands += process_dsv_file(
basename + '.dsv', prefix, primary_extension=primary_extension,
additional_extension=additional_extension)
elif primary_extension in extensions and len(extensions) == 1:
# source primary-only files
commands += [
FORMAT_STR_INVOKE_SCRIPT.format_map({
'prefix': prefix,
'script_path': basename + '.' + primary_extension})]
elif additional_extension in extensions:
# source non-primary files
commands += [
FORMAT_STR_INVOKE_SCRIPT.format_map({
'prefix': prefix,
'script_path': basename + '.' + additional_extension})]
return commands
def handle_dsv_types_except_source(type_, remainder, prefix):
commands = []
if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET):
try:
env_name, value = remainder.split(';', 1)
except ValueError:
raise RuntimeError(
"doesn't contain a semicolon separating the environment name "
'from the value')
try_prefixed_value = os.path.join(prefix, value) if value else prefix
if os.path.exists(try_prefixed_value):
value = try_prefixed_value
if type_ == DSV_TYPE_SET:
commands += _set(env_name, value)
elif type_ == DSV_TYPE_SET_IF_UNSET:
commands += _set_if_unset(env_name, value)
else:
assert False
elif type_ in (
DSV_TYPE_APPEND_NON_DUPLICATE,
DSV_TYPE_PREPEND_NON_DUPLICATE,
DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS
):
try:
env_name_and_values = remainder.split(';')
except ValueError:
raise RuntimeError(
"doesn't contain a semicolon separating the environment name "
'from the values')
env_name = env_name_and_values[0]
values = env_name_and_values[1:]
for value in values:
if not value:
value = prefix
elif not os.path.isabs(value):
value = os.path.join(prefix, value)
if (
type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and
not os.path.exists(value)
):
comment = f'skip extending {env_name} with not existing ' \
f'path: {value}'
if _include_comments():
commands.append(
FORMAT_STR_COMMENT_LINE.format_map({'comment': comment}))
elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE:
commands += _append_unique_value(env_name, value)
else:
commands += _prepend_unique_value(env_name, value)
else:
raise RuntimeError(
'contains an unknown environment hook type: ' + type_)
return commands
env_state = {}
def _append_unique_value(name, value):
global env_state
if name not in env_state:
if os.environ.get(name):
env_state[name] = set(os.environ[name].split(os.pathsep))
else:
env_state[name] = set()
# append even if the variable has not been set yet, in case a shell script sets the
# same variable without the knowledge of this Python script.
# later _remove_ending_separators() will cleanup any unintentional leading separator
extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep
line = FORMAT_STR_SET_ENV_VAR.format_map(
{'name': name, 'value': extend + value})
if value not in env_state[name]:
env_state[name].add(value)
else:
if not _include_comments():
return []
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
return [line]
def _prepend_unique_value(name, value):
global env_state
if name not in env_state:
if os.environ.get(name):
env_state[name] = set(os.environ[name].split(os.pathsep))
else:
env_state[name] = set()
# prepend even if the variable has not been set yet, in case a shell script sets the
# same variable without the knowledge of this Python script.
# later _remove_ending_separators() will cleanup any unintentional trailing separator
extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name})
line = FORMAT_STR_SET_ENV_VAR.format_map(
{'name': name, 'value': value + extend})
if value not in env_state[name]:
env_state[name].add(value)
else:
if not _include_comments():
return []
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
return [line]
# generate commands for removing prepended underscores
def _remove_ending_separators():
# do nothing if the shell extension does not implement the logic
if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None:
return []
global env_state
commands = []
for name in env_state:
# skip variables that already had values before this script started prepending
if name in os.environ:
continue
commands += [
FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}),
FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})]
return commands
def _set(name, value):
global env_state
env_state[name] = value
line = FORMAT_STR_SET_ENV_VAR.format_map(
{'name': name, 'value': value})
return [line]
def _set_if_unset(name, value):
global env_state
line = FORMAT_STR_SET_ENV_VAR.format_map(
{'name': name, 'value': value})
if env_state.get(name, os.environ.get(name)):
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
return [line]
if __name__ == '__main__': # pragma: no cover
try:
rc = main()
except RuntimeError as e:
print(str(e), file=sys.stderr)
rc = 1
sys.exit(rc)

View File

@ -0,0 +1,407 @@
# Copyright 2016-2019 Dirk Thomas
# Licensed under the Apache License, Version 2.0
import argparse
from collections import OrderedDict
import os
from pathlib import Path
import sys
FORMAT_STR_COMMENT_LINE = '# {comment}'
FORMAT_STR_SET_ENV_VAR = 'export {name}="{value}"'
FORMAT_STR_USE_ENV_VAR = '${name}'
FORMAT_STR_INVOKE_SCRIPT = 'COLCON_CURRENT_PREFIX="{prefix}" _colcon_prefix_sh_source_script "{script_path}"' # noqa: E501
FORMAT_STR_REMOVE_LEADING_SEPARATOR = 'if [ "$(echo -n ${name} | head -c 1)" = ":" ]; then export {name}=${{{name}#?}} ; fi' # noqa: E501
FORMAT_STR_REMOVE_TRAILING_SEPARATOR = 'if [ "$(echo -n ${name} | tail -c 1)" = ":" ]; then export {name}=${{{name}%?}} ; fi' # noqa: E501
DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate'
DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate'
DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists'
DSV_TYPE_SET = 'set'
DSV_TYPE_SET_IF_UNSET = 'set-if-unset'
DSV_TYPE_SOURCE = 'source'
def main(argv=sys.argv[1:]): # noqa: D103
parser = argparse.ArgumentParser(
description='Output shell commands for the packages in topological '
'order')
parser.add_argument(
'primary_extension',
help='The file extension of the primary shell')
parser.add_argument(
'additional_extension', nargs='?',
help='The additional file extension to be considered')
parser.add_argument(
'--merged-install', action='store_true',
help='All install prefixes are merged into a single location')
args = parser.parse_args(argv)
packages = get_packages(Path(__file__).parent, args.merged_install)
ordered_packages = order_packages(packages)
for pkg_name in ordered_packages:
if _include_comments():
print(
FORMAT_STR_COMMENT_LINE.format_map(
{'comment': 'Package: ' + pkg_name}))
prefix = os.path.abspath(os.path.dirname(__file__))
if not args.merged_install:
prefix = os.path.join(prefix, pkg_name)
for line in get_commands(
pkg_name, prefix, args.primary_extension,
args.additional_extension
):
print(line)
for line in _remove_ending_separators():
print(line)
def get_packages(prefix_path, merged_install):
"""
Find packages based on colcon-specific files created during installation.
:param Path prefix_path: The install prefix path of all packages
:param bool merged_install: The flag if the packages are all installed
directly in the prefix or if each package is installed in a subdirectory
named after the package
:returns: A mapping from the package name to the set of runtime
dependencies
:rtype: dict
"""
packages = {}
# since importing colcon_core isn't feasible here the following constant
# must match colcon_core.location.get_relative_package_index_path()
subdirectory = 'share/colcon-core/packages'
if merged_install:
# return if workspace is empty
if not (prefix_path / subdirectory).is_dir():
return packages
# find all files in the subdirectory
for p in (prefix_path / subdirectory).iterdir():
if not p.is_file():
continue
if p.name.startswith('.'):
continue
add_package_runtime_dependencies(p, packages)
else:
# for each subdirectory look for the package specific file
for p in prefix_path.iterdir():
if not p.is_dir():
continue
if p.name.startswith('.'):
continue
p = p / subdirectory / p.name
if p.is_file():
add_package_runtime_dependencies(p, packages)
# remove unknown dependencies
pkg_names = set(packages.keys())
for k in packages.keys():
packages[k] = {d for d in packages[k] if d in pkg_names}
return packages
def add_package_runtime_dependencies(path, packages):
"""
Check the path and if it exists extract the packages runtime dependencies.
:param Path path: The resource file containing the runtime dependencies
:param dict packages: A mapping from package names to the sets of runtime
dependencies to add to
"""
content = path.read_text()
dependencies = set(content.split(os.pathsep) if content else [])
packages[path.name] = dependencies
def order_packages(packages):
"""
Order packages topologically.
:param dict packages: A mapping from package name to the set of runtime
dependencies
:returns: The package names
:rtype: list
"""
# select packages with no dependencies in alphabetical order
to_be_ordered = list(packages.keys())
ordered = []
while to_be_ordered:
pkg_names_without_deps = [
name for name in to_be_ordered if not packages[name]]
if not pkg_names_without_deps:
reduce_cycle_set(packages)
raise RuntimeError(
'Circular dependency between: ' + ', '.join(sorted(packages)))
pkg_names_without_deps.sort()
pkg_name = pkg_names_without_deps[0]
to_be_ordered.remove(pkg_name)
ordered.append(pkg_name)
# remove item from dependency lists
for k in list(packages.keys()):
if pkg_name in packages[k]:
packages[k].remove(pkg_name)
return ordered
def reduce_cycle_set(packages):
"""
Reduce the set of packages to the ones part of the circular dependency.
:param dict packages: A mapping from package name to the set of runtime
dependencies which is modified in place
"""
last_depended = None
while len(packages) > 0:
# get all remaining dependencies
depended = set()
for pkg_name, dependencies in packages.items():
depended = depended.union(dependencies)
# remove all packages which are not dependent on
for name in list(packages.keys()):
if name not in depended:
del packages[name]
if last_depended:
# if remaining packages haven't changed return them
if last_depended == depended:
return packages.keys()
# otherwise reduce again
last_depended = depended
def _include_comments():
# skipping comment lines when COLCON_TRACE is not set speeds up the
# processing especially on Windows
return bool(os.environ.get('COLCON_TRACE'))
def get_commands(pkg_name, prefix, primary_extension, additional_extension):
commands = []
package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv')
if os.path.exists(package_dsv_path):
commands += process_dsv_file(
package_dsv_path, prefix, primary_extension, additional_extension)
return commands
def process_dsv_file(
dsv_path, prefix, primary_extension=None, additional_extension=None
):
commands = []
if _include_comments():
commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path}))
with open(dsv_path, 'r') as h:
content = h.read()
lines = content.splitlines()
basenames = OrderedDict()
for i, line in enumerate(lines):
# skip over empty or whitespace-only lines
if not line.strip():
continue
# skip over comments
if line.startswith('#'):
continue
try:
type_, remainder = line.split(';', 1)
except ValueError:
raise RuntimeError(
"Line %d in '%s' doesn't contain a semicolon separating the "
'type from the arguments' % (i + 1, dsv_path))
if type_ != DSV_TYPE_SOURCE:
# handle non-source lines
try:
commands += handle_dsv_types_except_source(
type_, remainder, prefix)
except RuntimeError as e:
raise RuntimeError(
"Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e
else:
# group remaining source lines by basename
path_without_ext, ext = os.path.splitext(remainder)
if path_without_ext not in basenames:
basenames[path_without_ext] = set()
assert ext.startswith('.')
ext = ext[1:]
if ext in (primary_extension, additional_extension):
basenames[path_without_ext].add(ext)
# add the dsv extension to each basename if the file exists
for basename, extensions in basenames.items():
if not os.path.isabs(basename):
basename = os.path.join(prefix, basename)
if os.path.exists(basename + '.dsv'):
extensions.add('dsv')
for basename, extensions in basenames.items():
if not os.path.isabs(basename):
basename = os.path.join(prefix, basename)
if 'dsv' in extensions:
# process dsv files recursively
commands += process_dsv_file(
basename + '.dsv', prefix, primary_extension=primary_extension,
additional_extension=additional_extension)
elif primary_extension in extensions and len(extensions) == 1:
# source primary-only files
commands += [
FORMAT_STR_INVOKE_SCRIPT.format_map({
'prefix': prefix,
'script_path': basename + '.' + primary_extension})]
elif additional_extension in extensions:
# source non-primary files
commands += [
FORMAT_STR_INVOKE_SCRIPT.format_map({
'prefix': prefix,
'script_path': basename + '.' + additional_extension})]
return commands
def handle_dsv_types_except_source(type_, remainder, prefix):
commands = []
if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET):
try:
env_name, value = remainder.split(';', 1)
except ValueError:
raise RuntimeError(
"doesn't contain a semicolon separating the environment name "
'from the value')
try_prefixed_value = os.path.join(prefix, value) if value else prefix
if os.path.exists(try_prefixed_value):
value = try_prefixed_value
if type_ == DSV_TYPE_SET:
commands += _set(env_name, value)
elif type_ == DSV_TYPE_SET_IF_UNSET:
commands += _set_if_unset(env_name, value)
else:
assert False
elif type_ in (
DSV_TYPE_APPEND_NON_DUPLICATE,
DSV_TYPE_PREPEND_NON_DUPLICATE,
DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS
):
try:
env_name_and_values = remainder.split(';')
except ValueError:
raise RuntimeError(
"doesn't contain a semicolon separating the environment name "
'from the values')
env_name = env_name_and_values[0]
values = env_name_and_values[1:]
for value in values:
if not value:
value = prefix
elif not os.path.isabs(value):
value = os.path.join(prefix, value)
if (
type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and
not os.path.exists(value)
):
comment = f'skip extending {env_name} with not existing ' \
f'path: {value}'
if _include_comments():
commands.append(
FORMAT_STR_COMMENT_LINE.format_map({'comment': comment}))
elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE:
commands += _append_unique_value(env_name, value)
else:
commands += _prepend_unique_value(env_name, value)
else:
raise RuntimeError(
'contains an unknown environment hook type: ' + type_)
return commands
env_state = {}
def _append_unique_value(name, value):
global env_state
if name not in env_state:
if os.environ.get(name):
env_state[name] = set(os.environ[name].split(os.pathsep))
else:
env_state[name] = set()
# append even if the variable has not been set yet, in case a shell script sets the
# same variable without the knowledge of this Python script.
# later _remove_ending_separators() will cleanup any unintentional leading separator
extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep
line = FORMAT_STR_SET_ENV_VAR.format_map(
{'name': name, 'value': extend + value})
if value not in env_state[name]:
env_state[name].add(value)
else:
if not _include_comments():
return []
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
return [line]
def _prepend_unique_value(name, value):
global env_state
if name not in env_state:
if os.environ.get(name):
env_state[name] = set(os.environ[name].split(os.pathsep))
else:
env_state[name] = set()
# prepend even if the variable has not been set yet, in case a shell script sets the
# same variable without the knowledge of this Python script.
# later _remove_ending_separators() will cleanup any unintentional trailing separator
extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name})
line = FORMAT_STR_SET_ENV_VAR.format_map(
{'name': name, 'value': value + extend})
if value not in env_state[name]:
env_state[name].add(value)
else:
if not _include_comments():
return []
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
return [line]
# generate commands for removing prepended underscores
def _remove_ending_separators():
# do nothing if the shell extension does not implement the logic
if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None:
return []
global env_state
commands = []
for name in env_state:
# skip variables that already had values before this script started prepending
if name in os.environ:
continue
commands += [
FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}),
FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})]
return commands
def _set(name, value):
global env_state
env_state[name] = value
line = FORMAT_STR_SET_ENV_VAR.format_map(
{'name': name, 'value': value})
return [line]
def _set_if_unset(name, value):
global env_state
line = FORMAT_STR_SET_ENV_VAR.format_map(
{'name': name, 'value': value})
if env_state.get(name, os.environ.get(name)):
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
return [line]
if __name__ == '__main__': # pragma: no cover
try:
rc = main()
except RuntimeError as e:
print(str(e), file=sys.stderr)
rc = 1
sys.exit(rc)

View File

@ -0,0 +1,275 @@
#ifndef _TRANSCEIVER_H_
#define _TRANSCEIVER_H_
#include <chrono>
#include <functional>
#include <memory>
#include <string>
#include <linux/can.h>
#include <linux/can/raw.h>
#include <net/if.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include "endec.hpp"
#define STANDARD_TIMEOUT 10000
namespace canlib {
class Transceiver {
public:
Transceiver();
Transceiver(std::string device_name, std::vector<can_filter> filters);
~Transceiver();
virtual void transmit(canlib::frame::decoded::can1::inverter_velocity_t inverter_velocity);
virtual void transmit(canlib::frame::decoded::can1::inverter_errors_warnings_t inverter_errors_warnings);
virtual void transmit(canlib::frame::decoded::can1::inverter_torque_actual_cw_t inverter_torque_actual_cw);
virtual void transmit(canlib::frame::decoded::can1::inverter_temperatur_t inverter_temperatur);
virtual void transmit(canlib::frame::decoded::can1::inverter_torque_wanted_t inverter_torque_wanted);
virtual void transmit(canlib::frame::decoded::can1::sdo_telemetrie_rx_node1_t sdo_telemetrie_rx_node1);
virtual void transmit(canlib::frame::decoded::can1::sdo_telemetrie_rx_node2_t sdo_telemetrie_rx_node2);
virtual void transmit(canlib::frame::decoded::can1::sdo_telemetrie_tx_t sdo_telemetrie_tx);
virtual void transmit(canlib::frame::decoded::can1::laptop_sdo_node_t laptop_sdo_node);
virtual void transmit(canlib::frame::decoded::can1::x_sens_long_lat_t x_sens_long_lat);
virtual void transmit(canlib::frame::decoded::can1::x_sens_rateofturn_t x_sens_rateofturn);
virtual void transmit(canlib::frame::decoded::can1::x_sens_acceleration_t x_sens_acceleration);
virtual void transmit(canlib::frame::decoded::can1::x_sens_velocity_t x_sens_velocity);
virtual void transmit(canlib::frame::decoded::can1::telemetrie_t telemetrie);
virtual void transmit(canlib::frame::decoded::can1::override_powermap_t override_powermap);
virtual void transmit(canlib::frame::decoded::can1::override_laptop_2_t override_laptop_2);
virtual void transmit(canlib::frame::decoded::can1::override_epsc_cooling_t override_epsc_cooling);
virtual void transmit(canlib::frame::decoded::can1::override_laptop_t override_laptop);
virtual void transmit(canlib::frame::decoded::can1::apps_override_t apps_override);
virtual void transmit(canlib::frame::decoded::can1::ftcu_damper_t ftcu_damper);
virtual void transmit(canlib::frame::decoded::can1::ftcu_param_confirm_t ftcu_param_confirm);
virtual void transmit(canlib::frame::decoded::can1::sensornode_f_10_hz_t sensornode_f_10_hz);
virtual void transmit(canlib::frame::decoded::can1::sensornode_f_100_hz_1_t sensornode_f_100_hz_1);
virtual void transmit(canlib::frame::decoded::can1::sensornode_f_100_hz_2_t sensornode_f_100_hz_2);
virtual void transmit(canlib::frame::decoded::can1::sensornode_f_1k_hz_t sensornode_f_1k_hz);
virtual void transmit(canlib::frame::decoded::can1::sensornode_r_10_hz_t sensornode_r_10_hz);
virtual void transmit(canlib::frame::decoded::can1::sensornode_r_100_hz_t sensornode_r_100_hz);
virtual void transmit(canlib::frame::decoded::can1::sensornode_r_1k_hz_t sensornode_r_1k_hz);
virtual void transmit(canlib::frame::decoded::can1::pwm_duty_cycle_t pwm_duty_cycle);
virtual void transmit(canlib::frame::decoded::can1::pwm_config_t pwm_config);
virtual void transmit(canlib::frame::decoded::can1::dashboard_in_t dashboard_in);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_status_t ams_slave1_status);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log0_t ams_slave2_log0);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log1_t ams_slave2_log1);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log2_t ams_slave2_log2);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log3_t ams_slave2_log3);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log4_t ams_slave2_log4);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log5_t ams_slave2_log5);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log6_t ams_slave5_log6);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log6_t ams_slave4_log6);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log6_t ams_slave3_log6);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_log6_t ams_slave2_log6);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log6_t ams_slave1_log6);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log5_t ams_slave5_log5);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log5_t ams_slave4_log5);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log5_t ams_slave3_log5);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log5_t ams_slave1_log5);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log4_t ams_slave5_log4);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log4_t ams_slave4_log4);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log4_t ams_slave3_log4);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log4_t ams_slave1_log4);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log3_t ams_slave5_log3);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log3_t ams_slave4_log3);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log3_t ams_slave3_log3);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log3_t ams_slave1_log3);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log2_t ams_slave5_log2);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log2_t ams_slave4_log2);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log2_t ams_slave3_log2);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log2_t ams_slave1_log2);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log1_t ams_slave5_log1);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log1_t ams_slave4_log1);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log1_t ams_slave3_log1);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log1_t ams_slave1_log1);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_log0_t ams_slave5_log0);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_log0_t ams_slave4_log0);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_log0_t ams_slave3_log0);
virtual void transmit(canlib::frame::decoded::can1::ams_slave1_log0_t ams_slave1_log0);
virtual void transmit(canlib::frame::decoded::can1::pdu_heartbeat_t pdu_heartbeat);
virtual void transmit(canlib::frame::decoded::can1::ftcu_pneumatik_t ftcu_pneumatik);
virtual void transmit(canlib::frame::decoded::can1::acu_tx_commands_t acu_tx_commands);
virtual void transmit(canlib::frame::decoded::can1::acu_rx_commands_t acu_rx_commands);
virtual void transmit(canlib::frame::decoded::can1::acu_rx_t acu_rx);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_log0_t ams_slave0_log0);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_log1_t ams_slave0_log1);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_log3_t ams_slave0_log3);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_log4_t ams_slave0_log4);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_log5_t ams_slave0_log5);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_log6_t ams_slave0_log6);
virtual void transmit(canlib::frame::decoded::can1::acu_tx_t acu_tx);
virtual void transmit(canlib::frame::decoded::can1::ams_slave5_status_t ams_slave5_status);
virtual void transmit(canlib::frame::decoded::can1::ams_slave4_status_t ams_slave4_status);
virtual void transmit(canlib::frame::decoded::can1::ams_slave3_status_t ams_slave3_status);
virtual void transmit(canlib::frame::decoded::can1::ams_slave2_status_t ams_slave2_status);
virtual void transmit(canlib::frame::decoded::can1::ams_error_t ams_error);
virtual void transmit(canlib::frame::decoded::can1::ftcu_cooling_t ftcu_cooling);
virtual void transmit(canlib::frame::decoded::can1::ftcu_brake_t_t ftcu_brake_t);
virtual void transmit(canlib::frame::decoded::can1::ftcu_wheelspeed_t ftcu_wheelspeed);
virtual void transmit(canlib::frame::decoded::can1::ftcu_timings_t ftcu_timings);
virtual void transmit(canlib::frame::decoded::can1::ftcu_driver_t ftcu_driver);
virtual void transmit(canlib::frame::decoded::can1::tts_rr_t tts_rr);
virtual void transmit(canlib::frame::decoded::can1::tts_rl_t tts_rl);
virtual void transmit(canlib::frame::decoded::can1::tts_fr_t tts_fr);
virtual void transmit(canlib::frame::decoded::can1::tts_fl_t tts_fl);
virtual void transmit(canlib::frame::decoded::can1::stw_param_set_t stw_param_set);
virtual void transmit(canlib::frame::decoded::can1::ams_slave0_status_t ams_slave0_status);
virtual void transmit(canlib::frame::decoded::can1::ssu_message_t ssu_message);
virtual void transmit(canlib::frame::decoded::can1::ams_status_t ams_status);
virtual void transmit(canlib::frame::decoded::can1::ams_slave_panic_t ams_slave_panic);
virtual void transmit(canlib::frame::decoded::can1::ams_in_t ams_in);
virtual void transmit(canlib::frame::decoded::can1::shunt_current_t shunt_current);
virtual void transmit(canlib::frame::decoded::can1::shunt_voltage1_t shunt_voltage1);
virtual void transmit(canlib::frame::decoded::can1::shunt_voltage2_t shunt_voltage2);
virtual void transmit(canlib::frame::decoded::can1::shunt_voltage3_t shunt_voltage3);
virtual void transmit(canlib::frame::decoded::can1::shunt_temperature_t shunt_temperature);
virtual void transmit(canlib::frame::decoded::can1::pdu_command_t pdu_command);
virtual void transmit(canlib::frame::decoded::can1::pdu_response_t pdu_response);
virtual void transmit(canlib::frame::decoded::can1::as_mission_fb_t as_mission_fb);
virtual void transmit(canlib::frame::decoded::can1::stw_mission_selected_t stw_mission_selected);
virtual void transmit(canlib::frame::decoded::can1::epsc_out_t epsc_out);
virtual void transmit(canlib::frame::decoded::can1::epsc_steering_in_t epsc_steering_in);
virtual void transmit(canlib::frame::decoded::can1::stw_buttons_t stw_buttons);
virtual void transmit(canlib::frame::decoded::can1::stw_status_t stw_status);
virtual void transmit(canlib::frame::decoded::can1::pdu_current_1_t pdu_current_1);
virtual void transmit(canlib::frame::decoded::can1::pdu_current_2_t pdu_current_2);
virtual void transmit(canlib::frame::decoded::can1::pdu_current_3_t pdu_current_3);
virtual void transmit(canlib::frame::decoded::can1::pdu_current_4_t pdu_current_4);
virtual void transmit(canlib::frame::decoded::can1::epsc_config_in_t epsc_config_in);
virtual bool receive(int timeout_us = STANDARD_TIMEOUT);
private:
virtual bool read(struct can_frame &frame, int timeout_usec);
can1_inverter_velocity_t can1_inverter_velocity_frame;
can1_inverter_errors_warnings_t can1_inverter_errors_warnings_frame;
can1_inverter_torque_actual_cw_t can1_inverter_torque_actual_cw_frame;
can1_inverter_temperatur_t can1_inverter_temperatur_frame;
can1_inverter_torque_wanted_t can1_inverter_torque_wanted_frame;
can1_sdo_telemetrie_rx_node1_t can1_sdo_telemetrie_rx_node1_frame;
can1_sdo_telemetrie_rx_node2_t can1_sdo_telemetrie_rx_node2_frame;
can1_sdo_telemetrie_tx_t can1_sdo_telemetrie_tx_frame;
can1_laptop_sdo_node_t can1_laptop_sdo_node_frame;
can1_x_sens_long_lat_t can1_x_sens_long_lat_frame;
can1_x_sens_rateofturn_t can1_x_sens_rateofturn_frame;
can1_x_sens_acceleration_t can1_x_sens_acceleration_frame;
can1_x_sens_velocity_t can1_x_sens_velocity_frame;
can1_telemetrie_t can1_telemetrie_frame;
can1_override_powermap_t can1_override_powermap_frame;
can1_override_laptop_2_t can1_override_laptop_2_frame;
can1_override_epsc_cooling_t can1_override_epsc_cooling_frame;
can1_override_laptop_t can1_override_laptop_frame;
can1_apps_override_t can1_apps_override_frame;
can1_ftcu_damper_t can1_ftcu_damper_frame;
can1_ftcu_param_confirm_t can1_ftcu_param_confirm_frame;
can1_sensornode_f_10_hz_t can1_sensornode_f_10_hz_frame;
can1_sensornode_f_100_hz_1_t can1_sensornode_f_100_hz_1_frame;
can1_sensornode_f_100_hz_2_t can1_sensornode_f_100_hz_2_frame;
can1_sensornode_f_1k_hz_t can1_sensornode_f_1k_hz_frame;
can1_sensornode_r_10_hz_t can1_sensornode_r_10_hz_frame;
can1_sensornode_r_100_hz_t can1_sensornode_r_100_hz_frame;
can1_sensornode_r_1k_hz_t can1_sensornode_r_1k_hz_frame;
can1_pwm_duty_cycle_t can1_pwm_duty_cycle_frame;
can1_pwm_config_t can1_pwm_config_frame;
can1_dashboard_in_t can1_dashboard_in_frame;
can1_ams_slave1_status_t can1_ams_slave1_status_frame;
can1_ams_slave2_log0_t can1_ams_slave2_log0_frame;
can1_ams_slave2_log1_t can1_ams_slave2_log1_frame;
can1_ams_slave2_log2_t can1_ams_slave2_log2_frame;
can1_ams_slave2_log3_t can1_ams_slave2_log3_frame;
can1_ams_slave2_log4_t can1_ams_slave2_log4_frame;
can1_ams_slave2_log5_t can1_ams_slave2_log5_frame;
can1_ams_slave5_log6_t can1_ams_slave5_log6_frame;
can1_ams_slave4_log6_t can1_ams_slave4_log6_frame;
can1_ams_slave3_log6_t can1_ams_slave3_log6_frame;
can1_ams_slave2_log6_t can1_ams_slave2_log6_frame;
can1_ams_slave1_log6_t can1_ams_slave1_log6_frame;
can1_ams_slave5_log5_t can1_ams_slave5_log5_frame;
can1_ams_slave4_log5_t can1_ams_slave4_log5_frame;
can1_ams_slave3_log5_t can1_ams_slave3_log5_frame;
can1_ams_slave1_log5_t can1_ams_slave1_log5_frame;
can1_ams_slave5_log4_t can1_ams_slave5_log4_frame;
can1_ams_slave4_log4_t can1_ams_slave4_log4_frame;
can1_ams_slave3_log4_t can1_ams_slave3_log4_frame;
can1_ams_slave1_log4_t can1_ams_slave1_log4_frame;
can1_ams_slave5_log3_t can1_ams_slave5_log3_frame;
can1_ams_slave4_log3_t can1_ams_slave4_log3_frame;
can1_ams_slave3_log3_t can1_ams_slave3_log3_frame;
can1_ams_slave1_log3_t can1_ams_slave1_log3_frame;
can1_ams_slave5_log2_t can1_ams_slave5_log2_frame;
can1_ams_slave4_log2_t can1_ams_slave4_log2_frame;
can1_ams_slave3_log2_t can1_ams_slave3_log2_frame;
can1_ams_slave1_log2_t can1_ams_slave1_log2_frame;
can1_ams_slave5_log1_t can1_ams_slave5_log1_frame;
can1_ams_slave4_log1_t can1_ams_slave4_log1_frame;
can1_ams_slave3_log1_t can1_ams_slave3_log1_frame;
can1_ams_slave1_log1_t can1_ams_slave1_log1_frame;
can1_ams_slave5_log0_t can1_ams_slave5_log0_frame;
can1_ams_slave4_log0_t can1_ams_slave4_log0_frame;
can1_ams_slave3_log0_t can1_ams_slave3_log0_frame;
can1_ams_slave1_log0_t can1_ams_slave1_log0_frame;
can1_pdu_heartbeat_t can1_pdu_heartbeat_frame;
can1_ftcu_pneumatik_t can1_ftcu_pneumatik_frame;
can1_acu_tx_commands_t can1_acu_tx_commands_frame;
can1_acu_rx_commands_t can1_acu_rx_commands_frame;
can1_acu_rx_t can1_acu_rx_frame;
can1_ams_slave0_log0_t can1_ams_slave0_log0_frame;
can1_ams_slave0_log1_t can1_ams_slave0_log1_frame;
can1_ams_slave0_log3_t can1_ams_slave0_log3_frame;
can1_ams_slave0_log4_t can1_ams_slave0_log4_frame;
can1_ams_slave0_log5_t can1_ams_slave0_log5_frame;
can1_ams_slave0_log6_t can1_ams_slave0_log6_frame;
can1_acu_tx_t can1_acu_tx_frame;
can1_ams_slave5_status_t can1_ams_slave5_status_frame;
can1_ams_slave4_status_t can1_ams_slave4_status_frame;
can1_ams_slave3_status_t can1_ams_slave3_status_frame;
can1_ams_slave2_status_t can1_ams_slave2_status_frame;
can1_ams_error_t can1_ams_error_frame;
can1_ftcu_cooling_t can1_ftcu_cooling_frame;
can1_ftcu_brake_t_t can1_ftcu_brake_t_frame;
can1_ftcu_wheelspeed_t can1_ftcu_wheelspeed_frame;
can1_ftcu_timings_t can1_ftcu_timings_frame;
can1_ftcu_driver_t can1_ftcu_driver_frame;
can1_tts_rr_t can1_tts_rr_frame;
can1_tts_rl_t can1_tts_rl_frame;
can1_tts_fr_t can1_tts_fr_frame;
can1_tts_fl_t can1_tts_fl_frame;
can1_stw_param_set_t can1_stw_param_set_frame;
can1_ams_slave0_status_t can1_ams_slave0_status_frame;
can1_ssu_message_t can1_ssu_message_frame;
can1_ams_status_t can1_ams_status_frame;
can1_ams_slave_panic_t can1_ams_slave_panic_frame;
can1_ams_in_t can1_ams_in_frame;
can1_shunt_current_t can1_shunt_current_frame;
can1_shunt_voltage1_t can1_shunt_voltage1_frame;
can1_shunt_voltage2_t can1_shunt_voltage2_frame;
can1_shunt_voltage3_t can1_shunt_voltage3_frame;
can1_shunt_temperature_t can1_shunt_temperature_frame;
can1_pdu_command_t can1_pdu_command_frame;
can1_pdu_response_t can1_pdu_response_frame;
can1_as_mission_fb_t can1_as_mission_fb_frame;
can1_stw_mission_selected_t can1_stw_mission_selected_frame;
can1_epsc_out_t can1_epsc_out_frame;
can1_epsc_steering_in_t can1_epsc_steering_in_frame;
can1_stw_buttons_t can1_stw_buttons_frame;
can1_stw_status_t can1_stw_status_frame;
can1_pdu_current_1_t can1_pdu_current_1_frame;
can1_pdu_current_2_t can1_pdu_current_2_frame;
can1_pdu_current_3_t can1_pdu_current_3_frame;
can1_pdu_current_4_t can1_pdu_current_4_frame;
can1_epsc_config_in_t can1_epsc_config_in_frame;
struct can_frame frame;
int socket_instance;
};
}
#endif // _TRANSCEIVER_H_

View File

@ -0,0 +1,28 @@
####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
####### Any changes to this file will be overwritten by the next CMake run ####
####### The input file was Config.cmake.in ########
get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
macro(set_and_check _var _file)
set(${_var} "${_file}")
if(NOT EXISTS "${_file}")
message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
endif()
endmacro()
macro(check_required_components _NAME)
foreach(comp ${${_NAME}_FIND_COMPONENTS})
if(NOT ${_NAME}_${comp}_FOUND)
if(${_NAME}_FIND_REQUIRED_${comp})
set(${_NAME}_FOUND FALSE)
endif()
endif()
endforeach()
endmacro()
####################################################################################
include("${CMAKE_CURRENT_LIST_DIR}/ft_can_transceiver_libTargets.cmake")

View File

@ -0,0 +1,19 @@
#----------------------------------------------------------------
# Generated CMake target import file.
#----------------------------------------------------------------
# Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1)
# Import target "ft_can_transceiver_lib" for configuration ""
set_property(TARGET ft_can_transceiver_lib APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG)
set_target_properties(ft_can_transceiver_lib PROPERTIES
IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libft_can_transceiver_lib.so"
IMPORTED_SONAME_NOCONFIG "libft_can_transceiver_lib.so"
)
list(APPEND _cmake_import_check_targets ft_can_transceiver_lib )
list(APPEND _cmake_import_check_files_for_ft_can_transceiver_lib "${_IMPORT_PREFIX}/lib/libft_can_transceiver_lib.so" )
# Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION)

View File

@ -0,0 +1,102 @@
# Generated by CMake
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
message(FATAL_ERROR "CMake >= 2.8.0 required")
endif()
if(CMAKE_VERSION VERSION_LESS "2.8.3")
message(FATAL_ERROR "CMake >= 2.8.3 required")
endif()
cmake_policy(PUSH)
cmake_policy(VERSION 2.8.3...3.26)
#----------------------------------------------------------------
# Generated CMake target import file.
#----------------------------------------------------------------
# Commands may need to know the format version.
set(CMAKE_IMPORT_FILE_VERSION 1)
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
set(_cmake_targets_defined "")
set(_cmake_targets_not_defined "")
set(_cmake_expected_targets "")
foreach(_cmake_expected_target IN ITEMS ft_can_transceiver_lib)
list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
if(TARGET "${_cmake_expected_target}")
list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
else()
list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
endif()
endforeach()
unset(_cmake_expected_target)
if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
unset(_cmake_targets_defined)
unset(_cmake_targets_not_defined)
unset(_cmake_expected_targets)
unset(CMAKE_IMPORT_FILE_VERSION)
cmake_policy(POP)
return()
endif()
if(NOT _cmake_targets_defined STREQUAL "")
string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
endif()
unset(_cmake_targets_defined)
unset(_cmake_targets_not_defined)
unset(_cmake_expected_targets)
# Compute the installation prefix relative to this file.
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
if(_IMPORT_PREFIX STREQUAL "/")
set(_IMPORT_PREFIX "")
endif()
# Create imported target ft_can_transceiver_lib
add_library(ft_can_transceiver_lib SHARED IMPORTED)
set_target_properties(ft_can_transceiver_lib PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include"
)
# Load information for each installed configuration.
file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/ft_can_transceiver_libTargets-*.cmake")
foreach(_cmake_config_file IN LISTS _cmake_config_files)
include("${_cmake_config_file}")
endforeach()
unset(_cmake_config_file)
unset(_cmake_config_files)
# Cleanup temporary variables.
set(_IMPORT_PREFIX)
# Loop over all imported files and verify that they actually exist
foreach(_cmake_target IN LISTS _cmake_import_check_targets)
foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
if(NOT EXISTS "${_cmake_file}")
message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
\"${_cmake_file}\"
but this file does not exist. Possible reasons include:
* The file was deleted, renamed, or moved to another location.
* An install or uninstall procedure did not complete successfully.
* The installation package was faulty and contained
\"${CMAKE_CURRENT_LIST_FILE}\"
but not all the files it references.
")
endif()
endforeach()
unset(_cmake_file)
unset("_cmake_import_check_files_for_${_cmake_target}")
endforeach()
unset(_cmake_target)
unset(_cmake_import_check_targets)
# This file does not depend on other imported targets which have
# been exported from the same project but in a separate export set.
# Commands beyond this point should not need to know the version.
set(CMAKE_IMPORT_FILE_VERSION)
cmake_policy(POP)

View File

@ -0,0 +1 @@
prepend-non-duplicate;CMAKE_PREFIX_PATH;

View File

@ -0,0 +1,3 @@
# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
colcon_prepend_unique_value CMAKE_PREFIX_PATH "$env:COLCON_CURRENT_PREFIX"

View File

@ -0,0 +1,3 @@
# generated from colcon_core/shell/template/hook_prepend_value.sh.em
_colcon_prepend_unique_value CMAKE_PREFIX_PATH "$COLCON_CURRENT_PREFIX"

View File

@ -0,0 +1 @@
prepend-non-duplicate;LD_LIBRARY_PATH;lib

View File

@ -0,0 +1,3 @@
# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
colcon_prepend_unique_value LD_LIBRARY_PATH "$env:COLCON_CURRENT_PREFIX\lib"

View File

@ -0,0 +1,3 @@
# generated from colcon_core/shell/template/hook_prepend_value.sh.em
_colcon_prepend_unique_value LD_LIBRARY_PATH "$COLCON_CURRENT_PREFIX/lib"

View File

@ -0,0 +1,39 @@
# generated from colcon_bash/shell/template/package.bash.em
# This script extends the environment for this package.
# a bash script is able to determine its own path if necessary
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
# the prefix is two levels up from the package specific share directory
_colcon_package_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`/../.." > /dev/null && pwd)"
else
_colcon_package_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
fi
# function to source another script with conditional trace output
# first argument: the path of the script
# additional arguments: arguments to the script
_colcon_package_bash_source_script() {
if [ -f "$1" ]; then
if [ -n "$COLCON_TRACE" ]; then
echo "# . \"$1\""
fi
. "$@"
else
echo "not found: \"$1\"" 1>&2
fi
}
# source sh script of this package
_colcon_package_bash_source_script "$_colcon_package_bash_COLCON_CURRENT_PREFIX/share/ft_can_transceiver_lib/package.sh"
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced scripts
COLCON_CURRENT_PREFIX="$_colcon_package_bash_COLCON_CURRENT_PREFIX"
# source bash hooks
_colcon_package_bash_source_script "$COLCON_CURRENT_PREFIX/share/ft_can_transceiver_lib/local_setup.bash"
unset COLCON_CURRENT_PREFIX
unset _colcon_package_bash_source_script
unset _colcon_package_bash_COLCON_CURRENT_PREFIX

View File

@ -0,0 +1,11 @@
source;share/ft_can_transceiver_lib/hook/cmake_prefix_path.ps1
source;share/ft_can_transceiver_lib/hook/cmake_prefix_path.dsv
source;share/ft_can_transceiver_lib/hook/cmake_prefix_path.sh
source;share/ft_can_transceiver_lib/hook/ld_library_path_lib.ps1
source;share/ft_can_transceiver_lib/hook/ld_library_path_lib.dsv
source;share/ft_can_transceiver_lib/hook/ld_library_path_lib.sh
source;share/ft_can_transceiver_lib/local_setup.bash
source;share/ft_can_transceiver_lib/local_setup.dsv
source;share/ft_can_transceiver_lib/local_setup.ps1
source;share/ft_can_transceiver_lib/local_setup.sh
source;share/ft_can_transceiver_lib/local_setup.zsh

View File

@ -0,0 +1,117 @@
# generated from colcon_powershell/shell/template/package.ps1.em
# function to append a value to a variable
# which uses colons as separators
# duplicates as well as leading separators are avoided
# first argument: the name of the result variable
# second argument: the value to be prepended
function colcon_append_unique_value {
param (
$_listname,
$_value
)
# get values from variable
if (Test-Path Env:$_listname) {
$_values=(Get-Item env:$_listname).Value
} else {
$_values=""
}
$_duplicate=""
# start with no values
$_all_values=""
# iterate over existing values in the variable
if ($_values) {
$_values.Split(";") | ForEach {
# not an empty string
if ($_) {
# not a duplicate of _value
if ($_ -eq $_value) {
$_duplicate="1"
}
if ($_all_values) {
$_all_values="${_all_values};$_"
} else {
$_all_values="$_"
}
}
}
}
# append only non-duplicates
if (!$_duplicate) {
# avoid leading separator
if ($_all_values) {
$_all_values="${_all_values};${_value}"
} else {
$_all_values="${_value}"
}
}
# export the updated variable
Set-Item env:\$_listname -Value "$_all_values"
}
# function to prepend a value to a variable
# which uses colons as separators
# duplicates as well as trailing separators are avoided
# first argument: the name of the result variable
# second argument: the value to be prepended
function colcon_prepend_unique_value {
param (
$_listname,
$_value
)
# get values from variable
if (Test-Path Env:$_listname) {
$_values=(Get-Item env:$_listname).Value
} else {
$_values=""
}
# start with the new value
$_all_values="$_value"
# iterate over existing values in the variable
if ($_values) {
$_values.Split(";") | ForEach {
# not an empty string
if ($_) {
# not a duplicate of _value
if ($_ -ne $_value) {
# keep non-duplicate values
$_all_values="${_all_values};$_"
}
}
}
}
# export the updated variable
Set-Item env:\$_listname -Value "$_all_values"
}
# function to source another script with conditional trace output
# first argument: the path of the script
# additional arguments: arguments to the script
function colcon_package_source_powershell_script {
param (
$_colcon_package_source_powershell_script
)
# source script with conditional trace output
if (Test-Path $_colcon_package_source_powershell_script) {
if ($env:COLCON_TRACE) {
echo ". '$_colcon_package_source_powershell_script'"
}
. "$_colcon_package_source_powershell_script"
} else {
Write-Error "not found: '$_colcon_package_source_powershell_script'"
}
}
# a powershell script is able to determine its own path
# the prefix is two levels up from the package specific share directory
$env:COLCON_CURRENT_PREFIX=(Get-Item $PSCommandPath).Directory.Parent.Parent.FullName
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/ft_can_transceiver_lib/hook/cmake_prefix_path.ps1"
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/ft_can_transceiver_lib/hook/ld_library_path_lib.ps1"
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/ft_can_transceiver_lib/local_setup.ps1"
Remove-Item Env:\COLCON_CURRENT_PREFIX

View File

@ -0,0 +1,88 @@
# generated from colcon_core/shell/template/package.sh.em
# This script extends the environment for this package.
# function to prepend a value to a variable
# which uses colons as separators
# duplicates as well as trailing separators are avoided
# first argument: the name of the result variable
# second argument: the value to be prepended
_colcon_prepend_unique_value() {
# arguments
_listname="$1"
_value="$2"
# get values from variable
eval _values=\"\$$_listname\"
# backup the field separator
_colcon_prepend_unique_value_IFS=$IFS
IFS=":"
# start with the new value
_all_values="$_value"
# workaround SH_WORD_SPLIT not being set in zsh
if [ "$(command -v colcon_zsh_convert_to_array)" ]; then
colcon_zsh_convert_to_array _values
fi
# iterate over existing values in the variable
for _item in $_values; do
# ignore empty strings
if [ -z "$_item" ]; then
continue
fi
# ignore duplicates of _value
if [ "$_item" = "$_value" ]; then
continue
fi
# keep non-duplicate values
_all_values="$_all_values:$_item"
done
unset _item
# restore the field separator
IFS=$_colcon_prepend_unique_value_IFS
unset _colcon_prepend_unique_value_IFS
# export the updated variable
eval export $_listname=\"$_all_values\"
unset _all_values
unset _values
unset _value
unset _listname
}
# since a plain shell script can't determine its own path when being sourced
# either use the provided COLCON_CURRENT_PREFIX
# or fall back to the build time prefix (if it exists)
_colcon_package_sh_COLCON_CURRENT_PREFIX="/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib"
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
if [ ! -d "$_colcon_package_sh_COLCON_CURRENT_PREFIX" ]; then
echo "The build time path \"$_colcon_package_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
unset _colcon_package_sh_COLCON_CURRENT_PREFIX
return 1
fi
COLCON_CURRENT_PREFIX="$_colcon_package_sh_COLCON_CURRENT_PREFIX"
fi
unset _colcon_package_sh_COLCON_CURRENT_PREFIX
# function to source another script with conditional trace output
# first argument: the path of the script
# additional arguments: arguments to the script
_colcon_package_sh_source_script() {
if [ -f "$1" ]; then
if [ -n "$COLCON_TRACE" ]; then
echo "# . \"$1\""
fi
. "$@"
else
echo "not found: \"$1\"" 1>&2
fi
}
# source sh hooks
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/ft_can_transceiver_lib/hook/cmake_prefix_path.sh"
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/ft_can_transceiver_lib/hook/ld_library_path_lib.sh"
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/ft_can_transceiver_lib/local_setup.sh"
unset _colcon_package_sh_source_script
unset COLCON_CURRENT_PREFIX
# do not unset _colcon_prepend_unique_value since it might be used by non-primary shell hooks

View File

@ -0,0 +1,50 @@
# generated from colcon_zsh/shell/template/package.zsh.em
# This script extends the environment for this package.
# a zsh script is able to determine its own path if necessary
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
# the prefix is two levels up from the package specific share directory
_colcon_package_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`/../.." > /dev/null && pwd)"
else
_colcon_package_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
fi
# function to source another script with conditional trace output
# first argument: the path of the script
# additional arguments: arguments to the script
_colcon_package_zsh_source_script() {
if [ -f "$1" ]; then
if [ -n "$COLCON_TRACE" ]; then
echo "# . \"$1\""
fi
. "$@"
else
echo "not found: \"$1\"" 1>&2
fi
}
# function to convert array-like strings into arrays
# to workaround SH_WORD_SPLIT not being set
colcon_zsh_convert_to_array() {
local _listname=$1
local _dollar="$"
local _split="{="
local _to_array="(\"$_dollar$_split$_listname}\")"
eval $_listname=$_to_array
}
# source sh script of this package
_colcon_package_zsh_source_script "$_colcon_package_zsh_COLCON_CURRENT_PREFIX/share/ft_can_transceiver_lib/package.sh"
unset convert_zsh_to_array
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced scripts
COLCON_CURRENT_PREFIX="$_colcon_package_zsh_COLCON_CURRENT_PREFIX"
# source zsh hooks
_colcon_package_zsh_source_script "$COLCON_CURRENT_PREFIX/share/ft_can_transceiver_lib/local_setup.zsh"
unset COLCON_CURRENT_PREFIX
unset _colcon_package_zsh_source_script
unset _colcon_package_zsh_COLCON_CURRENT_PREFIX

View File

@ -0,0 +1,121 @@
# generated from colcon_bash/shell/template/prefix.bash.em
# This script extends the environment with all packages contained in this
# prefix path.
# a bash script is able to determine its own path if necessary
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
_colcon_prefix_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)"
else
_colcon_prefix_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
fi
# function to prepend a value to a variable
# which uses colons as separators
# duplicates as well as trailing separators are avoided
# first argument: the name of the result variable
# second argument: the value to be prepended
_colcon_prefix_bash_prepend_unique_value() {
# arguments
_listname="$1"
_value="$2"
# get values from variable
eval _values=\"\$$_listname\"
# backup the field separator
_colcon_prefix_bash_prepend_unique_value_IFS="$IFS"
IFS=":"
# start with the new value
_all_values="$_value"
_contained_value=""
# iterate over existing values in the variable
for _item in $_values; do
# ignore empty strings
if [ -z "$_item" ]; then
continue
fi
# ignore duplicates of _value
if [ "$_item" = "$_value" ]; then
_contained_value=1
continue
fi
# keep non-duplicate values
_all_values="$_all_values:$_item"
done
unset _item
if [ -z "$_contained_value" ]; then
if [ -n "$COLCON_TRACE" ]; then
if [ "$_all_values" = "$_value" ]; then
echo "export $_listname=$_value"
else
echo "export $_listname=$_value:\$$_listname"
fi
fi
fi
unset _contained_value
# restore the field separator
IFS="$_colcon_prefix_bash_prepend_unique_value_IFS"
unset _colcon_prefix_bash_prepend_unique_value_IFS
# export the updated variable
eval export $_listname=\"$_all_values\"
unset _all_values
unset _values
unset _value
unset _listname
}
# add this prefix to the COLCON_PREFIX_PATH
_colcon_prefix_bash_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX"
unset _colcon_prefix_bash_prepend_unique_value
# check environment variable for custom Python executable
if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then
if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then
echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist"
return 1
fi
_colcon_python_executable="$COLCON_PYTHON_EXECUTABLE"
else
# try the Python executable known at configure time
_colcon_python_executable="/usr/bin/python3"
# if it doesn't exist try a fall back
if [ ! -f "$_colcon_python_executable" ]; then
if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then
echo "error: unable to find python3 executable"
return 1
fi
_colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"`
fi
fi
# function to source another script with conditional trace output
# first argument: the path of the script
_colcon_prefix_sh_source_script() {
if [ -f "$1" ]; then
if [ -n "$COLCON_TRACE" ]; then
echo "# . \"$1\""
fi
. "$1"
else
echo "not found: \"$1\"" 1>&2
fi
}
# get all commands in topological order
_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh bash)"
unset _colcon_python_executable
if [ -n "$COLCON_TRACE" ]; then
echo "$(declare -f _colcon_prefix_sh_source_script)"
echo "# Execute generated script:"
echo "# <<<"
echo "${_colcon_ordered_commands}"
echo "# >>>"
echo "unset _colcon_prefix_sh_source_script"
fi
eval "${_colcon_ordered_commands}"
unset _colcon_ordered_commands
unset _colcon_prefix_sh_source_script
unset _colcon_prefix_bash_COLCON_CURRENT_PREFIX

View File

@ -0,0 +1,55 @@
# generated from colcon_powershell/shell/template/prefix.ps1.em
# This script extends the environment with all packages contained in this
# prefix path.
# check environment variable for custom Python executable
if ($env:COLCON_PYTHON_EXECUTABLE) {
if (!(Test-Path "$env:COLCON_PYTHON_EXECUTABLE" -PathType Leaf)) {
echo "error: COLCON_PYTHON_EXECUTABLE '$env:COLCON_PYTHON_EXECUTABLE' doesn't exist"
exit 1
}
$_colcon_python_executable="$env:COLCON_PYTHON_EXECUTABLE"
} else {
# use the Python executable known at configure time
$_colcon_python_executable="/usr/bin/python3"
# if it doesn't exist try a fall back
if (!(Test-Path "$_colcon_python_executable" -PathType Leaf)) {
if (!(Get-Command "python3" -ErrorAction SilentlyContinue)) {
echo "error: unable to find python3 executable"
exit 1
}
$_colcon_python_executable="python3"
}
}
# function to source another script with conditional trace output
# first argument: the path of the script
function _colcon_prefix_powershell_source_script {
param (
$_colcon_prefix_powershell_source_script_param
)
# source script with conditional trace output
if (Test-Path $_colcon_prefix_powershell_source_script_param) {
if ($env:COLCON_TRACE) {
echo ". '$_colcon_prefix_powershell_source_script_param'"
}
. "$_colcon_prefix_powershell_source_script_param"
} else {
Write-Error "not found: '$_colcon_prefix_powershell_source_script_param'"
}
}
# get all commands in topological order
$_colcon_ordered_commands = & "$_colcon_python_executable" "$(Split-Path $PSCommandPath -Parent)/_local_setup_util_ps1.py" ps1
# execute all commands in topological order
if ($env:COLCON_TRACE) {
echo "Execute generated script:"
echo "<<<"
$_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Write-Output
echo ">>>"
}
if ($_colcon_ordered_commands) {
$_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Invoke-Expression
}

View File

@ -0,0 +1,137 @@
# generated from colcon_core/shell/template/prefix.sh.em
# This script extends the environment with all packages contained in this
# prefix path.
# since a plain shell script can't determine its own path when being sourced
# either use the provided COLCON_CURRENT_PREFIX
# or fall back to the build time prefix (if it exists)
_colcon_prefix_sh_COLCON_CURRENT_PREFIX="/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install"
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
if [ ! -d "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX" ]; then
echo "The build time path \"$_colcon_prefix_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX
return 1
fi
else
_colcon_prefix_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
fi
# function to prepend a value to a variable
# which uses colons as separators
# duplicates as well as trailing separators are avoided
# first argument: the name of the result variable
# second argument: the value to be prepended
_colcon_prefix_sh_prepend_unique_value() {
# arguments
_listname="$1"
_value="$2"
# get values from variable
eval _values=\"\$$_listname\"
# backup the field separator
_colcon_prefix_sh_prepend_unique_value_IFS="$IFS"
IFS=":"
# start with the new value
_all_values="$_value"
_contained_value=""
# iterate over existing values in the variable
for _item in $_values; do
# ignore empty strings
if [ -z "$_item" ]; then
continue
fi
# ignore duplicates of _value
if [ "$_item" = "$_value" ]; then
_contained_value=1
continue
fi
# keep non-duplicate values
_all_values="$_all_values:$_item"
done
unset _item
if [ -z "$_contained_value" ]; then
if [ -n "$COLCON_TRACE" ]; then
if [ "$_all_values" = "$_value" ]; then
echo "export $_listname=$_value"
else
echo "export $_listname=$_value:\$$_listname"
fi
fi
fi
unset _contained_value
# restore the field separator
IFS="$_colcon_prefix_sh_prepend_unique_value_IFS"
unset _colcon_prefix_sh_prepend_unique_value_IFS
# export the updated variable
eval export $_listname=\"$_all_values\"
unset _all_values
unset _values
unset _value
unset _listname
}
# add this prefix to the COLCON_PREFIX_PATH
_colcon_prefix_sh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX"
unset _colcon_prefix_sh_prepend_unique_value
# check environment variable for custom Python executable
if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then
if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then
echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist"
return 1
fi
_colcon_python_executable="$COLCON_PYTHON_EXECUTABLE"
else
# try the Python executable known at configure time
_colcon_python_executable="/usr/bin/python3"
# if it doesn't exist try a fall back
if [ ! -f "$_colcon_python_executable" ]; then
if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then
echo "error: unable to find python3 executable"
return 1
fi
_colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"`
fi
fi
# function to source another script with conditional trace output
# first argument: the path of the script
_colcon_prefix_sh_source_script() {
if [ -f "$1" ]; then
if [ -n "$COLCON_TRACE" ]; then
echo "# . \"$1\""
fi
. "$1"
else
echo "not found: \"$1\"" 1>&2
fi
}
# get all commands in topological order
_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh)"
unset _colcon_python_executable
if [ -n "$COLCON_TRACE" ]; then
echo "_colcon_prefix_sh_source_script() {
if [ -f \"\$1\" ]; then
if [ -n \"\$COLCON_TRACE\" ]; then
echo \"# . \\\"\$1\\\"\"
fi
. \"\$1\"
else
echo \"not found: \\\"\$1\\\"\" 1>&2
fi
}"
echo "# Execute generated script:"
echo "# <<<"
echo "${_colcon_ordered_commands}"
echo "# >>>"
echo "unset _colcon_prefix_sh_source_script"
fi
eval "${_colcon_ordered_commands}"
unset _colcon_ordered_commands
unset _colcon_prefix_sh_source_script
unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX

View File

@ -0,0 +1,134 @@
# generated from colcon_zsh/shell/template/prefix.zsh.em
# This script extends the environment with all packages contained in this
# prefix path.
# a zsh script is able to determine its own path if necessary
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
_colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)"
else
_colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
fi
# function to convert array-like strings into arrays
# to workaround SH_WORD_SPLIT not being set
_colcon_prefix_zsh_convert_to_array() {
local _listname=$1
local _dollar="$"
local _split="{="
local _to_array="(\"$_dollar$_split$_listname}\")"
eval $_listname=$_to_array
}
# function to prepend a value to a variable
# which uses colons as separators
# duplicates as well as trailing separators are avoided
# first argument: the name of the result variable
# second argument: the value to be prepended
_colcon_prefix_zsh_prepend_unique_value() {
# arguments
_listname="$1"
_value="$2"
# get values from variable
eval _values=\"\$$_listname\"
# backup the field separator
_colcon_prefix_zsh_prepend_unique_value_IFS="$IFS"
IFS=":"
# start with the new value
_all_values="$_value"
_contained_value=""
# workaround SH_WORD_SPLIT not being set
_colcon_prefix_zsh_convert_to_array _values
# iterate over existing values in the variable
for _item in $_values; do
# ignore empty strings
if [ -z "$_item" ]; then
continue
fi
# ignore duplicates of _value
if [ "$_item" = "$_value" ]; then
_contained_value=1
continue
fi
# keep non-duplicate values
_all_values="$_all_values:$_item"
done
unset _item
if [ -z "$_contained_value" ]; then
if [ -n "$COLCON_TRACE" ]; then
if [ "$_all_values" = "$_value" ]; then
echo "export $_listname=$_value"
else
echo "export $_listname=$_value:\$$_listname"
fi
fi
fi
unset _contained_value
# restore the field separator
IFS="$_colcon_prefix_zsh_prepend_unique_value_IFS"
unset _colcon_prefix_zsh_prepend_unique_value_IFS
# export the updated variable
eval export $_listname=\"$_all_values\"
unset _all_values
unset _values
unset _value
unset _listname
}
# add this prefix to the COLCON_PREFIX_PATH
_colcon_prefix_zsh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX"
unset _colcon_prefix_zsh_prepend_unique_value
unset _colcon_prefix_zsh_convert_to_array
# check environment variable for custom Python executable
if [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then
if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then
echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist"
return 1
fi
_colcon_python_executable="$COLCON_PYTHON_EXECUTABLE"
else
# try the Python executable known at configure time
_colcon_python_executable="/usr/bin/python3"
# if it doesn't exist try a fall back
if [ ! -f "$_colcon_python_executable" ]; then
if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then
echo "error: unable to find python3 executable"
return 1
fi
_colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"`
fi
fi
# function to source another script with conditional trace output
# first argument: the path of the script
_colcon_prefix_sh_source_script() {
if [ -f "$1" ]; then
if [ -n "$COLCON_TRACE" ]; then
echo "# . \"$1\""
fi
. "$1"
else
echo "not found: \"$1\"" 1>&2
fi
}
# get all commands in topological order
_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh zsh)"
unset _colcon_python_executable
if [ -n "$COLCON_TRACE" ]; then
echo "$(declare -f _colcon_prefix_sh_source_script)"
echo "# Execute generated script:"
echo "# <<<"
echo "${_colcon_ordered_commands}"
echo "# >>>"
echo "unset _colcon_prefix_sh_source_script"
fi
eval "${_colcon_ordered_commands}"
unset _colcon_ordered_commands
unset _colcon_prefix_sh_source_script
unset _colcon_prefix_zsh_COLCON_CURRENT_PREFIX

View File

@ -0,0 +1,31 @@
# generated from colcon_bash/shell/template/prefix_chain.bash.em
# This script extends the environment with the environment of other prefix
# paths which were sourced when this file was generated as well as all packages
# contained in this prefix path.
# function to source another script with conditional trace output
# first argument: the path of the script
_colcon_prefix_chain_bash_source_script() {
if [ -f "$1" ]; then
if [ -n "$COLCON_TRACE" ]; then
echo "# . \"$1\""
fi
. "$1"
else
echo "not found: \"$1\"" 1>&2
fi
}
# source chained prefixes
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
COLCON_CURRENT_PREFIX="/opt/ros/jazzy"
_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash"
# source this prefix
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)"
_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash"
unset COLCON_CURRENT_PREFIX
unset _colcon_prefix_chain_bash_source_script

View File

@ -0,0 +1,29 @@
# generated from colcon_powershell/shell/template/prefix_chain.ps1.em
# This script extends the environment with the environment of other prefix
# paths which were sourced when this file was generated as well as all packages
# contained in this prefix path.
# function to source another script with conditional trace output
# first argument: the path of the script
function _colcon_prefix_chain_powershell_source_script {
param (
$_colcon_prefix_chain_powershell_source_script_param
)
# source script with conditional trace output
if (Test-Path $_colcon_prefix_chain_powershell_source_script_param) {
if ($env:COLCON_TRACE) {
echo ". '$_colcon_prefix_chain_powershell_source_script_param'"
}
. "$_colcon_prefix_chain_powershell_source_script_param"
} else {
Write-Error "not found: '$_colcon_prefix_chain_powershell_source_script_param'"
}
}
# source chained prefixes
_colcon_prefix_chain_powershell_source_script "/opt/ros/jazzy\local_setup.ps1"
# source this prefix
$env:COLCON_CURRENT_PREFIX=(Split-Path $PSCommandPath -Parent)
_colcon_prefix_chain_powershell_source_script "$env:COLCON_CURRENT_PREFIX\local_setup.ps1"

View File

@ -0,0 +1,45 @@
# generated from colcon_core/shell/template/prefix_chain.sh.em
# This script extends the environment with the environment of other prefix
# paths which were sourced when this file was generated as well as all packages
# contained in this prefix path.
# since a plain shell script can't determine its own path when being sourced
# either use the provided COLCON_CURRENT_PREFIX
# or fall back to the build time prefix (if it exists)
_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX=/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install
if [ ! -z "$COLCON_CURRENT_PREFIX" ]; then
_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
elif [ ! -d "$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX" ]; then
echo "The build time path \"$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX
return 1
fi
# function to source another script with conditional trace output
# first argument: the path of the script
_colcon_prefix_chain_sh_source_script() {
if [ -f "$1" ]; then
if [ -n "$COLCON_TRACE" ]; then
echo "# . \"$1\""
fi
. "$1"
else
echo "not found: \"$1\"" 1>&2
fi
}
# source chained prefixes
# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script
COLCON_CURRENT_PREFIX="/opt/ros/jazzy"
_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh"
# source this prefix
# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script
COLCON_CURRENT_PREFIX="$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX"
_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh"
unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX
unset _colcon_prefix_chain_sh_source_script
unset COLCON_CURRENT_PREFIX

View File

@ -0,0 +1,31 @@
# generated from colcon_zsh/shell/template/prefix_chain.zsh.em
# This script extends the environment with the environment of other prefix
# paths which were sourced when this file was generated as well as all packages
# contained in this prefix path.
# function to source another script with conditional trace output
# first argument: the path of the script
_colcon_prefix_chain_zsh_source_script() {
if [ -f "$1" ]; then
if [ -n "$COLCON_TRACE" ]; then
echo "# . \"$1\""
fi
. "$1"
else
echo "not found: \"$1\"" 1>&2
fi
}
# source chained prefixes
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
COLCON_CURRENT_PREFIX="/opt/ros/jazzy"
_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh"
# source this prefix
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)"
_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh"
unset COLCON_CURRENT_PREFIX
unset _colcon_prefix_chain_zsh_source_script

View File

@ -0,0 +1,340 @@
[0.000000] (-) TimerEvent: {}
[0.001747] (ft_can_transceiver_lib) JobQueued: {'identifier': 'ft_can_transceiver_lib', 'dependencies': OrderedDict()}
[0.002745] (ft_can_transceiver_lib) JobStarted: {'identifier': 'ft_can_transceiver_lib'}
[0.058036] (ft_can_transceiver_lib) JobProgress: {'identifier': 'ft_can_transceiver_lib', 'progress': 'cmake'}
[0.091446] (-) TimerEvent: {}
[0.120407] (ft_can_transceiver_lib) Command: {'cmd': ['/usr/bin/cmake', '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib', '-DCMAKE_INSTALL_PREFIX=/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib'], 'cwd': '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib', 'env': OrderedDict({'HOSTNAME': 'lima-rancher-desktop', 'GIT_ASKPASS': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/extensions/git/dist/askpass.sh', 'SHLVL': '2', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/lib/x86_64-linux-gnu:/opt/ros/jazzy/lib', 'BROWSER': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/bin/helpers/browser.sh', 'HOME': '/home/USERNAME', 'OLDPWD': '/workspaces/can_viewer/ros2_ws/src', 'TERM_PROGRAM_VERSION': '1.101.2', 'VSCODE_IPC_HOOK_CLI': '/tmp/vscode-ipc-842556d3-6e0e-4e48-a246-49e8a95d502d.sock', 'ROS_PYTHON_VERSION': '3', 'VSCODE_GIT_ASKPASS_MAIN': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/extensions/git/dist/askpass-main.js', 'VSCODE_GIT_ASKPASS_NODE': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/node', 'PYDEVD_DISABLE_FILE_VALIDATION': '1', 'BUNDLED_DEBUGPY_PATH': '/home/USERNAME/.vscode-server/extensions/ms-python.debugpy-2025.8.0-linux-x64/bundled/libs/debugpy', 'COLORTERM': 'truecolor', 'REMOTE_CONTAINERS': 'true', 'ROS_DISTRO': 'jazzy', 'REMOTE_CONTAINERS_IPC': '/tmp/vscode-remote-containers-ipc-96591647-acec-4c8c-85fc-99bab2a074b2.sock', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'PIP_BREAK_SYSTEM_PACKAGES': '1', 'TERM': 'xterm-256color', 'PATH': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/bin/remote-cli:/home/USERNAME/.local/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/USERNAME/.vscode-server/extensions/ms-python.debugpy-2025.8.0-linux-x64/bundled/scripts/noConfigScripts', 'REMOTE_CONTAINERS_SOCKETS': '["/tmp/vscode-ssh-auth-96591647-acec-4c8c-85fc-99bab2a074b2.sock","/tmp/.X11-unix/X0","/home/USERNAME/.gnupg/S.gpg-agent"]', 'DISPLAY': ':0', 'VSCODE_DEBUGPY_ADAPTER_ENDPOINTS': '/home/USERNAME/.vscode-server/extensions/ms-python.debugpy-2025.8.0-linux-x64/.noConfigDebugAdapterEndpoints/endpoint-66e4b2104f6513ce.txt', 'LANG': 'C.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'VSCODE_GIT_IPC_HANDLE': '/tmp/vscode-git-89a19b2569.sock', 'TERM_PROGRAM': 'vscode', 'SSH_AUTH_SOCK': '/tmp/vscode-ssh-auth-96591647-acec-4c8c-85fc-99bab2a074b2.sock', 'AMENT_PREFIX_PATH': '/opt/ros/jazzy', 'REMOTE_CONTAINERS_DISPLAY_SOCK': '/tmp/.X11-unix/X0', 'SHELL': '/bin/bash', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'VSCODE_GIT_ASKPASS_EXTRA_ARGS': '', 'PWD': '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib', 'LC_ALL': 'C.UTF-8', 'PYTHONPATH': '/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy'}), 'shell': False}
[0.192451] (-) TimerEvent: {}
[0.295161] (-) TimerEvent: {}
[0.398463] (-) TimerEvent: {}
[0.502452] (-) TimerEvent: {}
[0.641471] (-) TimerEvent: {}
[0.745620] (-) TimerEvent: {}
[0.847920] (-) TimerEvent: {}
[0.951705] (-) TimerEvent: {}
[0.967615] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- The C compiler identification is GNU 13.3.0\n'}
[1.053123] (-) TimerEvent: {}
[1.156505] (-) TimerEvent: {}
[1.259363] (-) TimerEvent: {}
[1.362420] (-) TimerEvent: {}
[1.465226] (-) TimerEvent: {}
[1.476368] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- The CXX compiler identification is GNU 13.3.0\n'}
[1.566035] (-) TimerEvent: {}
[1.580718] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Detecting C compiler ABI info\n'}
[1.667278] (-) TimerEvent: {}
[1.769649] (-) TimerEvent: {}
[1.873636] (-) TimerEvent: {}
[1.976651] (-) TimerEvent: {}
[2.078662] (-) TimerEvent: {}
[2.181198] (-) TimerEvent: {}
[2.285440] (-) TimerEvent: {}
[2.387372] (-) TimerEvent: {}
[2.490252] (-) TimerEvent: {}
[2.594022] (-) TimerEvent: {}
[2.696908] (-) TimerEvent: {}
[2.799845] (-) TimerEvent: {}
[2.902406] (-) TimerEvent: {}
[3.004948] (-) TimerEvent: {}
[3.062451] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Detecting C compiler ABI info - done\n'}
[3.106140] (-) TimerEvent: {}
[3.194253] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Check for working C compiler: /usr/bin/cc - skipped\n'}
[3.198159] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Detecting C compile features\n'}
[3.202436] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Detecting C compile features - done\n'}
[3.208716] (-) TimerEvent: {}
[3.285924] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Detecting CXX compiler ABI info\n'}
[3.310248] (-) TimerEvent: {}
[3.412569] (-) TimerEvent: {}
[3.514791] (-) TimerEvent: {}
[3.618571] (-) TimerEvent: {}
[3.722018] (-) TimerEvent: {}
[3.825662] (-) TimerEvent: {}
[3.928400] (-) TimerEvent: {}
[4.030644] (-) TimerEvent: {}
[4.134068] (-) TimerEvent: {}
[4.239444] (-) TimerEvent: {}
[4.344079] (-) TimerEvent: {}
[4.446593] (-) TimerEvent: {}
[4.549113] (-) TimerEvent: {}
[4.652252] (-) TimerEvent: {}
[4.752786] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Detecting CXX compiler ABI info - done\n'}
[4.755607] (-) TimerEvent: {}
[4.857783] (-) TimerEvent: {}
[4.888753] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Check for working CXX compiler: /usr/bin/c++ - skipped\n'}
[4.892321] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Detecting CXX compile features\n'}
[4.895316] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Detecting CXX compile features - done\n'}
[4.958895] (-) TimerEvent: {}
[5.062325] (-) TimerEvent: {}
[5.164901] (-) TimerEvent: {}
[5.266922] (-) TimerEvent: {}
[5.369098] (-) TimerEvent: {}
[5.471341] (ft_can_transceiver_lib) StdoutLine: {'line': b'Successfully generated ./can1.h and ./can1.c.\n'}
[5.474418] (-) TimerEvent: {}
[5.576876] (-) TimerEvent: {}
[5.679552] (-) TimerEvent: {}
[5.782302] (-) TimerEvent: {}
[5.847319] (ft_can_transceiver_lib) StderrLine: {'line': b'usage: cantools [-h] [-d] [--version]\n'}
[5.852260] (ft_can_transceiver_lib) StderrLine: {'line': b' {plot,list,generate_c_source,decode,monitor,convert,dump} ...\n'}
[5.855009] (ft_can_transceiver_lib) StderrLine: {'line': b"cantools: error: argument subcommand: invalid choice: 'generate_c_source_transceiver' (choose from 'plot', 'list', 'generate_c_source', 'decode', 'monitor', 'convert', 'dump')\n"}
[5.884274] (-) TimerEvent: {}
[5.988093] (-) TimerEvent: {}
[6.006831] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Configuring done (5.7s)\n'}
[6.089542] (-) TimerEvent: {}
[6.193209] (-) TimerEvent: {}
[6.296259] (-) TimerEvent: {}
[6.398441] (-) TimerEvent: {}
[6.501969] (-) TimerEvent: {}
[6.524339] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Generating done (0.4s)\n'}
[6.603593] (-) TimerEvent: {}
[6.705624] (-) TimerEvent: {}
[6.797705] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Build files have been written to: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib\n'}
[6.807530] (ft_can_transceiver_lib) CommandEnded: {'returncode': 0}
[6.810380] (-) TimerEvent: {}
[6.816858] (ft_can_transceiver_lib) JobProgress: {'identifier': 'ft_can_transceiver_lib', 'progress': 'build'}
[6.826594] (ft_can_transceiver_lib) Command: {'cmd': ['/usr/bin/cmake', '--build', '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib', '--', '-j8', '-l8'], 'cwd': '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib', 'env': OrderedDict({'HOSTNAME': 'lima-rancher-desktop', 'GIT_ASKPASS': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/extensions/git/dist/askpass.sh', 'SHLVL': '2', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/lib/x86_64-linux-gnu:/opt/ros/jazzy/lib', 'BROWSER': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/bin/helpers/browser.sh', 'HOME': '/home/USERNAME', 'OLDPWD': '/workspaces/can_viewer/ros2_ws/src', 'TERM_PROGRAM_VERSION': '1.101.2', 'VSCODE_IPC_HOOK_CLI': '/tmp/vscode-ipc-842556d3-6e0e-4e48-a246-49e8a95d502d.sock', 'ROS_PYTHON_VERSION': '3', 'VSCODE_GIT_ASKPASS_MAIN': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/extensions/git/dist/askpass-main.js', 'VSCODE_GIT_ASKPASS_NODE': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/node', 'PYDEVD_DISABLE_FILE_VALIDATION': '1', 'BUNDLED_DEBUGPY_PATH': '/home/USERNAME/.vscode-server/extensions/ms-python.debugpy-2025.8.0-linux-x64/bundled/libs/debugpy', 'COLORTERM': 'truecolor', 'REMOTE_CONTAINERS': 'true', 'ROS_DISTRO': 'jazzy', 'REMOTE_CONTAINERS_IPC': '/tmp/vscode-remote-containers-ipc-96591647-acec-4c8c-85fc-99bab2a074b2.sock', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'PIP_BREAK_SYSTEM_PACKAGES': '1', 'TERM': 'xterm-256color', 'PATH': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/bin/remote-cli:/home/USERNAME/.local/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/USERNAME/.vscode-server/extensions/ms-python.debugpy-2025.8.0-linux-x64/bundled/scripts/noConfigScripts', 'REMOTE_CONTAINERS_SOCKETS': '["/tmp/vscode-ssh-auth-96591647-acec-4c8c-85fc-99bab2a074b2.sock","/tmp/.X11-unix/X0","/home/USERNAME/.gnupg/S.gpg-agent"]', 'DISPLAY': ':0', 'VSCODE_DEBUGPY_ADAPTER_ENDPOINTS': '/home/USERNAME/.vscode-server/extensions/ms-python.debugpy-2025.8.0-linux-x64/.noConfigDebugAdapterEndpoints/endpoint-66e4b2104f6513ce.txt', 'LANG': 'C.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'VSCODE_GIT_IPC_HANDLE': '/tmp/vscode-git-89a19b2569.sock', 'TERM_PROGRAM': 'vscode', 'SSH_AUTH_SOCK': '/tmp/vscode-ssh-auth-96591647-acec-4c8c-85fc-99bab2a074b2.sock', 'AMENT_PREFIX_PATH': '/opt/ros/jazzy', 'REMOTE_CONTAINERS_DISPLAY_SOCK': '/tmp/.X11-unix/X0', 'SHELL': '/bin/bash', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'VSCODE_GIT_ASKPASS_EXTRA_ARGS': '', 'PWD': '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib', 'LC_ALL': 'C.UTF-8', 'PYTHONPATH': '/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy'}), 'shell': False}
[6.870021] (ft_can_transceiver_lib) StderrLine: {'line': b"gmake: Warning: File 'Makefile' has modification time 0.31 s in the future\n"}
[6.911625] (-) TimerEvent: {}
[6.965883] (ft_can_transceiver_lib) StderrLine: {'line': b"gmake[1]: Warning: File 'CMakeFiles/Makefile2' has modification time 0.21 s in the future\n"}
[6.999439] (ft_can_transceiver_lib) StderrLine: {'line': b"gmake[2]: Warning: File 'CMakeFiles/ft_can_transceiver_lib.dir/flags.make' has modification time 0.18 s in the future\n"}
[7.013438] (-) TimerEvent: {}
[7.035299] (ft_can_transceiver_lib) StderrLine: {'line': b'gmake[2]: warning: Clock skew detected. Your build may be incomplete.\n'}
[7.097399] (ft_can_transceiver_lib) StderrLine: {'line': b"gmake[2]: Warning: File 'CMakeFiles/ft_can_transceiver_lib.dir/flags.make' has modification time 0.081 s in the future\n"}
[7.114579] (-) TimerEvent: {}
[7.180989] (ft_can_transceiver_lib) StdoutLine: {'line': b'[ 66%] \x1b[32mBuilding CXX object CMakeFiles/ft_can_transceiver_lib.dir/src/can1.cpp.o\x1b[0m\n'}
[7.185392] (ft_can_transceiver_lib) StdoutLine: {'line': b'[ 66%] \x1b[32mBuilding CXX object CMakeFiles/ft_can_transceiver_lib.dir/src/transceiver.cpp.o\x1b[0m\n'}
[7.216301] (-) TimerEvent: {}
[7.318242] (-) TimerEvent: {}
[7.423216] (-) TimerEvent: {}
[7.530030] (-) TimerEvent: {}
[7.640324] (-) TimerEvent: {}
[7.746945] (-) TimerEvent: {}
[7.855828] (-) TimerEvent: {}
[7.961703] (-) TimerEvent: {}
[8.081995] (-) TimerEvent: {}
[8.187379] (-) TimerEvent: {}
[8.291795] (-) TimerEvent: {}
[8.396263] (-) TimerEvent: {}
[8.500543] (-) TimerEvent: {}
[8.607853] (-) TimerEvent: {}
[8.715245] (-) TimerEvent: {}
[8.826123] (-) TimerEvent: {}
[8.933610] (-) TimerEvent: {}
[9.040920] (-) TimerEvent: {}
[9.146321] (-) TimerEvent: {}
[9.250537] (-) TimerEvent: {}
[9.357268] (-) TimerEvent: {}
[9.463178] (-) TimerEvent: {}
[9.568446] (-) TimerEvent: {}
[9.676698] (-) TimerEvent: {}
[9.781336] (-) TimerEvent: {}
[9.890097] (-) TimerEvent: {}
[9.998797] (-) TimerEvent: {}
[10.110536] (-) TimerEvent: {}
[10.217165] (-) TimerEvent: {}
[10.324639] (-) TimerEvent: {}
[10.430408] (-) TimerEvent: {}
[10.539986] (-) TimerEvent: {}
[10.652791] (-) TimerEvent: {}
[10.758147] (-) TimerEvent: {}
[10.869993] (-) TimerEvent: {}
[10.977717] (-) TimerEvent: {}
[11.084981] (-) TimerEvent: {}
[11.194941] (-) TimerEvent: {}
[11.302355] (-) TimerEvent: {}
[11.408373] (-) TimerEvent: {}
[11.516341] (-) TimerEvent: {}
[11.623419] (-) TimerEvent: {}
[11.732631] (-) TimerEvent: {}
[11.843263] (-) TimerEvent: {}
[11.950331] (-) TimerEvent: {}
[12.055886] (-) TimerEvent: {}
[12.167160] (-) TimerEvent: {}
[12.270633] (-) TimerEvent: {}
[12.378550] (-) TimerEvent: {}
[12.488154] (-) TimerEvent: {}
[12.593092] (-) TimerEvent: {}
[12.696813] (-) TimerEvent: {}
[12.805549] (-) TimerEvent: {}
[12.911512] (-) TimerEvent: {}
[13.025780] (-) TimerEvent: {}
[13.132652] (-) TimerEvent: {}
[13.241586] (-) TimerEvent: {}
[13.347315] (-) TimerEvent: {}
[13.452678] (-) TimerEvent: {}
[13.559407] (-) TimerEvent: {}
[13.670383] (-) TimerEvent: {}
[13.778629] (-) TimerEvent: {}
[13.886336] (-) TimerEvent: {}
[13.996189] (-) TimerEvent: {}
[14.104840] (-) TimerEvent: {}
[14.210668] (-) TimerEvent: {}
[14.319370] (-) TimerEvent: {}
[14.426916] (-) TimerEvent: {}
[14.535075] (-) TimerEvent: {}
[14.640431] (-) TimerEvent: {}
[14.746892] (-) TimerEvent: {}
[14.803464] (ft_can_transceiver_lib) StderrLine: {'line': b'\x1b[01m\x1b[K/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp:\x1b[m\x1b[K In constructor \xe2\x80\x98\x1b[01m\x1b[Kcanlib::Transceiver::\x1b[01;32m\x1b[KTransceiver\x1b[m\x1b[K(std::string, std::vector<can_filter>)\x1b[m\x1b[K\xe2\x80\x99:\n'}
[14.816900] (ft_can_transceiver_lib) StderrLine: {'line': b'\x1b[01m\x1b[K/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp:17:16:\x1b[m\x1b[K \x1b[01;35m\x1b[Kwarning: \x1b[m\x1b[KISO C++ forbids variable length array \xe2\x80\x98\x1b[01m\x1b[Kfilter_arr\x1b[m\x1b[K\xe2\x80\x99 [\x1b[01;35m\x1b[K\x1b]8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wvla\x07-Wvla\x1b]8;;\x07\x1b[m\x1b[K]\n'}
[14.829044] (ft_can_transceiver_lib) StderrLine: {'line': b' 17 | can_filter \x1b[01;35m\x1b[Kfilter_arr\x1b[m\x1b[K[filters.size()];\n'}
[14.837802] (ft_can_transceiver_lib) StderrLine: {'line': b' | \x1b[01;35m\x1b[K^~~~~~~~~~\x1b[m\x1b[K\n'}
[14.849516] (-) TimerEvent: {}
[14.956170] (-) TimerEvent: {}
[15.061220] (-) TimerEvent: {}
[15.167842] (-) TimerEvent: {}
[15.209014] (ft_can_transceiver_lib) StderrLine: {'line': b'\x1b[01m\x1b[K/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp:\x1b[m\x1b[K In member function \xe2\x80\x98\x1b[01m\x1b[Kvirtual bool canlib::Transceiver::\x1b[01;32m\x1b[Kreceive\x1b[m\x1b[K(int)\x1b[m\x1b[K\xe2\x80\x99:\n'}
[15.214311] (ft_can_transceiver_lib) StderrLine: {'line': b'\x1b[01m\x1b[K/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp:1236:1:\x1b[m\x1b[K \x1b[01;35m\x1b[Kwarning: \x1b[m\x1b[Kcontrol reaches end of non-void function [\x1b[01;35m\x1b[K\x1b]8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wreturn-type\x07-Wreturn-type\x1b]8;;\x07\x1b[m\x1b[K]\n'}
[15.224920] (ft_can_transceiver_lib) StderrLine: {'line': b' 1236 | \x1b[01;35m\x1b[K}\x1b[m\x1b[K\n'}
[15.242978] (ft_can_transceiver_lib) StderrLine: {'line': b' | \x1b[01;35m\x1b[K^\x1b[m\x1b[K\n'}
[15.271332] (-) TimerEvent: {}
[15.375849] (-) TimerEvent: {}
[15.480841] (-) TimerEvent: {}
[15.588018] (-) TimerEvent: {}
[15.694304] (-) TimerEvent: {}
[15.800233] (-) TimerEvent: {}
[15.906345] (-) TimerEvent: {}
[16.013323] (-) TimerEvent: {}
[16.122042] (-) TimerEvent: {}
[16.233352] (-) TimerEvent: {}
[16.339509] (-) TimerEvent: {}
[16.444860] (-) TimerEvent: {}
[16.550555] (-) TimerEvent: {}
[16.657500] (-) TimerEvent: {}
[16.763431] (-) TimerEvent: {}
[16.869568] (-) TimerEvent: {}
[16.975966] (-) TimerEvent: {}
[17.081557] (-) TimerEvent: {}
[17.187363] (-) TimerEvent: {}
[17.292678] (-) TimerEvent: {}
[17.397258] (-) TimerEvent: {}
[17.503113] (-) TimerEvent: {}
[17.607699] (-) TimerEvent: {}
[17.712553] (-) TimerEvent: {}
[17.824842] (-) TimerEvent: {}
[17.931768] (-) TimerEvent: {}
[18.039541] (-) TimerEvent: {}
[18.148578] (-) TimerEvent: {}
[18.256042] (-) TimerEvent: {}
[18.368884] (-) TimerEvent: {}
[18.472067] (-) TimerEvent: {}
[18.574780] (-) TimerEvent: {}
[18.677371] (-) TimerEvent: {}
[18.780071] (-) TimerEvent: {}
[18.883206] (-) TimerEvent: {}
[18.986276] (-) TimerEvent: {}
[19.089396] (-) TimerEvent: {}
[19.191897] (-) TimerEvent: {}
[19.293596] (-) TimerEvent: {}
[19.395573] (-) TimerEvent: {}
[19.498283] (-) TimerEvent: {}
[19.601734] (-) TimerEvent: {}
[19.705200] (-) TimerEvent: {}
[19.808392] (-) TimerEvent: {}
[19.911372] (-) TimerEvent: {}
[20.014608] (-) TimerEvent: {}
[20.108912] (ft_can_transceiver_lib) StdoutLine: {'line': b'[100%] \x1b[32m\x1b[1mLinking CXX shared library libft_can_transceiver_lib.so\x1b[0m\n'}
[20.116691] (-) TimerEvent: {}
[20.218958] (-) TimerEvent: {}
[20.325338] (-) TimerEvent: {}
[20.433023] (-) TimerEvent: {}
[20.538814] (-) TimerEvent: {}
[20.645380] (-) TimerEvent: {}
[20.752955] (-) TimerEvent: {}
[20.859194] (-) TimerEvent: {}
[20.973108] (-) TimerEvent: {}
[21.082584] (-) TimerEvent: {}
[21.194260] (-) TimerEvent: {}
[21.305044] (-) TimerEvent: {}
[21.411559] (-) TimerEvent: {}
[21.523079] (-) TimerEvent: {}
[21.630497] (-) TimerEvent: {}
[21.737311] (-) TimerEvent: {}
[21.842816] (-) TimerEvent: {}
[21.947100] (-) TimerEvent: {}
[22.053890] (-) TimerEvent: {}
[22.164652] (-) TimerEvent: {}
[22.272931] (-) TimerEvent: {}
[22.382504] (-) TimerEvent: {}
[22.488043] (-) TimerEvent: {}
[22.592644] (-) TimerEvent: {}
[22.697720] (-) TimerEvent: {}
[22.805787] (-) TimerEvent: {}
[22.912814] (-) TimerEvent: {}
[23.019078] (-) TimerEvent: {}
[23.124762] (-) TimerEvent: {}
[23.230113] (-) TimerEvent: {}
[23.336006] (-) TimerEvent: {}
[23.442391] (-) TimerEvent: {}
[23.547065] (-) TimerEvent: {}
[23.655567] (-) TimerEvent: {}
[23.760114] (-) TimerEvent: {}
[23.866918] (-) TimerEvent: {}
[23.971481] (-) TimerEvent: {}
[24.077517] (-) TimerEvent: {}
[24.182505] (-) TimerEvent: {}
[24.287797] (-) TimerEvent: {}
[24.395812] (-) TimerEvent: {}
[24.500035] (-) TimerEvent: {}
[24.605246] (-) TimerEvent: {}
[24.709672] (-) TimerEvent: {}
[24.814976] (-) TimerEvent: {}
[24.921519] (-) TimerEvent: {}
[25.028379] (-) TimerEvent: {}
[25.134825] (-) TimerEvent: {}
[25.239731] (-) TimerEvent: {}
[25.345272] (-) TimerEvent: {}
[25.450023] (-) TimerEvent: {}
[25.556059] (-) TimerEvent: {}
[25.659833] (-) TimerEvent: {}
[25.765545] (-) TimerEvent: {}
[25.872099] (-) TimerEvent: {}
[25.977679] (-) TimerEvent: {}
[26.083842] (-) TimerEvent: {}
[26.192820] (-) TimerEvent: {}
[26.298362] (-) TimerEvent: {}
[26.405901] (-) TimerEvent: {}
[26.507716] (-) TimerEvent: {}
[26.610005] (-) TimerEvent: {}
[26.713119] (-) TimerEvent: {}
[26.815053] (-) TimerEvent: {}
[26.918449] (-) TimerEvent: {}
[27.021855] (-) TimerEvent: {}
[27.124588] (-) TimerEvent: {}
[27.227353] (-) TimerEvent: {}
[27.330076] (-) TimerEvent: {}
[27.433283] (-) TimerEvent: {}
[27.535447] (-) TimerEvent: {}
[27.637864] (-) TimerEvent: {}
[27.683960] (ft_can_transceiver_lib) StderrLine: {'line': b'gmake[2]: warning: Clock skew detected. Your build may be incomplete.\n'}
[27.724312] (ft_can_transceiver_lib) StdoutLine: {'line': b'[100%] Built target ft_can_transceiver_lib\n'}
[27.728505] (ft_can_transceiver_lib) StderrLine: {'line': b'gmake[1]: warning: Clock skew detected. Your build may be incomplete.\n'}
[27.738770] (-) TimerEvent: {}
[27.767427] (ft_can_transceiver_lib) StderrLine: {'line': b'gmake: warning: Clock skew detected. Your build may be incomplete.\n'}
[27.775604] (ft_can_transceiver_lib) CommandEnded: {'returncode': 0}
[27.804328] (ft_can_transceiver_lib) JobProgress: {'identifier': 'ft_can_transceiver_lib', 'progress': 'install'}
[27.828160] (ft_can_transceiver_lib) Command: {'cmd': ['/usr/bin/cmake', '--install', '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib'], 'cwd': '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib', 'env': OrderedDict({'HOSTNAME': 'lima-rancher-desktop', 'GIT_ASKPASS': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/extensions/git/dist/askpass.sh', 'SHLVL': '2', 'LD_LIBRARY_PATH': '/opt/ros/jazzy/lib/x86_64-linux-gnu:/opt/ros/jazzy/lib', 'BROWSER': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/bin/helpers/browser.sh', 'HOME': '/home/USERNAME', 'OLDPWD': '/workspaces/can_viewer/ros2_ws/src', 'TERM_PROGRAM_VERSION': '1.101.2', 'VSCODE_IPC_HOOK_CLI': '/tmp/vscode-ipc-842556d3-6e0e-4e48-a246-49e8a95d502d.sock', 'ROS_PYTHON_VERSION': '3', 'VSCODE_GIT_ASKPASS_MAIN': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/extensions/git/dist/askpass-main.js', 'VSCODE_GIT_ASKPASS_NODE': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/node', 'PYDEVD_DISABLE_FILE_VALIDATION': '1', 'BUNDLED_DEBUGPY_PATH': '/home/USERNAME/.vscode-server/extensions/ms-python.debugpy-2025.8.0-linux-x64/bundled/libs/debugpy', 'COLORTERM': 'truecolor', 'REMOTE_CONTAINERS': 'true', 'ROS_DISTRO': 'jazzy', 'REMOTE_CONTAINERS_IPC': '/tmp/vscode-remote-containers-ipc-96591647-acec-4c8c-85fc-99bab2a074b2.sock', '_': '/usr/bin/colcon', 'ROS_VERSION': '2', 'PIP_BREAK_SYSTEM_PACKAGES': '1', 'TERM': 'xterm-256color', 'PATH': '/vscode/vscode-server/bin/linux-x64/2901c5ac6db8a986a5666c3af51ff804d05af0d4/bin/remote-cli:/home/USERNAME/.local/bin:/opt/ros/jazzy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/USERNAME/.vscode-server/extensions/ms-python.debugpy-2025.8.0-linux-x64/bundled/scripts/noConfigScripts', 'REMOTE_CONTAINERS_SOCKETS': '["/tmp/vscode-ssh-auth-96591647-acec-4c8c-85fc-99bab2a074b2.sock","/tmp/.X11-unix/X0","/home/USERNAME/.gnupg/S.gpg-agent"]', 'DISPLAY': ':0', 'VSCODE_DEBUGPY_ADAPTER_ENDPOINTS': '/home/USERNAME/.vscode-server/extensions/ms-python.debugpy-2025.8.0-linux-x64/.noConfigDebugAdapterEndpoints/endpoint-66e4b2104f6513ce.txt', 'LANG': 'C.UTF-8', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:', 'VSCODE_GIT_IPC_HANDLE': '/tmp/vscode-git-89a19b2569.sock', 'TERM_PROGRAM': 'vscode', 'SSH_AUTH_SOCK': '/tmp/vscode-ssh-auth-96591647-acec-4c8c-85fc-99bab2a074b2.sock', 'AMENT_PREFIX_PATH': '/opt/ros/jazzy', 'REMOTE_CONTAINERS_DISPLAY_SOCK': '/tmp/.X11-unix/X0', 'SHELL': '/bin/bash', 'ROS_AUTOMATIC_DISCOVERY_RANGE': 'SUBNET', 'VSCODE_GIT_ASKPASS_EXTRA_ARGS': '', 'PWD': '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib', 'LC_ALL': 'C.UTF-8', 'PYTHONPATH': '/opt/ros/jazzy/lib/python3.12/site-packages', 'COLCON': '1', 'CMAKE_PREFIX_PATH': '/opt/ros/jazzy'}), 'shell': False}
[27.839852] (-) TimerEvent: {}
[27.853005] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Install configuration: ""\n'}
[27.885817] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/libft_can_transceiver_lib.so\n'}
[27.941577] (-) TimerEvent: {}
[28.043810] (-) TimerEvent: {}
[28.089661] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib\n'}
[28.121698] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib/endec.hpp\n'}
[28.145084] (-) TimerEvent: {}
[28.213087] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib/can1.h\n'}
[28.246396] (-) TimerEvent: {}
[28.332888] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib/transceiver.h\n'}
[28.347678] (-) TimerEvent: {}
[28.448702] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/cmake/ft_can_transceiver_lib/ft_can_transceiver_libTargets.cmake\n'}
[28.452343] (-) TimerEvent: {}
[28.523133] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/cmake/ft_can_transceiver_lib/ft_can_transceiver_libTargets-noconfig.cmake\n'}
[28.553687] (-) TimerEvent: {}
[28.604960] (ft_can_transceiver_lib) StdoutLine: {'line': b'-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/cmake/ft_can_transceiver_lib/ft_can_transceiver_libConfig.cmake\n'}
[28.656649] (-) TimerEvent: {}
[28.717152] (ft_can_transceiver_lib) CommandEnded: {'returncode': 0}
[28.757955] (-) TimerEvent: {}
[28.861041] (-) TimerEvent: {}
[28.963418] (-) TimerEvent: {}
[29.065867] (-) TimerEvent: {}
[29.168881] (-) TimerEvent: {}
[29.257002] (ft_can_transceiver_lib) JobEnded: {'identifier': 'ft_can_transceiver_lib', 'rc': 0}
[29.275046] (-) TimerEvent: {}
[29.275700] (-) EventReactorShutdown: {}

View File

@ -0,0 +1,6 @@
Invoking command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib -DCMAKE_INSTALL_PREFIX=/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib
Invoked command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib' returned '0': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib -DCMAKE_INSTALL_PREFIX=/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib
Invoking command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake --build /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib -- -j8 -l8
Invoked command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib' returned '0': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake --build /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib -- -j8 -l8
Invoking command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake --install /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib
Invoked command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib' returned '0': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake --install /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib

View File

@ -0,0 +1,19 @@
usage: cantools [-h] [-d] [--version]
{plot,list,generate_c_source,decode,monitor,convert,dump} ...
cantools: error: argument subcommand: invalid choice: 'generate_c_source_transceiver' (choose from 'plot', 'list', 'generate_c_source', 'decode', 'monitor', 'convert', 'dump')
gmake: Warning: File 'Makefile' has modification time 0.31 s in the future
gmake[1]: Warning: File 'CMakeFiles/Makefile2' has modification time 0.21 s in the future
gmake[2]: Warning: File 'CMakeFiles/ft_can_transceiver_lib.dir/flags.make' has modification time 0.18 s in the future
gmake[2]: warning: Clock skew detected. Your build may be incomplete.
gmake[2]: Warning: File 'CMakeFiles/ft_can_transceiver_lib.dir/flags.make' has modification time 0.081 s in the future
/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp: In constructor canlib::Transceiver::Transceiver(std::string, std::vector<can_filter>):
/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp:17:16: warning: ISO C++ forbids variable length array filter_arr []8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wvla-Wvla]8;;]
17 | can_filter filter_arr[filters.size()];
| ^~~~~~~~~~
/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp: In member function virtual bool canlib::Transceiver::receive(int):
/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp:1236:1: warning: control reaches end of non-void function []8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wreturn-type-Wreturn-type]8;;]
1236 | }
| ^
gmake[2]: warning: Clock skew detected. Your build may be incomplete.
gmake[1]: warning: Clock skew detected. Your build may be incomplete.
gmake: warning: Clock skew detected. Your build may be incomplete.

View File

@ -0,0 +1,29 @@
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Successfully generated ./can1.h and ./can1.c.
-- Configuring done (5.7s)
-- Generating done (0.4s)
-- Build files have been written to: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib
[ 66%] Building CXX object CMakeFiles/ft_can_transceiver_lib.dir/src/can1.cpp.o
[ 66%] Building CXX object CMakeFiles/ft_can_transceiver_lib.dir/src/transceiver.cpp.o
[100%] Linking CXX shared library libft_can_transceiver_lib.so
[100%] Built target ft_can_transceiver_lib
-- Install configuration: ""
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/libft_can_transceiver_lib.so
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib/endec.hpp
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib/can1.h
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib/transceiver.h
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/cmake/ft_can_transceiver_lib/ft_can_transceiver_libTargets.cmake
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/cmake/ft_can_transceiver_lib/ft_can_transceiver_libTargets-noconfig.cmake
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/cmake/ft_can_transceiver_lib/ft_can_transceiver_libConfig.cmake

View File

@ -0,0 +1,48 @@
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Successfully generated ./can1.h and ./can1.c.
usage: cantools [-h] [-d] [--version]
{plot,list,generate_c_source,decode,monitor,convert,dump} ...
cantools: error: argument subcommand: invalid choice: 'generate_c_source_transceiver' (choose from 'plot', 'list', 'generate_c_source', 'decode', 'monitor', 'convert', 'dump')
-- Configuring done (5.7s)
-- Generating done (0.4s)
-- Build files have been written to: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib
gmake: Warning: File 'Makefile' has modification time 0.31 s in the future
gmake[1]: Warning: File 'CMakeFiles/Makefile2' has modification time 0.21 s in the future
gmake[2]: Warning: File 'CMakeFiles/ft_can_transceiver_lib.dir/flags.make' has modification time 0.18 s in the future
gmake[2]: warning: Clock skew detected. Your build may be incomplete.
gmake[2]: Warning: File 'CMakeFiles/ft_can_transceiver_lib.dir/flags.make' has modification time 0.081 s in the future
[ 66%] Building CXX object CMakeFiles/ft_can_transceiver_lib.dir/src/can1.cpp.o
[ 66%] Building CXX object CMakeFiles/ft_can_transceiver_lib.dir/src/transceiver.cpp.o
/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp: In constructor canlib::Transceiver::Transceiver(std::string, std::vector<can_filter>):
/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp:17:16: warning: ISO C++ forbids variable length array filter_arr []8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wvla-Wvla]8;;]
17 | can_filter filter_arr[filters.size()];
| ^~~~~~~~~~
/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp: In member function virtual bool canlib::Transceiver::receive(int):
/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp:1236:1: warning: control reaches end of non-void function []8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wreturn-type-Wreturn-type]8;;]
1236 | }
| ^
[100%] Linking CXX shared library libft_can_transceiver_lib.so
gmake[2]: warning: Clock skew detected. Your build may be incomplete.
[100%] Built target ft_can_transceiver_lib
gmake[1]: warning: Clock skew detected. Your build may be incomplete.
gmake: warning: Clock skew detected. Your build may be incomplete.
-- Install configuration: ""
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/libft_can_transceiver_lib.so
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib/endec.hpp
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib/can1.h
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib/transceiver.h
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/cmake/ft_can_transceiver_lib/ft_can_transceiver_libTargets.cmake
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/cmake/ft_can_transceiver_lib/ft_can_transceiver_libTargets-noconfig.cmake
-- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/cmake/ft_can_transceiver_lib/ft_can_transceiver_libConfig.cmake

View File

@ -0,0 +1,54 @@
[0.170s] Invoking command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib -DCMAKE_INSTALL_PREFIX=/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib
[0.966s] -- The C compiler identification is GNU 13.3.0
[1.475s] -- The CXX compiler identification is GNU 13.3.0
[1.580s] -- Detecting C compiler ABI info
[3.060s] -- Detecting C compiler ABI info - done
[3.193s] -- Check for working C compiler: /usr/bin/cc - skipped
[3.197s] -- Detecting C compile features
[3.200s] -- Detecting C compile features - done
[3.284s] -- Detecting CXX compiler ABI info
[4.751s] -- Detecting CXX compiler ABI info - done
[4.887s] -- Check for working CXX compiler: /usr/bin/c++ - skipped
[4.890s] -- Detecting CXX compile features
[4.893s] -- Detecting CXX compile features - done
[5.469s] Successfully generated ./can1.h and ./can1.c.
[5.847s] usage: cantools [-h] [-d] [--version]
[5.850s] {plot,list,generate_c_source,decode,monitor,convert,dump} ...
[5.853s] cantools: error: argument subcommand: invalid choice: 'generate_c_source_transceiver' (choose from 'plot', 'list', 'generate_c_source', 'decode', 'monitor', 'convert', 'dump')
[6.005s] -- Configuring done (5.7s)
[6.522s] -- Generating done (0.4s)
[6.797s] -- Build files have been written to: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib
[6.804s] Invoked command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib' returned '0': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib -DCMAKE_INSTALL_PREFIX=/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib
[6.825s] Invoking command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake --build /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib -- -j8 -l8
[6.868s] gmake: Warning: File 'Makefile' has modification time 0.31 s in the future
[6.965s] gmake[1]: Warning: File 'CMakeFiles/Makefile2' has modification time 0.21 s in the future
[6.998s] gmake[2]: Warning: File 'CMakeFiles/ft_can_transceiver_lib.dir/flags.make' has modification time 0.18 s in the future
[7.034s] gmake[2]: warning: Clock skew detected. Your build may be incomplete.
[7.095s] gmake[2]: Warning: File 'CMakeFiles/ft_can_transceiver_lib.dir/flags.make' has modification time 0.081 s in the future
[7.180s] [ 66%] Building CXX object CMakeFiles/ft_can_transceiver_lib.dir/src/can1.cpp.o
[7.182s] [ 66%] Building CXX object CMakeFiles/ft_can_transceiver_lib.dir/src/transceiver.cpp.o
[14.806s] /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp: In constructor canlib::Transceiver::Transceiver(std::string, std::vector<can_filter>):
[14.823s] /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp:17:16: warning: ISO C++ forbids variable length array filter_arr []8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wvla-Wvla]8;;]
[14.833s] 17 | can_filter filter_arr[filters.size()];
[14.840s] | ^~~~~~~~~~
[15.209s] /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp: In member function virtual bool canlib::Transceiver::receive(int):
[15.216s] /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/src/transceiver.cpp:1236:1: warning: control reaches end of non-void function []8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wreturn-type-Wreturn-type]8;;]
[15.234s] 1236 | }
[15.242s] | ^
[20.108s] [100%] Linking CXX shared library libft_can_transceiver_lib.so
[27.683s] gmake[2]: warning: Clock skew detected. Your build may be incomplete.
[27.723s] [100%] Built target ft_can_transceiver_lib
[27.726s] gmake[1]: warning: Clock skew detected. Your build may be incomplete.
[27.766s] gmake: warning: Clock skew detected. Your build may be incomplete.
[27.773s] Invoked command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib' returned '0': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake --build /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib -- -j8 -l8
[27.826s] Invoking command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake --install /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib
[27.851s] -- Install configuration: ""
[27.884s] -- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/libft_can_transceiver_lib.so
[28.087s] -- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib
[28.120s] -- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib/endec.hpp
[28.211s] -- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib/can1.h
[28.332s] -- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/include/ft_can_transceiver_lib/transceiver.h
[28.446s] -- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/cmake/ft_can_transceiver_lib/ft_can_transceiver_libTargets.cmake
[28.521s] -- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/cmake/ft_can_transceiver_lib/ft_can_transceiver_libTargets-noconfig.cmake
[28.604s] -- Installing: /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/cmake/ft_can_transceiver_lib/ft_can_transceiver_libConfig.cmake
[28.730s] Invoked command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib' returned '0': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake --install /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib

View File

@ -0,0 +1,111 @@
[0.217s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
[0.217s] DEBUG:colcon:Parsed command line arguments: Namespace(log_base=None, log_level=None, verb_name='build', build_base='build', install_base='install', merge_install=False, symlink_install=False, test_result_base=None, continue_on_error=False, executor='parallel', parallel_workers=8, event_handlers=None, ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, cmake_args=None, cmake_target=None, cmake_target_skip_unavailable=False, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, ament_cmake_args=None, catkin_cmake_args=None, catkin_skip_building_tests=False, mixin_files=None, mixin=None, verb_parser=<colcon_mixin.mixin.mixin_argument.MixinArgumentDecorator object at 0x7f698d2156d0>, verb_extension=<colcon_core.verb.build.BuildVerb object at 0x7f698d3799a0>, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0x7f698d3799a0>>, mixin_verb=('build',))
[0.329s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
[0.332s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
[0.333s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
[0.334s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
[0.334s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
[0.335s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
[0.336s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib'
[0.342s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
[0.343s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
[0.345s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
[0.349s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
[0.349s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
[0.351s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
[0.352s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
[0.352s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
[0.353s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
[0.413s] DEBUG:colcon.colcon_core.package_identification:Package '.' with type 'ros.ament_cmake' and name 'ft_can_transceiver_lib'
[0.414s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
[0.415s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
[0.415s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
[0.416s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
[0.417s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
[0.446s] Level 5:colcon.colcon_core.verb:set package 'ft_can_transceiver_lib' build argument 'cmake_args' from command line to 'None'
[0.446s] Level 5:colcon.colcon_core.verb:set package 'ft_can_transceiver_lib' build argument 'cmake_target' from command line to 'None'
[0.447s] Level 5:colcon.colcon_core.verb:set package 'ft_can_transceiver_lib' build argument 'cmake_target_skip_unavailable' from command line to 'False'
[0.450s] Level 5:colcon.colcon_core.verb:set package 'ft_can_transceiver_lib' build argument 'cmake_clean_cache' from command line to 'False'
[0.451s] Level 5:colcon.colcon_core.verb:set package 'ft_can_transceiver_lib' build argument 'cmake_clean_first' from command line to 'False'
[0.452s] Level 5:colcon.colcon_core.verb:set package 'ft_can_transceiver_lib' build argument 'cmake_force_configure' from command line to 'False'
[0.452s] Level 5:colcon.colcon_core.verb:set package 'ft_can_transceiver_lib' build argument 'ament_cmake_args' from command line to 'None'
[0.453s] Level 5:colcon.colcon_core.verb:set package 'ft_can_transceiver_lib' build argument 'catkin_cmake_args' from command line to 'None'
[0.454s] Level 5:colcon.colcon_core.verb:set package 'ft_can_transceiver_lib' build argument 'catkin_skip_building_tests' from command line to 'False'
[0.454s] DEBUG:colcon.colcon_core.verb:Building package 'ft_can_transceiver_lib' with the following arguments: {'ament_cmake_args': None, 'build_base': '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib', 'merge_install': False, 'path': '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib', 'symlink_install': False, 'test_result_base': None}
[0.455s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
[0.459s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
[0.460s] INFO:colcon.colcon_ros.task.ament_cmake.build:Building ROS package in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib' with build type 'ament_cmake'
[0.461s] INFO:colcon.colcon_cmake.task.cmake.build:Building CMake package in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib'
[0.470s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
[0.472s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
[0.473s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
[0.642s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib -DCMAKE_INSTALL_PREFIX=/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib
[7.276s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib' returned '0': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib -DCMAKE_INSTALL_PREFIX=/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib
[7.296s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake --build /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib -- -j8 -l8
[28.245s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib' returned '0': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake --build /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib -- -j8 -l8
[28.298s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake --install /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib
[29.183s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(ft_can_transceiver_lib)
[29.202s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib' returned '0': CMAKE_PREFIX_PATH=/opt/ros/jazzy /usr/bin/cmake --install /workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/build/ft_can_transceiver_lib
[29.207s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib' for CMake module files
[29.276s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib' for CMake config files
[29.306s] Level 1:colcon.colcon_core.shell:create_environment_hook('ft_can_transceiver_lib', 'cmake_prefix_path')
[29.307s] INFO:colcon.colcon_core.shell:Creating environment hook '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/hook/cmake_prefix_path.ps1'
[29.339s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/hook/cmake_prefix_path.dsv'
[29.355s] INFO:colcon.colcon_core.shell:Creating environment hook '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/hook/cmake_prefix_path.sh'
[29.381s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib'
[29.385s] Level 1:colcon.colcon_core.shell:create_environment_hook('ft_can_transceiver_lib', 'ld_library_path_lib')
[29.386s] INFO:colcon.colcon_core.shell:Creating environment hook '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/hook/ld_library_path_lib.ps1'
[29.400s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/hook/ld_library_path_lib.dsv'
[29.414s] INFO:colcon.colcon_core.shell:Creating environment hook '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/hook/ld_library_path_lib.sh'
[29.426s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/bin'
[29.428s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/pkgconfig/ft_can_transceiver_lib.pc'
[29.434s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/python3.12/site-packages'
[29.437s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/bin'
[29.440s] INFO:colcon.colcon_core.shell:Creating package script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/package.ps1'
[29.454s] INFO:colcon.colcon_core.shell:Creating package descriptor '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/package.dsv'
[29.467s] INFO:colcon.colcon_core.shell:Creating package script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/package.sh'
[29.479s] INFO:colcon.colcon_core.shell:Creating package script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/package.bash'
[29.494s] INFO:colcon.colcon_core.shell:Creating package script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/package.zsh'
[29.509s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/colcon-core/packages/ft_can_transceiver_lib)
[29.540s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(ft_can_transceiver_lib)
[29.541s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib' for CMake module files
[29.578s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib' for CMake config files
[29.590s] Level 1:colcon.colcon_core.shell:create_environment_hook('ft_can_transceiver_lib', 'cmake_prefix_path')
[29.590s] INFO:colcon.colcon_core.shell:Creating environment hook '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/hook/cmake_prefix_path.ps1'
[29.596s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/hook/cmake_prefix_path.dsv'
[29.605s] INFO:colcon.colcon_core.shell:Creating environment hook '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/hook/cmake_prefix_path.sh'
[29.614s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib'
[29.616s] Level 1:colcon.colcon_core.shell:create_environment_hook('ft_can_transceiver_lib', 'ld_library_path_lib')
[29.617s] INFO:colcon.colcon_core.shell:Creating environment hook '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/hook/ld_library_path_lib.ps1'
[29.624s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/hook/ld_library_path_lib.dsv'
[29.633s] INFO:colcon.colcon_core.shell:Creating environment hook '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/hook/ld_library_path_lib.sh'
[29.643s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/bin'
[29.646s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/pkgconfig/ft_can_transceiver_lib.pc'
[29.651s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/lib/python3.12/site-packages'
[29.654s] Level 1:colcon.colcon_core.environment:checking '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/bin'
[29.657s] INFO:colcon.colcon_core.shell:Creating package script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/package.ps1'
[29.669s] INFO:colcon.colcon_core.shell:Creating package descriptor '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/package.dsv'
[29.677s] INFO:colcon.colcon_core.shell:Creating package script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/package.sh'
[29.688s] INFO:colcon.colcon_core.shell:Creating package script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/package.bash'
[29.699s] INFO:colcon.colcon_core.shell:Creating package script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/ft_can_transceiver_lib/package.zsh'
[29.710s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/ft_can_transceiver_lib/share/colcon-core/packages/ft_can_transceiver_lib)
[29.723s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
[29.724s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
[29.728s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
[29.730s] DEBUG:colcon.colcon_core.event_reactor:joining thread
[29.765s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.notify_send': Could not find 'notify-send'
[29.766s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
[29.767s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
[29.770s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
[29.771s] DEBUG:colcon.colcon_notification.desktop_notification.notify2:Failed to initialize notify2: org.freedesktop.DBus.Error.InvalidFileContent: D-Bus library appears to be incorrectly set up: see the manual page for dbus-uuidgen to correct this issue. (Failed to open "/var/lib/dbus/machine-id": No such file or directory; UUID file '/etc/machine-id' should contain a hex string of length 32, not length 0, with no other text)
[29.774s] DEBUG:colcon.colcon_core.event_reactor:joined thread
[29.775s] INFO:colcon.colcon_core.shell:Creating prefix script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/local_setup.ps1'
[29.800s] INFO:colcon.colcon_core.shell:Creating prefix util module '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/_local_setup_util_ps1.py'
[29.820s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/setup.ps1'
[29.840s] INFO:colcon.colcon_core.shell:Creating prefix script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/local_setup.sh'
[29.859s] INFO:colcon.colcon_core.shell:Creating prefix util module '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/_local_setup_util_sh.py'
[29.876s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/setup.sh'
[29.893s] INFO:colcon.colcon_core.shell:Creating prefix script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/local_setup.bash'
[29.911s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/setup.bash'
[29.928s] INFO:colcon.colcon_core.shell:Creating prefix script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/local_setup.zsh'
[29.944s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/install/setup.zsh'

View File

@ -0,0 +1 @@
latest_build

View File

@ -0,0 +1 @@
build_2025-07-10_17-27-28

View File

@ -0,0 +1,19 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>ft_can_transceiver_lib</name>
<version>0.0.0</version>
<description>TODO: Package description</description>
<maintainer email="rkoeppe.uni@outlook.de">root</maintainer>
<license>TODO: License declaration</license>
<buildtool_depend>ament_cmake</buildtool_depend>
<depend>foxglove_bridge</depend>
<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>
<export>
<build_type>ament_cmake</build_type>
</export>
</package>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,38 @@
cmake_minimum_required(VERSION 3.8)
project(ft_can_viewer)
if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
add_compile_options(-Wall -Wextra)
endif()
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(std_msgs REQUIRED)
find_package(ft_can_transceiver_lib REQUIRED)
# Executable
add_executable(can_viewer_node src/can_viewer_node.cpp)
target_compile_features(can_viewer_node PUBLIC cxx_std_17)
# ROS2Includes & -Deps
ament_target_dependencies(
can_viewer_node
rclcpp
std_msgs
ft_can_transceiver_lib
)
# Ganz wichtiger LinkStep:
target_link_libraries(
can_viewer_node
ft_can_transceiver_lib
)
install(
TARGETS can_viewer_node
DESTINATION lib/${PROJECT_NAME}
)
ament_package()

View File

@ -0,0 +1,18 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>ft_can_viewer</name>
<version>0.1.0</version>
<description>CAN - ROS2 Publisher für Foxglove mit Transceiver-Lib</description>
<maintainer email="elias.rosendahl@fasttube.com">Elias</maintainer>
<license>MIT</license>
<buildtool_depend>ament_cmake</buildtool_depend>
<depend>rclcpp</depend>
<depend>std_msgs</depend>
<depend>ft_can_transceiver_lib</depend>
<export>
<build_type>ament_cmake</build_type>
</export>
</package>

View File

@ -0,0 +1,54 @@
#include <memory>
#include <rclcpp/rclcpp.hpp>
#include <std_msgs/msg/float64.hpp>
#include <std_msgs/msg/bool.hpp>
#include </workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/include/ft_can_transceiver_lib/transceiver.h>
#include </workspaces/can_viewer/ros2_ws/src/ft_can_transceiver_lib/include/ft_can_transceiver_lib/can1.h>
class CanViewerNode : public rclcpp::Node {
public:
CanViewerNode() : Node("can_viewer_node"), transceiver_("vcan0", {}) {
allow_torque_pub_ = this->create_publisher<std_msgs::msg::Bool>("can/telemetrie/allow_torque", 10);
brake_ok_pub_ = this->create_publisher<std_msgs::msg::Bool>("can/telemetrie/brake_ok", 10);
torque_limit_pub_ = this->create_publisher<std_msgs::msg::Float64>("can/telemetrie/torque_limit", 10);
canlib::callback::can1::telemetrie = [this](can1_telemetrie_t /*frame_raw*/, canlib::frame::decoded::can1::telemetrie_t frame_decoded) {
std_msgs::msg::Bool msg_allow, msg_brake;
std_msgs::msg::Float64 msg_torque;
msg_allow.data = frame_decoded.allow_torque;
msg_brake.data = frame_decoded.brake_ok;
msg_torque.data = frame_decoded.torque_limit;
allow_torque_pub_->publish(msg_allow);
brake_ok_pub_->publish(msg_brake);
torque_limit_pub_->publish(msg_torque);
RCLCPP_INFO(this->get_logger(), "Telemetrie: allow_torque=%d brake_ok=%d torque_limit=%f", msg_allow.data, msg_brake.data, msg_torque.data);
};
// Empfangsthread starten
receiver_thread_ = std::thread([this]() {
while (rclcpp::ok()) {
transceiver_.receive();
}
});
receiver_thread_.detach();
}
private:
canlib::Transceiver transceiver_;
std::thread receiver_thread_;
// Die Publisher
rclcpp::Publisher<std_msgs::msg::Bool>::SharedPtr allow_torque_pub_;
rclcpp::Publisher<std_msgs::msg::Bool>::SharedPtr brake_ok_pub_;
rclcpp::Publisher<std_msgs::msg::Float64>::SharedPtr torque_limit_pub_;
};
int main(int argc, char * argv[]) {
rclcpp::init(argc, argv);
auto node = std::make_shared<CanViewerNode>();
rclcpp::spin(node);
rclcpp::shutdown();
return 0;
}