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>

source

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.

source

pub fn clear(&mut self) -> &mut Self

Disables all enabled filter banks.

This causes all incoming frames to be disposed.

source

pub fn disable_bank(&mut self, index: u8) -> &mut Self

Disables a filter bank.

If index is out of bounds, this will panic.

source

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>

source

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.

source

pub fn slave_filters(&mut self) -> SlaveFilters<'_, I>

Accesses the filters assigned to the slave peripheral.

Trait Implementations§

source§

impl<I: FilterOwner> Drop for MasterFilters<'_, I>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'a, I> Freeze for MasterFilters<'a, I>

§

impl<'a, I> RefUnwindSafe for MasterFilters<'a, I>
where I: RefUnwindSafe,

§

impl<'a, I> Send for MasterFilters<'a, I>
where I: Send,

§

impl<'a, I> Sync for MasterFilters<'a, I>
where I: Sync,

§

impl<'a, I> Unpin for MasterFilters<'a, I>

§

impl<'a, I> !UnwindSafe for MasterFilters<'a, I>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.