Struct esp32c6::SYSTIMER

source ·
pub struct SYSTIMER { /* private fields */ }
Expand description

System Timer

Implementations§

source§

impl SYSTIMER

source

pub const PTR: *const RegisterBlock = {0x6000a000 as *const systimer::RegisterBlock}

Pointer to the register block

source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

source

pub fn conf(&self) -> &CONF

0x00 - Configure system timer clock

source

pub fn unit_op(&self, n: usize) -> &UNIT_OP

0x04..0x0c - system timer unit%s value update register

source

pub fn unit_op_iter(&self) -> impl Iterator<Item = &UNIT_OP>

Iterator for array of: 0x04..0x0c - system timer unit%s value update register

source

pub fn unit0_op(&self) -> &UNIT_OP

0x04 - system timer unit0 value update register

source

pub fn unit1_op(&self) -> &UNIT_OP

0x08 - system timer unit1 value update register

source

pub fn unitload(&self, n: usize) -> &UNITLOAD

0x0c..0x1c - Cluster UNIT%sLOAD, containing UNIT?_LOAD_HI, UNIT?_LOAD_LO

source

pub fn unitload_iter(&self) -> impl Iterator<Item = &UNITLOAD>

Iterator for array of: 0x0c..0x1c - Cluster UNIT%sLOAD, containing UNIT?_LOAD_HI, UNIT?_LOAD_LO

source

pub fn unit0load(&self) -> &UNITLOAD

0x0c..0x14 - Cluster UNIT0LOAD, containing UNIT?_LOAD_HI, UNIT?_LOAD_LO

source

pub fn unit1load(&self) -> &UNITLOAD

0x14..0x1c - Cluster UNIT1LOAD, containing UNIT?_LOAD_HI, UNIT?_LOAD_LO

source

pub fn trgt(&self, n: usize) -> &TRGT

0x1c..0x34 - Cluster TRGT%s, containing TARGET?_HI, TARGET?_LO

source

pub fn trgt_iter(&self) -> impl Iterator<Item = &TRGT>

Iterator for array of: 0x1c..0x34 - Cluster TRGT%s, containing TARGET?_HI, TARGET?_LO

source

pub fn target_conf(&self, n: usize) -> &TARGET_CONF

0x34..0x40 - system timer comp%s target mode register

source

pub fn target_conf_iter(&self) -> impl Iterator<Item = &TARGET_CONF>

Iterator for array of: 0x34..0x40 - system timer comp%s target mode register

source

pub fn target0_conf(&self) -> &TARGET_CONF

0x34 - system timer comp0 target mode register

source

pub fn target1_conf(&self) -> &TARGET_CONF

0x38 - system timer comp1 target mode register

source

pub fn target2_conf(&self) -> &TARGET_CONF

0x3c - system timer comp2 target mode register

source

pub fn unit_value(&self, n: usize) -> &UNIT_VALUE

0x40..0x50 - Cluster UNIT%s_VALUE, containing UNIT?_VALUE_HI, UNIT?_VALUE_LO

source

pub fn unit_value_iter(&self) -> impl Iterator<Item = &UNIT_VALUE>

Iterator for array of: 0x40..0x50 - Cluster UNIT%s_VALUE, containing UNIT?_VALUE_HI, UNIT?_VALUE_LO

source

pub fn unit0_value(&self) -> &UNIT_VALUE

0x40..0x48 - Cluster UNIT0_VALUE, containing UNIT?_VALUE_HI, UNIT?_VALUE_LO

source

pub fn unit1_value(&self) -> &UNIT_VALUE

0x48..0x50 - Cluster UNIT1_VALUE, containing UNIT?_VALUE_HI, UNIT?_VALUE_LO

source

pub fn comp_load(&self, n: usize) -> &COMP_LOAD

0x50..0x5c - system timer comp%s conf sync register

source

pub fn comp_load_iter(&self) -> impl Iterator<Item = &COMP_LOAD>

Iterator for array of: 0x50..0x5c - system timer comp%s conf sync register

source

pub fn comp0_load(&self) -> &COMP_LOAD

0x50 - system timer comp0 conf sync register

source

pub fn comp1_load(&self) -> &COMP_LOAD

0x54 - system timer comp1 conf sync register

source

pub fn comp2_load(&self) -> &COMP_LOAD

0x58 - system timer comp2 conf sync register

source

pub fn unit_load(&self, n: usize) -> &UNIT_LOAD

0x5c..0x64 - system timer unit%s conf sync register

source

pub fn unit_load_iter(&self) -> impl Iterator<Item = &UNIT_LOAD>

Iterator for array of: 0x5c..0x64 - system timer unit%s conf sync register

source

pub fn unit0_load(&self) -> &UNIT_LOAD

0x5c - system timer unit0 conf sync register

source

pub fn unit1_load(&self) -> &UNIT_LOAD

0x60 - system timer unit1 conf sync register

source

pub fn int_ena(&self) -> &INT_ENA

0x64 - systimer interrupt enable register

source

pub fn int_raw(&self) -> &INT_RAW

0x68 - systimer interrupt raw register

source

pub fn int_clr(&self) -> &INT_CLR

0x6c - systimer interrupt clear register

source

pub fn int_st(&self) -> &INT_ST

0x70 - systimer interrupt status register

source

pub fn real_target(&self, n: usize) -> &REAL_TARGET

0x74..0x8c - Cluster REAL_TARGET%s, containing REAL_TARGET?_LO, REAL_TARGET?_HI

source

pub fn real_target_iter(&self) -> impl Iterator<Item = &REAL_TARGET>

Iterator for array of: 0x74..0x8c - Cluster REAL_TARGET%s, containing REAL_TARGET?_LO, REAL_TARGET?_HI

source

pub fn date(&self) -> &DATE

0xfc - system timer version control register

Trait Implementations§

source§

impl Debug for SYSTIMER

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for SYSTIMER

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Send for SYSTIMER

Auto Trait Implementations§

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.