atsamd51g/wdt/
clear.rs

1#[doc = "Register `CLEAR` writer"]
2pub type W = crate::W<ClearSpec>;
3#[doc = "Watchdog Clear\n\nValue on reset: 0"]
4#[derive(Clone, Copy, Debug, PartialEq, Eq)]
5#[repr(u8)]
6pub enum Clearselect {
7    #[doc = "165: Clear Key"]
8    Key = 165,
9}
10impl From<Clearselect> for u8 {
11    #[inline(always)]
12    fn from(variant: Clearselect) -> Self {
13        variant as _
14    }
15}
16impl crate::FieldSpec for Clearselect {
17    type Ux = u8;
18}
19impl crate::IsEnum for Clearselect {}
20#[doc = "Field `CLEAR` writer - Watchdog Clear"]
21pub type ClearW<'a, REG> = crate::FieldWriter<'a, REG, 8, Clearselect>;
22impl<'a, REG> ClearW<'a, REG>
23where
24    REG: crate::Writable + crate::RegisterSpec,
25    REG::Ux: From<u8>,
26{
27    #[doc = "Clear Key"]
28    #[inline(always)]
29    pub fn key(self) -> &'a mut crate::W<REG> {
30        self.variant(Clearselect::Key)
31    }
32}
33impl W {
34    #[doc = "Bits 0:7 - Watchdog Clear"]
35    #[inline(always)]
36    #[must_use]
37    pub fn clear(&mut self) -> ClearW<ClearSpec> {
38        ClearW::new(self, 0)
39    }
40}
41#[doc = "Clear\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`clear::W`](W). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
42pub struct ClearSpec;
43impl crate::RegisterSpec for ClearSpec {
44    type Ux = u8;
45}
46#[doc = "`write(|w| ..)` method takes [`clear::W`](W) writer structure"]
47impl crate::Writable for ClearSpec {
48    type Safety = crate::Unsafe;
49    const ZERO_TO_MODIFY_FIELDS_BITMAP: u8 = 0;
50    const ONE_TO_MODIFY_FIELDS_BITMAP: u8 = 0;
51}
52#[doc = "`reset()` method sets CLEAR to value 0"]
53impl crate::Resettable for ClearSpec {
54    const RESET_VALUE: u8 = 0;
55}