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
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    setup_packet_low: SETUP_PACKET_LOW,
    setup_packet_high: SETUP_PACKET_HIGH,
    ep_control: [EP_CONTROL; 30],
    ep_buffer_control: [EP_BUFFER_CONTROL; 32],
    epx_control: EPX_CONTROL,
}
impl RegisterBlock {
    #[doc = "0x00 - Bytes 0-3 of the SETUP packet from the host."]
    #[inline(always)]
    pub const fn setup_packet_low(&self) -> &SETUP_PACKET_LOW {
        &self.setup_packet_low
    }
    #[doc = "0x04 - Bytes 4-7 of the setup packet from the host."]
    #[inline(always)]
    pub const fn setup_packet_high(&self) -> &SETUP_PACKET_HIGH {
        &self.setup_packet_high
    }
    #[doc = "0x08..0x80 - -"]
    #[inline(always)]
    pub const fn ep_control(&self, n: usize) -> &EP_CONTROL {
        &self.ep_control[n]
    }
    #[doc = "Iterator for array of:"]
    #[doc = "0x08..0x80 - -"]
    #[inline(always)]
    pub fn ep_control_iter(&self) -> impl Iterator<Item = &EP_CONTROL> {
        self.ep_control.iter()
    }
    #[doc = "0x80..0x100 - -"]
    #[inline(always)]
    pub const fn ep_buffer_control(&self, n: usize) -> &EP_BUFFER_CONTROL {
        &self.ep_buffer_control[n]
    }
    #[doc = "Iterator for array of:"]
    #[doc = "0x80..0x100 - -"]
    #[inline(always)]
    pub fn ep_buffer_control_iter(&self) -> impl Iterator<Item = &EP_BUFFER_CONTROL> {
        self.ep_buffer_control.iter()
    }
    #[doc = "0x100 - EPx Control (Host-mode only!)"]
    #[inline(always)]
    pub const fn epx_control(&self) -> &EPX_CONTROL {
        &self.epx_control
    }
}
#[doc = "SETUP_PACKET_LOW (rw) register accessor: Bytes 0-3 of the SETUP packet from the host.  

You can [`read`](crate::generic::Reg::read) this register and get [`setup_packet_low::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`setup_packet_low::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).  

For information about available fields see [`mod@setup_packet_low`]
module"]
pub type SETUP_PACKET_LOW = crate::Reg<setup_packet_low::SETUP_PACKET_LOW_SPEC>;
#[doc = "Bytes 0-3 of the SETUP packet from the host."]
pub mod setup_packet_low;
#[doc = "SETUP_PACKET_HIGH (rw) register accessor: Bytes 4-7 of the setup packet from the host.  

You can [`read`](crate::generic::Reg::read) this register and get [`setup_packet_high::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`setup_packet_high::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).  

For information about available fields see [`mod@setup_packet_high`]
module"]
pub type SETUP_PACKET_HIGH = crate::Reg<setup_packet_high::SETUP_PACKET_HIGH_SPEC>;
#[doc = "Bytes 4-7 of the setup packet from the host."]
pub mod setup_packet_high;
#[doc = "EP_CONTROL (rw) register accessor: -  

You can [`read`](crate::generic::Reg::read) this register and get [`ep_control::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ep_control::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).  

For information about available fields see [`mod@ep_control`]
module"]
pub type EP_CONTROL = crate::Reg<ep_control::EP_CONTROL_SPEC>;
#[doc = "-"]
pub mod ep_control;
#[doc = "EP_BUFFER_CONTROL (rw) register accessor: -  

You can [`read`](crate::generic::Reg::read) this register and get [`ep_buffer_control::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ep_buffer_control::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).  

For information about available fields see [`mod@ep_buffer_control`]
module"]
pub type EP_BUFFER_CONTROL = crate::Reg<ep_buffer_control::EP_BUFFER_CONTROL_SPEC>;
#[doc = "-"]
pub mod ep_buffer_control;
#[doc = "EPX_CONTROL (rw) register accessor: EPx Control (Host-mode only!)  

You can [`read`](crate::generic::Reg::read) this register and get [`epx_control::R`].  You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`epx_control::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).  

For information about available fields see [`mod@epx_control`]
module"]
pub type EPX_CONTROL = crate::Reg<epx_control::EPX_CONTROL_SPEC>;
#[doc = "EPx Control (Host-mode only!)"]
pub mod epx_control;