atsamd51p/usb/device/
device_endpoint.rs

1#[repr(C)]
2#[doc = "DEVICE_ENDPOINT\\[%s\\]"]
3#[doc(alias = "DEVICE_ENDPOINT")]
4pub struct DeviceEndpoint {
5    epcfg: Epcfg,
6    _reserved1: [u8; 0x03],
7    epstatusclr: Epstatusclr,
8    epstatusset: Epstatusset,
9    epstatus: Epstatus,
10    epintflag: Epintflag,
11    epintenclr: Epintenclr,
12    epintenset: Epintenset,
13}
14impl DeviceEndpoint {
15    #[doc = "0x00 - DEVICE_ENDPOINT End Point Configuration"]
16    #[inline(always)]
17    pub const fn epcfg(&self) -> &Epcfg {
18        &self.epcfg
19    }
20    #[doc = "0x04 - DEVICE_ENDPOINT End Point Pipe Status Clear"]
21    #[inline(always)]
22    pub const fn epstatusclr(&self) -> &Epstatusclr {
23        &self.epstatusclr
24    }
25    #[doc = "0x05 - DEVICE_ENDPOINT End Point Pipe Status Set"]
26    #[inline(always)]
27    pub const fn epstatusset(&self) -> &Epstatusset {
28        &self.epstatusset
29    }
30    #[doc = "0x06 - DEVICE_ENDPOINT End Point Pipe Status"]
31    #[inline(always)]
32    pub const fn epstatus(&self) -> &Epstatus {
33        &self.epstatus
34    }
35    #[doc = "0x07 - DEVICE_ENDPOINT End Point Interrupt Flag"]
36    #[inline(always)]
37    pub const fn epintflag(&self) -> &Epintflag {
38        &self.epintflag
39    }
40    #[doc = "0x08 - DEVICE_ENDPOINT End Point Interrupt Clear Flag"]
41    #[inline(always)]
42    pub const fn epintenclr(&self) -> &Epintenclr {
43        &self.epintenclr
44    }
45    #[doc = "0x09 - DEVICE_ENDPOINT End Point Interrupt Set Flag"]
46    #[inline(always)]
47    pub const fn epintenset(&self) -> &Epintenset {
48        &self.epintenset
49    }
50}
51#[doc = "EPCFG (rw) register accessor: DEVICE_ENDPOINT End Point Configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`epcfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`epcfg::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@epcfg`]
52module"]
53#[doc(alias = "EPCFG")]
54pub type Epcfg = crate::Reg<epcfg::EpcfgSpec>;
55#[doc = "DEVICE_ENDPOINT End Point Configuration"]
56pub mod epcfg;
57#[doc = "EPSTATUSCLR (w) register accessor: DEVICE_ENDPOINT End Point Pipe Status Clear\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`epstatusclr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@epstatusclr`]
58module"]
59#[doc(alias = "EPSTATUSCLR")]
60pub type Epstatusclr = crate::Reg<epstatusclr::EpstatusclrSpec>;
61#[doc = "DEVICE_ENDPOINT End Point Pipe Status Clear"]
62pub mod epstatusclr;
63#[doc = "EPSTATUSSET (w) register accessor: DEVICE_ENDPOINT End Point Pipe Status Set\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`epstatusset::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@epstatusset`]
64module"]
65#[doc(alias = "EPSTATUSSET")]
66pub type Epstatusset = crate::Reg<epstatusset::EpstatussetSpec>;
67#[doc = "DEVICE_ENDPOINT End Point Pipe Status Set"]
68pub mod epstatusset;
69#[doc = "EPSTATUS (r) register accessor: DEVICE_ENDPOINT End Point Pipe Status\n\nYou can [`read`](crate::Reg::read) this register and get [`epstatus::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@epstatus`]
70module"]
71#[doc(alias = "EPSTATUS")]
72pub type Epstatus = crate::Reg<epstatus::EpstatusSpec>;
73#[doc = "DEVICE_ENDPOINT End Point Pipe Status"]
74pub mod epstatus;
75#[doc = "EPINTFLAG (rw) register accessor: DEVICE_ENDPOINT End Point Interrupt Flag\n\nYou can [`read`](crate::Reg::read) this register and get [`epintflag::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`epintflag::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@epintflag`]
76module"]
77#[doc(alias = "EPINTFLAG")]
78pub type Epintflag = crate::Reg<epintflag::EpintflagSpec>;
79#[doc = "DEVICE_ENDPOINT End Point Interrupt Flag"]
80pub mod epintflag;
81#[doc = "EPINTENCLR (rw) register accessor: DEVICE_ENDPOINT End Point Interrupt Clear Flag\n\nYou can [`read`](crate::Reg::read) this register and get [`epintenclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`epintenclr::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@epintenclr`]
82module"]
83#[doc(alias = "EPINTENCLR")]
84pub type Epintenclr = crate::Reg<epintenclr::EpintenclrSpec>;
85#[doc = "DEVICE_ENDPOINT End Point Interrupt Clear Flag"]
86pub mod epintenclr;
87#[doc = "EPINTENSET (rw) register accessor: DEVICE_ENDPOINT End Point Interrupt Set Flag\n\nYou can [`read`](crate::Reg::read) this register and get [`epintenset::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`epintenset::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@epintenset`]
88module"]
89#[doc(alias = "EPINTENSET")]
90pub type Epintenset = crate::Reg<epintenset::EpintensetSpec>;
91#[doc = "DEVICE_ENDPOINT End Point Interrupt Set Flag"]
92pub mod epintenset;