atsamd21g/usb/device/
epstatusclr.rs

1#[doc = "Register `EPSTATUSCLR%s` writer"]
2pub type W = crate::W<EpstatusclrSpec>;
3#[doc = "Field `DTGLOUT` writer - Data Toggle OUT Clear"]
4pub type DtgloutW<'a, REG> = crate::BitWriter<'a, REG>;
5#[doc = "Field `DTGLIN` writer - Data Toggle IN Clear"]
6pub type DtglinW<'a, REG> = crate::BitWriter<'a, REG>;
7#[doc = "Field `CURBK` writer - Curren Bank Clear"]
8pub type CurbkW<'a, REG> = crate::BitWriter<'a, REG>;
9#[doc = "Field `STALLRQ0` writer - Stall 0 Request Clear"]
10pub type Stallrq0W<'a, REG> = crate::BitWriter<'a, REG>;
11#[doc = "Field `STALLRQ1` writer - Stall 1 Request Clear"]
12pub type Stallrq1W<'a, REG> = crate::BitWriter<'a, REG>;
13#[doc = "Field `BK0RDY` writer - Bank 0 Ready Clear"]
14pub type Bk0rdyW<'a, REG> = crate::BitWriter<'a, REG>;
15#[doc = "Field `BK1RDY` writer - Bank 1 Ready Clear"]
16pub type Bk1rdyW<'a, REG> = crate::BitWriter<'a, REG>;
17impl W {
18    #[doc = "Bit 0 - Data Toggle OUT Clear"]
19    #[inline(always)]
20    #[must_use]
21    pub fn dtglout(&mut self) -> DtgloutW<EpstatusclrSpec> {
22        DtgloutW::new(self, 0)
23    }
24    #[doc = "Bit 1 - Data Toggle IN Clear"]
25    #[inline(always)]
26    #[must_use]
27    pub fn dtglin(&mut self) -> DtglinW<EpstatusclrSpec> {
28        DtglinW::new(self, 1)
29    }
30    #[doc = "Bit 2 - Curren Bank Clear"]
31    #[inline(always)]
32    #[must_use]
33    pub fn curbk(&mut self) -> CurbkW<EpstatusclrSpec> {
34        CurbkW::new(self, 2)
35    }
36    #[doc = "Bit 4 - Stall 0 Request Clear"]
37    #[inline(always)]
38    #[must_use]
39    pub fn stallrq0(&mut self) -> Stallrq0W<EpstatusclrSpec> {
40        Stallrq0W::new(self, 4)
41    }
42    #[doc = "Bit 5 - Stall 1 Request Clear"]
43    #[inline(always)]
44    #[must_use]
45    pub fn stallrq1(&mut self) -> Stallrq1W<EpstatusclrSpec> {
46        Stallrq1W::new(self, 5)
47    }
48    #[doc = "Bit 6 - Bank 0 Ready Clear"]
49    #[inline(always)]
50    #[must_use]
51    pub fn bk0rdy(&mut self) -> Bk0rdyW<EpstatusclrSpec> {
52        Bk0rdyW::new(self, 6)
53    }
54    #[doc = "Bit 7 - Bank 1 Ready Clear"]
55    #[inline(always)]
56    #[must_use]
57    pub fn bk1rdy(&mut self) -> Bk1rdyW<EpstatusclrSpec> {
58        Bk1rdyW::new(self, 7)
59    }
60}
61#[doc = "DEVICE End Point Pipe Status Clear\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`epstatusclr::W`](W). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
62pub struct EpstatusclrSpec;
63impl crate::RegisterSpec for EpstatusclrSpec {
64    type Ux = u8;
65}
66#[doc = "`write(|w| ..)` method takes [`epstatusclr::W`](W) writer structure"]
67impl crate::Writable for EpstatusclrSpec {
68    type Safety = crate::Unsafe;
69    const ZERO_TO_MODIFY_FIELDS_BITMAP: u8 = 0;
70    const ONE_TO_MODIFY_FIELDS_BITMAP: u8 = 0;
71}
72#[doc = "`reset()` method sets EPSTATUSCLR%s to value 0"]
73impl crate::Resettable for EpstatusclrSpec {
74    const RESET_VALUE: u8 = 0;
75}