#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - time register"]
pub tr: crate::Reg<tr::TR_SPEC>,
#[doc = "0x04 - date register"]
pub dr: crate::Reg<dr::DR_SPEC>,
#[doc = "0x08 - control register"]
pub cr: crate::Reg<cr::CR_SPEC>,
#[doc = "0x0c - initialization and status register"]
pub isr: crate::Reg<isr::ISR_SPEC>,
#[doc = "0x10 - prescaler register"]
pub prer: crate::Reg<prer::PRER_SPEC>,
#[doc = "0x14 - wakeup timer register"]
pub wutr: crate::Reg<wutr::WUTR_SPEC>,
_reserved6: [u8; 0x04],
#[doc = "0x1c..0x24 - Alarm register"]
pub alrmr: [crate::Reg<alrmr::ALRMR_SPEC>; 2],
#[doc = "0x24 - write protection register"]
pub wpr: crate::Reg<wpr::WPR_SPEC>,
#[doc = "0x28 - sub second register"]
pub ssr: crate::Reg<ssr::SSR_SPEC>,
#[doc = "0x2c - shift control register"]
pub shiftr: crate::Reg<shiftr::SHIFTR_SPEC>,
#[doc = "0x30 - time stamp time register"]
pub tstr: crate::Reg<tstr::TSTR_SPEC>,
#[doc = "0x34 - time stamp date register"]
pub tsdr: crate::Reg<tsdr::TSDR_SPEC>,
#[doc = "0x38 - timestamp sub second register"]
pub tsssr: crate::Reg<tsssr::TSSSR_SPEC>,
#[doc = "0x3c - calibration register"]
pub calr: crate::Reg<calr::CALR_SPEC>,
#[doc = "0x40 - tamper and alternate function configuration register"]
pub tafcr: crate::Reg<tafcr::TAFCR_SPEC>,
#[doc = "0x44..0x4c - Alarm sub-second register"]
pub alrmssr: [crate::Reg<alrmssr::ALRMSSR_SPEC>; 2],
_reserved16: [u8; 0x04],
#[doc = "0x50..0xd0 - backup register"]
pub bkpr: [crate::Reg<bkpr::BKPR_SPEC>; 32],
}
impl RegisterBlock {
#[doc = "0x1c - Alarm register"]
#[inline(always)]
pub fn alrmar(&self) -> &crate::Reg<alrmr::ALRMR_SPEC> {
&self.alrmr[0]
}
#[doc = "0x20 - Alarm register"]
#[inline(always)]
pub fn alrmbr(&self) -> &crate::Reg<alrmr::ALRMR_SPEC> {
&self.alrmr[1]
}
#[doc = "0x44 - Alarm sub-second register"]
#[inline(always)]
pub fn alrmassr(&self) -> &crate::Reg<alrmssr::ALRMSSR_SPEC> {
&self.alrmssr[0]
}
#[doc = "0x48 - Alarm sub-second register"]
#[inline(always)]
pub fn alrmbssr(&self) -> &crate::Reg<alrmssr::ALRMSSR_SPEC> {
&self.alrmssr[1]
}
}
#[doc = "TR register accessor: an alias for `Reg<TR_SPEC>`"]
pub type TR = crate::Reg<tr::TR_SPEC>;
#[doc = "time register"]
pub mod tr;
#[doc = "DR register accessor: an alias for `Reg<DR_SPEC>`"]
pub type DR = crate::Reg<dr::DR_SPEC>;
#[doc = "date register"]
pub mod dr;
#[doc = "CR register accessor: an alias for `Reg<CR_SPEC>`"]
pub type CR = crate::Reg<cr::CR_SPEC>;
#[doc = "control register"]
pub mod cr;
#[doc = "ISR register accessor: an alias for `Reg<ISR_SPEC>`"]
pub type ISR = crate::Reg<isr::ISR_SPEC>;
#[doc = "initialization and status register"]
pub mod isr;
#[doc = "PRER register accessor: an alias for `Reg<PRER_SPEC>`"]
pub type PRER = crate::Reg<prer::PRER_SPEC>;
#[doc = "prescaler register"]
pub mod prer;
#[doc = "WUTR register accessor: an alias for `Reg<WUTR_SPEC>`"]
pub type WUTR = crate::Reg<wutr::WUTR_SPEC>;
#[doc = "wakeup timer register"]
pub mod wutr;
#[doc = "ALRMR register accessor: an alias for `Reg<ALRMR_SPEC>`"]
pub type ALRMR = crate::Reg<alrmr::ALRMR_SPEC>;
#[doc = "Alarm register"]
pub mod alrmr;
#[doc = "WPR register accessor: an alias for `Reg<WPR_SPEC>`"]
pub type WPR = crate::Reg<wpr::WPR_SPEC>;
#[doc = "write protection register"]
pub mod wpr;
#[doc = "SSR register accessor: an alias for `Reg<SSR_SPEC>`"]
pub type SSR = crate::Reg<ssr::SSR_SPEC>;
#[doc = "sub second register"]
pub mod ssr;
#[doc = "SHIFTR register accessor: an alias for `Reg<SHIFTR_SPEC>`"]
pub type SHIFTR = crate::Reg<shiftr::SHIFTR_SPEC>;
#[doc = "shift control register"]
pub mod shiftr;
#[doc = "TSTR register accessor: an alias for `Reg<TSTR_SPEC>`"]
pub type TSTR = crate::Reg<tstr::TSTR_SPEC>;
#[doc = "time stamp time register"]
pub mod tstr;
#[doc = "TSDR register accessor: an alias for `Reg<TSDR_SPEC>`"]
pub type TSDR = crate::Reg<tsdr::TSDR_SPEC>;
#[doc = "time stamp date register"]
pub mod tsdr;
#[doc = "TSSSR register accessor: an alias for `Reg<TSSSR_SPEC>`"]
pub type TSSSR = crate::Reg<tsssr::TSSSR_SPEC>;
#[doc = "timestamp sub second register"]
pub mod tsssr;
#[doc = "CALR register accessor: an alias for `Reg<CALR_SPEC>`"]
pub type CALR = crate::Reg<calr::CALR_SPEC>;
#[doc = "calibration register"]
pub mod calr;
#[doc = "TAFCR register accessor: an alias for `Reg<TAFCR_SPEC>`"]
pub type TAFCR = crate::Reg<tafcr::TAFCR_SPEC>;
#[doc = "tamper and alternate function configuration register"]
pub mod tafcr;
#[doc = "ALRMSSR register accessor: an alias for `Reg<ALRMSSR_SPEC>`"]
pub type ALRMSSR = crate::Reg<alrmssr::ALRMSSR_SPEC>;
#[doc = "Alarm sub-second register"]
pub mod alrmssr;
#[doc = "BKPR register accessor: an alias for `Reg<BKPR_SPEC>`"]
pub type BKPR = crate::Reg<bkpr::BKPR_SPEC>;
#[doc = "backup register"]
pub mod bkpr;