|
| 1 | +diff --git a/package.xml b/package.xml |
| 2 | +index c0e3fe7..d8cccf0 100644 |
| 3 | +--- a/package.xml |
| 4 | ++++ b/package.xml |
| 5 | +@@ -20,6 +20,8 @@ SPDX-License-Identifier: Apache-2.0 |
| 6 | + <buildtool_depend>ament_cmake</buildtool_depend> |
| 7 | + |
| 8 | + <build_depend>ament_cmake_ros</build_depend> |
| 9 | ++ <build_depend>linux-kernel-headers</build_depend> |
| 10 | ++ <build_export_depend>linux-kernel-headers</build_export_depend> |
| 11 | + |
| 12 | + <depend>can_msgs</depend> |
| 13 | + <depend>diagnostic_msgs</depend> |
| 14 | +diff --git a/src/socketcan_bridge.cpp b/src/socketcan_bridge.cpp |
| 15 | +index 8a4dab0..1f40924 100644 |
| 16 | +--- a/src/socketcan_bridge.cpp |
| 17 | ++++ b/src/socketcan_bridge.cpp |
| 18 | +@@ -6,6 +6,7 @@ |
| 19 | + |
| 20 | + #include <fmt/core.h> |
| 21 | + #include <fmt/ostream.h> |
| 22 | ++#include <fmt/ranges.h> |
| 23 | + #include <linux/can.h> |
| 24 | + #include <linux/can/error.h> |
| 25 | + #include <linux/can/raw.h> |
| 26 | +@@ -199,7 +200,7 @@ can_frame from_msg(const can_msgs::msg::Frame & msg) |
| 27 | + |
| 28 | + can_frame frame; |
| 29 | + frame.can_id = id; |
| 30 | +- frame.len = msg.dlc; |
| 31 | ++ frame.can_dlc = msg.dlc; // Conda defaults to ancient 4.18 kernel headers |
| 32 | + std::ranges::copy(msg.data, frame.data); |
| 33 | + return frame; |
| 34 | + } |
| 35 | +@@ -211,7 +212,7 @@ can_msgs::msg::Frame to_msg(const can_frame & frame) |
| 36 | + msg.is_extended = (frame.can_id & CAN_EFF_FLAG) == CAN_EFF_FLAG; |
| 37 | + msg.is_error = (frame.can_id & CAN_ERR_FLAG) == CAN_ERR_FLAG; |
| 38 | + msg.id = frame.can_id & (msg.is_extended ? CAN_EFF_MASK : CAN_SFF_MASK); |
| 39 | +- msg.dlc = frame.len; |
| 40 | ++ msg.dlc = frame.can_dlc; |
| 41 | + std::copy_n(frame.data, sizeof(frame.data), msg.data.begin()); |
| 42 | + return msg; |
| 43 | + } |
0 commit comments