pub type R = crate::R<CCRrs>;
pub type W = crate::W<CCRrs>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
#[repr(u8)]
pub enum PRESC {
Div1 = 0,
Div2 = 1,
Div4 = 2,
Div6 = 3,
Div8 = 4,
Div10 = 5,
Div12 = 6,
Div16 = 7,
Div32 = 8,
Div64 = 9,
Div128 = 10,
Div256 = 11,
}
impl From<PRESC> for u8 {
#[inline(always)]
fn from(variant: PRESC) -> Self {
variant as _
}
}
impl crate::FieldSpec for PRESC {
type Ux = u8;
}
impl crate::IsEnum for PRESC {}
pub type PRESC_R = crate::FieldReader<PRESC>;
impl PRESC_R {
#[inline(always)]
pub const fn variant(&self) -> Option<PRESC> {
match self.bits {
0 => Some(PRESC::Div1),
1 => Some(PRESC::Div2),
2 => Some(PRESC::Div4),
3 => Some(PRESC::Div6),
4 => Some(PRESC::Div8),
5 => Some(PRESC::Div10),
6 => Some(PRESC::Div12),
7 => Some(PRESC::Div16),
8 => Some(PRESC::Div32),
9 => Some(PRESC::Div64),
10 => Some(PRESC::Div128),
11 => Some(PRESC::Div256),
_ => None,
}
}
#[inline(always)]
pub fn is_div1(&self) -> bool {
*self == PRESC::Div1
}
#[inline(always)]
pub fn is_div2(&self) -> bool {
*self == PRESC::Div2
}
#[inline(always)]
pub fn is_div4(&self) -> bool {
*self == PRESC::Div4
}
#[inline(always)]
pub fn is_div6(&self) -> bool {
*self == PRESC::Div6
}
#[inline(always)]
pub fn is_div8(&self) -> bool {
*self == PRESC::Div8
}
#[inline(always)]
pub fn is_div10(&self) -> bool {
*self == PRESC::Div10
}
#[inline(always)]
pub fn is_div12(&self) -> bool {
*self == PRESC::Div12
}
#[inline(always)]
pub fn is_div16(&self) -> bool {
*self == PRESC::Div16
}
#[inline(always)]
pub fn is_div32(&self) -> bool {
*self == PRESC::Div32
}
#[inline(always)]
pub fn is_div64(&self) -> bool {
*self == PRESC::Div64
}
#[inline(always)]
pub fn is_div128(&self) -> bool {
*self == PRESC::Div128
}
#[inline(always)]
pub fn is_div256(&self) -> bool {
*self == PRESC::Div256
}
}
pub type PRESC_W<'a, REG> = crate::FieldWriter<'a, REG, 4, PRESC>;
impl<'a, REG> PRESC_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
REG::Ux: From<u8>,
{
#[inline(always)]
pub fn div1(self) -> &'a mut crate::W<REG> {
self.variant(PRESC::Div1)
}
#[inline(always)]
pub fn div2(self) -> &'a mut crate::W<REG> {
self.variant(PRESC::Div2)
}
#[inline(always)]
pub fn div4(self) -> &'a mut crate::W<REG> {
self.variant(PRESC::Div4)
}
#[inline(always)]
pub fn div6(self) -> &'a mut crate::W<REG> {
self.variant(PRESC::Div6)
}
#[inline(always)]
pub fn div8(self) -> &'a mut crate::W<REG> {
self.variant(PRESC::Div8)
}
#[inline(always)]
pub fn div10(self) -> &'a mut crate::W<REG> {
self.variant(PRESC::Div10)
}
#[inline(always)]
pub fn div12(self) -> &'a mut crate::W<REG> {
self.variant(PRESC::Div12)
}
#[inline(always)]
pub fn div16(self) -> &'a mut crate::W<REG> {
self.variant(PRESC::Div16)
}
#[inline(always)]
pub fn div32(self) -> &'a mut crate::W<REG> {
self.variant(PRESC::Div32)
}
#[inline(always)]
pub fn div64(self) -> &'a mut crate::W<REG> {
self.variant(PRESC::Div64)
}
#[inline(always)]
pub fn div128(self) -> &'a mut crate::W<REG> {
self.variant(PRESC::Div128)
}
#[inline(always)]
pub fn div256(self) -> &'a mut crate::W<REG> {
self.variant(PRESC::Div256)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum VREFEN {
Disabled = 0,
Enabled = 1,
}
impl From<VREFEN> for bool {
#[inline(always)]
fn from(variant: VREFEN) -> Self {
variant as u8 != 0
}
}
pub type VREFEN_R = crate::BitReader<VREFEN>;
impl VREFEN_R {
#[inline(always)]
pub const fn variant(&self) -> VREFEN {
match self.bits {
false => VREFEN::Disabled,
true => VREFEN::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == VREFEN::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == VREFEN::Enabled
}
}
pub type VREFEN_W<'a, REG> = crate::BitWriter<'a, REG, VREFEN>;
impl<'a, REG> VREFEN_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(VREFEN::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(VREFEN::Enabled)
}
}
pub use VREFEN_R as TSEN_R;
pub use VREFEN_R as VBATEN_R;
pub use VREFEN_W as TSEN_W;
pub use VREFEN_W as VBATEN_W;
impl R {
#[inline(always)]
pub fn presc(&self) -> PRESC_R {
PRESC_R::new(((self.bits >> 18) & 0x0f) as u8)
}
#[inline(always)]
pub fn vrefen(&self) -> VREFEN_R {
VREFEN_R::new(((self.bits >> 22) & 1) != 0)
}
#[inline(always)]
pub fn tsen(&self) -> TSEN_R {
TSEN_R::new(((self.bits >> 23) & 1) != 0)
}
#[inline(always)]
pub fn vbaten(&self) -> VBATEN_R {
VBATEN_R::new(((self.bits >> 24) & 1) != 0)
}
}
impl core::fmt::Debug for R {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CCR")
.field("presc", &self.presc())
.field("vrefen", &self.vrefen())
.field("tsen", &self.tsen())
.field("vbaten", &self.vbaten())
.finish()
}
}
impl W {
#[inline(always)]
pub fn presc(&mut self) -> PRESC_W<CCRrs> {
PRESC_W::new(self, 18)
}
#[inline(always)]
pub fn vrefen(&mut self) -> VREFEN_W<CCRrs> {
VREFEN_W::new(self, 22)
}
#[inline(always)]
pub fn tsen(&mut self) -> TSEN_W<CCRrs> {
TSEN_W::new(self, 23)
}
#[inline(always)]
pub fn vbaten(&mut self) -> VBATEN_W<CCRrs> {
VBATEN_W::new(self, 24)
}
}
pub struct CCRrs;
impl crate::RegisterSpec for CCRrs {
type Ux = u32;
}
impl crate::Readable for CCRrs {}
impl crate::Writable for CCRrs {
type Safety = crate::Unsafe;
}
impl crate::Resettable for CCRrs {}