corstone300_pac/uart0/
intstatus.rs

1// Copyright 2022 Arm Limited and/or its affiliates <open-source-office@arm.com>
2//
3// SPDX-License-Identifier: MIT
4
5#[doc = "Register `INTSTATUS` reader"]
6pub struct R(crate::R<INTSTATUS_SPEC>);
7impl core::ops::Deref for R {
8    type Target = crate::R<INTSTATUS_SPEC>;
9    #[inline(always)]
10    fn deref(&self) -> &Self::Target {
11        &self.0
12    }
13}
14impl From<crate::R<INTSTATUS_SPEC>> for R {
15    #[inline(always)]
16    fn from(reader: crate::R<INTSTATUS_SPEC>) -> Self {
17        R(reader)
18    }
19}
20#[doc = "Field `TXINT` reader - TX Interrupt"]
21pub type TXINT_R = crate::BitReader<bool>;
22#[doc = "Field `RXINT` reader - RX Interrupt"]
23pub type RXINT_R = crate::BitReader<bool>;
24#[doc = "Field `TXOV` reader - TX Overrun Interrupt"]
25pub type TXOV_R = crate::BitReader<bool>;
26#[doc = "Field `RXOV` reader - RX Overrun Interrupt"]
27pub type RXOV_R = crate::BitReader<bool>;
28impl R {
29    #[doc = "Bit 0 - TX Interrupt"]
30    #[inline(always)]
31    pub fn txint(&self) -> TXINT_R {
32        TXINT_R::new((self.bits & 1) != 0)
33    }
34    #[doc = "Bit 1 - RX Interrupt"]
35    #[inline(always)]
36    pub fn rxint(&self) -> RXINT_R {
37        RXINT_R::new(((self.bits >> 1) & 1) != 0)
38    }
39    #[doc = "Bit 2 - TX Overrun Interrupt"]
40    #[inline(always)]
41    pub fn txov(&self) -> TXOV_R {
42        TXOV_R::new(((self.bits >> 2) & 1) != 0)
43    }
44    #[doc = "Bit 3 - RX Overrun Interrupt"]
45    #[inline(always)]
46    pub fn rxov(&self) -> RXOV_R {
47        RXOV_R::new(((self.bits >> 3) & 1) != 0)
48    }
49}
50#[doc = "UART Interrupt Status Register\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [intstatus](index.html) module"]
51pub struct INTSTATUS_SPEC;
52impl crate::RegisterSpec for INTSTATUS_SPEC {
53    type Ux = u32;
54}
55#[doc = "`read()` method returns [intstatus::R](R) reader structure"]
56impl crate::Readable for INTSTATUS_SPEC {
57    type Reader = R;
58}
59#[doc = "`reset()` method sets INTSTATUS to value 0"]
60impl crate::Resettable for INTSTATUS_SPEC {
61    #[inline(always)]
62    fn reset_value() -> Self::Ux {
63        0
64    }
65}