#[repr(C)]pub struct BMRxFilter {
pub kind: u8,
pub unused: u8,
pub flags_mask: u8,
pub flags_value: u8,
pub reserved: [u8; 4],
pub id_mask: u32,
pub id_value: u32,
pub payload_mask: [u8; 8],
pub payload_value: [u8; 8],
}Expand description
CAN channel RX filter item structure, used by super::api::BM_SetRxFilters
The filter support masking ID, flags and payload according to its type,
in order for a message to be accepted, all the fields are masked using AND logic:
(flags & filter.flags_mask == filter.flags_value) AND (ID & filter.id_mask == filter.id_value) AND (payload & filter.payload_mask == filter.payload_value)
Fields§
§kind: u8Type ID of the RX filter, see BMRxFilterType for details.
unused: u8Reserved
flags_mask: u8CAN message control Flags masks, see BMMessageFlags for details.
flags_value: u8CAN message control Flags values, see BMMessageFlags for details.
reserved: [u8; 4]Reserved
id_mask: u32§id_value: u32CAN message ID values, see BMMessageId for details.
payload_mask: [u8; 8]CAN message payload masks, for CAN-FD messages, only the first 8 bytes are checked.
payload_value: [u8; 8]CAN message payload values, for CAN-FD messages, only the first 8 bytes are checked.