1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
#[doc = "Reader of register SEMSTAT"] pub type R = crate::R<u32, super::SEMSTAT>; #[doc = "Semaphore status\n\nValue on reset: 1"] #[derive(Clone, Copy, Debug, PartialEq)] pub enum SEMSTAT_A { #[doc = "0: Semaphore is free"] FREE, #[doc = "1: Semaphore is assigned to CPU"] CPU, #[doc = "2: Semaphore is assigned to SPI slave"] SPIS, #[doc = "3: Semaphore is assigned to SPI but a handover to the CPU is pending"] CPUPENDING, } impl From<SEMSTAT_A> for u8 { #[inline(always)] fn from(variant: SEMSTAT_A) -> Self { match variant { SEMSTAT_A::FREE => 0, SEMSTAT_A::CPU => 1, SEMSTAT_A::SPIS => 2, SEMSTAT_A::CPUPENDING => 3, } } } #[doc = "Reader of field `SEMSTAT`"] pub type SEMSTAT_R = crate::R<u8, SEMSTAT_A>; impl SEMSTAT_R { #[doc = r"Get enumerated values variant"] #[inline(always)] pub fn variant(&self) -> SEMSTAT_A { match self.bits { 0 => SEMSTAT_A::FREE, 1 => SEMSTAT_A::CPU, 2 => SEMSTAT_A::SPIS, 3 => SEMSTAT_A::CPUPENDING, _ => unreachable!(), } } #[doc = "Checks if the value of the field is `FREE`"] #[inline(always)] pub fn is_free(&self) -> bool { *self == SEMSTAT_A::FREE } #[doc = "Checks if the value of the field is `CPU`"] #[inline(always)] pub fn is_cpu(&self) -> bool { *self == SEMSTAT_A::CPU } #[doc = "Checks if the value of the field is `SPIS`"] #[inline(always)] pub fn is_spis(&self) -> bool { *self == SEMSTAT_A::SPIS } #[doc = "Checks if the value of the field is `CPUPENDING`"] #[inline(always)] pub fn is_cpupending(&self) -> bool { *self == SEMSTAT_A::CPUPENDING } } impl R { #[doc = "Bits 0:1 - Semaphore status"] #[inline(always)] pub fn semstat(&self) -> SEMSTAT_R { SEMSTAT_R::new((self.bits & 0x03) as u8) } }