Initial commit

This commit is contained in:
2026-07-27 13:51:19 +08:00
commit 7bec56ca51
5408 changed files with 1126933 additions and 0 deletions
@@ -0,0 +1,139 @@
cmake_minimum_required(VERSION 3.0.2)
project(socketcan_bridge)
find_package(catkin REQUIRED
COMPONENTS
can_msgs
rosconsole_bridge
roscpp
socketcan_interface
)
catkin_package(
INCLUDE_DIRS
include
LIBRARIES
socketcan_to_topic
topic_to_socketcan
CATKIN_DEPENDS
can_msgs
rosconsole_bridge
roscpp
socketcan_interface
)
include_directories(
include
${catkin_INCLUDE_DIRS}
)
# socketcan_to_topic
add_library(socketcan_to_topic
src/rosconsole_bridge.cpp
src/socketcan_to_topic.cpp
)
target_link_libraries(socketcan_to_topic
${catkin_LIBRARIES}
)
add_dependencies(socketcan_to_topic
${catkin_EXPORTED_TARGETS}
)
# topic_to_socketcan
add_library(topic_to_socketcan
src/rosconsole_bridge.cpp
src/topic_to_socketcan.cpp
)
target_link_libraries(topic_to_socketcan
${catkin_LIBRARIES}
)
add_dependencies(topic_to_socketcan
${catkin_EXPORTED_TARGETS}
)
# socketcan_to_topic_node
add_executable(socketcan_to_topic_node
src/socketcan_to_topic_node.cpp
)
target_link_libraries(socketcan_to_topic_node
socketcan_to_topic
${catkin_LIBRARIES}
)
# topic_to_socketcan_node
add_executable(topic_to_socketcan_node
src/topic_to_socketcan_node.cpp
)
target_link_libraries(topic_to_socketcan_node
topic_to_socketcan
${catkin_LIBRARIES}
)
# socketcan_bridge_node
add_executable(${PROJECT_NAME}_node
src/${PROJECT_NAME}_node.cpp
)
target_link_libraries(${PROJECT_NAME}_node
topic_to_socketcan
socketcan_to_topic
${catkin_LIBRARIES}
)
install(
TARGETS
${PROJECT_NAME}_node
socketcan_to_topic
socketcan_to_topic_node
topic_to_socketcan
topic_to_socketcan_node
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
install(
DIRECTORY
include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
)
if(CATKIN_ENABLE_TESTING)
find_package(rostest REQUIRED)
find_package(roslint REQUIRED)
roslint_cpp()
roslint_add_test()
# unit test for the can_msgs::Frame and can::Frame types.
catkin_add_gtest(test_conversion
test/test_conversion.cpp
)
target_link_libraries(test_conversion
topic_to_socketcan
socketcan_to_topic
${catkin_LIBRARIES}
)
add_rostest_gtest(test_to_socketcan
test/to_socketcan.test
test/to_socketcan_test.cpp
)
target_link_libraries(test_to_socketcan
topic_to_socketcan
${catkin_LIBRARIES}
)
add_rostest_gtest(test_to_topic
test/to_topic.test
test/to_topic_test.cpp
)
target_link_libraries(test_to_topic
socketcan_to_topic
topic_to_socketcan
${catkin_LIBRARIES}
)
endif()