#[repr(C)] #[doc = "Register block"] pub struct RegisterBlock { _reserved_0_cr: [u8; 0x04], _reserved_1_mr: [u8; 0x04], _reserved_2_ier: [u8; 0x04], _reserved_3_idr: [u8; 0x04], _reserved_4_imr: [u8; 0x04], _reserved_5_csr: [u8; 0x04], rhr: Rhr, thr: Thr, brgr: Brgr, rtor: Rtor, ttgr: Ttgr, _reserved11: [u8; 0x14], fidi: Fidi, ner: Ner, _reserved13: [u8; 0x04], if_: If, _reserved14: [u8; 0x94], wpmr: Wpmr, wpsr: Wpsr, } impl RegisterBlock { #[doc = "0x00 - Control Register"] #[inline(always)] pub const fn spi_mode_cr_spi_mode(&self) -> &SpiModeCrSpiMode { unsafe { &*(self as *const Self).cast::().add(0).cast() } } #[doc = "0x00 - Control Register"] #[inline(always)] pub const fn cr(&self) -> &Cr { unsafe { &*(self as *const Self).cast::().add(0).cast() } } #[doc = "0x04 - Mode Register"] #[inline(always)] pub const fn spi_mode_mr_spi_mode(&self) -> &SpiModeMrSpiMode { unsafe { &*(self as *const Self).cast::().add(4).cast() } } #[doc = "0x04 - Mode Register"] #[inline(always)] pub const fn mr(&self) -> &Mr { unsafe { &*(self as *const Self).cast::().add(4).cast() } } #[doc = "0x08 - Interrupt Enable Register"] #[inline(always)] pub const fn spi_mode_ier_spi_mode(&self) -> &SpiModeIerSpiMode { unsafe { &*(self as *const Self).cast::().add(8).cast() } } #[doc = "0x08 - Interrupt Enable Register"] #[inline(always)] pub const fn ier(&self) -> &Ier { unsafe { &*(self as *const Self).cast::().add(8).cast() } } #[doc = "0x0c - Interrupt Disable Register"] #[inline(always)] pub const fn spi_mode_idr_spi_mode(&self) -> &SpiModeIdrSpiMode { unsafe { &*(self as *const Self).cast::().add(12).cast() } } #[doc = "0x0c - Interrupt Disable Register"] #[inline(always)] pub const fn idr(&self) -> &Idr { unsafe { &*(self as *const Self).cast::().add(12).cast() } } #[doc = "0x10 - Interrupt Mask Register"] #[inline(always)] pub const fn spi_mode_imr_spi_mode(&self) -> &SpiModeImrSpiMode { unsafe { &*(self as *const Self).cast::().add(16).cast() } } #[doc = "0x10 - Interrupt Mask Register"] #[inline(always)] pub const fn imr(&self) -> &Imr { unsafe { &*(self as *const Self).cast::().add(16).cast() } } #[doc = "0x14 - Channel Status Register"] #[inline(always)] pub const fn spi_mode_csr_spi_mode(&self) -> &SpiModeCsrSpiMode { unsafe { &*(self as *const Self).cast::().add(20).cast() } } #[doc = "0x14 - Channel Status Register"] #[inline(always)] pub const fn csr(&self) -> &Csr { unsafe { &*(self as *const Self).cast::().add(20).cast() } } #[doc = "0x18 - Receiver Holding Register"] #[inline(always)] pub const fn rhr(&self) -> &Rhr { &self.rhr } #[doc = "0x1c - Transmitter Holding Register"] #[inline(always)] pub const fn thr(&self) -> &Thr { &self.thr } #[doc = "0x20 - Baud Rate Generator Register"] #[inline(always)] pub const fn brgr(&self) -> &Brgr { &self.brgr } #[doc = "0x24 - Receiver Time-out Register"] #[inline(always)] pub const fn rtor(&self) -> &Rtor { &self.rtor } #[doc = "0x28 - Transmitter Timeguard Register"] #[inline(always)] pub const fn ttgr(&self) -> &Ttgr { &self.ttgr } #[doc = "0x40 - FI DI Ratio Register"] #[inline(always)] pub const fn fidi(&self) -> &Fidi { &self.fidi } #[doc = "0x44 - Number of Errors Register"] #[inline(always)] pub const fn ner(&self) -> &Ner { &self.ner } #[doc = "0x4c - IrDA Filter Register"] #[inline(always)] pub const fn if_(&self) -> &If { &self.if_ } #[doc = "0xe4 - Write Protect Mode Register"] #[inline(always)] pub const fn wpmr(&self) -> &Wpmr { &self.wpmr } #[doc = "0xe8 - Write Protect Status Register"] #[inline(always)] pub const fn wpsr(&self) -> &Wpsr { &self.wpsr } } #[doc = "CR (w) register accessor: Control Register\n\nYou can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`cr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cr`] module"] #[doc(alias = "CR")] pub type Cr = crate::Reg; #[doc = "Control Register"] pub mod cr; #[doc = "SPI_MODE_CR_SPI_MODE (w) register accessor: Control Register\n\nYou can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`spi_mode_cr_spi_mode::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_mode_cr_spi_mode`] module"] #[doc(alias = "SPI_MODE_CR_SPI_MODE")] pub type SpiModeCrSpiMode = crate::Reg; #[doc = "Control Register"] pub mod spi_mode_cr_spi_mode; #[doc = "MR (rw) register accessor: Mode Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`mr::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`mr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mr`] module"] #[doc(alias = "MR")] pub type Mr = crate::Reg; #[doc = "Mode Register"] pub mod mr; #[doc = "SPI_MODE_MR_SPI_MODE (rw) register accessor: Mode Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_mode_mr_spi_mode::R`]. You can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`spi_mode_mr_spi_mode::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_mode_mr_spi_mode`] module"] #[doc(alias = "SPI_MODE_MR_SPI_MODE")] pub type SpiModeMrSpiMode = crate::Reg; #[doc = "Mode Register"] pub mod spi_mode_mr_spi_mode; #[doc = "IER (w) register accessor: Interrupt Enable Register\n\nYou can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ier::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ier`] module"] #[doc(alias = "IER")] pub type Ier = crate::Reg; #[doc = "Interrupt Enable Register"] pub mod ier; #[doc = "SPI_MODE_IER_SPI_MODE (w) register accessor: Interrupt Enable Register\n\nYou can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`spi_mode_ier_spi_mode::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_mode_ier_spi_mode`] module"] #[doc(alias = "SPI_MODE_IER_SPI_MODE")] pub type SpiModeIerSpiMode = crate::Reg; #[doc = "Interrupt Enable Register"] pub mod spi_mode_ier_spi_mode; #[doc = "IDR (w) register accessor: Interrupt Disable Register\n\nYou can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`idr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@idr`] module"] #[doc(alias = "IDR")] pub type Idr = crate::Reg; #[doc = "Interrupt Disable Register"] pub mod idr; #[doc = "SPI_MODE_IDR_SPI_MODE (w) register accessor: Interrupt Disable Register\n\nYou can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`spi_mode_idr_spi_mode::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_mode_idr_spi_mode`] module"] #[doc(alias = "SPI_MODE_IDR_SPI_MODE")] pub type SpiModeIdrSpiMode = crate::Reg; #[doc = "Interrupt Disable Register"] pub mod spi_mode_idr_spi_mode; #[doc = "IMR (r) register accessor: Interrupt Mask Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`imr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@imr`] module"] #[doc(alias = "IMR")] pub type Imr = crate::Reg; #[doc = "Interrupt Mask Register"] pub mod imr; #[doc = "SPI_MODE_IMR_SPI_MODE (r) register accessor: Interrupt Mask Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_mode_imr_spi_mode::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_mode_imr_spi_mode`] module"] #[doc(alias = "SPI_MODE_IMR_SPI_MODE")] pub type SpiModeImrSpiMode = crate::Reg; #[doc = "Interrupt Mask Register"] pub mod spi_mode_imr_spi_mode; #[doc = "CSR (r) register accessor: Channel Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`csr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@csr`] module"] #[doc(alias = "CSR")] pub type Csr = crate::Reg; #[doc = "Channel Status Register"] pub mod csr; #[doc = "SPI_MODE_CSR_SPI_MODE (r) register accessor: Channel Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`spi_mode_csr_spi_mode::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@spi_mode_csr_spi_mode`] module"] #[doc(alias = "SPI_MODE_CSR_SPI_MODE")] pub type SpiModeCsrSpiMode = crate::Reg; #[doc = "Channel Status Register"] pub mod spi_mode_csr_spi_mode; #[doc = "RHR (r) register accessor: Receiver Holding Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rhr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rhr`] module"] #[doc(alias = "RHR")] pub type Rhr = crate::Reg; #[doc = "Receiver Holding Register"] pub mod rhr; #[doc = "THR (w) register accessor: Transmitter Holding Register\n\nYou can [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`thr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@thr`] module"] #[doc(alias = "THR")] pub type Thr = crate::Reg; #[doc = "Transmitter Holding Register"] pub mod thr; #[doc = "BRGR (rw) register accessor: Baud Rate Generator Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`brgr::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 [`brgr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@brgr`] module"] #[doc(alias = "BRGR")] pub type Brgr = crate::Reg; #[doc = "Baud Rate Generator Register"] pub mod brgr; #[doc = "RTOR (rw) register accessor: Receiver Time-out Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rtor::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 [`rtor::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtor`] module"] #[doc(alias = "RTOR")] pub type Rtor = crate::Reg; #[doc = "Receiver Time-out Register"] pub mod rtor; #[doc = "TTGR (rw) register accessor: Transmitter Timeguard Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ttgr::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 [`ttgr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ttgr`] module"] #[doc(alias = "TTGR")] pub type Ttgr = crate::Reg; #[doc = "Transmitter Timeguard Register"] pub mod ttgr; #[doc = "FIDI (rw) register accessor: FI DI Ratio Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fidi::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 [`fidi::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fidi`] module"] #[doc(alias = "FIDI")] pub type Fidi = crate::Reg; #[doc = "FI DI Ratio Register"] pub mod fidi; #[doc = "NER (r) register accessor: Number of Errors Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ner::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ner`] module"] #[doc(alias = "NER")] pub type Ner = crate::Reg; #[doc = "Number of Errors Register"] pub mod ner; #[doc = "IF (rw) register accessor: IrDA Filter Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`if_::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 [`if_::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@if_`] module"] #[doc(alias = "IF")] pub type If = crate::Reg; #[doc = "IrDA Filter Register"] pub mod if_; #[doc = "WPMR (rw) register accessor: Write Protect Mode Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`wpmr::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 [`wpmr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@wpmr`] module"] #[doc(alias = "WPMR")] pub type Wpmr = crate::Reg; #[doc = "Write Protect Mode Register"] pub mod wpmr; #[doc = "WPSR (r) register accessor: Write Protect Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`wpsr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@wpsr`] module"] #[doc(alias = "WPSR")] pub type Wpsr = crate::Reg; #[doc = "Write Protect Status Register"] pub mod wpsr;