17#define ONE_MOTOR_CAN_MAX_DLEN 8
22#include <zephyr/drivers/can.h>
26namespace OneMotor::Can
50 static_assert(
sizeof(CanFrame) ==
sizeof(can_frame),
51 "Size mismatch between CanFrame and can_frame.");
52 static_assert(
alignof(CanFrame) ==
alignof(can_frame),
53 "Alignment mismatch between CanFrame and can_frame.");
54 static_assert(std::is_standard_layout_v<CanFrame>,
55 "CanFrame must be a standard-layout type for safe casting.");
56 static_assert(offsetof(CanFrame,
id) == offsetof(can_frame, can_id),
57 "Offset mismatch for 'id' member.");
58 static_assert(offsetof(CanFrame, dlc) == offsetof(can_frame, can_dlc),
59 "Offset mismatch for 'dlc' member.");
60 static_assert(offsetof(CanFrame, data) == offsetof(can_frame, data),
61 "Offset mismatch for 'data' member.");
63 static_assert(
sizeof(CanFrame) ==
sizeof(can_frame),
"Size mismatch between CanFrame and can_frame.");
64 static_assert(
alignof(CanFrame) ==
alignof(can_frame),
"Alignment mismatch between CanFrame and can_frame.");
65 static_assert(std::is_standard_layout_v<CanFrame>,
"CanFrame must be a standard-layout type for safe casting.");
66 static_assert(offsetof(CanFrame,
id) == offsetof(can_frame,
id),
"Offset mismatch for 'id' member.");
67 static_assert(offsetof(CanFrame, dlc) == offsetof(can_frame, dlc),
68 "Offset mismatch for 'dlc' member.");
69 static_assert(offsetof(CanFrame, data) == offsetof(can_frame, data),
70 "Offset mismatch for 'data' member.");
#define ONE_MOTOR_CAN_MAX_DLEN
定义CAN帧数据的最大长度。
定义 CanFrame.hpp:17
uint8_t data[ONE_MOTOR_CAN_MAX_DLEN]
CAN数据负载
定义 CanFrame.hpp:46
uint8_t len8_dlc
CAN FD中真实的数据长度 (兼容普通CAN)
定义 CanFrame.hpp:42
uint8_t __res0
保留字节
定义 CanFrame.hpp:41
uint8_t dlc
数据长度码 (0-8)
定义 CanFrame.hpp:39
uint8_t __pad
填充字节,用于对齐
定义 CanFrame.hpp:40