xmc4400/
posif0.rs

1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4    pconf: PCONF,
5    psus: PSUS,
6    pruns: PRUNS,
7    prunc: PRUNC,
8    prun: PRUN,
9    _reserved5: [u8; 0x0c],
10    midr: MIDR,
11    _reserved6: [u8; 0x0c],
12    halp: HALP,
13    halps: HALPS,
14    _reserved8: [u8; 0x08],
15    mcm: MCM,
16    mcsm: MCSM,
17    mcms: MCMS,
18    mcmc: MCMC,
19    mcmf: MCMF,
20    _reserved13: [u8; 0x0c],
21    qdc: QDC,
22    _reserved14: [u8; 0x0c],
23    pflg: PFLG,
24    pflge: PFLGE,
25    spflg: SPFLG,
26    rpflg: RPFLG,
27    _reserved18: [u8; 0x80],
28    pdbg: PDBG,
29}
30impl RegisterBlock {
31    #[doc = "0x00 - Service Request Processing configuration"]
32    #[inline(always)]
33    pub const fn pconf(&self) -> &PCONF {
34        &self.pconf
35    }
36    #[doc = "0x04 - Service Request Processing Suspend Config"]
37    #[inline(always)]
38    pub const fn psus(&self) -> &PSUS {
39        &self.psus
40    }
41    #[doc = "0x08 - Service Request Processing Run Bit Set"]
42    #[inline(always)]
43    pub const fn pruns(&self) -> &PRUNS {
44        &self.pruns
45    }
46    #[doc = "0x0c - Service Request Processing Run Bit Clear"]
47    #[inline(always)]
48    pub const fn prunc(&self) -> &PRUNC {
49        &self.prunc
50    }
51    #[doc = "0x10 - Service Request Processing Run Bit Status"]
52    #[inline(always)]
53    pub const fn prun(&self) -> &PRUN {
54        &self.prun
55    }
56    #[doc = "0x20 - Module Identification register"]
57    #[inline(always)]
58    pub const fn midr(&self) -> &MIDR {
59        &self.midr
60    }
61    #[doc = "0x30 - Hall Sensor Patterns"]
62    #[inline(always)]
63    pub const fn halp(&self) -> &HALP {
64        &self.halp
65    }
66    #[doc = "0x34 - Hall Sensor Shadow Patterns"]
67    #[inline(always)]
68    pub const fn halps(&self) -> &HALPS {
69        &self.halps
70    }
71    #[doc = "0x40 - Multi-Channel Pattern"]
72    #[inline(always)]
73    pub const fn mcm(&self) -> &MCM {
74        &self.mcm
75    }
76    #[doc = "0x44 - Multi-Channel Shadow Pattern"]
77    #[inline(always)]
78    pub const fn mcsm(&self) -> &MCSM {
79        &self.mcsm
80    }
81    #[doc = "0x48 - Multi-Channel Pattern Control set"]
82    #[inline(always)]
83    pub const fn mcms(&self) -> &MCMS {
84        &self.mcms
85    }
86    #[doc = "0x4c - Multi-Channel Pattern Control clear"]
87    #[inline(always)]
88    pub const fn mcmc(&self) -> &MCMC {
89        &self.mcmc
90    }
91    #[doc = "0x50 - Multi-Channel Pattern Control flag"]
92    #[inline(always)]
93    pub const fn mcmf(&self) -> &MCMF {
94        &self.mcmf
95    }
96    #[doc = "0x60 - Quadrature Decoder Control"]
97    #[inline(always)]
98    pub const fn qdc(&self) -> &QDC {
99        &self.qdc
100    }
101    #[doc = "0x70 - Service Request Processing Interrupt Flags"]
102    #[inline(always)]
103    pub const fn pflg(&self) -> &PFLG {
104        &self.pflg
105    }
106    #[doc = "0x74 - Service Request Processing Interrupt Enable"]
107    #[inline(always)]
108    pub const fn pflge(&self) -> &PFLGE {
109        &self.pflge
110    }
111    #[doc = "0x78 - Service Request Processing Interrupt Set"]
112    #[inline(always)]
113    pub const fn spflg(&self) -> &SPFLG {
114        &self.spflg
115    }
116    #[doc = "0x7c - Service Request Processing Interrupt Clear"]
117    #[inline(always)]
118    pub const fn rpflg(&self) -> &RPFLG {
119        &self.rpflg
120    }
121    #[doc = "0x100 - POSIF Debug register"]
122    #[inline(always)]
123    pub const fn pdbg(&self) -> &PDBG {
124        &self.pdbg
125    }
126}
127#[doc = "PCONF (rw) register accessor: Service Request Processing configuration\n\nYou can [`read`](crate::Reg::read) this register and get [`pconf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pconf::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@pconf`]
128module"]
129pub type PCONF = crate::Reg<pconf::PCONF_SPEC>;
130#[doc = "Service Request Processing configuration"]
131pub mod pconf;
132#[doc = "PSUS (rw) register accessor: Service Request Processing Suspend Config\n\nYou can [`read`](crate::Reg::read) this register and get [`psus::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`psus::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@psus`]
133module"]
134pub type PSUS = crate::Reg<psus::PSUS_SPEC>;
135#[doc = "Service Request Processing Suspend Config"]
136pub mod psus;
137#[doc = "PRUNS (w) register accessor: Service Request Processing Run Bit Set\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pruns::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pruns`]
138module"]
139pub type PRUNS = crate::Reg<pruns::PRUNS_SPEC>;
140#[doc = "Service Request Processing Run Bit Set"]
141pub mod pruns;
142#[doc = "PRUNC (w) register accessor: Service Request Processing Run Bit Clear\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`prunc::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@prunc`]
143module"]
144pub type PRUNC = crate::Reg<prunc::PRUNC_SPEC>;
145#[doc = "Service Request Processing Run Bit Clear"]
146pub mod prunc;
147#[doc = "PRUN (r) register accessor: Service Request Processing Run Bit Status\n\nYou can [`read`](crate::Reg::read) this register and get [`prun::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@prun`]
148module"]
149pub type PRUN = crate::Reg<prun::PRUN_SPEC>;
150#[doc = "Service Request Processing Run Bit Status"]
151pub mod prun;
152#[doc = "MIDR (r) register accessor: Module Identification register\n\nYou can [`read`](crate::Reg::read) this register and get [`midr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@midr`]
153module"]
154pub type MIDR = crate::Reg<midr::MIDR_SPEC>;
155#[doc = "Module Identification register"]
156pub mod midr;
157#[doc = "HALP (r) register accessor: Hall Sensor Patterns\n\nYou can [`read`](crate::Reg::read) this register and get [`halp::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@halp`]
158module"]
159pub type HALP = crate::Reg<halp::HALP_SPEC>;
160#[doc = "Hall Sensor Patterns"]
161pub mod halp;
162#[doc = "HALPS (rw) register accessor: Hall Sensor Shadow Patterns\n\nYou can [`read`](crate::Reg::read) this register and get [`halps::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`halps::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@halps`]
163module"]
164pub type HALPS = crate::Reg<halps::HALPS_SPEC>;
165#[doc = "Hall Sensor Shadow Patterns"]
166pub mod halps;
167#[doc = "MCM (r) register accessor: Multi-Channel Pattern\n\nYou can [`read`](crate::Reg::read) this register and get [`mcm::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mcm`]
168module"]
169pub type MCM = crate::Reg<mcm::MCM_SPEC>;
170#[doc = "Multi-Channel Pattern"]
171pub mod mcm;
172#[doc = "MCSM (rw) register accessor: Multi-Channel Shadow Pattern\n\nYou can [`read`](crate::Reg::read) this register and get [`mcsm::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mcsm::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@mcsm`]
173module"]
174pub type MCSM = crate::Reg<mcsm::MCSM_SPEC>;
175#[doc = "Multi-Channel Shadow Pattern"]
176pub mod mcsm;
177#[doc = "MCMS (w) register accessor: Multi-Channel Pattern Control set\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mcms::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mcms`]
178module"]
179pub type MCMS = crate::Reg<mcms::MCMS_SPEC>;
180#[doc = "Multi-Channel Pattern Control set"]
181pub mod mcms;
182#[doc = "MCMC (w) register accessor: Multi-Channel Pattern Control clear\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mcmc::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mcmc`]
183module"]
184pub type MCMC = crate::Reg<mcmc::MCMC_SPEC>;
185#[doc = "Multi-Channel Pattern Control clear"]
186pub mod mcmc;
187#[doc = "MCMF (r) register accessor: Multi-Channel Pattern Control flag\n\nYou can [`read`](crate::Reg::read) this register and get [`mcmf::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mcmf`]
188module"]
189pub type MCMF = crate::Reg<mcmf::MCMF_SPEC>;
190#[doc = "Multi-Channel Pattern Control flag"]
191pub mod mcmf;
192#[doc = "QDC (rw) register accessor: Quadrature Decoder Control\n\nYou can [`read`](crate::Reg::read) this register and get [`qdc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`qdc::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@qdc`]
193module"]
194pub type QDC = crate::Reg<qdc::QDC_SPEC>;
195#[doc = "Quadrature Decoder Control"]
196pub mod qdc;
197#[doc = "PFLG (r) register accessor: Service Request Processing Interrupt Flags\n\nYou can [`read`](crate::Reg::read) this register and get [`pflg::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pflg`]
198module"]
199pub type PFLG = crate::Reg<pflg::PFLG_SPEC>;
200#[doc = "Service Request Processing Interrupt Flags"]
201pub mod pflg;
202#[doc = "PFLGE (rw) register accessor: Service Request Processing Interrupt Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`pflge::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pflge::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@pflge`]
203module"]
204pub type PFLGE = crate::Reg<pflge::PFLGE_SPEC>;
205#[doc = "Service Request Processing Interrupt Enable"]
206pub mod pflge;
207#[doc = "SPFLG (w) register accessor: Service Request Processing Interrupt Set\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`spflg::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spflg`]
208module"]
209pub type SPFLG = crate::Reg<spflg::SPFLG_SPEC>;
210#[doc = "Service Request Processing Interrupt Set"]
211pub mod spflg;
212#[doc = "RPFLG (w) register accessor: Service Request Processing Interrupt Clear\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rpflg::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rpflg`]
213module"]
214pub type RPFLG = crate::Reg<rpflg::RPFLG_SPEC>;
215#[doc = "Service Request Processing Interrupt Clear"]
216pub mod rpflg;
217#[doc = "PDBG (r) register accessor: POSIF Debug register\n\nYou can [`read`](crate::Reg::read) this register and get [`pdbg::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pdbg`]
218module"]
219pub type PDBG = crate::Reg<pdbg::PDBG_SPEC>;
220#[doc = "POSIF Debug register"]
221pub mod pdbg;