pub type R = crate::R<CTRLrs>;
pub type W = crate::W<CTRLrs>;
pub type DriveStrengthR = crate::BitReader;
pub type DriveStrengthW<'a, REG> = crate::BitWriter<'a, REG>;
pub type SlewRateR = crate::FieldReader;
pub type SlewRateW<'a, REG> = crate::FieldWriter<'a, REG, 3>;
pub type DinDisR = crate::BitReader;
pub type DinDisW<'a, REG> = crate::BitWriter<'a, REG>;
pub type DriveStrengthAltR = crate::BitReader;
pub type DriveStrengthAltW<'a, REG> = crate::BitWriter<'a, REG>;
pub type SlewRateAltR = crate::FieldReader;
pub type SlewRateAltW<'a, REG> = crate::FieldWriter<'a, REG, 3>;
pub type DinDisAltR = crate::BitReader;
pub type DinDisAltW<'a, REG> = crate::BitWriter<'a, REG>;
impl R {
#[inline(always)]
pub fn drive_strength(&self) -> DriveStrengthR {
DriveStrengthR::new((self.bits & 1) != 0)
}
#[inline(always)]
pub fn slew_rate(&self) -> SlewRateR {
SlewRateR::new(((self.bits >> 4) & 7) as u8)
}
#[inline(always)]
pub fn din_dis(&self) -> DinDisR {
DinDisR::new(((self.bits >> 12) & 1) != 0)
}
#[inline(always)]
pub fn drive_strength_alt(&self) -> DriveStrengthAltR {
DriveStrengthAltR::new(((self.bits >> 16) & 1) != 0)
}
#[inline(always)]
pub fn slew_rate_alt(&self) -> SlewRateAltR {
SlewRateAltR::new(((self.bits >> 20) & 7) as u8)
}
#[inline(always)]
pub fn din_dis_alt(&self) -> DinDisAltR {
DinDisAltR::new(((self.bits >> 28) & 1) != 0)
}
}
impl core::fmt::Debug for R {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CTRL")
.field("drive_strength", &self.drive_strength())
.field("slew_rate", &self.slew_rate())
.field("din_dis", &self.din_dis())
.field("drive_strength_alt", &self.drive_strength_alt())
.field("slew_rate_alt", &self.slew_rate_alt())
.field("din_dis_alt", &self.din_dis_alt())
.finish()
}
}
impl W {
#[inline(always)]
pub fn drive_strength(&mut self) -> DriveStrengthW<'_, CTRLrs> {
DriveStrengthW::new(self, 0)
}
#[inline(always)]
pub fn slew_rate(&mut self) -> SlewRateW<'_, CTRLrs> {
SlewRateW::new(self, 4)
}
#[inline(always)]
pub fn din_dis(&mut self) -> DinDisW<'_, CTRLrs> {
DinDisW::new(self, 12)
}
#[inline(always)]
pub fn drive_strength_alt(&mut self) -> DriveStrengthAltW<'_, CTRLrs> {
DriveStrengthAltW::new(self, 16)
}
#[inline(always)]
pub fn slew_rate_alt(&mut self) -> SlewRateAltW<'_, CTRLrs> {
SlewRateAltW::new(self, 20)
}
#[inline(always)]
pub fn din_dis_alt(&mut self) -> DinDisAltW<'_, CTRLrs> {
DinDisAltW::new(self, 28)
}
}
pub struct CTRLrs;
impl crate::RegisterSpec for CTRLrs {
type Ux = u32;
}
impl crate::Readable for CTRLrs {}
impl crate::Writable for CTRLrs {
type Safety = crate::Unsafe;
}
impl crate::Resettable for CTRLrs {
const RESET_VALUE: u32 = 0x0050_0050;
}