#[repr(C)] #[doc = "Register block"] pub struct RegisterBlock { ctrla: Ctrla, _reserved1: [u8; 0x02], ctrlb: Ctrlb, _reserved2: [u8; 0x02], param: Param, intenclr: Intenclr, intenset: Intenset, intflag: Intflag, status: Status, addr: Addr, runlock: Runlock, pbldata: [Pbldata; 2], eccerr: Eccerr, dbgctrl: Dbgctrl, _reserved12: [u8; 0x01], seecfg: Seecfg, _reserved13: [u8; 0x01], seestat: Seestat, } impl RegisterBlock { #[doc = "0x00 - Control A"] #[inline(always)] pub const fn ctrla(&self) -> &Ctrla { &self.ctrla } #[doc = "0x04 - Control B"] #[inline(always)] pub const fn ctrlb(&self) -> &Ctrlb { &self.ctrlb } #[doc = "0x08 - NVM Parameter"] #[inline(always)] pub const fn param(&self) -> &Param { &self.param } #[doc = "0x0c - Interrupt Enable Clear"] #[inline(always)] pub const fn intenclr(&self) -> &Intenclr { &self.intenclr } #[doc = "0x0e - Interrupt Enable Set"] #[inline(always)] pub const fn intenset(&self) -> &Intenset { &self.intenset } #[doc = "0x10 - Interrupt Flag Status and Clear"] #[inline(always)] pub const fn intflag(&self) -> &Intflag { &self.intflag } #[doc = "0x12 - Status"] #[inline(always)] pub const fn status(&self) -> &Status { &self.status } #[doc = "0x14 - Address"] #[inline(always)] pub const fn addr(&self) -> &Addr { &self.addr } #[doc = "0x18 - Lock Section"] #[inline(always)] pub const fn runlock(&self) -> &Runlock { &self.runlock } #[doc = "0x1c..0x24 - Page Buffer Load Data x"] #[inline(always)] pub const fn pbldata(&self, n: usize) -> &Pbldata { &self.pbldata[n] } #[doc = "Iterator for array of:"] #[doc = "0x1c..0x24 - Page Buffer Load Data x"] #[inline(always)] pub fn pbldata_iter(&self) -> impl Iterator { self.pbldata.iter() } #[doc = "0x24 - ECC Error Status Register"] #[inline(always)] pub const fn eccerr(&self) -> &Eccerr { &self.eccerr } #[doc = "0x28 - Debug Control"] #[inline(always)] pub const fn dbgctrl(&self) -> &Dbgctrl { &self.dbgctrl } #[doc = "0x2a - SmartEEPROM Configuration Register"] #[inline(always)] pub const fn seecfg(&self) -> &Seecfg { &self.seecfg } #[doc = "0x2c - SmartEEPROM Status Register"] #[inline(always)] pub const fn seestat(&self) -> &Seestat { &self.seestat } } #[doc = "CTRLA (rw) register accessor: Control A\n\nYou can [`read`](crate::Reg::read) this register and get [`ctrla::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrla::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@ctrla`] module"] #[doc(alias = "CTRLA")] pub type Ctrla = crate::Reg; #[doc = "Control A"] pub mod ctrla; #[doc = "CTRLB (w) register accessor: Control B\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ctrlb::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ctrlb`] module"] #[doc(alias = "CTRLB")] pub type Ctrlb = crate::Reg; #[doc = "Control B"] pub mod ctrlb; #[doc = "PARAM (r) register accessor: NVM Parameter\n\nYou can [`read`](crate::Reg::read) this register and get [`param::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@param`] module"] #[doc(alias = "PARAM")] pub type Param = crate::Reg; #[doc = "NVM Parameter"] pub mod param; #[doc = "INTENCLR (rw) register accessor: Interrupt Enable Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`intenclr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenclr::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@intenclr`] module"] #[doc(alias = "INTENCLR")] pub type Intenclr = crate::Reg; #[doc = "Interrupt Enable Clear"] pub mod intenclr; #[doc = "INTENSET (rw) register accessor: Interrupt Enable Set\n\nYou can [`read`](crate::Reg::read) this register and get [`intenset::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intenset::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@intenset`] module"] #[doc(alias = "INTENSET")] pub type Intenset = crate::Reg; #[doc = "Interrupt Enable Set"] pub mod intenset; #[doc = "INTFLAG (rw) register accessor: Interrupt Flag Status and Clear\n\nYou can [`read`](crate::Reg::read) this register and get [`intflag::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intflag::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@intflag`] module"] #[doc(alias = "INTFLAG")] pub type Intflag = crate::Reg; #[doc = "Interrupt Flag Status and Clear"] pub mod intflag; #[doc = "STATUS (r) register accessor: Status\n\nYou can [`read`](crate::Reg::read) this register and get [`status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status`] module"] #[doc(alias = "STATUS")] pub type Status = crate::Reg; #[doc = "Status"] pub mod status; #[doc = "ADDR (rw) register accessor: Address\n\nYou can [`read`](crate::Reg::read) this register and get [`addr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`addr::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@addr`] module"] #[doc(alias = "ADDR")] pub type Addr = crate::Reg; #[doc = "Address"] pub mod addr; #[doc = "RUNLOCK (r) register accessor: Lock Section\n\nYou can [`read`](crate::Reg::read) this register and get [`runlock::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@runlock`] module"] #[doc(alias = "RUNLOCK")] pub type Runlock = crate::Reg; #[doc = "Lock Section"] pub mod runlock; #[doc = "PBLDATA (r) register accessor: Page Buffer Load Data x\n\nYou can [`read`](crate::Reg::read) this register and get [`pbldata::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pbldata`] module"] #[doc(alias = "PBLDATA")] pub type Pbldata = crate::Reg; #[doc = "Page Buffer Load Data x"] pub mod pbldata; #[doc = "ECCERR (r) register accessor: ECC Error Status Register\n\nYou can [`read`](crate::Reg::read) this register and get [`eccerr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@eccerr`] module"] #[doc(alias = "ECCERR")] pub type Eccerr = crate::Reg; #[doc = "ECC Error Status Register"] pub mod eccerr; #[doc = "DBGCTRL (rw) register accessor: Debug Control\n\nYou can [`read`](crate::Reg::read) this register and get [`dbgctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dbgctrl::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@dbgctrl`] module"] #[doc(alias = "DBGCTRL")] pub type Dbgctrl = crate::Reg; #[doc = "Debug Control"] pub mod dbgctrl; #[doc = "SEECFG (rw) register accessor: SmartEEPROM Configuration Register\n\nYou can [`read`](crate::Reg::read) this register and get [`seecfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`seecfg::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@seecfg`] module"] #[doc(alias = "SEECFG")] pub type Seecfg = crate::Reg; #[doc = "SmartEEPROM Configuration Register"] pub mod seecfg; #[doc = "SEESTAT (r) register accessor: SmartEEPROM Status Register\n\nYou can [`read`](crate::Reg::read) this register and get [`seestat::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@seestat`] module"] #[doc(alias = "SEESTAT")] pub type Seestat = crate::Reg; #[doc = "SmartEEPROM Status Register"] pub mod seestat;