use crate::pac::BKP;
pub struct BackupDomain {
pub(crate) _regs: BKP,
}
macro_rules! write_drx {
($self:ident, $drx:ident, $idx:expr, $new:expr) => {
$self._regs.$drx[$idx].write(|w| w.d().bits($new))
};
}
macro_rules! read_drx {
($self:ident, $drx:ident, $idx:expr) => {
$self._regs.$drx[$idx].read().d().bits()
};
}
impl BackupDomain {
pub fn read_data_register_low(&self, register: usize) -> u16 {
read_drx!(self, dr, register)
}
#[cfg(any(feature = "high", feature = "connectivity"))]
pub fn read_data_register_high(&self, register: usize) -> u16 {
read_drx!(self, bkp_dr, register)
}
pub fn write_data_register_low(&self, register: usize, data: u16) {
write_drx!(self, dr, register, data);
}
#[cfg(any(feature = "high", feature = "connectivity"))]
pub fn write_data_register_high(&self, register: usize, data: u16) {
write_drx!(self, bkp_dr, register, data);
}
}