esp32/
ledc.rs

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;