1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#[repr(C)]
#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
#[doc = "Cluster CH%s, containing GEN?_STMP_CFG, GEN?_TSTMP_A, GEN?_TSTMP_B, GEN?_CFG0, GEN?_FORCE, GEN?_A, GEN?_B, DT?_CFG, DT?_FED_CFG, DT?_RED_CFG, CARRIER?_CFG, FH?_CFG0, FH?_CFG1, FH?_STATUS"]
pub struct CH {
    gen_stmp_cfg: GEN_STMP_CFG,
    gen_tstmp_a: GEN_TSTMP_A,
    gen_tstmp_b: GEN_TSTMP_B,
    gen_cfg0: GEN_CFG0,
    gen_force: GEN_FORCE,
    gen: [GEN; 2],
    dt_cfg: DT_CFG,
    dt_fed_cfg: DT_FED_CFG,
    dt_red_cfg: DT_RED_CFG,
    carrier_cfg: CARRIER_CFG,
    fh_cfg0: FH_CFG0,
    fh_cfg1: FH_CFG1,
    fh_status: FH_STATUS,
}
impl CH {
    #[doc = "0x00 - Transfer status and update method for time stamp registers A and B"]
    #[inline(always)]
    pub const fn gen_stmp_cfg(&self) -> &GEN_STMP_CFG {
        &self.gen_stmp_cfg
    }
    #[doc = "0x04 - Shadow register for register A."]
    #[inline(always)]
    pub const fn gen_tstmp_a(&self) -> &GEN_TSTMP_A {
        &self.gen_tstmp_a
    }
    #[doc = "0x08 - Shadow register for register B."]
    #[inline(always)]
    pub const fn gen_tstmp_b(&self) -> &GEN_TSTMP_B {
        &self.gen_tstmp_b
    }
    #[doc = "0x0c - "]
    #[inline(always)]
    pub const fn gen_cfg0(&self) -> &GEN_CFG0 {
        &self.gen_cfg0
    }
    #[doc = "0x10 - Permissives to force PWMxA and PWMxB outputs by software"]
    #[inline(always)]
    pub const fn gen_force(&self) -> &GEN_FORCE {
        &self.gen_force
    }
    #[doc = "0x14..0x1c - Actions triggered by events on PWMx%s"]
    #[inline(always)]
    pub const fn gen(&self, n: usize) -> &GEN {
        &self.gen[n]
    }
    #[doc = "Iterator for array of:"]
    #[doc = "0x14..0x1c - Actions triggered by events on PWMx%s"]
    #[inline(always)]
    pub fn gen_iter(&self) -> impl Iterator<Item = &GEN> {
        self.gen.iter()
    }
    #[doc = "0x14 - Actions triggered by events on PWMxA"]
    #[inline(always)]
    pub const fn gena(&self) -> &GEN {
        self.gen(0)
    }
    #[doc = "0x18 - Actions triggered by events on PWMxB"]
    #[inline(always)]
    pub const fn genb(&self) -> &GEN {
        self.gen(1)
    }
    #[doc = "0x1c - Dead time type selection and configuration"]
    #[inline(always)]
    pub const fn dt_cfg(&self) -> &DT_CFG {
        &self.dt_cfg
    }
    #[doc = "0x20 - Shadow register for falling edge delay (FED)."]
    #[inline(always)]
    pub const fn dt_fed_cfg(&self) -> &DT_FED_CFG {
        &self.dt_fed_cfg
    }
    #[doc = "0x24 - Shadow register for rising edge delay (RED)."]
    #[inline(always)]
    pub const fn dt_red_cfg(&self) -> &DT_RED_CFG {
        &self.dt_red_cfg
    }
    #[doc = "0x28 - Carrier enable and configuratoin"]
    #[inline(always)]
    pub const fn carrier_cfg(&self) -> &CARRIER_CFG {
        &self.carrier_cfg
    }
    #[doc = "0x2c - Actions on PWM0A and PWM0B trip events"]
    #[inline(always)]
    pub const fn fh_cfg0(&self) -> &FH_CFG0 {
        &self.fh_cfg0
    }
    #[doc = "0x30 - Software triggers for fault handler actions"]
    #[inline(always)]
    pub const fn fh_cfg1(&self) -> &FH_CFG1 {
        &self.fh_cfg1
    }
    #[doc = "0x34 - Status of fault events."]
    #[inline(always)]
    pub const fn fh_status(&self) -> &FH_STATUS {
        &self.fh_status
    }
}
#[doc = "GEN_STMP_CFG (rw) register accessor: Transfer status and update method for time stamp registers A and B\n\nYou can [`read`](crate::Reg::read) this register and get [`gen_stmp_cfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gen_stmp_cfg::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@gen_stmp_cfg`] module"]
pub type GEN_STMP_CFG = crate::Reg<gen_stmp_cfg::GEN_STMP_CFG_SPEC>;
#[doc = "Transfer status and update method for time stamp registers A and B"]
pub mod gen_stmp_cfg;
#[doc = "GEN_TSTMP_A (rw) register accessor: Shadow register for register A.\n\nYou can [`read`](crate::Reg::read) this register and get [`gen_tstmp_a::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gen_tstmp_a::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@gen_tstmp_a`] module"]
pub type GEN_TSTMP_A = crate::Reg<gen_tstmp_a::GEN_TSTMP_A_SPEC>;
#[doc = "Shadow register for register A."]
pub mod gen_tstmp_a;
#[doc = "GEN_TSTMP_B (rw) register accessor: Shadow register for register B.\n\nYou can [`read`](crate::Reg::read) this register and get [`gen_tstmp_b::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gen_tstmp_b::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@gen_tstmp_b`] module"]
pub type GEN_TSTMP_B = crate::Reg<gen_tstmp_b::GEN_TSTMP_B_SPEC>;
#[doc = "Shadow register for register B."]
pub mod gen_tstmp_b;
#[doc = "GEN_CFG0 (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`gen_cfg0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gen_cfg0::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@gen_cfg0`] module"]
pub type GEN_CFG0 = crate::Reg<gen_cfg0::GEN_CFG0_SPEC>;
#[doc = ""]
pub mod gen_cfg0;
#[doc = "GEN_FORCE (rw) register accessor: Permissives to force PWMxA and PWMxB outputs by software\n\nYou can [`read`](crate::Reg::read) this register and get [`gen_force::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gen_force::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@gen_force`] module"]
pub type GEN_FORCE = crate::Reg<gen_force::GEN_FORCE_SPEC>;
#[doc = "Permissives to force PWMxA and PWMxB outputs by software"]
pub mod gen_force;
#[doc = "GEN (rw) register accessor: Actions triggered by events on PWMx%s\n\nYou can [`read`](crate::Reg::read) this register and get [`gen::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gen::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@gen`] module"]
pub type GEN = crate::Reg<gen::GEN_SPEC>;
#[doc = "Actions triggered by events on PWMx%s"]
pub mod gen;
#[doc = "DT_CFG (rw) register accessor: Dead time type selection and configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`dt_cfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dt_cfg::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@dt_cfg`] module"]
pub type DT_CFG = crate::Reg<dt_cfg::DT_CFG_SPEC>;
#[doc = "Dead time type selection and configuration"]
pub mod dt_cfg;
#[doc = "DT_FED_CFG (rw) register accessor: Shadow register for falling edge delay (FED).\n\nYou can [`read`](crate::Reg::read) this register and get [`dt_fed_cfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dt_fed_cfg::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@dt_fed_cfg`] module"]
pub type DT_FED_CFG = crate::Reg<dt_fed_cfg::DT_FED_CFG_SPEC>;
#[doc = "Shadow register for falling edge delay (FED)."]
pub mod dt_fed_cfg;
#[doc = "DT_RED_CFG (rw) register accessor: Shadow register for rising edge delay (RED).\n\nYou can [`read`](crate::Reg::read) this register and get [`dt_red_cfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dt_red_cfg::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@dt_red_cfg`] module"]
pub type DT_RED_CFG = crate::Reg<dt_red_cfg::DT_RED_CFG_SPEC>;
#[doc = "Shadow register for rising edge delay (RED)."]
pub mod dt_red_cfg;
#[doc = "CARRIER_CFG (rw) register accessor: Carrier enable and configuratoin\n\nYou can [`read`](crate::Reg::read) this register and get [`carrier_cfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`carrier_cfg::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@carrier_cfg`] module"]
pub type CARRIER_CFG = crate::Reg<carrier_cfg::CARRIER_CFG_SPEC>;
#[doc = "Carrier enable and configuratoin"]
pub mod carrier_cfg;
#[doc = "FH_CFG0 (rw) register accessor: Actions on PWM0A and PWM0B trip events\n\nYou can [`read`](crate::Reg::read) this register and get [`fh_cfg0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fh_cfg0::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@fh_cfg0`] module"]
pub type FH_CFG0 = crate::Reg<fh_cfg0::FH_CFG0_SPEC>;
#[doc = "Actions on PWM0A and PWM0B trip events"]
pub mod fh_cfg0;
#[doc = "FH_CFG1 (rw) register accessor: Software triggers for fault handler actions\n\nYou can [`read`](crate::Reg::read) this register and get [`fh_cfg1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`fh_cfg1::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@fh_cfg1`] module"]
pub type FH_CFG1 = crate::Reg<fh_cfg1::FH_CFG1_SPEC>;
#[doc = "Software triggers for fault handler actions"]
pub mod fh_cfg1;
#[doc = "FH_STATUS (r) register accessor: Status of fault events.\n\nYou can [`read`](crate::Reg::read) this register and get [`fh_status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fh_status`] module"]
pub type FH_STATUS = crate::Reg<fh_status::FH_STATUS_SPEC>;
#[doc = "Status of fault events."]
pub mod fh_status;