pub struct CanFilter { /* private fields */ }
Implementations§
source§impl CanFilter
impl CanFilter
sourcepub const fn new(id: CanId) -> Self
pub const fn new(id: CanId) -> Self
Create a new pass-all CAN filter with a base or extended ID.
The mask is still set to zero when the filter is created. You have to call additional methods to restrict what frames match filter.
sourcepub const fn new_base(id: CanBaseId) -> Self
pub const fn new_base(id: CanBaseId) -> Self
Create a new pass-all CAN filter with a base ID.
The mask is still set to zero when the filter is created. You have to call additional methods to restrict what frames match filter.
sourcepub const fn new_extended(id: CanExtendedId) -> Self
pub const fn new_extended(id: CanExtendedId) -> Self
Create a new pass-all CAN filter with an extended ID.
The mask is still set to zero when the filter is created. You have to call additional methods to restrict what frames match filter.
sourcepub const fn match_id_value(self) -> Self
pub const fn match_id_value(self) -> Self
Restrict the filter to match only frames with the same numerical ID.
The filter will still accept extended and base frames (if the numerical value is possible for base frames).
Adds to any restrictions already applied to the filter.
sourcepub const fn match_id_mask(self, mask: u32) -> Self
pub const fn match_id_mask(self, mask: u32) -> Self
Restrict the filter to match only frames where frame.id & mask == filter.id & mask
.
Only the lower 29 bits of the mask are used.
sourcepub const fn match_base_extended(self) -> Self
pub const fn match_base_extended(self) -> Self
Restrict the filter to match only extended IDs or base IDs (depending on the ID the filter was constructed with).
Adds to any restrictions already applied to the filter.
sourcepub const fn match_exact_id(self) -> Self
pub const fn match_exact_id(self) -> Self
Restrict the filter to match only on exact ID matches.
This means the ID must match exactly, including the fact if it was an extended or base ID.
This is equivalent to:
filter.match_id_value().match_base_extended()
Adds to any restrictions already applied to the filter.
sourcepub const fn match_rtr_only(self) -> Self
pub const fn match_rtr_only(self) -> Self
Restrict the filter to match only RTR frames.
sourcepub const fn match_data_only(self) -> Self
pub const fn match_data_only(self) -> Self
Restrict the filter to match only data frames.
Overrides any previous calls to Self::match_rtr_only()
.
sourcepub const fn inverted(self, inverted: bool) -> Self
pub const fn inverted(self, inverted: bool) -> Self
Make the filter inverted or non-inverted.
When inverted, only frame that normally would not match the filter will match the filter.
sourcepub const fn is_inverted(self) -> bool
pub const fn is_inverted(self) -> bool
Check if the filter is inverted.
When inverted, only frame that normally would not match the filter will match the filter.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CanFilter
impl RefUnwindSafe for CanFilter
impl Send for CanFilter
impl Sync for CanFilter
impl Unpin for CanFilter
impl UnwindSafe for CanFilter
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)