xmc4700/can_mo/
mo.rs

1#[repr(C)]
2#[doc = "Message Object Registers"]
3pub struct MO {
4    mofcr: MOFCR,
5    mofgpr: MOFGPR,
6    moipr: MOIPR,
7    moamr: MOAMR,
8    modatal: MODATAL,
9    modatah: MODATAH,
10    moar: MOAR,
11    _reserved_7_moctr: [u8; 0x04],
12}
13impl MO {
14    #[doc = "0x00 - Message Object Function Control Register"]
15    #[inline(always)]
16    pub const fn mofcr(&self) -> &MOFCR {
17        &self.mofcr
18    }
19    #[doc = "0x04 - Message Object FIFO/Gateway Pointer Register"]
20    #[inline(always)]
21    pub const fn mofgpr(&self) -> &MOFGPR {
22        &self.mofgpr
23    }
24    #[doc = "0x08 - Message Object Interrupt Pointer Register"]
25    #[inline(always)]
26    pub const fn moipr(&self) -> &MOIPR {
27        &self.moipr
28    }
29    #[doc = "0x0c - Message Object Acceptance Mask Register"]
30    #[inline(always)]
31    pub const fn moamr(&self) -> &MOAMR {
32        &self.moamr
33    }
34    #[doc = "0x10 - Message Object Data Register Low"]
35    #[inline(always)]
36    pub const fn modatal(&self) -> &MODATAL {
37        &self.modatal
38    }
39    #[doc = "0x14 - Message Object Data Register High"]
40    #[inline(always)]
41    pub const fn modatah(&self) -> &MODATAH {
42        &self.modatah
43    }
44    #[doc = "0x18 - Message Object Arbitration Register"]
45    #[inline(always)]
46    pub const fn moar(&self) -> &MOAR {
47        &self.moar
48    }
49    #[doc = "0x1c - Message Object Status Register"]
50    #[inline(always)]
51    pub const fn mostat(&self) -> &MOSTAT {
52        unsafe { &*core::ptr::from_ref(self).cast::<u8>().add(28).cast() }
53    }
54    #[doc = "0x1c - Message Object Control Register"]
55    #[inline(always)]
56    pub const fn moctr(&self) -> &MOCTR {
57        unsafe { &*core::ptr::from_ref(self).cast::<u8>().add(28).cast() }
58    }
59}
60#[doc = "MOFCR (rw) register accessor: Message Object Function Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`mofcr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mofcr::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@mofcr`]
61module"]
62pub type MOFCR = crate::Reg<mofcr::MOFCR_SPEC>;
63#[doc = "Message Object Function Control Register"]
64pub mod mofcr;
65#[doc = "MOFGPR (rw) register accessor: Message Object FIFO/Gateway Pointer Register\n\nYou can [`read`](crate::Reg::read) this register and get [`mofgpr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mofgpr::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@mofgpr`]
66module"]
67pub type MOFGPR = crate::Reg<mofgpr::MOFGPR_SPEC>;
68#[doc = "Message Object FIFO/Gateway Pointer Register"]
69pub mod mofgpr;
70#[doc = "MOIPR (rw) register accessor: Message Object Interrupt Pointer Register\n\nYou can [`read`](crate::Reg::read) this register and get [`moipr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`moipr::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@moipr`]
71module"]
72pub type MOIPR = crate::Reg<moipr::MOIPR_SPEC>;
73#[doc = "Message Object Interrupt Pointer Register"]
74pub mod moipr;
75#[doc = "MOAMR (rw) register accessor: Message Object Acceptance Mask Register\n\nYou can [`read`](crate::Reg::read) this register and get [`moamr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`moamr::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@moamr`]
76module"]
77pub type MOAMR = crate::Reg<moamr::MOAMR_SPEC>;
78#[doc = "Message Object Acceptance Mask Register"]
79pub mod moamr;
80#[doc = "MODATAL (rw) register accessor: Message Object Data Register Low\n\nYou can [`read`](crate::Reg::read) this register and get [`modatal::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`modatal::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@modatal`]
81module"]
82pub type MODATAL = crate::Reg<modatal::MODATAL_SPEC>;
83#[doc = "Message Object Data Register Low"]
84pub mod modatal;
85#[doc = "MODATAH (rw) register accessor: Message Object Data Register High\n\nYou can [`read`](crate::Reg::read) this register and get [`modatah::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`modatah::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@modatah`]
86module"]
87pub type MODATAH = crate::Reg<modatah::MODATAH_SPEC>;
88#[doc = "Message Object Data Register High"]
89pub mod modatah;
90#[doc = "MOAR (rw) register accessor: Message Object Arbitration Register\n\nYou can [`read`](crate::Reg::read) this register and get [`moar::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`moar::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@moar`]
91module"]
92pub type MOAR = crate::Reg<moar::MOAR_SPEC>;
93#[doc = "Message Object Arbitration Register"]
94pub mod moar;
95#[doc = "MOCTR (w) register accessor: Message Object Control Register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`moctr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@moctr`]
96module"]
97pub type MOCTR = crate::Reg<moctr::MOCTR_SPEC>;
98#[doc = "Message Object Control Register"]
99pub mod moctr;
100#[doc = "MOSTAT (r) register accessor: Message Object Status Register\n\nYou can [`read`](crate::Reg::read) this register and get [`mostat::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mostat`]
101module"]
102pub type MOSTAT = crate::Reg<mostat::MOSTAT_SPEC>;
103#[doc = "Message Object Status Register"]
104pub mod mostat;