#[repr(C)]
#[derive(Debug)]
pub struct RegisterBlock {
ccr: [CCR; 16],
_reserved1: [u8; 0x40],
csr: CSR,
cfr: CFR,
_reserved3: [u8; 0x78],
rgcr: [RGCR; 8],
_reserved4: [u8; 0x20],
rgsr: RGSR,
rgcfr: RGCFR,
}
impl RegisterBlock {
#[inline(always)]
pub const fn ccr(&self, n: usize) -> &CCR {
&self.ccr[n]
}
#[inline(always)]
pub fn ccr_iter(&self) -> impl Iterator<Item = &CCR> {
self.ccr.iter()
}
#[inline(always)]
pub const fn c0cr(&self) -> &CCR {
self.ccr(0)
}
#[inline(always)]
pub const fn c1cr(&self) -> &CCR {
self.ccr(1)
}
#[inline(always)]
pub const fn c2cr(&self) -> &CCR {
self.ccr(2)
}
#[inline(always)]
pub const fn c3cr(&self) -> &CCR {
self.ccr(3)
}
#[inline(always)]
pub const fn c4cr(&self) -> &CCR {
self.ccr(4)
}
#[inline(always)]
pub const fn c5cr(&self) -> &CCR {
self.ccr(5)
}
#[inline(always)]
pub const fn c6cr(&self) -> &CCR {
self.ccr(6)
}
#[inline(always)]
pub const fn c7cr(&self) -> &CCR {
self.ccr(7)
}
#[inline(always)]
pub const fn c8cr(&self) -> &CCR {
self.ccr(8)
}
#[inline(always)]
pub const fn c9cr(&self) -> &CCR {
self.ccr(9)
}
#[inline(always)]
pub const fn c10cr(&self) -> &CCR {
self.ccr(10)
}
#[inline(always)]
pub const fn c11cr(&self) -> &CCR {
self.ccr(11)
}
#[inline(always)]
pub const fn c12cr(&self) -> &CCR {
self.ccr(12)
}
#[inline(always)]
pub const fn c13cr(&self) -> &CCR {
self.ccr(13)
}
#[inline(always)]
pub const fn c14cr(&self) -> &CCR {
self.ccr(14)
}
#[inline(always)]
pub const fn c15cr(&self) -> &CCR {
self.ccr(15)
}
#[inline(always)]
pub const fn csr(&self) -> &CSR {
&self.csr
}
#[inline(always)]
pub const fn cfr(&self) -> &CFR {
&self.cfr
}
#[inline(always)]
pub const fn rgcr(&self, n: usize) -> &RGCR {
&self.rgcr[n]
}
#[inline(always)]
pub fn rgcr_iter(&self) -> impl Iterator<Item = &RGCR> {
self.rgcr.iter()
}
#[inline(always)]
pub const fn rg0cr(&self) -> &RGCR {
self.rgcr(0)
}
#[inline(always)]
pub const fn rg1cr(&self) -> &RGCR {
self.rgcr(1)
}
#[inline(always)]
pub const fn rg2cr(&self) -> &RGCR {
self.rgcr(2)
}
#[inline(always)]
pub const fn rg3cr(&self) -> &RGCR {
self.rgcr(3)
}
#[inline(always)]
pub const fn rg4cr(&self) -> &RGCR {
self.rgcr(4)
}
#[inline(always)]
pub const fn rg5cr(&self) -> &RGCR {
self.rgcr(5)
}
#[inline(always)]
pub const fn rg6cr(&self) -> &RGCR {
self.rgcr(6)
}
#[inline(always)]
pub const fn rg7cr(&self) -> &RGCR {
self.rgcr(7)
}
#[inline(always)]
pub const fn rgsr(&self) -> &RGSR {
&self.rgsr
}
#[inline(always)]
pub const fn rgcfr(&self) -> &RGCFR {
&self.rgcfr
}
}
pub type CCR = crate::Reg<ccr::CCRrs>;
pub mod ccr;
pub type RGCR = crate::Reg<rgcr::RGCRrs>;
pub mod rgcr;
pub type RGSR = crate::Reg<rgsr::RGSRrs>;
pub mod rgsr;
pub type RGCFR = crate::Reg<rgcfr::RGCFRrs>;
pub mod rgcfr;
pub type CSR = crate::Reg<csr::CSRrs>;
pub mod csr;
pub type CFR = crate::Reg<cfr::CFRrs>;
pub mod cfr;