pub type R = crate::R<CR1rs>;
pub type W = crate::W<CR1rs>;
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum CPHA {
FirstEdge = 0,
SecondEdge = 1,
}
impl From<CPHA> for bool {
#[inline(always)]
fn from(variant: CPHA) -> Self {
variant as u8 != 0
}
}
pub type CPHA_R = crate::BitReader<CPHA>;
impl CPHA_R {
#[inline(always)]
pub const fn variant(&self) -> CPHA {
match self.bits {
false => CPHA::FirstEdge,
true => CPHA::SecondEdge,
}
}
#[inline(always)]
pub fn is_first_edge(&self) -> bool {
*self == CPHA::FirstEdge
}
#[inline(always)]
pub fn is_second_edge(&self) -> bool {
*self == CPHA::SecondEdge
}
}
pub type CPHA_W<'a, REG> = crate::BitWriter<'a, REG, CPHA>;
impl<'a, REG> CPHA_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn first_edge(self) -> &'a mut crate::W<REG> {
self.variant(CPHA::FirstEdge)
}
#[inline(always)]
pub fn second_edge(self) -> &'a mut crate::W<REG> {
self.variant(CPHA::SecondEdge)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum CPOL {
IdleLow = 0,
IdleHigh = 1,
}
impl From<CPOL> for bool {
#[inline(always)]
fn from(variant: CPOL) -> Self {
variant as u8 != 0
}
}
pub type CPOL_R = crate::BitReader<CPOL>;
impl CPOL_R {
#[inline(always)]
pub const fn variant(&self) -> CPOL {
match self.bits {
false => CPOL::IdleLow,
true => CPOL::IdleHigh,
}
}
#[inline(always)]
pub fn is_idle_low(&self) -> bool {
*self == CPOL::IdleLow
}
#[inline(always)]
pub fn is_idle_high(&self) -> bool {
*self == CPOL::IdleHigh
}
}
pub type CPOL_W<'a, REG> = crate::BitWriter<'a, REG, CPOL>;
impl<'a, REG> CPOL_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn idle_low(self) -> &'a mut crate::W<REG> {
self.variant(CPOL::IdleLow)
}
#[inline(always)]
pub fn idle_high(self) -> &'a mut crate::W<REG> {
self.variant(CPOL::IdleHigh)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum MSTR {
Slave = 0,
Master = 1,
}
impl From<MSTR> for bool {
#[inline(always)]
fn from(variant: MSTR) -> Self {
variant as u8 != 0
}
}
pub type MSTR_R = crate::BitReader<MSTR>;
impl MSTR_R {
#[inline(always)]
pub const fn variant(&self) -> MSTR {
match self.bits {
false => MSTR::Slave,
true => MSTR::Master,
}
}
#[inline(always)]
pub fn is_slave(&self) -> bool {
*self == MSTR::Slave
}
#[inline(always)]
pub fn is_master(&self) -> bool {
*self == MSTR::Master
}
}
pub type MSTR_W<'a, REG> = crate::BitWriter<'a, REG, MSTR>;
impl<'a, REG> MSTR_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn slave(self) -> &'a mut crate::W<REG> {
self.variant(MSTR::Slave)
}
#[inline(always)]
pub fn master(self) -> &'a mut crate::W<REG> {
self.variant(MSTR::Master)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
#[repr(u8)]
pub enum BR {
Div2 = 0,
Div4 = 1,
Div8 = 2,
Div16 = 3,
Div32 = 4,
Div64 = 5,
Div128 = 6,
Div256 = 7,
}
impl From<BR> for u8 {
#[inline(always)]
fn from(variant: BR) -> Self {
variant as _
}
}
impl crate::FieldSpec for BR {
type Ux = u8;
}
impl crate::IsEnum for BR {}
pub type BR_R = crate::FieldReader<BR>;
impl BR_R {
#[inline(always)]
pub const fn variant(&self) -> BR {
match self.bits {
0 => BR::Div2,
1 => BR::Div4,
2 => BR::Div8,
3 => BR::Div16,
4 => BR::Div32,
5 => BR::Div64,
6 => BR::Div128,
7 => BR::Div256,
_ => unreachable!(),
}
}
#[inline(always)]
pub fn is_div2(&self) -> bool {
*self == BR::Div2
}
#[inline(always)]
pub fn is_div4(&self) -> bool {
*self == BR::Div4
}
#[inline(always)]
pub fn is_div8(&self) -> bool {
*self == BR::Div8
}
#[inline(always)]
pub fn is_div16(&self) -> bool {
*self == BR::Div16
}
#[inline(always)]
pub fn is_div32(&self) -> bool {
*self == BR::Div32
}
#[inline(always)]
pub fn is_div64(&self) -> bool {
*self == BR::Div64
}
#[inline(always)]
pub fn is_div128(&self) -> bool {
*self == BR::Div128
}
#[inline(always)]
pub fn is_div256(&self) -> bool {
*self == BR::Div256
}
}
pub type BR_W<'a, REG> = crate::FieldWriter<'a, REG, 3, BR, crate::Safe>;
impl<'a, REG> BR_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
REG::Ux: From<u8>,
{
#[inline(always)]
pub fn div2(self) -> &'a mut crate::W<REG> {
self.variant(BR::Div2)
}
#[inline(always)]
pub fn div4(self) -> &'a mut crate::W<REG> {
self.variant(BR::Div4)
}
#[inline(always)]
pub fn div8(self) -> &'a mut crate::W<REG> {
self.variant(BR::Div8)
}
#[inline(always)]
pub fn div16(self) -> &'a mut crate::W<REG> {
self.variant(BR::Div16)
}
#[inline(always)]
pub fn div32(self) -> &'a mut crate::W<REG> {
self.variant(BR::Div32)
}
#[inline(always)]
pub fn div64(self) -> &'a mut crate::W<REG> {
self.variant(BR::Div64)
}
#[inline(always)]
pub fn div128(self) -> &'a mut crate::W<REG> {
self.variant(BR::Div128)
}
#[inline(always)]
pub fn div256(self) -> &'a mut crate::W<REG> {
self.variant(BR::Div256)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum SPE {
Disabled = 0,
Enabled = 1,
}
impl From<SPE> for bool {
#[inline(always)]
fn from(variant: SPE) -> Self {
variant as u8 != 0
}
}
pub type SPE_R = crate::BitReader<SPE>;
impl SPE_R {
#[inline(always)]
pub const fn variant(&self) -> SPE {
match self.bits {
false => SPE::Disabled,
true => SPE::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == SPE::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == SPE::Enabled
}
}
pub type SPE_W<'a, REG> = crate::BitWriter<'a, REG, SPE>;
impl<'a, REG> SPE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(SPE::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(SPE::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum LSBFIRST {
Msbfirst = 0,
Lsbfirst = 1,
}
impl From<LSBFIRST> for bool {
#[inline(always)]
fn from(variant: LSBFIRST) -> Self {
variant as u8 != 0
}
}
pub type LSBFIRST_R = crate::BitReader<LSBFIRST>;
impl LSBFIRST_R {
#[inline(always)]
pub const fn variant(&self) -> LSBFIRST {
match self.bits {
false => LSBFIRST::Msbfirst,
true => LSBFIRST::Lsbfirst,
}
}
#[inline(always)]
pub fn is_msbfirst(&self) -> bool {
*self == LSBFIRST::Msbfirst
}
#[inline(always)]
pub fn is_lsbfirst(&self) -> bool {
*self == LSBFIRST::Lsbfirst
}
}
pub type LSBFIRST_W<'a, REG> = crate::BitWriter<'a, REG, LSBFIRST>;
impl<'a, REG> LSBFIRST_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn msbfirst(self) -> &'a mut crate::W<REG> {
self.variant(LSBFIRST::Msbfirst)
}
#[inline(always)]
pub fn lsbfirst(self) -> &'a mut crate::W<REG> {
self.variant(LSBFIRST::Lsbfirst)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum SSI {
SlaveSelected = 0,
SlaveNotSelected = 1,
}
impl From<SSI> for bool {
#[inline(always)]
fn from(variant: SSI) -> Self {
variant as u8 != 0
}
}
pub type SSI_R = crate::BitReader<SSI>;
impl SSI_R {
#[inline(always)]
pub const fn variant(&self) -> SSI {
match self.bits {
false => SSI::SlaveSelected,
true => SSI::SlaveNotSelected,
}
}
#[inline(always)]
pub fn is_slave_selected(&self) -> bool {
*self == SSI::SlaveSelected
}
#[inline(always)]
pub fn is_slave_not_selected(&self) -> bool {
*self == SSI::SlaveNotSelected
}
}
pub type SSI_W<'a, REG> = crate::BitWriter<'a, REG, SSI>;
impl<'a, REG> SSI_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn slave_selected(self) -> &'a mut crate::W<REG> {
self.variant(SSI::SlaveSelected)
}
#[inline(always)]
pub fn slave_not_selected(self) -> &'a mut crate::W<REG> {
self.variant(SSI::SlaveNotSelected)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum SSM {
Disabled = 0,
Enabled = 1,
}
impl From<SSM> for bool {
#[inline(always)]
fn from(variant: SSM) -> Self {
variant as u8 != 0
}
}
pub type SSM_R = crate::BitReader<SSM>;
impl SSM_R {
#[inline(always)]
pub const fn variant(&self) -> SSM {
match self.bits {
false => SSM::Disabled,
true => SSM::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == SSM::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == SSM::Enabled
}
}
pub type SSM_W<'a, REG> = crate::BitWriter<'a, REG, SSM>;
impl<'a, REG> SSM_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(SSM::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(SSM::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum RXONLY {
FullDuplex = 0,
OutputDisabled = 1,
}
impl From<RXONLY> for bool {
#[inline(always)]
fn from(variant: RXONLY) -> Self {
variant as u8 != 0
}
}
pub type RXONLY_R = crate::BitReader<RXONLY>;
impl RXONLY_R {
#[inline(always)]
pub const fn variant(&self) -> RXONLY {
match self.bits {
false => RXONLY::FullDuplex,
true => RXONLY::OutputDisabled,
}
}
#[inline(always)]
pub fn is_full_duplex(&self) -> bool {
*self == RXONLY::FullDuplex
}
#[inline(always)]
pub fn is_output_disabled(&self) -> bool {
*self == RXONLY::OutputDisabled
}
}
pub type RXONLY_W<'a, REG> = crate::BitWriter<'a, REG, RXONLY>;
impl<'a, REG> RXONLY_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn full_duplex(self) -> &'a mut crate::W<REG> {
self.variant(RXONLY::FullDuplex)
}
#[inline(always)]
pub fn output_disabled(self) -> &'a mut crate::W<REG> {
self.variant(RXONLY::OutputDisabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum DFF {
EightBit = 0,
SixteenBit = 1,
}
impl From<DFF> for bool {
#[inline(always)]
fn from(variant: DFF) -> Self {
variant as u8 != 0
}
}
pub type DFF_R = crate::BitReader<DFF>;
impl DFF_R {
#[inline(always)]
pub const fn variant(&self) -> DFF {
match self.bits {
false => DFF::EightBit,
true => DFF::SixteenBit,
}
}
#[inline(always)]
pub fn is_eight_bit(&self) -> bool {
*self == DFF::EightBit
}
#[inline(always)]
pub fn is_sixteen_bit(&self) -> bool {
*self == DFF::SixteenBit
}
}
pub type DFF_W<'a, REG> = crate::BitWriter<'a, REG, DFF>;
impl<'a, REG> DFF_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn eight_bit(self) -> &'a mut crate::W<REG> {
self.variant(DFF::EightBit)
}
#[inline(always)]
pub fn sixteen_bit(self) -> &'a mut crate::W<REG> {
self.variant(DFF::SixteenBit)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum CRCNEXT {
TxBuffer = 0,
Crc = 1,
}
impl From<CRCNEXT> for bool {
#[inline(always)]
fn from(variant: CRCNEXT) -> Self {
variant as u8 != 0
}
}
pub type CRCNEXT_R = crate::BitReader<CRCNEXT>;
impl CRCNEXT_R {
#[inline(always)]
pub const fn variant(&self) -> CRCNEXT {
match self.bits {
false => CRCNEXT::TxBuffer,
true => CRCNEXT::Crc,
}
}
#[inline(always)]
pub fn is_tx_buffer(&self) -> bool {
*self == CRCNEXT::TxBuffer
}
#[inline(always)]
pub fn is_crc(&self) -> bool {
*self == CRCNEXT::Crc
}
}
pub type CRCNEXT_W<'a, REG> = crate::BitWriter<'a, REG, CRCNEXT>;
impl<'a, REG> CRCNEXT_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn tx_buffer(self) -> &'a mut crate::W<REG> {
self.variant(CRCNEXT::TxBuffer)
}
#[inline(always)]
pub fn crc(self) -> &'a mut crate::W<REG> {
self.variant(CRCNEXT::Crc)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum CRCEN {
Disabled = 0,
Enabled = 1,
}
impl From<CRCEN> for bool {
#[inline(always)]
fn from(variant: CRCEN) -> Self {
variant as u8 != 0
}
}
pub type CRCEN_R = crate::BitReader<CRCEN>;
impl CRCEN_R {
#[inline(always)]
pub const fn variant(&self) -> CRCEN {
match self.bits {
false => CRCEN::Disabled,
true => CRCEN::Enabled,
}
}
#[inline(always)]
pub fn is_disabled(&self) -> bool {
*self == CRCEN::Disabled
}
#[inline(always)]
pub fn is_enabled(&self) -> bool {
*self == CRCEN::Enabled
}
}
pub type CRCEN_W<'a, REG> = crate::BitWriter<'a, REG, CRCEN>;
impl<'a, REG> CRCEN_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn disabled(self) -> &'a mut crate::W<REG> {
self.variant(CRCEN::Disabled)
}
#[inline(always)]
pub fn enabled(self) -> &'a mut crate::W<REG> {
self.variant(CRCEN::Enabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum BIDIOE {
OutputDisabled = 0,
OutputEnabled = 1,
}
impl From<BIDIOE> for bool {
#[inline(always)]
fn from(variant: BIDIOE) -> Self {
variant as u8 != 0
}
}
pub type BIDIOE_R = crate::BitReader<BIDIOE>;
impl BIDIOE_R {
#[inline(always)]
pub const fn variant(&self) -> BIDIOE {
match self.bits {
false => BIDIOE::OutputDisabled,
true => BIDIOE::OutputEnabled,
}
}
#[inline(always)]
pub fn is_output_disabled(&self) -> bool {
*self == BIDIOE::OutputDisabled
}
#[inline(always)]
pub fn is_output_enabled(&self) -> bool {
*self == BIDIOE::OutputEnabled
}
}
pub type BIDIOE_W<'a, REG> = crate::BitWriter<'a, REG, BIDIOE>;
impl<'a, REG> BIDIOE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn output_disabled(self) -> &'a mut crate::W<REG> {
self.variant(BIDIOE::OutputDisabled)
}
#[inline(always)]
pub fn output_enabled(self) -> &'a mut crate::W<REG> {
self.variant(BIDIOE::OutputEnabled)
}
}
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum BIDIMODE {
Unidirectional = 0,
Bidirectional = 1,
}
impl From<BIDIMODE> for bool {
#[inline(always)]
fn from(variant: BIDIMODE) -> Self {
variant as u8 != 0
}
}
pub type BIDIMODE_R = crate::BitReader<BIDIMODE>;
impl BIDIMODE_R {
#[inline(always)]
pub const fn variant(&self) -> BIDIMODE {
match self.bits {
false => BIDIMODE::Unidirectional,
true => BIDIMODE::Bidirectional,
}
}
#[inline(always)]
pub fn is_unidirectional(&self) -> bool {
*self == BIDIMODE::Unidirectional
}
#[inline(always)]
pub fn is_bidirectional(&self) -> bool {
*self == BIDIMODE::Bidirectional
}
}
pub type BIDIMODE_W<'a, REG> = crate::BitWriter<'a, REG, BIDIMODE>;
impl<'a, REG> BIDIMODE_W<'a, REG>
where
REG: crate::Writable + crate::RegisterSpec,
{
#[inline(always)]
pub fn unidirectional(self) -> &'a mut crate::W<REG> {
self.variant(BIDIMODE::Unidirectional)
}
#[inline(always)]
pub fn bidirectional(self) -> &'a mut crate::W<REG> {
self.variant(BIDIMODE::Bidirectional)
}
}
impl R {
#[inline(always)]
pub fn cpha(&self) -> CPHA_R {
CPHA_R::new((self.bits & 1) != 0)
}
#[inline(always)]
pub fn cpol(&self) -> CPOL_R {
CPOL_R::new(((self.bits >> 1) & 1) != 0)
}
#[inline(always)]
pub fn mstr(&self) -> MSTR_R {
MSTR_R::new(((self.bits >> 2) & 1) != 0)
}
#[inline(always)]
pub fn br(&self) -> BR_R {
BR_R::new(((self.bits >> 3) & 7) as u8)
}
#[inline(always)]
pub fn spe(&self) -> SPE_R {
SPE_R::new(((self.bits >> 6) & 1) != 0)
}
#[inline(always)]
pub fn lsbfirst(&self) -> LSBFIRST_R {
LSBFIRST_R::new(((self.bits >> 7) & 1) != 0)
}
#[inline(always)]
pub fn ssi(&self) -> SSI_R {
SSI_R::new(((self.bits >> 8) & 1) != 0)
}
#[inline(always)]
pub fn ssm(&self) -> SSM_R {
SSM_R::new(((self.bits >> 9) & 1) != 0)
}
#[inline(always)]
pub fn rxonly(&self) -> RXONLY_R {
RXONLY_R::new(((self.bits >> 10) & 1) != 0)
}
#[inline(always)]
pub fn dff(&self) -> DFF_R {
DFF_R::new(((self.bits >> 11) & 1) != 0)
}
#[inline(always)]
pub fn crcnext(&self) -> CRCNEXT_R {
CRCNEXT_R::new(((self.bits >> 12) & 1) != 0)
}
#[inline(always)]
pub fn crcen(&self) -> CRCEN_R {
CRCEN_R::new(((self.bits >> 13) & 1) != 0)
}
#[inline(always)]
pub fn bidioe(&self) -> BIDIOE_R {
BIDIOE_R::new(((self.bits >> 14) & 1) != 0)
}
#[inline(always)]
pub fn bidimode(&self) -> BIDIMODE_R {
BIDIMODE_R::new(((self.bits >> 15) & 1) != 0)
}
}
impl core::fmt::Debug for R {
fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
f.debug_struct("CR1")
.field("bidimode", &self.bidimode())
.field("bidioe", &self.bidioe())
.field("crcen", &self.crcen())
.field("crcnext", &self.crcnext())
.field("dff", &self.dff())
.field("rxonly", &self.rxonly())
.field("ssm", &self.ssm())
.field("ssi", &self.ssi())
.field("lsbfirst", &self.lsbfirst())
.field("spe", &self.spe())
.field("br", &self.br())
.field("mstr", &self.mstr())
.field("cpol", &self.cpol())
.field("cpha", &self.cpha())
.finish()
}
}
impl W {
#[inline(always)]
pub fn cpha(&mut self) -> CPHA_W<CR1rs> {
CPHA_W::new(self, 0)
}
#[inline(always)]
pub fn cpol(&mut self) -> CPOL_W<CR1rs> {
CPOL_W::new(self, 1)
}
#[inline(always)]
pub fn mstr(&mut self) -> MSTR_W<CR1rs> {
MSTR_W::new(self, 2)
}
#[inline(always)]
pub fn br(&mut self) -> BR_W<CR1rs> {
BR_W::new(self, 3)
}
#[inline(always)]
pub fn spe(&mut self) -> SPE_W<CR1rs> {
SPE_W::new(self, 6)
}
#[inline(always)]
pub fn lsbfirst(&mut self) -> LSBFIRST_W<CR1rs> {
LSBFIRST_W::new(self, 7)
}
#[inline(always)]
pub fn ssi(&mut self) -> SSI_W<CR1rs> {
SSI_W::new(self, 8)
}
#[inline(always)]
pub fn ssm(&mut self) -> SSM_W<CR1rs> {
SSM_W::new(self, 9)
}
#[inline(always)]
pub fn rxonly(&mut self) -> RXONLY_W<CR1rs> {
RXONLY_W::new(self, 10)
}
#[inline(always)]
pub fn dff(&mut self) -> DFF_W<CR1rs> {
DFF_W::new(self, 11)
}
#[inline(always)]
pub fn crcnext(&mut self) -> CRCNEXT_W<CR1rs> {
CRCNEXT_W::new(self, 12)
}
#[inline(always)]
pub fn crcen(&mut self) -> CRCEN_W<CR1rs> {
CRCEN_W::new(self, 13)
}
#[inline(always)]
pub fn bidioe(&mut self) -> BIDIOE_W<CR1rs> {
BIDIOE_W::new(self, 14)
}
#[inline(always)]
pub fn bidimode(&mut self) -> BIDIMODE_W<CR1rs> {
BIDIMODE_W::new(self, 15)
}
}
pub struct CR1rs;
impl crate::RegisterSpec for CR1rs {
type Ux = u16;
}
impl crate::Readable for CR1rs {}
impl crate::Writable for CR1rs {
type Safety = crate::Unsafe;
}
impl crate::Resettable for CR1rs {}