2020-12-07 10:24:29 +00:00
#[ doc = " Reader of register FCNFG " ]
pub type R = crate ::R < u8 , super ::FCNFG > ;
#[ doc = " Writer for register FCNFG " ]
pub type W = crate ::W < u8 , super ::FCNFG > ;
#[ doc = " Register FCNFG `reset()`'s with value 0x02 " ]
impl crate ::ResetValue for super ::FCNFG {
type Type = u8 ;
#[ inline(always) ]
fn reset_value ( ) -> Self ::Type {
0x02
2017-09-23 18:09:53 +00:00
}
}
2020-12-07 10:24:29 +00:00
#[ doc = " Reader of field `EEERDY` " ]
pub type EEERDY_R = crate ::R < bool , bool > ;
#[ doc = " Reader of field `RAMRDY` " ]
pub type RAMRDY_R = crate ::R < bool , bool > ;
#[ doc = " Erase Suspend \n \n Value on reset: 0 " ]
2017-09-23 18:09:53 +00:00
#[ derive(Clone, Copy, Debug, PartialEq) ]
2020-12-07 10:24:29 +00:00
pub enum ERSSUSP_A {
#[ doc = " 0: No suspend requested " ]
_0 = 0 ,
#[ doc = " 1: Suspend the current Erase Flash Sector command execution " ]
_1 = 1 ,
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
impl From < ERSSUSP_A > for bool {
#[ inline(always) ]
fn from ( variant : ERSSUSP_A ) -> Self {
variant as u8 ! = 0
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
}
#[ doc = " Reader of field `ERSSUSP` " ]
pub type ERSSUSP_R = crate ::R < bool , ERSSUSP_A > ;
impl ERSSUSP_R {
#[ doc = r " Get enumerated values variant " ]
#[ inline(always) ]
pub fn variant ( & self ) -> ERSSUSP_A {
match self . bits {
false = > ERSSUSP_A ::_0 ,
true = > ERSSUSP_A ::_1 ,
2017-09-23 18:09:53 +00:00
}
}
#[ doc = " Checks if the value of the field is `_0` " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn is_0 ( & self ) -> bool {
2020-12-07 10:24:29 +00:00
* self = = ERSSUSP_A ::_0
2017-09-23 18:09:53 +00:00
}
#[ doc = " Checks if the value of the field is `_1` " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn is_1 ( & self ) -> bool {
2020-12-07 10:24:29 +00:00
* self = = ERSSUSP_A ::_1
2017-09-23 18:09:53 +00:00
}
}
2020-12-07 10:24:29 +00:00
#[ doc = " Write proxy for field `ERSSUSP` " ]
pub struct ERSSUSP_W < ' a > {
w : & ' a mut W ,
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
impl < ' a > ERSSUSP_W < ' a > {
#[ doc = r " Writes `variant` to the field " ]
#[ inline(always) ]
pub fn variant ( self , variant : ERSSUSP_A ) -> & ' a mut W {
{
self . bit ( variant . into ( ) )
2017-09-23 18:09:53 +00:00
}
}
2020-12-07 10:24:29 +00:00
#[ doc = " No suspend requested " ]
#[ inline(always) ]
pub fn _0 ( self ) -> & ' a mut W {
self . variant ( ERSSUSP_A ::_0 )
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
#[ doc = " Suspend the current Erase Flash Sector command execution " ]
#[ inline(always) ]
pub fn _1 ( self ) -> & ' a mut W {
self . variant ( ERSSUSP_A ::_1 )
}
#[ 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 u8 ) & 0x01 ) < < 4 ) ;
self . w
2017-09-23 18:09:53 +00:00
}
}
2020-12-07 10:24:29 +00:00
#[ doc = " Erase All Request \n \n Value on reset: 0 " ]
2017-09-23 18:09:53 +00:00
#[ derive(Clone, Copy, Debug, PartialEq) ]
2020-12-07 10:24:29 +00:00
pub enum ERSAREQ_A {
#[ doc = " 0: No request or request complete " ]
_0 = 0 ,
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
impl From < ERSAREQ_A > for bool {
#[ inline(always) ]
fn from ( variant : ERSAREQ_A ) -> Self {
variant as u8 ! = 0
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
}
#[ doc = " Reader of field `ERSAREQ` " ]
pub type ERSAREQ_R = crate ::R < bool , ERSAREQ_A > ;
impl ERSAREQ_R {
#[ doc = r " Get enumerated values variant " ]
#[ inline(always) ]
pub fn variant ( & self ) -> crate ::Variant < bool , ERSAREQ_A > {
use crate ::Variant ::* ;
match self . bits {
false = > Val ( ERSAREQ_A ::_0 ) ,
i = > Res ( i ) ,
2017-09-23 18:09:53 +00:00
}
}
#[ doc = " Checks if the value of the field is `_0` " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn is_0 ( & self ) -> bool {
2020-12-07 10:24:29 +00:00
* self = = ERSAREQ_A ::_0
2017-09-23 18:09:53 +00:00
}
}
2020-12-07 10:24:29 +00:00
#[ doc = " Read Collision Error Interrupt Enable \n \n Value on reset: 0 " ]
2017-09-23 18:09:53 +00:00
#[ derive(Clone, Copy, Debug, PartialEq) ]
2020-12-07 10:24:29 +00:00
pub enum RDCOLLIE_A {
#[ doc = " 0: Read collision error interrupt disabled " ]
_0 = 0 ,
#[ doc = " 1: Read collision error interrupt enabled. An interrupt request is generated whenever an FTFC read collision error is detected (see the description of FSTAT \\ [RDCOLERR \\ ]). " ]
_1 = 1 ,
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
impl From < RDCOLLIE_A > for bool {
#[ inline(always) ]
fn from ( variant : RDCOLLIE_A ) -> Self {
variant as u8 ! = 0
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
}
#[ doc = " Reader of field `RDCOLLIE` " ]
pub type RDCOLLIE_R = crate ::R < bool , RDCOLLIE_A > ;
impl RDCOLLIE_R {
#[ doc = r " Get enumerated values variant " ]
#[ inline(always) ]
pub fn variant ( & self ) -> RDCOLLIE_A {
match self . bits {
false = > RDCOLLIE_A ::_0 ,
true = > RDCOLLIE_A ::_1 ,
2017-09-23 18:09:53 +00:00
}
}
#[ doc = " Checks if the value of the field is `_0` " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn is_0 ( & self ) -> bool {
2020-12-07 10:24:29 +00:00
* self = = RDCOLLIE_A ::_0
2017-09-23 18:09:53 +00:00
}
#[ doc = " Checks if the value of the field is `_1` " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn is_1 ( & self ) -> bool {
2020-12-07 10:24:29 +00:00
* self = = RDCOLLIE_A ::_1
2017-09-23 18:09:53 +00:00
}
}
2020-12-07 10:24:29 +00:00
#[ doc = " Write proxy for field `RDCOLLIE` " ]
pub struct RDCOLLIE_W < ' a > {
2017-09-23 18:09:53 +00:00
w : & ' a mut W ,
}
2020-12-07 10:24:29 +00:00
impl < ' a > RDCOLLIE_W < ' a > {
#[ doc = r " Writes `variant` to the field " ]
#[ inline(always) ]
pub fn variant ( self , variant : RDCOLLIE_A ) -> & ' a mut W {
2017-09-23 18:09:53 +00:00
{
2020-12-07 10:24:29 +00:00
self . bit ( variant . into ( ) )
2017-09-23 18:09:53 +00:00
}
}
2020-12-07 10:24:29 +00:00
#[ doc = " Read collision error interrupt disabled " ]
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn _0 ( self ) -> & ' a mut W {
2020-12-07 10:24:29 +00:00
self . variant ( RDCOLLIE_A ::_0 )
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
#[ doc = " Read collision error interrupt enabled. An interrupt request is generated whenever an FTFC read collision error is detected (see the description of FSTAT \\ [RDCOLERR \\ ]). " ]
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn _1 ( self ) -> & ' a mut W {
2020-12-07 10:24:29 +00:00
self . variant ( RDCOLLIE_A ::_1 )
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
#[ doc = r " Sets the field bit " ]
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn set_bit ( self ) -> & ' a mut W {
self . bit ( true )
}
2020-12-07 10:24:29 +00:00
#[ doc = r " Clears the field bit " ]
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn clear_bit ( self ) -> & ' a mut W {
self . bit ( false )
}
2020-12-07 10:24:29 +00:00
#[ doc = r " Writes raw bits to the field " ]
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn bit ( self , value : bool ) -> & ' a mut W {
2020-12-07 10:24:29 +00:00
self . w . bits = ( self . w . bits & ! ( 0x01 < < 6 ) ) | ( ( ( value as u8 ) & 0x01 ) < < 6 ) ;
2017-09-23 18:09:53 +00:00
self . w
}
}
2020-12-07 10:24:29 +00:00
#[ doc = " Command Complete Interrupt Enable \n \n Value on reset: 0 " ]
#[ derive(Clone, Copy, Debug, PartialEq) ]
pub enum CCIE_A {
#[ doc = " 0: Command complete interrupt disabled " ]
_0 = 0 ,
#[ doc = " 1: Command complete interrupt enabled. An interrupt request is generated whenever the FSTAT \\ [CCIF \\ ]
flag is set . " ]
_1 = 1 ,
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
impl From < CCIE_A > for bool {
#[ inline(always) ]
fn from ( variant : CCIE_A ) -> Self {
variant as u8 ! = 0
2017-09-23 18:09:53 +00:00
}
}
2020-12-07 10:24:29 +00:00
#[ doc = " Reader of field `CCIE` " ]
pub type CCIE_R = crate ::R < bool , CCIE_A > ;
impl CCIE_R {
#[ doc = r " Get enumerated values variant " ]
#[ inline(always) ]
pub fn variant ( & self ) -> CCIE_A {
match self . bits {
false = > CCIE_A ::_0 ,
true = > CCIE_A ::_1 ,
2017-09-23 18:09:53 +00:00
}
}
2020-12-07 10:24:29 +00:00
#[ doc = " Checks if the value of the field is `_0` " ]
#[ inline(always) ]
pub fn is_0 ( & self ) -> bool {
* self = = CCIE_A ::_0
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
#[ doc = " Checks if the value of the field is `_1` " ]
#[ inline(always) ]
pub fn is_1 ( & self ) -> bool {
* self = = CCIE_A ::_1
2017-09-23 18:09:53 +00:00
}
}
2020-12-07 10:24:29 +00:00
#[ doc = " Write proxy for field `CCIE` " ]
pub struct CCIE_W < ' a > {
2017-09-23 18:09:53 +00:00
w : & ' a mut W ,
}
2020-12-07 10:24:29 +00:00
impl < ' a > CCIE_W < ' a > {
#[ doc = r " Writes `variant` to the field " ]
#[ inline(always) ]
pub fn variant ( self , variant : CCIE_A ) -> & ' a mut W {
2017-09-23 18:09:53 +00:00
{
2020-12-07 10:24:29 +00:00
self . bit ( variant . into ( ) )
2017-09-23 18:09:53 +00:00
}
}
#[ doc = " Command complete interrupt disabled " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn _0 ( self ) -> & ' a mut W {
2020-12-07 10:24:29 +00:00
self . variant ( CCIE_A ::_0 )
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
#[ doc = " Command complete interrupt enabled. An interrupt request is generated whenever the FSTAT \\ [CCIF \\ ]
flag is set . " ]
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn _1 ( self ) -> & ' a mut W {
2020-12-07 10:24:29 +00:00
self . variant ( CCIE_A ::_1 )
2017-09-23 18:09:53 +00:00
}
2020-12-07 10:24:29 +00:00
#[ doc = r " Sets the field bit " ]
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn set_bit ( self ) -> & ' a mut W {
self . bit ( true )
}
2020-12-07 10:24:29 +00:00
#[ doc = r " Clears the field bit " ]
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn clear_bit ( self ) -> & ' a mut W {
self . bit ( false )
}
2020-12-07 10:24:29 +00:00
#[ doc = r " Writes raw bits to the field " ]
#[ inline(always) ]
2017-09-23 18:09:53 +00:00
pub fn bit ( self , value : bool ) -> & ' a mut W {
2020-12-07 10:24:29 +00:00
self . w . bits = ( self . w . bits & ! ( 0x01 < < 7 ) ) | ( ( ( value as u8 ) & 0x01 ) < < 7 ) ;
2017-09-23 18:09:53 +00:00
self . w
}
}
impl R {
#[ doc = " Bit 0 - EEERDY " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
pub fn eeerdy ( & self ) -> EEERDY_R {
EEERDY_R ::new ( ( self . bits & 0x01 ) ! = 0 )
2017-09-23 18:09:53 +00:00
}
#[ doc = " Bit 1 - RAM Ready " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
pub fn ramrdy ( & self ) -> RAMRDY_R {
RAMRDY_R ::new ( ( ( self . bits > > 1 ) & 0x01 ) ! = 0 )
2017-09-23 18:09:53 +00:00
}
#[ doc = " Bit 4 - Erase Suspend " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
pub fn erssusp ( & self ) -> ERSSUSP_R {
ERSSUSP_R ::new ( ( ( self . bits > > 4 ) & 0x01 ) ! = 0 )
2017-09-23 18:09:53 +00:00
}
#[ doc = " Bit 5 - Erase All Request " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
pub fn ersareq ( & self ) -> ERSAREQ_R {
ERSAREQ_R ::new ( ( ( self . bits > > 5 ) & 0x01 ) ! = 0 )
2017-09-23 18:09:53 +00:00
}
#[ doc = " Bit 6 - Read Collision Error Interrupt Enable " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
pub fn rdcollie ( & self ) -> RDCOLLIE_R {
RDCOLLIE_R ::new ( ( ( self . bits > > 6 ) & 0x01 ) ! = 0 )
2017-09-23 18:09:53 +00:00
}
#[ doc = " Bit 7 - Command Complete Interrupt Enable " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
pub fn ccie ( & self ) -> CCIE_R {
CCIE_R ::new ( ( ( self . bits > > 7 ) & 0x01 ) ! = 0 )
2017-09-23 18:09:53 +00:00
}
}
impl W {
#[ doc = " Bit 4 - Erase Suspend " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
pub fn erssusp ( & mut self ) -> ERSSUSP_W {
ERSSUSP_W { w : self }
2017-09-23 18:09:53 +00:00
}
#[ doc = " Bit 6 - Read Collision Error Interrupt Enable " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
pub fn rdcollie ( & mut self ) -> RDCOLLIE_W {
RDCOLLIE_W { w : self }
2017-09-23 18:09:53 +00:00
}
#[ doc = " Bit 7 - Command Complete Interrupt Enable " ]
2020-12-07 10:24:29 +00:00
#[ inline(always) ]
pub fn ccie ( & mut self ) -> CCIE_W {
CCIE_W { w : self }
2017-09-23 18:09:53 +00:00
}
}