15 subscriber_list_[
static_cast<uint8_t
>(type)].Add(*node);
21 subscriber_list_[
static_cast<uint8_t
>(pack.
type)].Foreach<Filter>(
29 node.
cb.Run(in_isr, pack);
35 node.
cb.Run(in_isr, pack);
51 subscriber_list_fd_[
static_cast<uint8_t
>(type)].Add(*node);
59 subscriber_list_fd_[
static_cast<uint8_t
>(pack.
type)].Foreach<Filter>(
64 case FilterMode::ID_MASK:
67 node.
cb.Run(in_isr, pack);
70 case FilterMode::ID_RANGE:
73 node.
cb.Run(in_isr, pack);
Type
CAN 消息类型 / CAN frame type.
@ REMOTE_STANDARD
标准远程帧 / Standard remote frame.
@ TYPE_NUM
类型数量上界 / Number of frame types.
void OnMessage(const ClassicPack &pack, bool in_isr)
分发接收到的经典 CAN 帧。 Dispatch a received classic CAN frame.
void Register(Callback cb, Type type, FilterMode mode=FilterMode::ID_RANGE, uint32_t start_id_mask=0, uint32_t end_id_mask=UINT32_MAX)
注册经典 CAN 消息回调。 Register classic CAN message callback.
FilterMode
CAN 过滤器模式 / CAN filter mode.
通用回调包装,支持动态参数传递 / Generic callback wrapper supporting dynamic argument passing
void OnMessage(const FDPack &pack, bool in_isr)
分发接收到的 FD CAN 帧。 Dispatch a received FD CAN frame.
void Register(CallbackFD cb, Type type, FilterMode mode=FilterMode::ID_RANGE, uint32_t start_id_mask=0, uint32_t end_id_mask=UINT32_MAX)
注册 FDCAN FD 帧回调。 Register FDCAN FD frame callback.
数据节点模板,继承自 BaseNode,用于存储具体数据类型。 Template data node that inherits from BaseNode to store specific data...
LibXR 命名空间 / LibXR namespace.
@ OK
操作成功 / Operation successful
constexpr size_t CONCURRENCY_ALIGNMENT
并发结构对齐粒度(用于降低多核伪共享) / Alignment policy used by concurrency-oriented structures
经典 CAN 帧数据结构 / Classic CAN frame structure.
Type type
帧类型 / Frame type.
经典 CAN 订阅过滤器 / Classic CAN subscription filter.
uint32_t start_id_mask
起始 ID 或掩码 / Start ID or mask.
uint32_t end_id_mask
结束 ID 或匹配值 / End ID or match value.
Callback cb
回调函数 / Callback function.
FilterMode mode
过滤模式 / Filter mode.
CAN FD 帧数据结构 / CAN FD frame structure.
Type type
帧类型 / Frame type.
uint32_t id
CAN ID / CAN ID.
FDCAN 订阅过滤器 / FDCAN subscription filter.
FilterMode mode
过滤模式 / Filter mode.
uint32_t start_id_mask
起始 ID 或掩码 / Start ID or mask.
CallbackFD cb
回调函数 / Callback function.
uint32_t end_id_mask
结束 ID 或匹配值 / End ID or match value.