1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - Start comparator"]
5 pub tasks_start: TASKS_START,
6 #[doc = "0x04 - Stop comparator"]
7 pub tasks_stop: TASKS_STOP,
8 #[doc = "0x08 - Sample comparator value"]
9 pub tasks_sample: TASKS_SAMPLE,
10 _reserved3: [u8; 0xf4],
11 #[doc = "0x100 - COMP is ready and output is valid"]
12 pub events_ready: EVENTS_READY,
13 #[doc = "0x104 - Downward crossing"]
14 pub events_down: EVENTS_DOWN,
15 #[doc = "0x108 - Upward crossing"]
16 pub events_up: EVENTS_UP,
17 #[doc = "0x10c - Downward or upward crossing"]
18 pub events_cross: EVENTS_CROSS,
19 _reserved7: [u8; 0xf0],
20 #[doc = "0x200 - Shortcut register"]
21 pub shorts: SHORTS,
22 _reserved8: [u8; 0xfc],
23 #[doc = "0x300 - Enable or disable interrupt"]
24 pub inten: INTEN,
25 #[doc = "0x304 - Enable interrupt"]
26 pub intenset: INTENSET,
27 #[doc = "0x308 - Disable interrupt"]
28 pub intenclr: INTENCLR,
29 _reserved11: [u8; 0xf4],
30 #[doc = "0x400 - Compare result"]
31 pub result: RESULT,
32 _reserved12: [u8; 0xfc],
33 #[doc = "0x500 - COMP enable"]
34 pub enable: ENABLE,
35 #[doc = "0x504 - Pin select"]
36 pub psel: PSEL,
37 #[doc = "0x508 - Reference source select for single-ended mode"]
38 pub refsel: REFSEL,
39 #[doc = "0x50c - External reference select"]
40 pub extrefsel: EXTREFSEL,
41 _reserved16: [u8; 0x20],
42 #[doc = "0x530 - Threshold configuration for hysteresis unit"]
43 pub th: TH,
44 #[doc = "0x534 - Mode configuration"]
45 pub mode: MODE,
46 #[doc = "0x538 - Comparator hysteresis enable"]
47 pub hyst: HYST,
48 #[doc = "0x53c - Current source select on analog input"]
49 pub isource: ISOURCE,
50}
51#[doc = "TASKS_START (w) register accessor: an alias for `Reg<TASKS_START_SPEC>`"]
52pub type TASKS_START = crate::Reg<tasks_start::TASKS_START_SPEC>;
53#[doc = "Start comparator"]
54pub mod tasks_start;
55#[doc = "TASKS_STOP (w) register accessor: an alias for `Reg<TASKS_STOP_SPEC>`"]
56pub type TASKS_STOP = crate::Reg<tasks_stop::TASKS_STOP_SPEC>;
57#[doc = "Stop comparator"]
58pub mod tasks_stop;
59#[doc = "TASKS_SAMPLE (w) register accessor: an alias for `Reg<TASKS_SAMPLE_SPEC>`"]
60pub type TASKS_SAMPLE = crate::Reg<tasks_sample::TASKS_SAMPLE_SPEC>;
61#[doc = "Sample comparator value"]
62pub mod tasks_sample;
63#[doc = "EVENTS_READY (rw) register accessor: an alias for `Reg<EVENTS_READY_SPEC>`"]
64pub type EVENTS_READY = crate::Reg<events_ready::EVENTS_READY_SPEC>;
65#[doc = "COMP is ready and output is valid"]
66pub mod events_ready;
67#[doc = "EVENTS_DOWN (rw) register accessor: an alias for `Reg<EVENTS_DOWN_SPEC>`"]
68pub type EVENTS_DOWN = crate::Reg<events_down::EVENTS_DOWN_SPEC>;
69#[doc = "Downward crossing"]
70pub mod events_down;
71#[doc = "EVENTS_UP (rw) register accessor: an alias for `Reg<EVENTS_UP_SPEC>`"]
72pub type EVENTS_UP = crate::Reg<events_up::EVENTS_UP_SPEC>;
73#[doc = "Upward crossing"]
74pub mod events_up;
75#[doc = "EVENTS_CROSS (rw) register accessor: an alias for `Reg<EVENTS_CROSS_SPEC>`"]
76pub type EVENTS_CROSS = crate::Reg<events_cross::EVENTS_CROSS_SPEC>;
77#[doc = "Downward or upward crossing"]
78pub mod events_cross;
79#[doc = "SHORTS (rw) register accessor: an alias for `Reg<SHORTS_SPEC>`"]
80pub type SHORTS = crate::Reg<shorts::SHORTS_SPEC>;
81#[doc = "Shortcut register"]
82pub mod shorts;
83#[doc = "INTEN (rw) register accessor: an alias for `Reg<INTEN_SPEC>`"]
84pub type INTEN = crate::Reg<inten::INTEN_SPEC>;
85#[doc = "Enable or disable interrupt"]
86pub mod inten;
87#[doc = "INTENSET (rw) register accessor: an alias for `Reg<INTENSET_SPEC>`"]
88pub type INTENSET = crate::Reg<intenset::INTENSET_SPEC>;
89#[doc = "Enable interrupt"]
90pub mod intenset;
91#[doc = "INTENCLR (rw) register accessor: an alias for `Reg<INTENCLR_SPEC>`"]
92pub type INTENCLR = crate::Reg<intenclr::INTENCLR_SPEC>;
93#[doc = "Disable interrupt"]
94pub mod intenclr;
95#[doc = "RESULT (r) register accessor: an alias for `Reg<RESULT_SPEC>`"]
96pub type RESULT = crate::Reg<result::RESULT_SPEC>;
97#[doc = "Compare result"]
98pub mod result;
99#[doc = "ENABLE (rw) register accessor: an alias for `Reg<ENABLE_SPEC>`"]
100pub type ENABLE = crate::Reg<enable::ENABLE_SPEC>;
101#[doc = "COMP enable"]
102pub mod enable;
103#[doc = "PSEL (rw) register accessor: an alias for `Reg<PSEL_SPEC>`"]
104pub type PSEL = crate::Reg<psel::PSEL_SPEC>;
105#[doc = "Pin select"]
106pub mod psel;
107#[doc = "REFSEL (rw) register accessor: an alias for `Reg<REFSEL_SPEC>`"]
108pub type REFSEL = crate::Reg<refsel::REFSEL_SPEC>;
109#[doc = "Reference source select for single-ended mode"]
110pub mod refsel;
111#[doc = "EXTREFSEL (rw) register accessor: an alias for `Reg<EXTREFSEL_SPEC>`"]
112pub type EXTREFSEL = crate::Reg<extrefsel::EXTREFSEL_SPEC>;
113#[doc = "External reference select"]
114pub mod extrefsel;
115#[doc = "TH (rw) register accessor: an alias for `Reg<TH_SPEC>`"]
116pub type TH = crate::Reg<th::TH_SPEC>;
117#[doc = "Threshold configuration for hysteresis unit"]
118pub mod th;
119#[doc = "MODE (rw) register accessor: an alias for `Reg<MODE_SPEC>`"]
120pub type MODE = crate::Reg<mode::MODE_SPEC>;
121#[doc = "Mode configuration"]
122pub mod mode;
123#[doc = "HYST (rw) register accessor: an alias for `Reg<HYST_SPEC>`"]
124pub type HYST = crate::Reg<hyst::HYST_SPEC>;
125#[doc = "Comparator hysteresis enable"]
126pub mod hyst;
127#[doc = "ISOURCE (rw) register accessor: an alias for `Reg<ISOURCE_SPEC>`"]
128pub type ISOURCE = crate::Reg<isource::ISOURCE_SPEC>;
129#[doc = "Current source select on analog input"]
130pub mod isource;