pub type R = crate::R<CR2rs>;
pub type W = crate::W<CR2rs>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum RXDMAEN {
Disabled = 0,
Enabled = 1,
}
impl From<RXDMAEN> for bool {
#[inline(always)]
fn from(variant: RXDMAEN) -> Self {
variant as u8 != 0
}
}
pub type RXDMAEN_R = crate::BitReader<RXDMAEN>;
impl RXDMAEN_R {
#[inline(always)]
pub const fn variant(&self) -> RXDMAEN {
match self.bits {
false => RXDMAEN::Disabled,
true => RXDMAEN::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == RXDMAEN::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == RXDMAEN::Enabled
}
}
pub type RXDMAEN_W<'a, REG> = crate::BitWriter<'a, REG, RXDMAEN>;
impl<'a, REG> RXDMAEN_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(RXDMAEN::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(RXDMAEN::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum TXDMAEN {
Disabled = 0,
Enabled = 1,
}
impl From<TXDMAEN> for bool {
#[inline(always)]
fn from(variant: TXDMAEN) -> Self {
variant as u8 != 0
}
}
pub type TXDMAEN_R = crate::BitReader<TXDMAEN>;
impl TXDMAEN_R {
#[inline(always)]
pub const fn variant(&self) -> TXDMAEN {
match self.bits {
false => TXDMAEN::Disabled,
true => TXDMAEN::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == TXDMAEN::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == TXDMAEN::Enabled
}
}
pub type TXDMAEN_W<'a, REG> = crate::BitWriter<'a, REG, TXDMAEN>;
impl<'a, REG> TXDMAEN_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(TXDMAEN::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(TXDMAEN::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum SSOE {
Disabled = 0,
Enabled = 1,
}
impl From<SSOE> for bool {
#[inline(always)]
fn from(variant: SSOE) -> Self {
variant as u8 != 0
}
}
pub type SSOE_R = crate::BitReader<SSOE>;
impl SSOE_R {
#[inline(always)]
pub const fn variant(&self) -> SSOE {
match self.bits {
false => SSOE::Disabled,
true => SSOE::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == SSOE::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == SSOE::Enabled
}
}
pub type SSOE_W<'a, REG> = crate::BitWriter<'a, REG, SSOE>;
impl<'a, REG> SSOE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(SSOE::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(SSOE::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum NSSP {
NoPulse = 0,
PulseGenerated = 1,
}
impl From<NSSP> for bool {
#[inline(always)]
fn from(variant: NSSP) -> Self {
variant as u8 != 0
}
}
pub type NSSP_R = crate::BitReader<NSSP>;
impl NSSP_R {
#[inline(always)]
pub const fn variant(&self) -> NSSP {
match self.bits {
false => NSSP::NoPulse,
true => NSSP::PulseGenerated,
}
}
#[inline(always)]
pub fn is_no_pulse(&self) -> bool {
*self == NSSP::NoPulse
}
#[inline(always)]
pub fn is_pulse_generated(&self) -> bool {
*self == NSSP::PulseGenerated
}
}
pub type NSSP_W<'a, REG> = crate::BitWriter<'a, REG, NSSP>;
impl<'a, REG> NSSP_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn no_pulse(self) -> &'a mut crate::W<REG> {
self.variant(NSSP::NoPulse)
}
#[inline(always)]
pub fn pulse_generated(self) -> &'a mut crate::W<REG> {
self.variant(NSSP::PulseGenerated)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum FRF {
Motorola = 0,
Ti = 1,
}
impl From<FRF> for bool {
#[inline(always)]
fn from(variant: FRF) -> Self {
variant as u8 != 0
}
}
pub type FRF_R = crate::BitReader<FRF>;
impl FRF_R {
#[inline(always)]
pub const fn variant(&self) -> FRF {
match self.bits {
false => FRF::Motorola,
true => FRF::Ti,
}
}
#[inline(always)]
pub fn is_motorola(&self) -> bool {
*self == FRF::Motorola
}
#[inline(always)]
pub fn is_ti(&self) -> bool {
*self == FRF::Ti
}
}
pub type FRF_W<'a, REG> = crate::BitWriter<'a, REG, FRF>;
impl<'a, REG> FRF_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn motorola(self) -> &'a mut crate::W<REG> {
self.variant(FRF::Motorola)
}
#[inline(always)]
pub fn ti(self) -> &'a mut crate::W<REG> {
self.variant(FRF::Ti)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum ERRIE {
Masked = 0,
NotMasked = 1,
}
impl From<ERRIE> for bool {
#[inline(always)]
fn from(variant: ERRIE) -> Self {
variant as u8 != 0
}
}
pub type ERRIE_R = crate::BitReader<ERRIE>;
impl ERRIE_R {
#[inline(always)]
pub const fn variant(&self) -> ERRIE {
match self.bits {
false => ERRIE::Masked,
true => ERRIE::NotMasked,
}
}
#[inline(always)]
pub fn is_masked(&self) -> bool {
*self == ERRIE::Masked
}
#[inline(always)]
pub fn is_not_masked(&self) -> bool {
*self == ERRIE::NotMasked
}
}
pub type ERRIE_W<'a, REG> = crate::BitWriter<'a, REG, ERRIE>;
impl<'a, REG> ERRIE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn masked(self) -> &'a mut crate::W<REG> {
self.variant(ERRIE::Masked)
}
#[inline(always)]
pub fn not_masked(self) -> &'a mut crate::W<REG> {
self.variant(ERRIE::NotMasked)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum RXNEIE {
Masked = 0,
NotMasked = 1,
}
impl From<RXNEIE> for bool {
#[inline(always)]
fn from(variant: RXNEIE) -> Self {
variant as u8 != 0
}
}
pub type RXNEIE_R = crate::BitReader<RXNEIE>;
impl RXNEIE_R {
#[inline(always)]
pub const fn variant(&self) -> RXNEIE {
match self.bits {
false => RXNEIE::Masked,
true => RXNEIE::NotMasked,
}
}
#[inline(always)]
pub fn is_masked(&self) -> bool {
*self == RXNEIE::Masked
}
#[inline(always)]
pub fn is_not_masked(&self) -> bool {
*self == RXNEIE::NotMasked
}
}
pub type RXNEIE_W<'a, REG> = crate::BitWriter<'a, REG, RXNEIE>;
impl<'a, REG> RXNEIE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn masked(self) -> &'a mut crate::W<REG> {
self.variant(RXNEIE::Masked)
}
#[inline(always)]
pub fn not_masked(self) -> &'a mut crate::W<REG> {
self.variant(RXNEIE::NotMasked)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum TXEIE {
Masked = 0,
NotMasked = 1,
}
impl From<TXEIE> for bool {
#[inline(always)]
fn from(variant: TXEIE) -> Self {
variant as u8 != 0
}
}
pub type TXEIE_R = crate::BitReader<TXEIE>;
impl TXEIE_R {
#[inline(always)]
pub const fn variant(&self) -> TXEIE {
match self.bits {
false => TXEIE::Masked,
true => TXEIE::NotMasked,
}
}
#[inline(always)]
pub fn is_masked(&self) -> bool {
*self == TXEIE::Masked
}
#[inline(always)]
pub fn is_not_masked(&self) -> bool {
*self == TXEIE::NotMasked
}
}
pub type TXEIE_W<'a, REG> = crate::BitWriter<'a, REG, TXEIE>;
impl<'a, REG> TXEIE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn masked(self) -> &'a mut crate::W<REG> {
self.variant(TXEIE::Masked)
}
#[inline(always)]
pub fn not_masked(self) -> &'a mut crate::W<REG> {
self.variant(TXEIE::NotMasked)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
#[repr(u8)]
pub enum DS {
FourBit = 3,
FiveBit = 4,
SixBit = 5,
SevenBit = 6,
EightBit = 7,
NineBit = 8,
TenBit = 9,
ElevenBit = 10,
TwelveBit = 11,
ThirteenBit = 12,
FourteenBit = 13,
FifteenBit = 14,
SixteenBit = 15,
}
impl From<DS> for u8 {
#[inline(always)]
fn from(variant: DS) -> Self {
variant as _
}
}
impl crate::FieldSpec for DS {
type Ux = u8;
}
impl crate::IsEnum for DS {}
pub type DS_R = crate::FieldReader<DS>;
impl DS_R {
#[inline(always)]
pub const fn variant(&self) -> Option<DS> {
match self.bits {
3 => Some(DS::FourBit),
4 => Some(DS::FiveBit),
5 => Some(DS::SixBit),
6 => Some(DS::SevenBit),
7 => Some(DS::EightBit),
8 => Some(DS::NineBit),
9 => Some(DS::TenBit),
10 => Some(DS::ElevenBit),
11 => Some(DS::TwelveBit),
12 => Some(DS::ThirteenBit),
13 => Some(DS::FourteenBit),
14 => Some(DS::FifteenBit),
15 => Some(DS::SixteenBit),
_ => None,
}
}
#[inline(always)]
pub fn is_four_bit(&self) -> bool {
*self == DS::FourBit
}
#[inline(always)]
pub fn is_five_bit(&self) -> bool {
*self == DS::FiveBit
}
#[inline(always)]
pub fn is_six_bit(&self) -> bool {
*self == DS::SixBit
}
#[inline(always)]
pub fn is_seven_bit(&self) -> bool {
*self == DS::SevenBit
}
#[inline(always)]
pub fn is_eight_bit(&self) -> bool {
*self == DS::EightBit
}
#[inline(always)]
pub fn is_nine_bit(&self) -> bool {
*self == DS::NineBit
}
#[inline(always)]
pub fn is_ten_bit(&self) -> bool {
*self == DS::TenBit
}
#[inline(always)]
pub fn is_eleven_bit(&self) -> bool {
*self == DS::ElevenBit
}
#[inline(always)]
pub fn is_twelve_bit(&self) -> bool {
*self == DS::TwelveBit
}
#[inline(always)]
pub fn is_thirteen_bit(&self) -> bool {
*self == DS::ThirteenBit
}
#[inline(always)]
pub fn is_fourteen_bit(&self) -> bool {
*self == DS::FourteenBit
}
#[inline(always)]
pub fn is_fifteen_bit(&self) -> bool {
*self == DS::FifteenBit
}
#[inline(always)]
pub fn is_sixteen_bit(&self) -> bool {
*self == DS::SixteenBit
}
}
pub type DS_W<'a, REG> = crate::FieldWriter<'a, REG, 4, DS>;
impl<'a, REG> DS_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
REG::Ux: From<u8>,
{
#[inline(always)]
pub fn four_bit(self) -> &'a mut crate::W<REG> {
self.variant(DS::FourBit)
}
#[inline(always)]
pub fn five_bit(self) -> &'a mut crate::W<REG> {
self.variant(DS::FiveBit)
}
#[inline(always)]
pub fn six_bit(self) -> &'a mut crate::W<REG> {
self.variant(DS::SixBit)
}
#[inline(always)]
pub fn seven_bit(self) -> &'a mut crate::W<REG> {
self.variant(DS::SevenBit)
}
#[inline(always)]
pub fn eight_bit(self) -> &'a mut crate::W<REG> {
self.variant(DS::EightBit)
}
#[inline(always)]
pub fn nine_bit(self) -> &'a mut crate::W<REG> {
self.variant(DS::NineBit)
}
#[inline(always)]
pub fn ten_bit(self) -> &'a mut crate::W<REG> {
self.variant(DS::TenBit)
}
#[inline(always)]
pub fn eleven_bit(self) -> &'a mut crate::W<REG> {
self.variant(DS::ElevenBit)
}
#[inline(always)]
pub fn twelve_bit(self) -> &'a mut crate::W<REG> {
self.variant(DS::TwelveBit)
}
#[inline(always)]
pub fn thirteen_bit(self) -> &'a mut crate::W<REG> {
self.variant(DS::ThirteenBit)
}
#[inline(always)]
pub fn fourteen_bit(self) -> &'a mut crate::W<REG> {
self.variant(DS::FourteenBit)
}
#[inline(always)]
pub fn fifteen_bit(self) -> &'a mut crate::W<REG> {
self.variant(DS::FifteenBit)
}
#[inline(always)]
pub fn sixteen_bit(self) -> &'a mut crate::W<REG> {
self.variant(DS::SixteenBit)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum FRXTH {
Half = 0,
Quarter = 1,
}
impl From<FRXTH> for bool {
#[inline(always)]
fn from(variant: FRXTH) -> Self {
variant as u8 != 0
}
}
pub type FRXTH_R = crate::BitReader<FRXTH>;
impl FRXTH_R {
#[inline(always)]
pub const fn variant(&self) -> FRXTH {
match self.bits {
false => FRXTH::Half,
true => FRXTH::Quarter,
}
}
#[inline(always)]
pub fn is_half(&self) -> bool {
*self == FRXTH::Half
}
#[inline(always)]
pub fn is_quarter(&self) -> bool {
*self == FRXTH::Quarter
}
}
pub type FRXTH_W<'a, REG> = crate::BitWriter<'a, REG, FRXTH>;
impl<'a, REG> FRXTH_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn half(self) -> &'a mut crate::W<REG> {
self.variant(FRXTH::Half)
}
#[inline(always)]
pub fn quarter(self) -> &'a mut crate::W<REG> {
self.variant(FRXTH::Quarter)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum LDMA_RX {
Even = 0,
Odd = 1,
}
impl From<LDMA_RX> for bool {
#[inline(always)]
fn from(variant: LDMA_RX) -> Self {
variant as u8 != 0
}
}
pub type LDMA_RX_R = crate::BitReader<LDMA_RX>;
impl LDMA_RX_R {
#[inline(always)]
pub const fn variant(&self) -> LDMA_RX {
match self.bits {
false => LDMA_RX::Even,
true => LDMA_RX::Odd,
}
}
#[inline(always)]
pub fn is_even(&self) -> bool {
*self == LDMA_RX::Even
}
#[inline(always)]
pub fn is_odd(&self) -> bool {
*self == LDMA_RX::Odd
}
}
pub type LDMA_RX_W<'a, REG> = crate::BitWriter<'a, REG, LDMA_RX>;
impl<'a, REG> LDMA_RX_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn even(self) -> &'a mut crate::W<REG> {
self.variant(LDMA_RX::Even)
}
#[inline(always)]
pub fn odd(self) -> &'a mut crate::W<REG> {
self.variant(LDMA_RX::Odd)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum LDMA_TX {
Even = 0,
Odd = 1,
}
impl From<LDMA_TX> for bool {
#[inline(always)]
fn from(variant: LDMA_TX) -> Self {
variant as u8 != 0
}
}
pub type LDMA_TX_R = crate::BitReader<LDMA_TX>;
impl LDMA_TX_R {
#[inline(always)]
pub const fn variant(&self) -> LDMA_TX {
match self.bits {
false => LDMA_TX::Even,
true => LDMA_TX::Odd,
}
}
#[inline(always)]
pub fn is_even(&self) -> bool {
*self == LDMA_TX::Even
}
#[inline(always)]
pub fn is_odd(&self) -> bool {
*self == LDMA_TX::Odd
}
}
pub type LDMA_TX_W<'a, REG> = crate::BitWriter<'a, REG, LDMA_TX>;
impl<'a, REG> LDMA_TX_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn even(self) -> &'a mut crate::W<REG> {
self.variant(LDMA_TX::Even)
}
#[inline(always)]
pub fn odd(self) -> &'a mut crate::W<REG> {
self.variant(LDMA_TX::Odd)
}
}
impl R {
#[inline(always)]
pub fn rxdmaen(&self) -> RXDMAEN_R {
RXDMAEN_R::new((self.bits & 1) != 0)
}
#[inline(always)]
pub fn txdmaen(&self) -> TXDMAEN_R {
TXDMAEN_R::new(((self.bits >> 1) & 1) != 0)
}
#[inline(always)]
pub fn ssoe(&self) -> SSOE_R {
SSOE_R::new(((self.bits >> 2) & 1) != 0)
}
#[inline(always)]
pub fn nssp(&self) -> NSSP_R {
NSSP_R::new(((self.bits >> 3) & 1) != 0)
}
#[inline(always)]
pub fn frf(&self) -> FRF_R {
FRF_R::new(((self.bits >> 4) & 1) != 0)
}
#[inline(always)]
pub fn errie(&self) -> ERRIE_R {
ERRIE_R::new(((self.bits >> 5) & 1) != 0)
}
#[inline(always)]
pub fn rxneie(&self) -> RXNEIE_R {
RXNEIE_R::new(((self.bits >> 6) & 1) != 0)
}
#[inline(always)]
pub fn txeie(&self) -> TXEIE_R {
TXEIE_R::new(((self.bits >> 7) & 1) != 0)
}
#[inline(always)]
pub fn ds(&self) -> DS_R {
DS_R::new(((self.bits >> 8) & 0x0f) as u8)
}
#[inline(always)]
pub fn frxth(&self) -> FRXTH_R {
FRXTH_R::new(((self.bits >> 12) & 1) != 0)
}
#[inline(always)]
pub fn ldma_rx(&self) -> LDMA_RX_R {
LDMA_RX_R::new(((self.bits >> 13) & 1) != 0)
}
#[inline(always)]
pub fn ldma_tx(&self) -> LDMA_TX_R {
LDMA_TX_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("CR2")
.field("rxdmaen", &self.rxdmaen())
.field("txdmaen", &self.txdmaen())
.field("ssoe", &self.ssoe())
.field("nssp", &self.nssp())
.field("frf", &self.frf())
.field("errie", &self.errie())
.field("rxneie", &self.rxneie())
.field("txeie", &self.txeie())
.field("ds", &self.ds())
.field("frxth", &self.frxth())
.field("ldma_rx", &self.ldma_rx())
.field("ldma_tx", &self.ldma_tx())
.finish()
}
}
impl W {
#[inline(always)]
pub fn rxdmaen(&mut self) -> RXDMAEN_W<CR2rs> {
RXDMAEN_W::new(self, 0)
}
#[inline(always)]
pub fn txdmaen(&mut self) -> TXDMAEN_W<CR2rs> {
TXDMAEN_W::new(self, 1)
}
#[inline(always)]
pub fn ssoe(&mut self) -> SSOE_W<CR2rs> {
SSOE_W::new(self, 2)
}
#[inline(always)]
pub fn nssp(&mut self) -> NSSP_W<CR2rs> {
NSSP_W::new(self, 3)
}
#[inline(always)]
pub fn frf(&mut self) -> FRF_W<CR2rs> {
FRF_W::new(self, 4)
}
#[inline(always)]
pub fn errie(&mut self) -> ERRIE_W<CR2rs> {
ERRIE_W::new(self, 5)
}
#[inline(always)]
pub fn rxneie(&mut self) -> RXNEIE_W<CR2rs> {
RXNEIE_W::new(self, 6)
}
#[inline(always)]
pub fn txeie(&mut self) -> TXEIE_W<CR2rs> {
TXEIE_W::new(self, 7)
}
#[inline(always)]
pub fn ds(&mut self) -> DS_W<CR2rs> {
DS_W::new(self, 8)
}
#[inline(always)]
pub fn frxth(&mut self) -> FRXTH_W<CR2rs> {
FRXTH_W::new(self, 12)
}
#[inline(always)]
pub fn ldma_rx(&mut self) -> LDMA_RX_W<CR2rs> {
LDMA_RX_W::new(self, 13)
}
#[inline(always)]
pub fn ldma_tx(&mut self) -> LDMA_TX_W<CR2rs> {
LDMA_TX_W::new(self, 14)
}
}
pub struct CR2rs;
impl crate::RegisterSpec for CR2rs {
type Ux = u16;
}
impl crate::Readable for CR2rs {}
impl crate::Writable for CR2rs {
type Safety = crate::Unsafe;
}
impl crate::Resettable for CR2rs {
const RESET_VALUE: u16 = 0x0700;
}