nrf5340_app_pac/
comp_ns.rs1#[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; 0x74],
11 #[doc = "0x80 - Subscribe configuration for task START"]
12 pub subscribe_start: SUBSCRIBE_START,
13 #[doc = "0x84 - Subscribe configuration for task STOP"]
14 pub subscribe_stop: SUBSCRIBE_STOP,
15 #[doc = "0x88 - Subscribe configuration for task SAMPLE"]
16 pub subscribe_sample: SUBSCRIBE_SAMPLE,
17 _reserved6: [u8; 0x74],
18 #[doc = "0x100 - COMP is ready and output is valid"]
19 pub events_ready: EVENTS_READY,
20 #[doc = "0x104 - Downward crossing"]
21 pub events_down: EVENTS_DOWN,
22 #[doc = "0x108 - Upward crossing"]
23 pub events_up: EVENTS_UP,
24 #[doc = "0x10c - Downward or upward crossing"]
25 pub events_cross: EVENTS_CROSS,
26 _reserved10: [u8; 0x70],
27 #[doc = "0x180 - Publish configuration for event READY"]
28 pub publish_ready: PUBLISH_READY,
29 #[doc = "0x184 - Publish configuration for event DOWN"]
30 pub publish_down: PUBLISH_DOWN,
31 #[doc = "0x188 - Publish configuration for event UP"]
32 pub publish_up: PUBLISH_UP,
33 #[doc = "0x18c - Publish configuration for event CROSS"]
34 pub publish_cross: PUBLISH_CROSS,
35 _reserved14: [u8; 0x70],
36 #[doc = "0x200 - Shortcuts between local events and tasks"]
37 pub shorts: SHORTS,
38 _reserved15: [u8; 0xfc],
39 #[doc = "0x300 - Enable or disable interrupt"]
40 pub inten: INTEN,
41 #[doc = "0x304 - Enable interrupt"]
42 pub intenset: INTENSET,
43 #[doc = "0x308 - Disable interrupt"]
44 pub intenclr: INTENCLR,
45 _reserved18: [u8; 0xf4],
46 #[doc = "0x400 - Compare result"]
47 pub result: RESULT,
48 _reserved19: [u8; 0xfc],
49 #[doc = "0x500 - COMP enable"]
50 pub enable: ENABLE,
51 #[doc = "0x504 - Pin select"]
52 pub psel: PSEL,
53 #[doc = "0x508 - Reference source select for single-ended mode"]
54 pub refsel: REFSEL,
55 #[doc = "0x50c - External reference select"]
56 pub extrefsel: EXTREFSEL,
57 _reserved23: [u8; 0x20],
58 #[doc = "0x530 - Threshold configuration for hysteresis unit"]
59 pub th: TH,
60 #[doc = "0x534 - Mode configuration"]
61 pub mode: MODE,
62 #[doc = "0x538 - Comparator hysteresis enable"]
63 pub hyst: HYST,
64 #[doc = "0x53c - Current source select on analog input"]
65 pub isource: ISOURCE,
66}
67#[doc = "TASKS_START (w) register accessor: an alias for `Reg<TASKS_START_SPEC>`"]
68pub type TASKS_START = crate::Reg<tasks_start::TASKS_START_SPEC>;
69#[doc = "Start comparator"]
70pub mod tasks_start;
71#[doc = "TASKS_STOP (w) register accessor: an alias for `Reg<TASKS_STOP_SPEC>`"]
72pub type TASKS_STOP = crate::Reg<tasks_stop::TASKS_STOP_SPEC>;
73#[doc = "Stop comparator"]
74pub mod tasks_stop;
75#[doc = "TASKS_SAMPLE (w) register accessor: an alias for `Reg<TASKS_SAMPLE_SPEC>`"]
76pub type TASKS_SAMPLE = crate::Reg<tasks_sample::TASKS_SAMPLE_SPEC>;
77#[doc = "Sample comparator value"]
78pub mod tasks_sample;
79#[doc = "SUBSCRIBE_START (rw) register accessor: an alias for `Reg<SUBSCRIBE_START_SPEC>`"]
80pub type SUBSCRIBE_START = crate::Reg<subscribe_start::SUBSCRIBE_START_SPEC>;
81#[doc = "Subscribe configuration for task START"]
82pub mod subscribe_start;
83#[doc = "SUBSCRIBE_STOP (rw) register accessor: an alias for `Reg<SUBSCRIBE_STOP_SPEC>`"]
84pub type SUBSCRIBE_STOP = crate::Reg<subscribe_stop::SUBSCRIBE_STOP_SPEC>;
85#[doc = "Subscribe configuration for task STOP"]
86pub mod subscribe_stop;
87#[doc = "SUBSCRIBE_SAMPLE (rw) register accessor: an alias for `Reg<SUBSCRIBE_SAMPLE_SPEC>`"]
88pub type SUBSCRIBE_SAMPLE = crate::Reg<subscribe_sample::SUBSCRIBE_SAMPLE_SPEC>;
89#[doc = "Subscribe configuration for task SAMPLE"]
90pub mod subscribe_sample;
91#[doc = "EVENTS_READY (rw) register accessor: an alias for `Reg<EVENTS_READY_SPEC>`"]
92pub type EVENTS_READY = crate::Reg<events_ready::EVENTS_READY_SPEC>;
93#[doc = "COMP is ready and output is valid"]
94pub mod events_ready;
95#[doc = "EVENTS_DOWN (rw) register accessor: an alias for `Reg<EVENTS_DOWN_SPEC>`"]
96pub type EVENTS_DOWN = crate::Reg<events_down::EVENTS_DOWN_SPEC>;
97#[doc = "Downward crossing"]
98pub mod events_down;
99#[doc = "EVENTS_UP (rw) register accessor: an alias for `Reg<EVENTS_UP_SPEC>`"]
100pub type EVENTS_UP = crate::Reg<events_up::EVENTS_UP_SPEC>;
101#[doc = "Upward crossing"]
102pub mod events_up;
103#[doc = "EVENTS_CROSS (rw) register accessor: an alias for `Reg<EVENTS_CROSS_SPEC>`"]
104pub type EVENTS_CROSS = crate::Reg<events_cross::EVENTS_CROSS_SPEC>;
105#[doc = "Downward or upward crossing"]
106pub mod events_cross;
107#[doc = "PUBLISH_READY (rw) register accessor: an alias for `Reg<PUBLISH_READY_SPEC>`"]
108pub type PUBLISH_READY = crate::Reg<publish_ready::PUBLISH_READY_SPEC>;
109#[doc = "Publish configuration for event READY"]
110pub mod publish_ready;
111#[doc = "PUBLISH_DOWN (rw) register accessor: an alias for `Reg<PUBLISH_DOWN_SPEC>`"]
112pub type PUBLISH_DOWN = crate::Reg<publish_down::PUBLISH_DOWN_SPEC>;
113#[doc = "Publish configuration for event DOWN"]
114pub mod publish_down;
115#[doc = "PUBLISH_UP (rw) register accessor: an alias for `Reg<PUBLISH_UP_SPEC>`"]
116pub type PUBLISH_UP = crate::Reg<publish_up::PUBLISH_UP_SPEC>;
117#[doc = "Publish configuration for event UP"]
118pub mod publish_up;
119#[doc = "PUBLISH_CROSS (rw) register accessor: an alias for `Reg<PUBLISH_CROSS_SPEC>`"]
120pub type PUBLISH_CROSS = crate::Reg<publish_cross::PUBLISH_CROSS_SPEC>;
121#[doc = "Publish configuration for event CROSS"]
122pub mod publish_cross;
123#[doc = "SHORTS (rw) register accessor: an alias for `Reg<SHORTS_SPEC>`"]
124pub type SHORTS = crate::Reg<shorts::SHORTS_SPEC>;
125#[doc = "Shortcuts between local events and tasks"]
126pub mod shorts;
127#[doc = "INTEN (rw) register accessor: an alias for `Reg<INTEN_SPEC>`"]
128pub type INTEN = crate::Reg<inten::INTEN_SPEC>;
129#[doc = "Enable or disable interrupt"]
130pub mod inten;
131#[doc = "INTENSET (rw) register accessor: an alias for `Reg<INTENSET_SPEC>`"]
132pub type INTENSET = crate::Reg<intenset::INTENSET_SPEC>;
133#[doc = "Enable interrupt"]
134pub mod intenset;
135#[doc = "INTENCLR (rw) register accessor: an alias for `Reg<INTENCLR_SPEC>`"]
136pub type INTENCLR = crate::Reg<intenclr::INTENCLR_SPEC>;
137#[doc = "Disable interrupt"]
138pub mod intenclr;
139#[doc = "RESULT (r) register accessor: an alias for `Reg<RESULT_SPEC>`"]
140pub type RESULT = crate::Reg<result::RESULT_SPEC>;
141#[doc = "Compare result"]
142pub mod result;
143#[doc = "ENABLE (rw) register accessor: an alias for `Reg<ENABLE_SPEC>`"]
144pub type ENABLE = crate::Reg<enable::ENABLE_SPEC>;
145#[doc = "COMP enable"]
146pub mod enable;
147#[doc = "PSEL (rw) register accessor: an alias for `Reg<PSEL_SPEC>`"]
148pub type PSEL = crate::Reg<psel::PSEL_SPEC>;
149#[doc = "Pin select"]
150pub mod psel;
151#[doc = "REFSEL (rw) register accessor: an alias for `Reg<REFSEL_SPEC>`"]
152pub type REFSEL = crate::Reg<refsel::REFSEL_SPEC>;
153#[doc = "Reference source select for single-ended mode"]
154pub mod refsel;
155#[doc = "EXTREFSEL (rw) register accessor: an alias for `Reg<EXTREFSEL_SPEC>`"]
156pub type EXTREFSEL = crate::Reg<extrefsel::EXTREFSEL_SPEC>;
157#[doc = "External reference select"]
158pub mod extrefsel;
159#[doc = "TH (rw) register accessor: an alias for `Reg<TH_SPEC>`"]
160pub type TH = crate::Reg<th::TH_SPEC>;
161#[doc = "Threshold configuration for hysteresis unit"]
162pub mod th;
163#[doc = "MODE (rw) register accessor: an alias for `Reg<MODE_SPEC>`"]
164pub type MODE = crate::Reg<mode::MODE_SPEC>;
165#[doc = "Mode configuration"]
166pub mod mode;
167#[doc = "HYST (rw) register accessor: an alias for `Reg<HYST_SPEC>`"]
168pub type HYST = crate::Reg<hyst::HYST_SPEC>;
169#[doc = "Comparator hysteresis enable"]
170pub mod hyst;
171#[doc = "ISOURCE (rw) register accessor: an alias for `Reg<ISOURCE_SPEC>`"]
172pub type ISOURCE = crate::Reg<isource::ISOURCE_SPEC>;
173#[doc = "Current source select on analog input"]
174pub mod isource;