1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 hsch: [HSCH; 8],
6 lsch: [LSCH; 8],
7 hstimer: [HSTIMER; 4],
8 lstimer: [LSTIMER; 4],
9 int_raw: INT_RAW,
10 int_st: INT_ST,
11 int_ena: INT_ENA,
12 int_clr: INT_CLR,
13 conf: CONF,
14 _reserved9: [u8; 0x68],
15 date: DATE,
16}
17impl RegisterBlock {
18 #[doc = "0x00..0xa0 - Cluster HSCH%s, containing HSCH?_CONF0, HSCH?_HPOINT, HSCH?_DUTY, HSCH?_CONF1, HSCH?_DUTY_R"]
19 #[inline(always)]
20 pub const fn hsch(&self, n: usize) -> &HSCH {
21 &self.hsch[n]
22 }
23 #[doc = "Iterator for array of:"]
24 #[doc = "0x00..0xa0 - Cluster HSCH%s, containing HSCH?_CONF0, HSCH?_HPOINT, HSCH?_DUTY, HSCH?_CONF1, HSCH?_DUTY_R"]
25 #[inline(always)]
26 pub fn hsch_iter(&self) -> impl Iterator<Item = &HSCH> {
27 self.hsch.iter()
28 }
29 #[doc = "0xa0..0x140 - Cluster LSCH%s, containing LSCH?_CONF0, LSCH?_HPOINT, LSCH?_DUTY, LSCH?_CONF1, LSCH?_DUTY_R"]
30 #[inline(always)]
31 pub const fn lsch(&self, n: usize) -> &LSCH {
32 &self.lsch[n]
33 }
34 #[doc = "Iterator for array of:"]
35 #[doc = "0xa0..0x140 - Cluster LSCH%s, containing LSCH?_CONF0, LSCH?_HPOINT, LSCH?_DUTY, LSCH?_CONF1, LSCH?_DUTY_R"]
36 #[inline(always)]
37 pub fn lsch_iter(&self) -> impl Iterator<Item = &LSCH> {
38 self.lsch.iter()
39 }
40 #[doc = "0x140..0x160 - Cluster HSTIMER%s, containing HSTIMER?_CONF, HSTIMER?_VALUE"]
41 #[inline(always)]
42 pub const fn hstimer(&self, n: usize) -> &HSTIMER {
43 &self.hstimer[n]
44 }
45 #[doc = "Iterator for array of:"]
46 #[doc = "0x140..0x160 - Cluster HSTIMER%s, containing HSTIMER?_CONF, HSTIMER?_VALUE"]
47 #[inline(always)]
48 pub fn hstimer_iter(&self) -> impl Iterator<Item = &HSTIMER> {
49 self.hstimer.iter()
50 }
51 #[doc = "0x160..0x180 - Cluster LSTIMER%s, containing LSTIMER?_CONF, LSTIMER?_VALUE"]
52 #[inline(always)]
53 pub const fn lstimer(&self, n: usize) -> &LSTIMER {
54 &self.lstimer[n]
55 }
56 #[doc = "Iterator for array of:"]
57 #[doc = "0x160..0x180 - Cluster LSTIMER%s, containing LSTIMER?_CONF, LSTIMER?_VALUE"]
58 #[inline(always)]
59 pub fn lstimer_iter(&self) -> impl Iterator<Item = &LSTIMER> {
60 self.lstimer.iter()
61 }
62 #[doc = "0x180 - "]
63 #[inline(always)]
64 pub const fn int_raw(&self) -> &INT_RAW {
65 &self.int_raw
66 }
67 #[doc = "0x184 - "]
68 #[inline(always)]
69 pub const fn int_st(&self) -> &INT_ST {
70 &self.int_st
71 }
72 #[doc = "0x188 - "]
73 #[inline(always)]
74 pub const fn int_ena(&self) -> &INT_ENA {
75 &self.int_ena
76 }
77 #[doc = "0x18c - "]
78 #[inline(always)]
79 pub const fn int_clr(&self) -> &INT_CLR {
80 &self.int_clr
81 }
82 #[doc = "0x190 - "]
83 #[inline(always)]
84 pub const fn conf(&self) -> &CONF {
85 &self.conf
86 }
87 #[doc = "0x1fc - "]
88 #[inline(always)]
89 pub const fn date(&self) -> &DATE {
90 &self.date
91 }
92}
93#[doc = "Cluster HSCH%s, containing HSCH?_CONF0, HSCH?_HPOINT, HSCH?_DUTY, HSCH?_CONF1, HSCH?_DUTY_R"]
94pub use self::hsch::HSCH;
95#[doc = r"Cluster"]
96#[doc = "Cluster HSCH%s, containing HSCH?_CONF0, HSCH?_HPOINT, HSCH?_DUTY, HSCH?_CONF1, HSCH?_DUTY_R"]
97pub mod hsch;
98#[doc = "Cluster LSCH%s, containing LSCH?_CONF0, LSCH?_HPOINT, LSCH?_DUTY, LSCH?_CONF1, LSCH?_DUTY_R"]
99pub use self::lsch::LSCH;
100#[doc = r"Cluster"]
101#[doc = "Cluster LSCH%s, containing LSCH?_CONF0, LSCH?_HPOINT, LSCH?_DUTY, LSCH?_CONF1, LSCH?_DUTY_R"]
102pub mod lsch;
103#[doc = "Cluster HSTIMER%s, containing HSTIMER?_CONF, HSTIMER?_VALUE"]
104pub use self::hstimer::HSTIMER;
105#[doc = r"Cluster"]
106#[doc = "Cluster HSTIMER%s, containing HSTIMER?_CONF, HSTIMER?_VALUE"]
107pub mod hstimer;
108#[doc = "Cluster LSTIMER%s, containing LSTIMER?_CONF, LSTIMER?_VALUE"]
109pub use self::lstimer::LSTIMER;
110#[doc = r"Cluster"]
111#[doc = "Cluster LSTIMER%s, containing LSTIMER?_CONF, LSTIMER?_VALUE"]
112pub mod lstimer;
113#[doc = "INT_RAW (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`int_raw::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`int_raw::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_raw`] module"]
114pub type INT_RAW = crate::Reg<int_raw::INT_RAW_SPEC>;
115#[doc = ""]
116pub mod int_raw;
117#[doc = "INT_ST (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`int_st::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_st`] module"]
118pub type INT_ST = crate::Reg<int_st::INT_ST_SPEC>;
119#[doc = ""]
120pub mod int_st;
121#[doc = "INT_ENA (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`int_ena::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`int_ena::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_ena`] module"]
122pub type INT_ENA = crate::Reg<int_ena::INT_ENA_SPEC>;
123#[doc = ""]
124pub mod int_ena;
125#[doc = "INT_CLR (w) register accessor: \n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`int_clr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_clr`] module"]
126pub type INT_CLR = crate::Reg<int_clr::INT_CLR_SPEC>;
127#[doc = ""]
128pub mod int_clr;
129#[doc = "CONF (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`conf::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@conf`] module"]
130pub type CONF = crate::Reg<conf::CONF_SPEC>;
131#[doc = ""]
132pub mod conf;
133#[doc = "DATE (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`date::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`date::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@date`] module"]
134pub type DATE = crate::Reg<date::DATE_SPEC>;
135#[doc = ""]
136pub mod date;