Struct bxcan::filter::MasterFilters
source · pub struct MasterFilters<'a, I: FilterOwner> { /* private fields */ }
Expand description
Interface to the filter banks of a CAN peripheral.
Implementations§
source§impl<I: FilterOwner> MasterFilters<'_, I>
impl<I: FilterOwner> MasterFilters<'_, I>
sourcepub fn num_banks(&self) -> u8
pub fn num_banks(&self) -> u8
Returns the number of filter banks currently assigned to this instance.
Chips with splittable filter banks may start out with some banks assigned to the master instance and some assigned to the slave instance.
sourcepub fn clear(&mut self) -> &mut Self
pub fn clear(&mut self) -> &mut Self
Disables all enabled filter banks.
This causes all incoming frames to be disposed.
sourcepub fn disable_bank(&mut self, index: u8) -> &mut Self
pub fn disable_bank(&mut self, index: u8) -> &mut Self
Disables a filter bank.
If index
is out of bounds, this will panic.
sourcepub fn enable_bank(
&mut self,
index: u8,
fifo: Fifo,
config: impl Into<BankConfig>
) -> &mut Self
pub fn enable_bank( &mut self, index: u8, fifo: Fifo, config: impl Into<BankConfig> ) -> &mut Self
Configures a filter bank according to config
and enables it.
Each filter bank is associated with one of the two RX FIFOs, configured by the Fifo
passed to this function. In the event that both FIFOs are configured to accept an incoming
frame, the accepting filter bank with the lowest index wins. The FIFO state is ignored, so
if the FIFO is full, it will overflow, even if the other FIFO is also configured to accept
the frame.
§Parameters
index
: the filter index.fifo
: the receive FIFO the filter should pass accepted messages to.config
: the filter configuration.
source§impl<I: MasterInstance> MasterFilters<'_, I>
impl<I: MasterInstance> MasterFilters<'_, I>
sourcepub fn set_split(&mut self, split_index: u8) -> &mut Self
pub fn set_split(&mut self, split_index: u8) -> &mut Self
Sets the index at which the filter banks owned by the slave peripheral start.
sourcepub fn slave_filters(&mut self) -> SlaveFilters<'_, I>
pub fn slave_filters(&mut self) -> SlaveFilters<'_, I>
Accesses the filters assigned to the slave peripheral.