d1_pac/
ledc.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    ledc_ctrl: LEDC_CTRL,
5    led_t01_timing_ctrl: LED_T01_TIMING_CTRL,
6    ledc_data_finish_cnt: LEDC_DATA_FINISH_CNT,
7    led_reset_timing_ctrl: LED_RESET_TIMING_CTRL,
8    ledc_wait_time0_ctrl: LEDC_WAIT_TIME0_CTRL,
9    ledc_data: LEDC_DATA,
10    ledc_dma_ctrl: LEDC_DMA_CTRL,
11    ledc_int_ctrl: LEDC_INT_CTRL,
12    ledc_int_sts: LEDC_INT_STS,
13    _reserved9: [u8; 0x04],
14    ledc_wait_time1_ctrl: LEDC_WAIT_TIME1_CTRL,
15    _reserved10: [u8; 0x04],
16    ledc_fifo_data: [LEDC_FIFO_DATA; 32],
17}
18impl RegisterBlock {
19    #[doc = "0x00 - LEDC Control Register"]
20    #[inline(always)]
21    pub const fn ledc_ctrl(&self) -> &LEDC_CTRL {
22        &self.ledc_ctrl
23    }
24    #[doc = "0x04 - LEDC T0 T1 Timing Control Register"]
25    #[inline(always)]
26    pub const fn led_t01_timing_ctrl(&self) -> &LED_T01_TIMING_CTRL {
27        &self.led_t01_timing_ctrl
28    }
29    #[doc = "0x08 - LEDC Data Finish Counter Register"]
30    #[inline(always)]
31    pub const fn ledc_data_finish_cnt(&self) -> &LEDC_DATA_FINISH_CNT {
32        &self.ledc_data_finish_cnt
33    }
34    #[doc = "0x0c - LEDC Reset Timing Control Register"]
35    #[inline(always)]
36    pub const fn led_reset_timing_ctrl(&self) -> &LED_RESET_TIMING_CTRL {
37        &self.led_reset_timing_ctrl
38    }
39    #[doc = "0x10 - LEDC Wait Time0 Control Register"]
40    #[inline(always)]
41    pub const fn ledc_wait_time0_ctrl(&self) -> &LEDC_WAIT_TIME0_CTRL {
42        &self.ledc_wait_time0_ctrl
43    }
44    #[doc = "0x14 - LEDC Data Register"]
45    #[inline(always)]
46    pub const fn ledc_data(&self) -> &LEDC_DATA {
47        &self.ledc_data
48    }
49    #[doc = "0x18 - LEDC DMA Control Register"]
50    #[inline(always)]
51    pub const fn ledc_dma_ctrl(&self) -> &LEDC_DMA_CTRL {
52        &self.ledc_dma_ctrl
53    }
54    #[doc = "0x1c - LEDC Interrupt Control Register"]
55    #[inline(always)]
56    pub const fn ledc_int_ctrl(&self) -> &LEDC_INT_CTRL {
57        &self.ledc_int_ctrl
58    }
59    #[doc = "0x20 - LEDC Interrupt Status Register"]
60    #[inline(always)]
61    pub const fn ledc_int_sts(&self) -> &LEDC_INT_STS {
62        &self.ledc_int_sts
63    }
64    #[doc = "0x28 - LEDC Wait Time1 Control Register"]
65    #[inline(always)]
66    pub const fn ledc_wait_time1_ctrl(&self) -> &LEDC_WAIT_TIME1_CTRL {
67        &self.ledc_wait_time1_ctrl
68    }
69    #[doc = "0x30..0xb0 - LEDC FIFO Data Register"]
70    #[inline(always)]
71    pub const fn ledc_fifo_data(&self, n: usize) -> &LEDC_FIFO_DATA {
72        &self.ledc_fifo_data[n]
73    }
74}
75#[doc = "ledc_ctrl (rw) register accessor: LEDC Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ledc_ctrl::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ledc_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ledc_ctrl`] module"]
76pub type LEDC_CTRL = crate::Reg<ledc_ctrl::LEDC_CTRL_SPEC>;
77#[doc = "LEDC Control Register"]
78pub mod ledc_ctrl;
79#[doc = "led_t01_timing_ctrl (rw) register accessor: LEDC T0 T1 Timing Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`led_t01_timing_ctrl::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`led_t01_timing_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@led_t01_timing_ctrl`] module"]
80pub type LED_T01_TIMING_CTRL = crate::Reg<led_t01_timing_ctrl::LED_T01_TIMING_CTRL_SPEC>;
81#[doc = "LEDC T0 T1 Timing Control Register"]
82pub mod led_t01_timing_ctrl;
83#[doc = "ledc_data_finish_cnt (rw) register accessor: LEDC Data Finish Counter Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ledc_data_finish_cnt::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ledc_data_finish_cnt::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ledc_data_finish_cnt`] module"]
84pub type LEDC_DATA_FINISH_CNT = crate::Reg<ledc_data_finish_cnt::LEDC_DATA_FINISH_CNT_SPEC>;
85#[doc = "LEDC Data Finish Counter Register"]
86pub mod ledc_data_finish_cnt;
87#[doc = "led_reset_timing_ctrl (rw) register accessor: LEDC Reset Timing Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`led_reset_timing_ctrl::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`led_reset_timing_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@led_reset_timing_ctrl`] module"]
88pub type LED_RESET_TIMING_CTRL = crate::Reg<led_reset_timing_ctrl::LED_RESET_TIMING_CTRL_SPEC>;
89#[doc = "LEDC Reset Timing Control Register"]
90pub mod led_reset_timing_ctrl;
91#[doc = "ledc_wait_time0_ctrl (rw) register accessor: LEDC Wait Time0 Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ledc_wait_time0_ctrl::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ledc_wait_time0_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ledc_wait_time0_ctrl`] module"]
92pub type LEDC_WAIT_TIME0_CTRL = crate::Reg<ledc_wait_time0_ctrl::LEDC_WAIT_TIME0_CTRL_SPEC>;
93#[doc = "LEDC Wait Time0 Control Register"]
94pub mod ledc_wait_time0_ctrl;
95#[doc = "ledc_data (w) register accessor: LEDC Data Register\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ledc_data::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ledc_data`] module"]
96pub type LEDC_DATA = crate::Reg<ledc_data::LEDC_DATA_SPEC>;
97#[doc = "LEDC Data Register"]
98pub mod ledc_data;
99#[doc = "ledc_dma_ctrl (rw) register accessor: LEDC DMA Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ledc_dma_ctrl::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ledc_dma_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ledc_dma_ctrl`] module"]
100pub type LEDC_DMA_CTRL = crate::Reg<ledc_dma_ctrl::LEDC_DMA_CTRL_SPEC>;
101#[doc = "LEDC DMA Control Register"]
102pub mod ledc_dma_ctrl;
103#[doc = "ledc_int_ctrl (rw) register accessor: LEDC Interrupt Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ledc_int_ctrl::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ledc_int_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ledc_int_ctrl`] module"]
104pub type LEDC_INT_CTRL = crate::Reg<ledc_int_ctrl::LEDC_INT_CTRL_SPEC>;
105#[doc = "LEDC Interrupt Control Register"]
106pub mod ledc_int_ctrl;
107#[doc = "ledc_int_sts (rw) register accessor: LEDC Interrupt Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ledc_int_sts::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ledc_int_sts::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ledc_int_sts`] module"]
108pub type LEDC_INT_STS = crate::Reg<ledc_int_sts::LEDC_INT_STS_SPEC>;
109#[doc = "LEDC Interrupt Status Register"]
110pub mod ledc_int_sts;
111#[doc = "ledc_wait_time1_ctrl (rw) register accessor: LEDC Wait Time1 Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ledc_wait_time1_ctrl::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ledc_wait_time1_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ledc_wait_time1_ctrl`] module"]
112pub type LEDC_WAIT_TIME1_CTRL = crate::Reg<ledc_wait_time1_ctrl::LEDC_WAIT_TIME1_CTRL_SPEC>;
113#[doc = "LEDC Wait Time1 Control Register"]
114pub mod ledc_wait_time1_ctrl;
115#[doc = "ledc_fifo_data (r) register accessor: LEDC FIFO Data Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ledc_fifo_data::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ledc_fifo_data`] module"]
116pub type LEDC_FIFO_DATA = crate::Reg<ledc_fifo_data::LEDC_FIFO_DATA_SPEC>;
117#[doc = "LEDC FIFO Data Register"]
118pub mod ledc_fifo_data;