Struct rp2040_pac2::sio::regs::Interp1CtrlLane0[][src]

#[repr(transparent)]pub struct Interp1CtrlLane0(pub u32);

Control register for lane 0

Implementations

impl Interp1CtrlLane0[src]

pub const fn overf(&self) -> bool[src]

Set if either OVERF0 or OVERF1 is set.

pub fn set_overf(&mut self, val: bool)[src]

Set if either OVERF0 or OVERF1 is set.

pub const fn overf1(&self) -> bool[src]

Indicates if any masked-off MSBs in ACCUM1 are set.

pub fn set_overf1(&mut self, val: bool)[src]

Indicates if any masked-off MSBs in ACCUM1 are set.

pub const fn overf0(&self) -> bool[src]

Indicates if any masked-off MSBs in ACCUM0 are set.

pub fn set_overf0(&mut self, val: bool)[src]

Indicates if any masked-off MSBs in ACCUM0 are set.

pub const fn clamp(&self) -> bool[src]

Only present on INTERP1 on each core. If CLAMP mode is enabled: - LANE0 result is shifted and masked ACCUM0, clamped by a lower bound of BASE0 and an upper bound of BASE1. - Signedness of these comparisons is determined by LANE0_CTRL_SIGNED

pub fn set_clamp(&mut self, val: bool)[src]

Only present on INTERP1 on each core. If CLAMP mode is enabled: - LANE0 result is shifted and masked ACCUM0, clamped by a lower bound of BASE0 and an upper bound of BASE1. - Signedness of these comparisons is determined by LANE0_CTRL_SIGNED

pub const fn force_msb(&self) -> u8[src]

ORed into bits 29:28 of the lane result presented to the processor on the bus. No effect on the internal 32-bit datapath. Handy for using a lane to generate sequence of pointers into flash or SRAM.

pub fn set_force_msb(&mut self, val: u8)[src]

ORed into bits 29:28 of the lane result presented to the processor on the bus. No effect on the internal 32-bit datapath. Handy for using a lane to generate sequence of pointers into flash or SRAM.

pub const fn add_raw(&self) -> bool[src]

If 1, mask + shift is bypassed for LANE0 result. This does not affect FULL result.

pub fn set_add_raw(&mut self, val: bool)[src]

If 1, mask + shift is bypassed for LANE0 result. This does not affect FULL result.

pub const fn cross_result(&self) -> bool[src]

If 1, feed the opposite lane’s result into this lane’s accumulator on POP.

pub fn set_cross_result(&mut self, val: bool)[src]

If 1, feed the opposite lane’s result into this lane’s accumulator on POP.

pub const fn cross_input(&self) -> bool[src]

If 1, feed the opposite lane’s accumulator into this lane’s shift + mask hardware. Takes effect even if ADD_RAW is set (the CROSS_INPUT mux is before the shift+mask bypass)

pub fn set_cross_input(&mut self, val: bool)[src]

If 1, feed the opposite lane’s accumulator into this lane’s shift + mask hardware. Takes effect even if ADD_RAW is set (the CROSS_INPUT mux is before the shift+mask bypass)

pub const fn signed(&self) -> bool[src]

If SIGNED is set, the shifted and masked accumulator value is sign-extended to 32 bits before adding to BASE0, and LANE0 PEEK/POP appear extended to 32 bits when read by processor.

pub fn set_signed(&mut self, val: bool)[src]

If SIGNED is set, the shifted and masked accumulator value is sign-extended to 32 bits before adding to BASE0, and LANE0 PEEK/POP appear extended to 32 bits when read by processor.

pub const fn mask_msb(&self) -> u8[src]

The most-significant bit allowed to pass by the mask (inclusive) Setting MSB < LSB may cause chip to turn inside-out

pub fn set_mask_msb(&mut self, val: u8)[src]

The most-significant bit allowed to pass by the mask (inclusive) Setting MSB < LSB may cause chip to turn inside-out

pub const fn mask_lsb(&self) -> u8[src]

The least-significant bit allowed to pass by the mask (inclusive)

pub fn set_mask_lsb(&mut self, val: u8)[src]

The least-significant bit allowed to pass by the mask (inclusive)

pub const fn shift(&self) -> u8[src]

Logical right-shift applied to accumulator before masking

pub fn set_shift(&mut self, val: u8)[src]

Logical right-shift applied to accumulator before masking

Trait Implementations

impl Clone for Interp1CtrlLane0[src]

impl Copy for Interp1CtrlLane0[src]

impl Default for Interp1CtrlLane0[src]

Auto Trait Implementations

impl Send for Interp1CtrlLane0

impl Sync for Interp1CtrlLane0

impl Unpin for Interp1CtrlLane0

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.