Struct rp_pac::sio::regs::Interp1ctrlLane0
source · #[repr(transparent)]pub struct Interp1ctrlLane0(pub u32);
Expand description
Control register for lane 0
Tuple Fields§
§0: u32
Implementations§
source§impl Interp1ctrlLane0
impl Interp1ctrlLane0
sourcepub const fn mask_lsb(&self) -> u8
pub const fn mask_lsb(&self) -> u8
The least-significant bit allowed to pass by the mask (inclusive)
sourcepub fn set_mask_lsb(&mut self, val: u8)
pub fn set_mask_lsb(&mut self, val: u8)
The least-significant bit allowed to pass by the mask (inclusive)
sourcepub const fn mask_msb(&self) -> u8
pub const fn mask_msb(&self) -> u8
The most-significant bit allowed to pass by the mask (inclusive) Setting MSB < LSB may cause chip to turn inside-out
sourcepub fn set_mask_msb(&mut self, val: u8)
pub fn set_mask_msb(&mut self, val: u8)
The most-significant bit allowed to pass by the mask (inclusive) Setting MSB < LSB may cause chip to turn inside-out
sourcepub const fn signed(&self) -> bool
pub const fn signed(&self) -> bool
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.
sourcepub fn set_signed(&mut self, val: bool)
pub fn set_signed(&mut self, val: bool)
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.
sourcepub const fn cross_input(&self) -> bool
pub const fn cross_input(&self) -> bool
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)
sourcepub fn set_cross_input(&mut self, val: bool)
pub fn set_cross_input(&mut self, val: bool)
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)
sourcepub const fn cross_result(&self) -> bool
pub const fn cross_result(&self) -> bool
If 1, feed the opposite lane’s result into this lane’s accumulator on POP.
sourcepub fn set_cross_result(&mut self, val: bool)
pub fn set_cross_result(&mut self, val: bool)
If 1, feed the opposite lane’s result into this lane’s accumulator on POP.
sourcepub const fn add_raw(&self) -> bool
pub const fn add_raw(&self) -> bool
If 1, mask + shift is bypassed for LANE0 result. This does not affect FULL result.
sourcepub fn set_add_raw(&mut self, val: bool)
pub fn set_add_raw(&mut self, val: bool)
If 1, mask + shift is bypassed for LANE0 result. This does not affect FULL result.
sourcepub const fn force_msb(&self) -> u8
pub const fn force_msb(&self) -> u8
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.
sourcepub fn set_force_msb(&mut self, val: u8)
pub fn set_force_msb(&mut self, val: u8)
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.
sourcepub const fn clamp(&self) -> bool
pub const fn clamp(&self) -> bool
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
sourcepub fn set_clamp(&mut self, val: bool)
pub fn set_clamp(&mut self, val: bool)
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
sourcepub fn set_overf0(&mut self, val: bool)
pub fn set_overf0(&mut self, val: bool)
Indicates if any masked-off MSBs in ACCUM0 are set.
sourcepub fn set_overf1(&mut self, val: bool)
pub fn set_overf1(&mut self, val: bool)
Indicates if any masked-off MSBs in ACCUM1 are set.
Trait Implementations§
source§impl Clone for Interp1ctrlLane0
impl Clone for Interp1ctrlLane0
source§fn clone(&self) -> Interp1ctrlLane0
fn clone(&self) -> Interp1ctrlLane0
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Default for Interp1ctrlLane0
impl Default for Interp1ctrlLane0
source§fn default() -> Interp1ctrlLane0
fn default() -> Interp1ctrlLane0
source§impl PartialEq for Interp1ctrlLane0
impl PartialEq for Interp1ctrlLane0
impl Copy for Interp1ctrlLane0
impl Eq for Interp1ctrlLane0
impl StructuralPartialEq for Interp1ctrlLane0
Auto Trait Implementations§
impl Freeze for Interp1ctrlLane0
impl RefUnwindSafe for Interp1ctrlLane0
impl Send for Interp1ctrlLane0
impl Sync for Interp1ctrlLane0
impl Unpin for Interp1ctrlLane0
impl UnwindSafe for Interp1ctrlLane0
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
)