pub type R = crate::R<CR3rs>;
pub type W = crate::W<CR3rs>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum EIE {
Disabled = 0,
Enabled = 1,
}
impl From<EIE> for bool {
#[inline(always)]
fn from(variant: EIE) -> Self {
variant as u8 != 0
}
}
pub type EIE_R = crate::BitReader<EIE>;
impl EIE_R {
#[inline(always)]
pub const fn variant(&self) -> EIE {
match self.bits {
false => EIE::Disabled,
true => EIE::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == EIE::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == EIE::Enabled
}
}
pub type EIE_W<'a, REG> = crate::BitWriter<'a, REG, EIE>;
impl<'a, REG> EIE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(EIE::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(EIE::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum IREN {
Disabled = 0,
Enabled = 1,
}
impl From<IREN> for bool {
#[inline(always)]
fn from(variant: IREN) -> Self {
variant as u8 != 0
}
}
pub type IREN_R = crate::BitReader<IREN>;
impl IREN_R {
#[inline(always)]
pub const fn variant(&self) -> IREN {
match self.bits {
false => IREN::Disabled,
true => IREN::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == IREN::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == IREN::Enabled
}
}
pub type IREN_W<'a, REG> = crate::BitWriter<'a, REG, IREN>;
impl<'a, REG> IREN_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(IREN::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(IREN::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum IRLP {
Normal = 0,
LowPower = 1,
}
impl From<IRLP> for bool {
#[inline(always)]
fn from(variant: IRLP) -> Self {
variant as u8 != 0
}
}
pub type IRLP_R = crate::BitReader<IRLP>;
impl IRLP_R {
#[inline(always)]
pub const fn variant(&self) -> IRLP {
match self.bits {
false => IRLP::Normal,
true => IRLP::LowPower,
}
}
#[inline(always)]
pub fn is_normal(&self) -> bool {
*self == IRLP::Normal
}
#[inline(always)]
pub fn is_low_power(&self) -> bool {
*self == IRLP::LowPower
}
}
pub type IRLP_W<'a, REG> = crate::BitWriter<'a, REG, IRLP>;
impl<'a, REG> IRLP_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn normal(self) -> &'a mut crate::W<REG> {
self.variant(IRLP::Normal)
}
#[inline(always)]
pub fn low_power(self) -> &'a mut crate::W<REG> {
self.variant(IRLP::LowPower)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum HDSEL {
FullDuplex = 0,
HalfDuplex = 1,
}
impl From<HDSEL> for bool {
#[inline(always)]
fn from(variant: HDSEL) -> Self {
variant as u8 != 0
}
}
pub type HDSEL_R = crate::BitReader<HDSEL>;
impl HDSEL_R {
#[inline(always)]
pub const fn variant(&self) -> HDSEL {
match self.bits {
false => HDSEL::FullDuplex,
true => HDSEL::HalfDuplex,
}
}
#[inline(always)]
pub fn is_full_duplex(&self) -> bool {
*self == HDSEL::FullDuplex
}
#[inline(always)]
pub fn is_half_duplex(&self) -> bool {
*self == HDSEL::HalfDuplex
}
}
pub type HDSEL_W<'a, REG> = crate::BitWriter<'a, REG, HDSEL>;
impl<'a, REG> HDSEL_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn full_duplex(self) -> &'a mut crate::W<REG> {
self.variant(HDSEL::FullDuplex)
}
#[inline(always)]
pub fn half_duplex(self) -> &'a mut crate::W<REG> {
self.variant(HDSEL::HalfDuplex)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum NACK {
Disabled = 0,
Enabled = 1,
}
impl From<NACK> for bool {
#[inline(always)]
fn from(variant: NACK) -> Self {
variant as u8 != 0
}
}
pub type NACK_R = crate::BitReader<NACK>;
impl NACK_R {
#[inline(always)]
pub const fn variant(&self) -> NACK {
match self.bits {
false => NACK::Disabled,
true => NACK::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == NACK::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == NACK::Enabled
}
}
pub type NACK_W<'a, REG> = crate::BitWriter<'a, REG, NACK>;
impl<'a, REG> NACK_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(NACK::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(NACK::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum SCEN {
Disabled = 0,
Enabled = 1,
}
impl From<SCEN> for bool {
#[inline(always)]
fn from(variant: SCEN) -> Self {
variant as u8 != 0
}
}
pub type SCEN_R = crate::BitReader<SCEN>;
impl SCEN_R {
#[inline(always)]
pub const fn variant(&self) -> SCEN {
match self.bits {
false => SCEN::Disabled,
true => SCEN::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == SCEN::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == SCEN::Enabled
}
}
pub type SCEN_W<'a, REG> = crate::BitWriter<'a, REG, SCEN>;
impl<'a, REG> SCEN_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(SCEN::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(SCEN::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum DMAR {
Disabled = 0,
Enabled = 1,
}
impl From<DMAR> for bool {
#[inline(always)]
fn from(variant: DMAR) -> Self {
variant as u8 != 0
}
}
pub type DMAR_R = crate::BitReader<DMAR>;
impl DMAR_R {
#[inline(always)]
pub const fn variant(&self) -> DMAR {
match self.bits {
false => DMAR::Disabled,
true => DMAR::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == DMAR::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == DMAR::Enabled
}
}
pub type DMAR_W<'a, REG> = crate::BitWriter<'a, REG, DMAR>;
impl<'a, REG> DMAR_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(DMAR::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(DMAR::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum DMAT {
Disabled = 0,
Enabled = 1,
}
impl From<DMAT> for bool {
#[inline(always)]
fn from(variant: DMAT) -> Self {
variant as u8 != 0
}
}
pub type DMAT_R = crate::BitReader<DMAT>;
impl DMAT_R {
#[inline(always)]
pub const fn variant(&self) -> DMAT {
match self.bits {
false => DMAT::Disabled,
true => DMAT::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == DMAT::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == DMAT::Enabled
}
}
pub type DMAT_W<'a, REG> = crate::BitWriter<'a, REG, DMAT>;
impl<'a, REG> DMAT_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(DMAT::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(DMAT::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum RTSE {
Disabled = 0,
Enabled = 1,
}
impl From<RTSE> for bool {
#[inline(always)]
fn from(variant: RTSE) -> Self {
variant as u8 != 0
}
}
pub type RTSE_R = crate::BitReader<RTSE>;
impl RTSE_R {
#[inline(always)]
pub const fn variant(&self) -> RTSE {
match self.bits {
false => RTSE::Disabled,
true => RTSE::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == RTSE::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == RTSE::Enabled
}
}
pub type RTSE_W<'a, REG> = crate::BitWriter<'a, REG, RTSE>;
impl<'a, REG> RTSE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(RTSE::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(RTSE::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum CTSE {
Disabled = 0,
Enabled = 1,
}
impl From<CTSE> for bool {
#[inline(always)]
fn from(variant: CTSE) -> Self {
variant as u8 != 0
}
}
pub type CTSE_R = crate::BitReader<CTSE>;
impl CTSE_R {
#[inline(always)]
pub const fn variant(&self) -> CTSE {
match self.bits {
false => CTSE::Disabled,
true => CTSE::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == CTSE::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == CTSE::Enabled
}
}
pub type CTSE_W<'a, REG> = crate::BitWriter<'a, REG, CTSE>;
impl<'a, REG> CTSE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(CTSE::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(CTSE::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum CTSIE {
Disabled = 0,
Enabled = 1,
}
impl From<CTSIE> for bool {
#[inline(always)]
fn from(variant: CTSIE) -> Self {
variant as u8 != 0
}
}
pub type CTSIE_R = crate::BitReader<CTSIE>;
impl CTSIE_R {
#[inline(always)]
pub const fn variant(&self) -> CTSIE {
match self.bits {
false => CTSIE::Disabled,
true => CTSIE::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == CTSIE::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == CTSIE::Enabled
}
}
pub type CTSIE_W<'a, REG> = crate::BitWriter<'a, REG, CTSIE>;
impl<'a, REG> CTSIE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(CTSIE::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(CTSIE::Enabled)
}
}
impl R {
#[inline(always)]
pub fn eie(&self) -> EIE_R {
EIE_R::new((self.bits & 1) != 0)
}
#[inline(always)]
pub fn iren(&self) -> IREN_R {
IREN_R::new(((self.bits >> 1) & 1) != 0)
}
#[inline(always)]
pub fn irlp(&self) -> IRLP_R {
IRLP_R::new(((self.bits >> 2) & 1) != 0)
}
#[inline(always)]
pub fn hdsel(&self) -> HDSEL_R {
HDSEL_R::new(((self.bits >> 3) & 1) != 0)
}
#[inline(always)]
pub fn nack(&self) -> NACK_R {
NACK_R::new(((self.bits >> 4) & 1) != 0)
}
#[inline(always)]
pub fn scen(&self) -> SCEN_R {
SCEN_R::new(((self.bits >> 5) & 1) != 0)
}
#[inline(always)]
pub fn dmar(&self) -> DMAR_R {
DMAR_R::new(((self.bits >> 6) & 1) != 0)
}
#[inline(always)]
pub fn dmat(&self) -> DMAT_R {
DMAT_R::new(((self.bits >> 7) & 1) != 0)
}
#[inline(always)]
pub fn rtse(&self) -> RTSE_R {
RTSE_R::new(((self.bits >> 8) & 1) != 0)
}
#[inline(always)]
pub fn ctse(&self) -> CTSE_R {
CTSE_R::new(((self.bits >> 9) & 1) != 0)
}
#[inline(always)]
pub fn ctsie(&self) -> CTSIE_R {
CTSIE_R::new(((self.bits >> 10) & 1) != 0)
}
}
impl core::fmt::Debug for R {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CR3")
.field("ctsie", &self.ctsie())
.field("ctse", &self.ctse())
.field("rtse", &self.rtse())
.field("dmat", &self.dmat())
.field("dmar", &self.dmar())
.field("scen", &self.scen())
.field("nack", &self.nack())
.field("hdsel", &self.hdsel())
.field("irlp", &self.irlp())
.field("iren", &self.iren())
.field("eie", &self.eie())
.finish()
}
}
impl W {
#[inline(always)]
#[must_use]
pub fn eie(&mut self) -> EIE_W<CR3rs> {
EIE_W::new(self, 0)
}
#[inline(always)]
#[must_use]
pub fn iren(&mut self) -> IREN_W<CR3rs> {
IREN_W::new(self, 1)
}
#[inline(always)]
#[must_use]
pub fn irlp(&mut self) -> IRLP_W<CR3rs> {
IRLP_W::new(self, 2)
}
#[inline(always)]
#[must_use]
pub fn hdsel(&mut self) -> HDSEL_W<CR3rs> {
HDSEL_W::new(self, 3)
}
#[inline(always)]
#[must_use]
pub fn nack(&mut self) -> NACK_W<CR3rs> {
NACK_W::new(self, 4)
}
#[inline(always)]
#[must_use]
pub fn scen(&mut self) -> SCEN_W<CR3rs> {
SCEN_W::new(self, 5)
}
#[inline(always)]
#[must_use]
pub fn dmar(&mut self) -> DMAR_W<CR3rs> {
DMAR_W::new(self, 6)
}
#[inline(always)]
#[must_use]
pub fn dmat(&mut self) -> DMAT_W<CR3rs> {
DMAT_W::new(self, 7)
}
#[inline(always)]
#[must_use]
pub fn rtse(&mut self) -> RTSE_W<CR3rs> {
RTSE_W::new(self, 8)
}
#[inline(always)]
#[must_use]
pub fn ctse(&mut self) -> CTSE_W<CR3rs> {
CTSE_W::new(self, 9)
}
#[inline(always)]
#[must_use]
pub fn ctsie(&mut self) -> CTSIE_W<CR3rs> {
CTSIE_W::new(self, 10)
}
}
pub struct CR3rs;
impl crate::RegisterSpec for CR3rs {
type Ux = u32;
}
impl crate::Readable for CR3rs {}
impl crate::Writable for CR3rs {
type Safety = crate::Unsafe;
const ZERO_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
const ONE_TO_MODIFY_FIELDS_BITMAP: u32 = 0;
}
impl crate::Resettable for CR3rs {
const RESET_VALUE: u32 = 0;
}