#[doc = "Reader of register IF2CMSK"]
pub type R = crate::R<u32, super::IF2CMSK>;
#[doc = "Writer for register IF2CMSK"]
pub type W = crate::W<u32, super::IF2CMSK>;
#[doc = "Register IF2CMSK `reset()`'s with value 0"]
impl crate::ResetValue for super::IF2CMSK {
type Type = u32;
#[inline(always)]
fn reset_value() -> Self::Type {
0
}
}
#[doc = "Reader of field `DATAB`"]
pub type DATAB_R = crate::R<bool, bool>;
#[doc = "Write proxy for field `DATAB`"]
pub struct DATAB_W<'a> {
w: &'a mut W,
}
impl<'a> DATAB_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !0x01) | ((value as u32) & 0x01);
self.w
}
}
#[doc = "Reader of field `DATAA`"]
pub type DATAA_R = crate::R<bool, bool>;
#[doc = "Write proxy for field `DATAA`"]
pub struct DATAA_W<'a> {
w: &'a mut W,
}
impl<'a> DATAA_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 1)) | (((value as u32) & 0x01) << 1);
self.w
}
}
#[doc = "Reader of field `NEWDAT`"]
pub type NEWDAT_R = crate::R<bool, bool>;
#[doc = "Write proxy for field `NEWDAT`"]
pub struct NEWDAT_W<'a> {
w: &'a mut W,
}
impl<'a> NEWDAT_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
self.w
}
}
#[doc = "Reader of field `TXRQST`"]
pub type TXRQST_R = crate::R<bool, bool>;
#[doc = "Write proxy for field `TXRQST`"]
pub struct TXRQST_W<'a> {
w: &'a mut W,
}
impl<'a> TXRQST_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 2)) | (((value as u32) & 0x01) << 2);
self.w
}
}
#[doc = "Reader of field `CLRINTPND`"]
pub type CLRINTPND_R = crate::R<bool, bool>;
#[doc = "Write proxy for field `CLRINTPND`"]
pub struct CLRINTPND_W<'a> {
w: &'a mut W,
}
impl<'a> CLRINTPND_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 3)) | (((value as u32) & 0x01) << 3);
self.w
}
}
#[doc = "Reader of field `CONTROL`"]
pub type CONTROL_R = crate::R<bool, bool>;
#[doc = "Write proxy for field `CONTROL`"]
pub struct CONTROL_W<'a> {
w: &'a mut W,
}
impl<'a> CONTROL_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 4)) | (((value as u32) & 0x01) << 4);
self.w
}
}
#[doc = "Reader of field `ARB`"]
pub type ARB_R = crate::R<bool, bool>;
#[doc = "Write proxy for field `ARB`"]
pub struct ARB_W<'a> {
w: &'a mut W,
}
impl<'a> ARB_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 5)) | (((value as u32) & 0x01) << 5);
self.w
}
}
#[doc = "Reader of field `MASK`"]
pub type MASK_R = crate::R<bool, bool>;
#[doc = "Write proxy for field `MASK`"]
pub struct MASK_W<'a> {
w: &'a mut W,
}
impl<'a> MASK_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 6)) | (((value as u32) & 0x01) << 6);
self.w
}
}
#[doc = "Reader of field `WRNRD`"]
pub type WRNRD_R = crate::R<bool, bool>;
#[doc = "Write proxy for field `WRNRD`"]
pub struct WRNRD_W<'a> {
w: &'a mut W,
}
impl<'a> WRNRD_W<'a> {
#[doc = r"Sets the field bit"]
#[inline(always)]
pub fn set_bit(self) -> &'a mut W {
self.bit(true)
}
#[doc = r"Clears the field bit"]
#[inline(always)]
pub fn clear_bit(self) -> &'a mut W {
self.bit(false)
}
#[doc = r"Writes raw bits to the field"]
#[inline(always)]
pub fn bit(self, value: bool) -> &'a mut W {
self.w.bits = (self.w.bits & !(0x01 << 7)) | (((value as u32) & 0x01) << 7);
self.w
}
}
impl R {
#[doc = "Bit 0 - Access Data Byte 4 to 7"]
#[inline(always)]
pub fn datab(&self) -> DATAB_R {
DATAB_R::new((self.bits & 0x01) != 0)
}
#[doc = "Bit 1 - Access Data Byte 0 to 3"]
#[inline(always)]
pub fn dataa(&self) -> DATAA_R {
DATAA_R::new(((self.bits >> 1) & 0x01) != 0)
}
#[doc = "Bit 2 - Access New Data"]
#[inline(always)]
pub fn newdat(&self) -> NEWDAT_R {
NEWDAT_R::new(((self.bits >> 2) & 0x01) != 0)
}
#[doc = "Bit 2 - Access Transmission Request"]
#[inline(always)]
pub fn txrqst(&self) -> TXRQST_R {
TXRQST_R::new(((self.bits >> 2) & 0x01) != 0)
}
#[doc = "Bit 3 - Clear Interrupt Pending Bit"]
#[inline(always)]
pub fn clrintpnd(&self) -> CLRINTPND_R {
CLRINTPND_R::new(((self.bits >> 3) & 0x01) != 0)
}
#[doc = "Bit 4 - Access Control Bits"]
#[inline(always)]
pub fn control(&self) -> CONTROL_R {
CONTROL_R::new(((self.bits >> 4) & 0x01) != 0)
}
#[doc = "Bit 5 - Access Arbitration Bits"]
#[inline(always)]
pub fn arb(&self) -> ARB_R {
ARB_R::new(((self.bits >> 5) & 0x01) != 0)
}
#[doc = "Bit 6 - Access Mask Bits"]
#[inline(always)]
pub fn mask(&self) -> MASK_R {
MASK_R::new(((self.bits >> 6) & 0x01) != 0)
}
#[doc = "Bit 7 - Write, Not Read"]
#[inline(always)]
pub fn wrnrd(&self) -> WRNRD_R {
WRNRD_R::new(((self.bits >> 7) & 0x01) != 0)
}
}
impl W {
#[doc = "Bit 0 - Access Data Byte 4 to 7"]
#[inline(always)]
pub fn datab(&mut self) -> DATAB_W {
DATAB_W { w: self }
}
#[doc = "Bit 1 - Access Data Byte 0 to 3"]
#[inline(always)]
pub fn dataa(&mut self) -> DATAA_W {
DATAA_W { w: self }
}
#[doc = "Bit 2 - Access New Data"]
#[inline(always)]
pub fn newdat(&mut self) -> NEWDAT_W {
NEWDAT_W { w: self }
}
#[doc = "Bit 2 - Access Transmission Request"]
#[inline(always)]
pub fn txrqst(&mut self) -> TXRQST_W {
TXRQST_W { w: self }
}
#[doc = "Bit 3 - Clear Interrupt Pending Bit"]
#[inline(always)]
pub fn clrintpnd(&mut self) -> CLRINTPND_W {
CLRINTPND_W { w: self }
}
#[doc = "Bit 4 - Access Control Bits"]
#[inline(always)]
pub fn control(&mut self) -> CONTROL_W {
CONTROL_W { w: self }
}
#[doc = "Bit 5 - Access Arbitration Bits"]
#[inline(always)]
pub fn arb(&mut self) -> ARB_W {
ARB_W { w: self }
}
#[doc = "Bit 6 - Access Mask Bits"]
#[inline(always)]
pub fn mask(&mut self) -> MASK_W {
MASK_W { w: self }
}
#[doc = "Bit 7 - Write, Not Read"]
#[inline(always)]
pub fn wrnrd(&mut self) -> WRNRD_W {
WRNRD_W { w: self }
}
}