Skip to main content

mcxa_pac/
crc0.rs

1#[repr(C)]
2#[cfg_attr(feature = "debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    _reserved_0_data: [u8; 0x04],
6    _reserved_1_gpoly: [u8; 0x04],
7    ctrl: Ctrl,
8}
9impl RegisterBlock {
10    #[doc = "0x00 - CRC data register, 8-bit access"]
11    #[inline(always)]
12    pub const fn data8(&self) -> &Data8 {
13        unsafe { &*core::ptr::from_ref(self).cast::<u8>().cast() }
14    }
15    #[doc = "0x00 - CRC data register, 16-bit access"]
16    #[inline(always)]
17    pub const fn data16(&self) -> &Data16 {
18        unsafe { &*core::ptr::from_ref(self).cast::<u8>().cast() }
19    }
20    #[doc = "0x00 - CRC data register, 32-bit access"]
21    #[inline(always)]
22    pub const fn data32(&self) -> &Data32 {
23        unsafe { &*core::ptr::from_ref(self).cast::<u8>().cast() }
24    }
25    #[doc = "0x00 - Data"]
26    #[inline(always)]
27    pub const fn data(&self) -> &Data {
28        unsafe { &*core::ptr::from_ref(self).cast::<u8>().cast() }
29    }
30    #[doc = "0x04 - Polynomial, 16-bit access"]
31    #[inline(always)]
32    pub const fn gpoly16(&self) -> &Gpoly16 {
33        unsafe { &*core::ptr::from_ref(self).cast::<u8>().add(4).cast() }
34    }
35    #[doc = "0x04 - Polynomial, 32-bit access"]
36    #[inline(always)]
37    pub const fn gpoly32(&self) -> &Gpoly32 {
38        unsafe { &*core::ptr::from_ref(self).cast::<u8>().add(4).cast() }
39    }
40    #[doc = "0x04 - Polynomial"]
41    #[inline(always)]
42    pub const fn gpoly(&self) -> &Gpoly {
43        unsafe { &*core::ptr::from_ref(self).cast::<u8>().add(4).cast() }
44    }
45    #[doc = "0x08 - Control"]
46    #[inline(always)]
47    pub const fn ctrl(&self) -> &Ctrl {
48        &self.ctrl
49    }
50}
51#[doc = "DATA (rw) register accessor: Data\n\nYou can [`read`](crate::Reg::read) this register and get [`data::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data::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@data`] module"]
52#[doc(alias = "DATA")]
53pub type Data = crate::Reg<data::DataSpec>;
54#[doc = "Data"]
55pub mod data;
56#[doc = "DATA32 (rw) register accessor: CRC data register, 32-bit access\n\nYou can [`read`](crate::Reg::read) this register and get [`data32::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data32::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@data32`] module"]
57#[doc(alias = "DATA32")]
58pub type Data32 = crate::Reg<data32::Data32Spec>;
59#[doc = "CRC data register, 32-bit access"]
60pub mod data32;
61#[doc = "DATA16 (rw) register accessor: CRC data register, 16-bit access\n\nYou can [`read`](crate::Reg::read) this register and get [`data16::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data16::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@data16`] module"]
62#[doc(alias = "DATA16")]
63pub type Data16 = crate::Reg<data16::Data16Spec>;
64#[doc = "CRC data register, 16-bit access"]
65pub mod data16;
66#[doc = "DATA8 (rw) register accessor: CRC data register, 8-bit access\n\nYou can [`read`](crate::Reg::read) this register and get [`data8::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`data8::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@data8`] module"]
67#[doc(alias = "DATA8")]
68pub type Data8 = crate::Reg<data8::Data8Spec>;
69#[doc = "CRC data register, 8-bit access"]
70pub mod data8;
71#[doc = "GPOLY (rw) register accessor: Polynomial\n\nYou can [`read`](crate::Reg::read) this register and get [`gpoly::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gpoly::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@gpoly`] module"]
72#[doc(alias = "GPOLY")]
73pub type Gpoly = crate::Reg<gpoly::GpolySpec>;
74#[doc = "Polynomial"]
75pub mod gpoly;
76#[doc = "GPOLY32 (rw) register accessor: Polynomial, 32-bit access\n\nYou can [`read`](crate::Reg::read) this register and get [`gpoly32::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gpoly32::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@gpoly32`] module"]
77#[doc(alias = "GPOLY32")]
78pub type Gpoly32 = crate::Reg<gpoly32::Gpoly32Spec>;
79#[doc = "Polynomial, 32-bit access"]
80pub mod gpoly32;
81#[doc = "GPOLY16 (rw) register accessor: Polynomial, 16-bit access\n\nYou can [`read`](crate::Reg::read) this register and get [`gpoly16::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gpoly16::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@gpoly16`] module"]
82#[doc(alias = "GPOLY16")]
83pub type Gpoly16 = crate::Reg<gpoly16::Gpoly16Spec>;
84#[doc = "Polynomial, 16-bit access"]
85pub mod gpoly16;
86#[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`] module"]
87#[doc(alias = "CTRL")]
88pub type Ctrl = crate::Reg<ctrl::CtrlSpec>;
89#[doc = "Control"]
90pub mod ctrl;