#[repr(C)]
#[cfg_attr(feature = "debug", derive(Debug))]
#[doc = "Register block"]
pub struct RegisterBlock {
_reserved0: [u8; 0x10],
sys_ctlr: SysCtlr,
gexp_status_ie: GexpStatusIe,
gexp_status: GexpStatus,
_reserved3: [u8; 0x14],
op_ctrl: OpCtrl,
_reserved4: [u8; 0x04],
res_status_ie: ResStatusIe,
res_status: ResStatus,
res0: Res0,
res1: Res1,
res2: Res2,
res3: Res3,
}
impl RegisterBlock {
#[doc = "0x10 - System Control"]
#[inline(always)]
pub const fn sys_ctlr(&self) -> &SysCtlr {
&self.sys_ctlr
}
#[doc = "0x14 - General Exception Status Interrupt Enable"]
#[inline(always)]
pub const fn gexp_status_ie(&self) -> &GexpStatusIe {
&self.gexp_status_ie
}
#[doc = "0x18 - General Exception Status"]
#[inline(always)]
pub const fn gexp_status(&self) -> &GexpStatus {
&self.gexp_status
}
#[doc = "0x30 - Operation Control"]
#[inline(always)]
pub const fn op_ctrl(&self) -> &OpCtrl {
&self.op_ctrl
}
#[doc = "0x38 - Result Status Interrupt Enable"]
#[inline(always)]
pub const fn res_status_ie(&self) -> &ResStatusIe {
&self.res_status_ie
}
#[doc = "0x3c - Result Status"]
#[inline(always)]
pub const fn res_status(&self) -> &ResStatus {
&self.res_status
}
#[doc = "0x40 - Result Register 0"]
#[inline(always)]
pub const fn res0(&self) -> &Res0 {
&self.res0
}
#[doc = "0x44 - Result Register 1"]
#[inline(always)]
pub const fn res1(&self) -> &Res1 {
&self.res1
}
#[doc = "0x48 - Result Register 2"]
#[inline(always)]
pub const fn res2(&self) -> &Res2 {
&self.res2
}
#[doc = "0x4c - Result Register 3"]
#[inline(always)]
pub const fn res3(&self) -> &Res3 {
&self.res3
}
}
#[doc = "SYS_CTLR (rw) register accessor: System Control\n\nYou can [`read`](crate::Reg::read) this register and get [`sys_ctlr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sys_ctlr::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@sys_ctlr`] module"]
#[doc(alias = "SYS_CTLR")]
pub type SysCtlr = crate::Reg<sys_ctlr::SysCtlrSpec>;
#[doc = "System Control"]
pub mod sys_ctlr;
#[doc = "GEXP_STATUS_IE (rw) register accessor: General Exception Status Interrupt Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`gexp_status_ie::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gexp_status_ie::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@gexp_status_ie`] module"]
#[doc(alias = "GEXP_STATUS_IE")]
pub type GexpStatusIe = crate::Reg<gexp_status_ie::GexpStatusIeSpec>;
#[doc = "General Exception Status Interrupt Enable"]
pub mod gexp_status_ie;
#[doc = "GEXP_STATUS (rw) register accessor: General Exception Status\n\nYou can [`read`](crate::Reg::read) this register and get [`gexp_status::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gexp_status::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@gexp_status`] module"]
#[doc(alias = "GEXP_STATUS")]
pub type GexpStatus = crate::Reg<gexp_status::GexpStatusSpec>;
#[doc = "General Exception Status"]
pub mod gexp_status;
#[doc = "OP_CTRL (rw) register accessor: Operation Control\n\nYou can [`read`](crate::Reg::read) this register and get [`op_ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`op_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@op_ctrl`] module"]
#[doc(alias = "OP_CTRL")]
pub type OpCtrl = crate::Reg<op_ctrl::OpCtrlSpec>;
#[doc = "Operation Control"]
pub mod op_ctrl;
#[doc = "RES_STATUS_IE (rw) register accessor: Result Status Interrupt Enable\n\nYou can [`read`](crate::Reg::read) this register and get [`res_status_ie::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`res_status_ie::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@res_status_ie`] module"]
#[doc(alias = "RES_STATUS_IE")]
pub type ResStatusIe = crate::Reg<res_status_ie::ResStatusIeSpec>;
#[doc = "Result Status Interrupt Enable"]
pub mod res_status_ie;
#[doc = "RES_STATUS (rw) register accessor: Result Status\n\nYou can [`read`](crate::Reg::read) this register and get [`res_status::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`res_status::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@res_status`] module"]
#[doc(alias = "RES_STATUS")]
pub type ResStatus = crate::Reg<res_status::ResStatusSpec>;
#[doc = "Result Status"]
pub mod res_status;
#[doc = "RES0 (rw) register accessor: Result Register 0\n\nYou can [`read`](crate::Reg::read) this register and get [`res0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`res0::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@res0`] module"]
#[doc(alias = "RES0")]
pub type Res0 = crate::Reg<res0::Res0Spec>;
#[doc = "Result Register 0"]
pub mod res0;
#[doc = "RES1 (rw) register accessor: Result Register 1\n\nYou can [`read`](crate::Reg::read) this register and get [`res1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`res1::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@res1`] module"]
#[doc(alias = "RES1")]
pub type Res1 = crate::Reg<res1::Res1Spec>;
#[doc = "Result Register 1"]
pub mod res1;
#[doc = "RES2 (rw) register accessor: Result Register 2\n\nYou can [`read`](crate::Reg::read) this register and get [`res2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`res2::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@res2`] module"]
#[doc(alias = "RES2")]
pub type Res2 = crate::Reg<res2::Res2Spec>;
#[doc = "Result Register 2"]
pub mod res2;
#[doc = "RES3 (rw) register accessor: Result Register 3\n\nYou can [`read`](crate::Reg::read) this register and get [`res3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`res3::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@res3`] module"]
#[doc(alias = "RES3")]
pub type Res3 = crate::Reg<res3::Res3Spec>;
#[doc = "Result Register 3"]
pub mod res3;