atsamd11d/
eic.rs

1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4    ctrl: Ctrl,
5    status: Status,
6    nmictrl: Nmictrl,
7    nmiflag: Nmiflag,
8    evctrl: Evctrl,
9    intenclr: Intenclr,
10    intenset: Intenset,
11    intflag: Intflag,
12    wakeup: Wakeup,
13    config: [Config; 1],
14}
15impl RegisterBlock {
16    #[doc = "0x00 - Control"]
17    #[inline(always)]
18    pub const fn ctrl(&self) -> &Ctrl {
19        &self.ctrl
20    }
21    #[doc = "0x01 - Status"]
22    #[inline(always)]
23    pub const fn status(&self) -> &Status {
24        &self.status
25    }
26    #[doc = "0x02 - Non-Maskable Interrupt Control"]
27    #[inline(always)]
28    pub const fn nmictrl(&self) -> &Nmictrl {
29        &self.nmictrl
30    }
31    #[doc = "0x03 - Non-Maskable Interrupt Flag Status and Clear"]
32    #[inline(always)]
33    pub const fn nmiflag(&self) -> &Nmiflag {
34        &self.nmiflag
35    }
36    #[doc = "0x04 - Event Control"]
37    #[inline(always)]
38    pub const fn evctrl(&self) -> &Evctrl {
39        &self.evctrl
40    }
41    #[doc = "0x08 - Interrupt Enable Clear"]
42    #[inline(always)]
43    pub const fn intenclr(&self) -> &Intenclr {
44        &self.intenclr
45    }
46    #[doc = "0x0c - Interrupt Enable Set"]
47    #[inline(always)]
48    pub const fn intenset(&self) -> &Intenset {
49        &self.intenset
50    }
51    #[doc = "0x10 - Interrupt Flag Status and Clear"]
52    #[inline(always)]
53    pub const fn intflag(&self) -> &Intflag {
54        &self.intflag
55    }
56    #[doc = "0x14 - Wake-Up Enable"]
57    #[inline(always)]
58    pub const fn wakeup(&self) -> &Wakeup {
59        &self.wakeup
60    }
61    #[doc = "0x18 - Configuration n"]
62    #[inline(always)]
63    pub const fn config(&self, n: usize) -> &Config {
64        &self.config[n]
65    }
66    #[doc = "Iterator for array of:"]
67    #[doc = "0x18 - Configuration n"]
68    #[inline(always)]
69    pub fn config_iter(&self) -> impl Iterator<Item = &Config> {
70        self.config.iter()
71    }
72}
73#[doc = "CTRL (rw) register accessor: Control\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrl::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@ctrl`]
74module"]
75#[doc(alias = "CTRL")]
76pub type Ctrl = crate::Reg<ctrl::CtrlSpec>;
77#[doc = "Control"]
78pub mod ctrl;
79#[doc = "STATUS (r) register accessor: Status\n\nYou can [`read`](crate::Reg::read) this register and get [`status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status`]
80module"]
81#[doc(alias = "STATUS")]
82pub type Status = crate::Reg<status::StatusSpec>;
83#[doc = "Status"]
84pub mod status;
85#[doc = "NMICTRL (rw) register accessor: Non-Maskable Interrupt Control\n\nYou can [`read`](crate::Reg::read) this register and get [`nmictrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`nmictrl::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@nmictrl`]
86module"]
87#[doc(alias = "NMICTRL")]
88pub type Nmictrl = crate::Reg<nmictrl::NmictrlSpec>;
89#[doc = "Non-Maskable Interrupt Control"]
90pub mod nmictrl;
91#[doc = "NMIFLAG (rw) register accessor: Non-Maskable Interrupt Flag Status and Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`nmiflag::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`nmiflag::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@nmiflag`]
92module"]
93#[doc(alias = "NMIFLAG")]
94pub type Nmiflag = crate::Reg<nmiflag::NmiflagSpec>;
95#[doc = "Non-Maskable Interrupt Flag Status and Clear"]
96pub mod nmiflag;
97#[doc = "EVCTRL (rw) register accessor: Event Control\n\nYou can [`read`](crate::Reg::read) this register and get [`evctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`evctrl::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@evctrl`]
98module"]
99#[doc(alias = "EVCTRL")]
100pub type Evctrl = crate::Reg<evctrl::EvctrlSpec>;
101#[doc = "Event Control"]
102pub mod evctrl;
103#[doc = "INTENCLR (rw) register accessor: Interrupt Enable Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`intenclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenclr::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@intenclr`]
104module"]
105#[doc(alias = "INTENCLR")]
106pub type Intenclr = crate::Reg<intenclr::IntenclrSpec>;
107#[doc = "Interrupt Enable Clear"]
108pub mod intenclr;
109#[doc = "INTENSET (rw) register accessor: Interrupt Enable Set\n\nYou can [`read`](crate::Reg::read) this register and get [`intenset::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenset::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@intenset`]
110module"]
111#[doc(alias = "INTENSET")]
112pub type Intenset = crate::Reg<intenset::IntensetSpec>;
113#[doc = "Interrupt Enable Set"]
114pub mod intenset;
115#[doc = "INTFLAG (rw) register accessor: Interrupt Flag Status and Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`intflag::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intflag::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@intflag`]
116module"]
117#[doc(alias = "INTFLAG")]
118pub type Intflag = crate::Reg<intflag::IntflagSpec>;
119#[doc = "Interrupt Flag Status and Clear"]
120pub mod intflag;
121#[doc = "WAKEUP (rw) register accessor: Wake-Up Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`wakeup::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`wakeup::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@wakeup`]
122module"]
123#[doc(alias = "WAKEUP")]
124pub type Wakeup = crate::Reg<wakeup::WakeupSpec>;
125#[doc = "Wake-Up Enable"]
126pub mod wakeup;
127#[doc = "CONFIG (rw) register accessor: Configuration n\n\nYou can [`read`](crate::Reg::read) this register and get [`config::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`config::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@config`]
128module"]
129#[doc(alias = "CONFIG")]
130pub type Config = crate::Reg<config::ConfigSpec>;
131#[doc = "Configuration n"]
132pub mod config;