pub type R = crate::R<CRrs>;
pub type W = crate::W<CRrs>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum EN {
Disabled = 0,
Enabled = 1,
}
impl From<EN> for bool {
#[inline(always)]
fn from(variant: EN) -> Self {
variant as u8 != 0
}
}
pub type EN_R = crate::BitReader<EN>;
impl EN_R {
#[inline(always)]
pub const fn variant(&self) -> EN {
match self.bits {
false => EN::Disabled,
true => EN::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == EN::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == EN::Enabled
}
}
pub type EN_W<'a, REG> = crate::BitWriter<'a, REG, EN>;
impl<'a, REG> EN_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(EN::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(EN::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum TCIE {
Disabled = 0,
Enabled = 1,
}
impl From<TCIE> for bool {
#[inline(always)]
fn from(variant: TCIE) -> Self {
variant as u8 != 0
}
}
pub type TCIE_R = crate::BitReader<TCIE>;
impl TCIE_R {
#[inline(always)]
pub const fn variant(&self) -> TCIE {
match self.bits {
false => TCIE::Disabled,
true => TCIE::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == TCIE::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == TCIE::Enabled
}
}
pub type TCIE_W<'a, REG> = crate::BitWriter<'a, REG, TCIE>;
impl<'a, REG> TCIE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(TCIE::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(TCIE::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum HTIE {
Disabled = 0,
Enabled = 1,
}
impl From<HTIE> for bool {
#[inline(always)]
fn from(variant: HTIE) -> Self {
variant as u8 != 0
}
}
pub type HTIE_R = crate::BitReader<HTIE>;
impl HTIE_R {
#[inline(always)]
pub const fn variant(&self) -> HTIE {
match self.bits {
false => HTIE::Disabled,
true => HTIE::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == HTIE::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == HTIE::Enabled
}
}
pub type HTIE_W<'a, REG> = crate::BitWriter<'a, REG, HTIE>;
impl<'a, REG> HTIE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(HTIE::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(HTIE::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum TEIE {
Disabled = 0,
Enabled = 1,
}
impl From<TEIE> for bool {
#[inline(always)]
fn from(variant: TEIE) -> Self {
variant as u8 != 0
}
}
pub type TEIE_R = crate::BitReader<TEIE>;
impl TEIE_R {
#[inline(always)]
pub const fn variant(&self) -> TEIE {
match self.bits {
false => TEIE::Disabled,
true => TEIE::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == TEIE::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == TEIE::Enabled
}
}
pub type TEIE_W<'a, REG> = crate::BitWriter<'a, REG, TEIE>;
impl<'a, REG> TEIE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(TEIE::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(TEIE::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum DIR {
FromPeripheral = 0,
FromMemory = 1,
}
impl From<DIR> for bool {
#[inline(always)]
fn from(variant: DIR) -> Self {
variant as u8 != 0
}
}
pub type DIR_R = crate::BitReader<DIR>;
impl DIR_R {
#[inline(always)]
pub const fn variant(&self) -> DIR {
match self.bits {
false => DIR::FromPeripheral,
true => DIR::FromMemory,
}
}
#[inline(always)]
pub fn is_from_peripheral(&self) -> bool {
*self == DIR::FromPeripheral
}
#[inline(always)]
pub fn is_from_memory(&self) -> bool {
*self == DIR::FromMemory
}
}
pub type DIR_W<'a, REG> = crate::BitWriter<'a, REG, DIR>;
impl<'a, REG> DIR_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn from_peripheral(self) -> &'a mut crate::W<REG> {
self.variant(DIR::FromPeripheral)
}
#[inline(always)]
pub fn from_memory(self) -> &'a mut crate::W<REG> {
self.variant(DIR::FromMemory)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum CIRC {
Disabled = 0,
Enabled = 1,
}
impl From<CIRC> for bool {
#[inline(always)]
fn from(variant: CIRC) -> Self {
variant as u8 != 0
}
}
pub type CIRC_R = crate::BitReader<CIRC>;
impl CIRC_R {
#[inline(always)]
pub const fn variant(&self) -> CIRC {
match self.bits {
false => CIRC::Disabled,
true => CIRC::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == CIRC::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == CIRC::Enabled
}
}
pub type CIRC_W<'a, REG> = crate::BitWriter<'a, REG, CIRC>;
impl<'a, REG> CIRC_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(CIRC::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(CIRC::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum PINC {
Disabled = 0,
Enabled = 1,
}
impl From<PINC> for bool {
#[inline(always)]
fn from(variant: PINC) -> Self {
variant as u8 != 0
}
}
pub type PINC_R = crate::BitReader<PINC>;
impl PINC_R {
#[inline(always)]
pub const fn variant(&self) -> PINC {
match self.bits {
false => PINC::Disabled,
true => PINC::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == PINC::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == PINC::Enabled
}
}
pub type PINC_W<'a, REG> = crate::BitWriter<'a, REG, PINC>;
impl<'a, REG> PINC_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(PINC::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(PINC::Enabled)
}
}
pub use PINC_R as MINC_R;
pub use PINC_W as MINC_W;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
#[repr(u8)]
pub enum PSIZE {
Bits8 = 0,
Bits16 = 1,
Bits32 = 2,
}
impl From<PSIZE> for u8 {
#[inline(always)]
fn from(variant: PSIZE) -> Self {
variant as _
}
}
impl crate::FieldSpec for PSIZE {
type Ux = u8;
}
impl crate::IsEnum for PSIZE {}
pub type PSIZE_R = crate::FieldReader<PSIZE>;
impl PSIZE_R {
#[inline(always)]
pub const fn variant(&self) -> Option<PSIZE> {
match self.bits {
0 => Some(PSIZE::Bits8),
1 => Some(PSIZE::Bits16),
2 => Some(PSIZE::Bits32),
_ => None,
}
}
#[inline(always)]
pub fn is_bits8(&self) -> bool {
*self == PSIZE::Bits8
}
#[inline(always)]
pub fn is_bits16(&self) -> bool {
*self == PSIZE::Bits16
}
#[inline(always)]
pub fn is_bits32(&self) -> bool {
*self == PSIZE::Bits32
}
}
pub type PSIZE_W<'a, REG> = crate::FieldWriter<'a, REG, 2, PSIZE>;
impl<'a, REG> PSIZE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
REG::Ux: From<u8>,
{
#[inline(always)]
pub fn bits8(self) -> &'a mut crate::W<REG> {
self.variant(PSIZE::Bits8)
}
#[inline(always)]
pub fn bits16(self) -> &'a mut crate::W<REG> {
self.variant(PSIZE::Bits16)
}
#[inline(always)]
pub fn bits32(self) -> &'a mut crate::W<REG> {
self.variant(PSIZE::Bits32)
}
}
pub use PSIZE_R as MSIZE_R;
pub use PSIZE_W as MSIZE_W;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
#[repr(u8)]
pub enum PL {
Low = 0,
Medium = 1,
High = 2,
VeryHigh = 3,
}
impl From<PL> for u8 {
#[inline(always)]
fn from(variant: PL) -> Self {
variant as _
}
}
impl crate::FieldSpec for PL {
type Ux = u8;
}
impl crate::IsEnum for PL {}
pub type PL_R = crate::FieldReader<PL>;
impl PL_R {
#[inline(always)]
pub const fn variant(&self) -> PL {
match self.bits {
0 => PL::Low,
1 => PL::Medium,
2 => PL::High,
3 => PL::VeryHigh,
_ => unreachable!(),
}
}
#[inline(always)]
pub fn is_low(&self) -> bool {
*self == PL::Low
}
#[inline(always)]
pub fn is_medium(&self) -> bool {
*self == PL::Medium
}
#[inline(always)]
pub fn is_high(&self) -> bool {
*self == PL::High
}
#[inline(always)]
pub fn is_very_high(&self) -> bool {
*self == PL::VeryHigh
}
}
pub type PL_W<'a, REG> = crate::FieldWriter<'a, REG, 2, PL, crate::Safe>;
impl<'a, REG> PL_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
REG::Ux: From<u8>,
{
#[inline(always)]
pub fn low(self) -> &'a mut crate::W<REG> {
self.variant(PL::Low)
}
#[inline(always)]
pub fn medium(self) -> &'a mut crate::W<REG> {
self.variant(PL::Medium)
}
#[inline(always)]
pub fn high(self) -> &'a mut crate::W<REG> {
self.variant(PL::High)
}
#[inline(always)]
pub fn very_high(self) -> &'a mut crate::W<REG> {
self.variant(PL::VeryHigh)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum MEM2MEM {
Disabled = 0,
Enabled = 1,
}
impl From<MEM2MEM> for bool {
#[inline(always)]
fn from(variant: MEM2MEM) -> Self {
variant as u8 != 0
}
}
pub type MEM2MEM_R = crate::BitReader<MEM2MEM>;
impl MEM2MEM_R {
#[inline(always)]
pub const fn variant(&self) -> MEM2MEM {
match self.bits {
false => MEM2MEM::Disabled,
true => MEM2MEM::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == MEM2MEM::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == MEM2MEM::Enabled
}
}
pub type MEM2MEM_W<'a, REG> = crate::BitWriter<'a, REG, MEM2MEM>;
impl<'a, REG> MEM2MEM_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(MEM2MEM::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(MEM2MEM::Enabled)
}
}
impl R {
#[inline(always)]
pub fn en(&self) -> EN_R {
EN_R::new((self.bits & 1) != 0)
}
#[inline(always)]
pub fn tcie(&self) -> TCIE_R {
TCIE_R::new(((self.bits >> 1) & 1) != 0)
}
#[inline(always)]
pub fn htie(&self) -> HTIE_R {
HTIE_R::new(((self.bits >> 2) & 1) != 0)
}
#[inline(always)]
pub fn teie(&self) -> TEIE_R {
TEIE_R::new(((self.bits >> 3) & 1) != 0)
}
#[inline(always)]
pub fn dir(&self) -> DIR_R {
DIR_R::new(((self.bits >> 4) & 1) != 0)
}
#[inline(always)]
pub fn circ(&self) -> CIRC_R {
CIRC_R::new(((self.bits >> 5) & 1) != 0)
}
#[inline(always)]
pub fn pinc(&self) -> PINC_R {
PINC_R::new(((self.bits >> 6) & 1) != 0)
}
#[inline(always)]
pub fn minc(&self) -> MINC_R {
MINC_R::new(((self.bits >> 7) & 1) != 0)
}
#[inline(always)]
pub fn psize(&self) -> PSIZE_R {
PSIZE_R::new(((self.bits >> 8) & 3) as u8)
}
#[inline(always)]
pub fn msize(&self) -> MSIZE_R {
MSIZE_R::new(((self.bits >> 10) & 3) as u8)
}
#[inline(always)]
pub fn pl(&self) -> PL_R {
PL_R::new(((self.bits >> 12) & 3) as u8)
}
#[inline(always)]
pub fn mem2mem(&self) -> MEM2MEM_R {
MEM2MEM_R::new(((self.bits >> 14) & 1) != 0)
}
}
impl core::fmt::Debug for R {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CR")
.field("mem2mem", &self.mem2mem())
.field("pl", &self.pl())
.field("psize", &self.psize())
.field("msize", &self.msize())
.field("pinc", &self.pinc())
.field("minc", &self.minc())
.field("circ", &self.circ())
.field("dir", &self.dir())
.field("teie", &self.teie())
.field("htie", &self.htie())
.field("tcie", &self.tcie())
.field("en", &self.en())
.finish()
}
}
impl W {
#[inline(always)]
pub fn en(&mut self) -> EN_W<CRrs> {
EN_W::new(self, 0)
}
#[inline(always)]
pub fn tcie(&mut self) -> TCIE_W<CRrs> {
TCIE_W::new(self, 1)
}
#[inline(always)]
pub fn htie(&mut self) -> HTIE_W<CRrs> {
HTIE_W::new(self, 2)
}
#[inline(always)]
pub fn teie(&mut self) -> TEIE_W<CRrs> {
TEIE_W::new(self, 3)
}
#[inline(always)]
pub fn dir(&mut self) -> DIR_W<CRrs> {
DIR_W::new(self, 4)
}
#[inline(always)]
pub fn circ(&mut self) -> CIRC_W<CRrs> {
CIRC_W::new(self, 5)
}
#[inline(always)]
pub fn pinc(&mut self) -> PINC_W<CRrs> {
PINC_W::new(self, 6)
}
#[inline(always)]
pub fn minc(&mut self) -> MINC_W<CRrs> {
MINC_W::new(self, 7)
}
#[inline(always)]
pub fn psize(&mut self) -> PSIZE_W<CRrs> {
PSIZE_W::new(self, 8)
}
#[inline(always)]
pub fn msize(&mut self) -> MSIZE_W<CRrs> {
MSIZE_W::new(self, 10)
}
#[inline(always)]
pub fn pl(&mut self) -> PL_W<CRrs> {
PL_W::new(self, 12)
}
#[inline(always)]
pub fn mem2mem(&mut self) -> MEM2MEM_W<CRrs> {
MEM2MEM_W::new(self, 14)
}
}
pub struct CRrs;
impl crate::RegisterSpec for CRrs {
type Ux = u32;
}
impl crate::Readable for CRrs {}
impl crate::Writable for CRrs {
type Safety = crate::Unsafe;
}
impl crate::Resettable for CRrs {}