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
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Channel Status Register"]
    pub chsr: CHSR,
    #[doc = "0x04 - Channel Enable Register"]
    pub cher: CHER,
    #[doc = "0x08 - Channel Disable Register"]
    pub chdr: CHDR,
    _reserved3: [u8; 0x04],
    #[doc = "0x10 - Software Event"]
    pub sev: SEV,
    #[doc = "0x14 - Channel / User Busy"]
    pub busy: BUSY,
    _reserved5: [u8; 0x08],
    #[doc = "0x20 - Trigger Interrupt Mask Enable Register"]
    pub trier: TRIER,
    #[doc = "0x24 - Trigger Interrupt Mask Disable Register"]
    pub tridr: TRIDR,
    #[doc = "0x28 - Trigger Interrupt Mask Register"]
    pub trimr: TRIMR,
    _reserved8: [u8; 0x04],
    #[doc = "0x30 - Trigger Status Register"]
    pub trsr: TRSR,
    #[doc = "0x34 - Trigger Status Clear Register"]
    pub trscr: TRSCR,
    _reserved10: [u8; 0x08],
    #[doc = "0x40 - Overrun Interrupt Mask Enable Register"]
    pub ovier: OVIER,
    #[doc = "0x44 - Overrun Interrupt Mask Disable Register"]
    pub ovidr: OVIDR,
    #[doc = "0x48 - Overrun Interrupt Mask Register"]
    pub ovimr: OVIMR,
    _reserved13: [u8; 0x04],
    #[doc = "0x50 - Overrun Status Register"]
    pub ovsr: OVSR,
    #[doc = "0x54 - Overrun Status Clear Register"]
    pub ovscr: OVSCR,
    _reserved15: [u8; 0xa8],
    #[doc = "0x100..0x14c - Channel Multiplexer"]
    pub chmx: [CHMX; 19],
    _reserved16: [u8; 0xb4],
    #[doc = "0x200..0x27c - Event Shaper"]
    pub evs: [EVS; 31],
    _reserved17: [u8; 0x84],
    #[doc = "0x300 - Input Glitch Filter Divider Register"]
    pub igfdr: IGFDR,
    _reserved18: [u8; 0xf4],
    #[doc = "0x3f8 - Parameter"]
    pub parameter: PARAMETER,
    #[doc = "0x3fc - Version"]
    pub version: VERSION,
}
#[doc = "BUSY (r) register accessor: an alias for `Reg<BUSY_SPEC>`"]
pub type BUSY = crate::Reg<busy::BUSY_SPEC>;
#[doc = "Channel / User Busy"]
pub mod busy;
#[doc = "CHDR (w) register accessor: an alias for `Reg<CHDR_SPEC>`"]
pub type CHDR = crate::Reg<chdr::CHDR_SPEC>;
#[doc = "Channel Disable Register"]
pub mod chdr;
#[doc = "CHER (w) register accessor: an alias for `Reg<CHER_SPEC>`"]
pub type CHER = crate::Reg<cher::CHER_SPEC>;
#[doc = "Channel Enable Register"]
pub mod cher;
#[doc = "CHMX (rw) register accessor: an alias for `Reg<CHMX_SPEC>`"]
pub type CHMX = crate::Reg<chmx::CHMX_SPEC>;
#[doc = "Channel Multiplexer"]
pub mod chmx;
#[doc = "CHSR (r) register accessor: an alias for `Reg<CHSR_SPEC>`"]
pub type CHSR = crate::Reg<chsr::CHSR_SPEC>;
#[doc = "Channel Status Register"]
pub mod chsr;
#[doc = "EVS (rw) register accessor: an alias for `Reg<EVS_SPEC>`"]
pub type EVS = crate::Reg<evs::EVS_SPEC>;
#[doc = "Event Shaper"]
pub mod evs;
#[doc = "IGFDR (rw) register accessor: an alias for `Reg<IGFDR_SPEC>`"]
pub type IGFDR = crate::Reg<igfdr::IGFDR_SPEC>;
#[doc = "Input Glitch Filter Divider Register"]
pub mod igfdr;
#[doc = "OVIDR (w) register accessor: an alias for `Reg<OVIDR_SPEC>`"]
pub type OVIDR = crate::Reg<ovidr::OVIDR_SPEC>;
#[doc = "Overrun Interrupt Mask Disable Register"]
pub mod ovidr;
#[doc = "OVIER (w) register accessor: an alias for `Reg<OVIER_SPEC>`"]
pub type OVIER = crate::Reg<ovier::OVIER_SPEC>;
#[doc = "Overrun Interrupt Mask Enable Register"]
pub mod ovier;
#[doc = "OVIMR (r) register accessor: an alias for `Reg<OVIMR_SPEC>`"]
pub type OVIMR = crate::Reg<ovimr::OVIMR_SPEC>;
#[doc = "Overrun Interrupt Mask Register"]
pub mod ovimr;
#[doc = "OVSCR (w) register accessor: an alias for `Reg<OVSCR_SPEC>`"]
pub type OVSCR = crate::Reg<ovscr::OVSCR_SPEC>;
#[doc = "Overrun Status Clear Register"]
pub mod ovscr;
#[doc = "OVSR (r) register accessor: an alias for `Reg<OVSR_SPEC>`"]
pub type OVSR = crate::Reg<ovsr::OVSR_SPEC>;
#[doc = "Overrun Status Register"]
pub mod ovsr;
#[doc = "PARAMETER (r) register accessor: an alias for `Reg<PARAMETER_SPEC>`"]
pub type PARAMETER = crate::Reg<parameter::PARAMETER_SPEC>;
#[doc = "Parameter"]
pub mod parameter;
#[doc = "SEV (w) register accessor: an alias for `Reg<SEV_SPEC>`"]
pub type SEV = crate::Reg<sev::SEV_SPEC>;
#[doc = "Software Event"]
pub mod sev;
#[doc = "TRIDR (w) register accessor: an alias for `Reg<TRIDR_SPEC>`"]
pub type TRIDR = crate::Reg<tridr::TRIDR_SPEC>;
#[doc = "Trigger Interrupt Mask Disable Register"]
pub mod tridr;
#[doc = "TRIER (w) register accessor: an alias for `Reg<TRIER_SPEC>`"]
pub type TRIER = crate::Reg<trier::TRIER_SPEC>;
#[doc = "Trigger Interrupt Mask Enable Register"]
pub mod trier;
#[doc = "TRIMR (r) register accessor: an alias for `Reg<TRIMR_SPEC>`"]
pub type TRIMR = crate::Reg<trimr::TRIMR_SPEC>;
#[doc = "Trigger Interrupt Mask Register"]
pub mod trimr;
#[doc = "TRSCR (w) register accessor: an alias for `Reg<TRSCR_SPEC>`"]
pub type TRSCR = crate::Reg<trscr::TRSCR_SPEC>;
#[doc = "Trigger Status Clear Register"]
pub mod trscr;
#[doc = "TRSR (r) register accessor: an alias for `Reg<TRSR_SPEC>`"]
pub type TRSR = crate::Reg<trsr::TRSR_SPEC>;
#[doc = "Trigger Status Register"]
pub mod trsr;
#[doc = "VERSION (r) register accessor: an alias for `Reg<VERSION_SPEC>`"]
pub type VERSION = crate::Reg<version::VERSION_SPEC>;
#[doc = "Version"]
pub mod version;