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;