Struct rp2040_pac2::sio::regs::Interp0CtrlLane0 [−][src]
Control register for lane 0
Implementations
impl Interp0CtrlLane0
[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 blend(&self) -> bool
[src]
Only present on INTERP0 on each core. If BLEND mode is enabled: - LANE1 result is a linear interpolation between BASE0 and BASE1, controlled by the 8 LSBs of lane 1 shift and mask value (a fractional number between 0 and 255/256ths) - LANE0 result does not have BASE0 added (yields only the 8 LSBs of lane 1 shift+mask value) - FULL result does not have lane 1 shift+mask value added (BASE2 + lane 0 shift+mask) LANE1 SIGNED flag controls whether the interpolation is signed or unsigned.
pub fn set_blend(&mut self, val: bool)
[src]
Only present on INTERP0 on each core. If BLEND mode is enabled: - LANE1 result is a linear interpolation between BASE0 and BASE1, controlled by the 8 LSBs of lane 1 shift and mask value (a fractional number between 0 and 255/256ths) - LANE0 result does not have BASE0 added (yields only the 8 LSBs of lane 1 shift+mask value) - FULL result does not have lane 1 shift+mask value added (BASE2 + lane 0 shift+mask) LANE1 SIGNED flag controls whether the interpolation is signed or unsigned.
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 Interp0CtrlLane0
[src]
fn clone(&self) -> Interp0CtrlLane0
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for Interp0CtrlLane0
[src]
impl Default for Interp0CtrlLane0
[src]
fn default() -> Interp0CtrlLane0
[src]
Auto Trait Implementations
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,