avr_device/devices/attiny85/fuse/
low.rs1#[doc = "Register `LOW` reader"]
2pub struct R(crate::R<LOW_SPEC>);
3impl core::ops::Deref for R {
4 type Target = crate::R<LOW_SPEC>;
5 #[inline(always)]
6 fn deref(&self) -> &Self::Target {
7 &self.0
8 }
9}
10impl From<crate::R<LOW_SPEC>> for R {
11 #[inline(always)]
12 fn from(reader: crate::R<LOW_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `LOW` writer"]
17pub struct W(crate::W<LOW_SPEC>);
18impl core::ops::Deref for W {
19 type Target = crate::W<LOW_SPEC>;
20 #[inline(always)]
21 fn deref(&self) -> &Self::Target {
22 &self.0
23 }
24}
25impl core::ops::DerefMut for W {
26 #[inline(always)]
27 fn deref_mut(&mut self) -> &mut Self::Target {
28 &mut self.0
29 }
30}
31impl From<crate::W<LOW_SPEC>> for W {
32 #[inline(always)]
33 fn from(writer: crate::W<LOW_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "Field `SUT_CKSEL` reader - Select Clock source"]
38pub type SUT_CKSEL_R = crate::FieldReader<u8, SUT_CKSEL_A>;
39#[doc = "Select Clock source\n\nValue on reset: 0"]
40#[derive(Clone, Copy, Debug, PartialEq, Eq)]
41#[repr(u8)]
42pub enum SUT_CKSEL_A {
43 #[doc = "0: Ext. Clock; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms"]
44 EXTCLK_6CK_14CK_0MS = 0,
45 #[doc = "1: PLL Clock; Start-up time PWRDWN/RESET: 1K CK/14 CK + 4 ms"]
46 PLLCLK_1KCK_14CK_4MS = 1,
47 #[doc = "2: Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms"]
48 INTRCOSC_8MHZ_6CK_14CK_0MS = 2,
49 #[doc = "3: ATtiny15 Comp: Int. RC Osc. 6.4 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms"]
50 INTRCOSC_6MHZ4_6CK_14CK_64MS = 3,
51 #[doc = "4: WD. Osc. 128 kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms"]
52 WDOSC_128KHZ_6CK_14CK_0MS = 4,
53 #[doc = "6: Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 1K CK/14 CK + 0 ms"]
54 EXTLOFXTAL_1KCK_14CK_0MS = 6,
55 #[doc = "8: Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms"]
56 EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_4MS1 = 8,
57 #[doc = "9: Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms"]
58 EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_65MS = 9,
59 #[doc = "10: Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms"]
60 EXTXOSC_0MHZ9_3MHZ_258CK_14CK_4MS1 = 10,
61 #[doc = "11: Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms"]
62 EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_65MS = 11,
63 #[doc = "12: Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms"]
64 EXTXOSC_3MHZ_8MHZ_258CK_14CK_4MS1 = 12,
65 #[doc = "13: Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms"]
66 EXTXOSC_3MHZ_8MHZ_1KCK_14CK_65MS = 13,
67 #[doc = "14: Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms"]
68 EXTXOSC_8MHZ_XX_258CK_14CK_4MS1 = 14,
69 #[doc = "15: Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms"]
70 EXTXOSC_8MHZ_XX_1KCK_14CK_65MS = 15,
71 #[doc = "16: Ext. Clock; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4.1 ms"]
72 EXTCLK_6CK_14CK_4MS1 = 16,
73 #[doc = "17: PLL Clock; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4 ms"]
74 PLLCLK_16KCK_14CK_4MS = 17,
75 #[doc = "18: Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4 ms"]
76 INTRCOSC_8MHZ_6CK_14CK_4MS = 18,
77 #[doc = "20: WD. Osc. 128 kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4 ms"]
78 WDOSC_128KHZ_6CK_14CK_4MS = 20,
79 #[doc = "22: Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 1K CK/14 CK + 4 ms"]
80 EXTLOFXTAL_1KCK_14CK_4MS = 22,
81 #[doc = "24: Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms"]
82 EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_65MS = 24,
83 #[doc = "25: Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms"]
84 EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_0MS = 25,
85 #[doc = "26: Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms"]
86 EXTXOSC_0MHZ9_3MHZ_258CK_14CK_65MS = 26,
87 #[doc = "27: Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms"]
88 EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_0MS = 27,
89 #[doc = "28: Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms"]
90 EXTXOSC_3MHZ_8MHZ_258CK_14CK_65MS = 28,
91 #[doc = "29: Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms"]
92 EXTXOSC_3MHZ_8MHZ_16KCK_14CK_0MS = 29,
93 #[doc = "30: Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms"]
94 EXTXOSC_8MHZ_XX_258CK_14CK_65MS = 30,
95 #[doc = "31: Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms"]
96 EXTXOSC_8MHZ_XX_16KCK_14CK_0MS = 31,
97 #[doc = "32: Ext. Clock; Start-up time PWRDWN/RESET: 6 CK/14 CK + 65 ms"]
98 EXTCLK_6CK_14CK_65MS = 32,
99 #[doc = "33: PLL Clock; Start-up time PWRDWN/RESET: 1K CK/14 CK + 64 ms"]
100 PLLCLK_1KCK_14CK_64MS = 33,
101 #[doc = "34: Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms"]
102 INTRCOSC_8MHZ_6CK_14CK_64MS = 34,
103 #[doc = "35: ATtiny15 Comp: Int. RC Osc. 6.4 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4 ms"]
104 INTRCOSC_6MHZ4_6CK_14CK_4MS = 35,
105 #[doc = "36: WD. Osc. 128 kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms"]
106 WDOSC_128KHZ_6CK_14CK_64MS = 36,
107 #[doc = "38: Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 32K CK/14 CK + 64 ms"]
108 EXTLOFXTAL_32KCK_14CK_64MS = 38,
109 #[doc = "40: Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms"]
110 EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_0MS = 40,
111 #[doc = "41: Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms"]
112 EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_4MS1 = 41,
113 #[doc = "42: Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms"]
114 EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_0MS = 42,
115 #[doc = "43: Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms"]
116 EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_4MS1 = 43,
117 #[doc = "44: Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms"]
118 EXTXOSC_3MHZ_8MHZ_1KCK_14CK_0MS = 44,
119 #[doc = "45: Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms"]
120 EXTXOSC_3MHZ_8MHZ_16KCK_14CK_4MS1 = 45,
121 #[doc = "46: Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms"]
122 EXTXOSC_8MHZ_XX_1KCK_14CK_0MS = 46,
123 #[doc = "47: Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms"]
124 EXTXOSC_8MHZ_XX_16KCK_14CK_4MS1 = 47,
125 #[doc = "49: PLL Clock; Start-up time PWRDWN/RESET: 16K CK/14 CK + 64 ms"]
126 PLLCLK_16KCK_14CK_64MS = 49,
127 #[doc = "51: ATtiny15 Comp: Int. RC Osc. 6.4 MHz; Start-up time PWRDWN/RESET: 1 CK/14 CK + 0 ms"]
128 INTRCOSC_6MHZ4_1CK_14CK_0MS = 51,
129 #[doc = "56: Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms"]
130 EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_4MS1 = 56,
131 #[doc = "57: Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms"]
132 EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_65MS = 57,
133 #[doc = "58: Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms"]
134 EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_4MS1 = 58,
135 #[doc = "59: Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms"]
136 EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_65MS = 59,
137 #[doc = "60: Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms"]
138 EXTXOSC_3MHZ_8MHZ_1KCK_14CK_4MS1 = 60,
139 #[doc = "61: Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms"]
140 EXTXOSC_3MHZ_8MHZ_16KCK_14CK_65MS = 61,
141 #[doc = "62: Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms"]
142 EXTXOSC_8MHZ_XX_1KCK_14CK_4MS1 = 62,
143 #[doc = "63: Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms"]
144 EXTXOSC_8MHZ_XX_16KCK_14CK_65MS = 63,
145}
146impl From<SUT_CKSEL_A> for u8 {
147 #[inline(always)]
148 fn from(variant: SUT_CKSEL_A) -> Self {
149 variant as _
150 }
151}
152impl SUT_CKSEL_R {
153 #[doc = "Get enumerated values variant"]
154 #[inline(always)]
155 pub fn variant(&self) -> Option<SUT_CKSEL_A> {
156 match self.bits {
157 0 => Some(SUT_CKSEL_A::EXTCLK_6CK_14CK_0MS),
158 1 => Some(SUT_CKSEL_A::PLLCLK_1KCK_14CK_4MS),
159 2 => Some(SUT_CKSEL_A::INTRCOSC_8MHZ_6CK_14CK_0MS),
160 3 => Some(SUT_CKSEL_A::INTRCOSC_6MHZ4_6CK_14CK_64MS),
161 4 => Some(SUT_CKSEL_A::WDOSC_128KHZ_6CK_14CK_0MS),
162 6 => Some(SUT_CKSEL_A::EXTLOFXTAL_1KCK_14CK_0MS),
163 8 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_4MS1),
164 9 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_65MS),
165 10 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_258CK_14CK_4MS1),
166 11 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_65MS),
167 12 => Some(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_258CK_14CK_4MS1),
168 13 => Some(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_1KCK_14CK_65MS),
169 14 => Some(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_258CK_14CK_4MS1),
170 15 => Some(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_1KCK_14CK_65MS),
171 16 => Some(SUT_CKSEL_A::EXTCLK_6CK_14CK_4MS1),
172 17 => Some(SUT_CKSEL_A::PLLCLK_16KCK_14CK_4MS),
173 18 => Some(SUT_CKSEL_A::INTRCOSC_8MHZ_6CK_14CK_4MS),
174 20 => Some(SUT_CKSEL_A::WDOSC_128KHZ_6CK_14CK_4MS),
175 22 => Some(SUT_CKSEL_A::EXTLOFXTAL_1KCK_14CK_4MS),
176 24 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_65MS),
177 25 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_0MS),
178 26 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_258CK_14CK_65MS),
179 27 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_0MS),
180 28 => Some(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_258CK_14CK_65MS),
181 29 => Some(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_16KCK_14CK_0MS),
182 30 => Some(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_258CK_14CK_65MS),
183 31 => Some(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_16KCK_14CK_0MS),
184 32 => Some(SUT_CKSEL_A::EXTCLK_6CK_14CK_65MS),
185 33 => Some(SUT_CKSEL_A::PLLCLK_1KCK_14CK_64MS),
186 34 => Some(SUT_CKSEL_A::INTRCOSC_8MHZ_6CK_14CK_64MS),
187 35 => Some(SUT_CKSEL_A::INTRCOSC_6MHZ4_6CK_14CK_4MS),
188 36 => Some(SUT_CKSEL_A::WDOSC_128KHZ_6CK_14CK_64MS),
189 38 => Some(SUT_CKSEL_A::EXTLOFXTAL_32KCK_14CK_64MS),
190 40 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_0MS),
191 41 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_4MS1),
192 42 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_0MS),
193 43 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_4MS1),
194 44 => Some(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_1KCK_14CK_0MS),
195 45 => Some(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_16KCK_14CK_4MS1),
196 46 => Some(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_1KCK_14CK_0MS),
197 47 => Some(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_16KCK_14CK_4MS1),
198 49 => Some(SUT_CKSEL_A::PLLCLK_16KCK_14CK_64MS),
199 51 => Some(SUT_CKSEL_A::INTRCOSC_6MHZ4_1CK_14CK_0MS),
200 56 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_4MS1),
201 57 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_65MS),
202 58 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_4MS1),
203 59 => Some(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_65MS),
204 60 => Some(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_1KCK_14CK_4MS1),
205 61 => Some(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_16KCK_14CK_65MS),
206 62 => Some(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_1KCK_14CK_4MS1),
207 63 => Some(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_16KCK_14CK_65MS),
208 _ => None,
209 }
210 }
211 #[doc = "Checks if the value of the field is `EXTCLK_6CK_14CK_0MS`"]
212 #[inline(always)]
213 pub fn is_extclk_6ck_14ck_0ms(&self) -> bool {
214 *self == SUT_CKSEL_A::EXTCLK_6CK_14CK_0MS
215 }
216 #[doc = "Checks if the value of the field is `PLLCLK_1KCK_14CK_4MS`"]
217 #[inline(always)]
218 pub fn is_pllclk_1kck_14ck_4ms(&self) -> bool {
219 *self == SUT_CKSEL_A::PLLCLK_1KCK_14CK_4MS
220 }
221 #[doc = "Checks if the value of the field is `INTRCOSC_8MHZ_6CK_14CK_0MS`"]
222 #[inline(always)]
223 pub fn is_intrcosc_8mhz_6ck_14ck_0ms(&self) -> bool {
224 *self == SUT_CKSEL_A::INTRCOSC_8MHZ_6CK_14CK_0MS
225 }
226 #[doc = "Checks if the value of the field is `INTRCOSC_6MHZ4_6CK_14CK_64MS`"]
227 #[inline(always)]
228 pub fn is_intrcosc_6mhz4_6ck_14ck_64ms(&self) -> bool {
229 *self == SUT_CKSEL_A::INTRCOSC_6MHZ4_6CK_14CK_64MS
230 }
231 #[doc = "Checks if the value of the field is `WDOSC_128KHZ_6CK_14CK_0MS`"]
232 #[inline(always)]
233 pub fn is_wdosc_128khz_6ck_14ck_0ms(&self) -> bool {
234 *self == SUT_CKSEL_A::WDOSC_128KHZ_6CK_14CK_0MS
235 }
236 #[doc = "Checks if the value of the field is `EXTLOFXTAL_1KCK_14CK_0MS`"]
237 #[inline(always)]
238 pub fn is_extlofxtal_1kck_14ck_0ms(&self) -> bool {
239 *self == SUT_CKSEL_A::EXTLOFXTAL_1KCK_14CK_0MS
240 }
241 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_4MS1`"]
242 #[inline(always)]
243 pub fn is_extxosc_0mhz4_0mhz9_258ck_14ck_4ms1(&self) -> bool {
244 *self == SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_4MS1
245 }
246 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_65MS`"]
247 #[inline(always)]
248 pub fn is_extxosc_0mhz4_0mhz9_1kck_14ck_65ms(&self) -> bool {
249 *self == SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_65MS
250 }
251 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ9_3MHZ_258CK_14CK_4MS1`"]
252 #[inline(always)]
253 pub fn is_extxosc_0mhz9_3mhz_258ck_14ck_4ms1(&self) -> bool {
254 *self == SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_258CK_14CK_4MS1
255 }
256 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_65MS`"]
257 #[inline(always)]
258 pub fn is_extxosc_0mhz9_3mhz_1kck_14ck_65ms(&self) -> bool {
259 *self == SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_65MS
260 }
261 #[doc = "Checks if the value of the field is `EXTXOSC_3MHZ_8MHZ_258CK_14CK_4MS1`"]
262 #[inline(always)]
263 pub fn is_extxosc_3mhz_8mhz_258ck_14ck_4ms1(&self) -> bool {
264 *self == SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_258CK_14CK_4MS1
265 }
266 #[doc = "Checks if the value of the field is `EXTXOSC_3MHZ_8MHZ_1KCK_14CK_65MS`"]
267 #[inline(always)]
268 pub fn is_extxosc_3mhz_8mhz_1kck_14ck_65ms(&self) -> bool {
269 *self == SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_1KCK_14CK_65MS
270 }
271 #[doc = "Checks if the value of the field is `EXTXOSC_8MHZ_XX_258CK_14CK_4MS1`"]
272 #[inline(always)]
273 pub fn is_extxosc_8mhz_xx_258ck_14ck_4ms1(&self) -> bool {
274 *self == SUT_CKSEL_A::EXTXOSC_8MHZ_XX_258CK_14CK_4MS1
275 }
276 #[doc = "Checks if the value of the field is `EXTXOSC_8MHZ_XX_1KCK_14CK_65MS`"]
277 #[inline(always)]
278 pub fn is_extxosc_8mhz_xx_1kck_14ck_65ms(&self) -> bool {
279 *self == SUT_CKSEL_A::EXTXOSC_8MHZ_XX_1KCK_14CK_65MS
280 }
281 #[doc = "Checks if the value of the field is `EXTCLK_6CK_14CK_4MS1`"]
282 #[inline(always)]
283 pub fn is_extclk_6ck_14ck_4ms1(&self) -> bool {
284 *self == SUT_CKSEL_A::EXTCLK_6CK_14CK_4MS1
285 }
286 #[doc = "Checks if the value of the field is `PLLCLK_16KCK_14CK_4MS`"]
287 #[inline(always)]
288 pub fn is_pllclk_16kck_14ck_4ms(&self) -> bool {
289 *self == SUT_CKSEL_A::PLLCLK_16KCK_14CK_4MS
290 }
291 #[doc = "Checks if the value of the field is `INTRCOSC_8MHZ_6CK_14CK_4MS`"]
292 #[inline(always)]
293 pub fn is_intrcosc_8mhz_6ck_14ck_4ms(&self) -> bool {
294 *self == SUT_CKSEL_A::INTRCOSC_8MHZ_6CK_14CK_4MS
295 }
296 #[doc = "Checks if the value of the field is `WDOSC_128KHZ_6CK_14CK_4MS`"]
297 #[inline(always)]
298 pub fn is_wdosc_128khz_6ck_14ck_4ms(&self) -> bool {
299 *self == SUT_CKSEL_A::WDOSC_128KHZ_6CK_14CK_4MS
300 }
301 #[doc = "Checks if the value of the field is `EXTLOFXTAL_1KCK_14CK_4MS`"]
302 #[inline(always)]
303 pub fn is_extlofxtal_1kck_14ck_4ms(&self) -> bool {
304 *self == SUT_CKSEL_A::EXTLOFXTAL_1KCK_14CK_4MS
305 }
306 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_65MS`"]
307 #[inline(always)]
308 pub fn is_extxosc_0mhz4_0mhz9_258ck_14ck_65ms(&self) -> bool {
309 *self == SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_65MS
310 }
311 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_0MS`"]
312 #[inline(always)]
313 pub fn is_extxosc_0mhz4_0mhz9_16kck_14ck_0ms(&self) -> bool {
314 *self == SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_0MS
315 }
316 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ9_3MHZ_258CK_14CK_65MS`"]
317 #[inline(always)]
318 pub fn is_extxosc_0mhz9_3mhz_258ck_14ck_65ms(&self) -> bool {
319 *self == SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_258CK_14CK_65MS
320 }
321 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_0MS`"]
322 #[inline(always)]
323 pub fn is_extxosc_0mhz9_3mhz_16kck_14ck_0ms(&self) -> bool {
324 *self == SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_0MS
325 }
326 #[doc = "Checks if the value of the field is `EXTXOSC_3MHZ_8MHZ_258CK_14CK_65MS`"]
327 #[inline(always)]
328 pub fn is_extxosc_3mhz_8mhz_258ck_14ck_65ms(&self) -> bool {
329 *self == SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_258CK_14CK_65MS
330 }
331 #[doc = "Checks if the value of the field is `EXTXOSC_3MHZ_8MHZ_16KCK_14CK_0MS`"]
332 #[inline(always)]
333 pub fn is_extxosc_3mhz_8mhz_16kck_14ck_0ms(&self) -> bool {
334 *self == SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_16KCK_14CK_0MS
335 }
336 #[doc = "Checks if the value of the field is `EXTXOSC_8MHZ_XX_258CK_14CK_65MS`"]
337 #[inline(always)]
338 pub fn is_extxosc_8mhz_xx_258ck_14ck_65ms(&self) -> bool {
339 *self == SUT_CKSEL_A::EXTXOSC_8MHZ_XX_258CK_14CK_65MS
340 }
341 #[doc = "Checks if the value of the field is `EXTXOSC_8MHZ_XX_16KCK_14CK_0MS`"]
342 #[inline(always)]
343 pub fn is_extxosc_8mhz_xx_16kck_14ck_0ms(&self) -> bool {
344 *self == SUT_CKSEL_A::EXTXOSC_8MHZ_XX_16KCK_14CK_0MS
345 }
346 #[doc = "Checks if the value of the field is `EXTCLK_6CK_14CK_65MS`"]
347 #[inline(always)]
348 pub fn is_extclk_6ck_14ck_65ms(&self) -> bool {
349 *self == SUT_CKSEL_A::EXTCLK_6CK_14CK_65MS
350 }
351 #[doc = "Checks if the value of the field is `PLLCLK_1KCK_14CK_64MS`"]
352 #[inline(always)]
353 pub fn is_pllclk_1kck_14ck_64ms(&self) -> bool {
354 *self == SUT_CKSEL_A::PLLCLK_1KCK_14CK_64MS
355 }
356 #[doc = "Checks if the value of the field is `INTRCOSC_8MHZ_6CK_14CK_64MS`"]
357 #[inline(always)]
358 pub fn is_intrcosc_8mhz_6ck_14ck_64ms(&self) -> bool {
359 *self == SUT_CKSEL_A::INTRCOSC_8MHZ_6CK_14CK_64MS
360 }
361 #[doc = "Checks if the value of the field is `INTRCOSC_6MHZ4_6CK_14CK_4MS`"]
362 #[inline(always)]
363 pub fn is_intrcosc_6mhz4_6ck_14ck_4ms(&self) -> bool {
364 *self == SUT_CKSEL_A::INTRCOSC_6MHZ4_6CK_14CK_4MS
365 }
366 #[doc = "Checks if the value of the field is `WDOSC_128KHZ_6CK_14CK_64MS`"]
367 #[inline(always)]
368 pub fn is_wdosc_128khz_6ck_14ck_64ms(&self) -> bool {
369 *self == SUT_CKSEL_A::WDOSC_128KHZ_6CK_14CK_64MS
370 }
371 #[doc = "Checks if the value of the field is `EXTLOFXTAL_32KCK_14CK_64MS`"]
372 #[inline(always)]
373 pub fn is_extlofxtal_32kck_14ck_64ms(&self) -> bool {
374 *self == SUT_CKSEL_A::EXTLOFXTAL_32KCK_14CK_64MS
375 }
376 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_0MS`"]
377 #[inline(always)]
378 pub fn is_extxosc_0mhz4_0mhz9_1kck_14ck_0ms(&self) -> bool {
379 *self == SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_0MS
380 }
381 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_4MS1`"]
382 #[inline(always)]
383 pub fn is_extxosc_0mhz4_0mhz9_16kck_14ck_4ms1(&self) -> bool {
384 *self == SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_4MS1
385 }
386 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_0MS`"]
387 #[inline(always)]
388 pub fn is_extxosc_0mhz9_3mhz_1kck_14ck_0ms(&self) -> bool {
389 *self == SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_0MS
390 }
391 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_4MS1`"]
392 #[inline(always)]
393 pub fn is_extxosc_0mhz9_3mhz_16kck_14ck_4ms1(&self) -> bool {
394 *self == SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_4MS1
395 }
396 #[doc = "Checks if the value of the field is `EXTXOSC_3MHZ_8MHZ_1KCK_14CK_0MS`"]
397 #[inline(always)]
398 pub fn is_extxosc_3mhz_8mhz_1kck_14ck_0ms(&self) -> bool {
399 *self == SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_1KCK_14CK_0MS
400 }
401 #[doc = "Checks if the value of the field is `EXTXOSC_3MHZ_8MHZ_16KCK_14CK_4MS1`"]
402 #[inline(always)]
403 pub fn is_extxosc_3mhz_8mhz_16kck_14ck_4ms1(&self) -> bool {
404 *self == SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_16KCK_14CK_4MS1
405 }
406 #[doc = "Checks if the value of the field is `EXTXOSC_8MHZ_XX_1KCK_14CK_0MS`"]
407 #[inline(always)]
408 pub fn is_extxosc_8mhz_xx_1kck_14ck_0ms(&self) -> bool {
409 *self == SUT_CKSEL_A::EXTXOSC_8MHZ_XX_1KCK_14CK_0MS
410 }
411 #[doc = "Checks if the value of the field is `EXTXOSC_8MHZ_XX_16KCK_14CK_4MS1`"]
412 #[inline(always)]
413 pub fn is_extxosc_8mhz_xx_16kck_14ck_4ms1(&self) -> bool {
414 *self == SUT_CKSEL_A::EXTXOSC_8MHZ_XX_16KCK_14CK_4MS1
415 }
416 #[doc = "Checks if the value of the field is `PLLCLK_16KCK_14CK_64MS`"]
417 #[inline(always)]
418 pub fn is_pllclk_16kck_14ck_64ms(&self) -> bool {
419 *self == SUT_CKSEL_A::PLLCLK_16KCK_14CK_64MS
420 }
421 #[doc = "Checks if the value of the field is `INTRCOSC_6MHZ4_1CK_14CK_0MS`"]
422 #[inline(always)]
423 pub fn is_intrcosc_6mhz4_1ck_14ck_0ms(&self) -> bool {
424 *self == SUT_CKSEL_A::INTRCOSC_6MHZ4_1CK_14CK_0MS
425 }
426 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_4MS1`"]
427 #[inline(always)]
428 pub fn is_extxosc_0mhz4_0mhz9_1kck_14ck_4ms1(&self) -> bool {
429 *self == SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_4MS1
430 }
431 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_65MS`"]
432 #[inline(always)]
433 pub fn is_extxosc_0mhz4_0mhz9_16kck_14ck_65ms(&self) -> bool {
434 *self == SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_65MS
435 }
436 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_4MS1`"]
437 #[inline(always)]
438 pub fn is_extxosc_0mhz9_3mhz_1kck_14ck_4ms1(&self) -> bool {
439 *self == SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_4MS1
440 }
441 #[doc = "Checks if the value of the field is `EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_65MS`"]
442 #[inline(always)]
443 pub fn is_extxosc_0mhz9_3mhz_16kck_14ck_65ms(&self) -> bool {
444 *self == SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_65MS
445 }
446 #[doc = "Checks if the value of the field is `EXTXOSC_3MHZ_8MHZ_1KCK_14CK_4MS1`"]
447 #[inline(always)]
448 pub fn is_extxosc_3mhz_8mhz_1kck_14ck_4ms1(&self) -> bool {
449 *self == SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_1KCK_14CK_4MS1
450 }
451 #[doc = "Checks if the value of the field is `EXTXOSC_3MHZ_8MHZ_16KCK_14CK_65MS`"]
452 #[inline(always)]
453 pub fn is_extxosc_3mhz_8mhz_16kck_14ck_65ms(&self) -> bool {
454 *self == SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_16KCK_14CK_65MS
455 }
456 #[doc = "Checks if the value of the field is `EXTXOSC_8MHZ_XX_1KCK_14CK_4MS1`"]
457 #[inline(always)]
458 pub fn is_extxosc_8mhz_xx_1kck_14ck_4ms1(&self) -> bool {
459 *self == SUT_CKSEL_A::EXTXOSC_8MHZ_XX_1KCK_14CK_4MS1
460 }
461 #[doc = "Checks if the value of the field is `EXTXOSC_8MHZ_XX_16KCK_14CK_65MS`"]
462 #[inline(always)]
463 pub fn is_extxosc_8mhz_xx_16kck_14ck_65ms(&self) -> bool {
464 *self == SUT_CKSEL_A::EXTXOSC_8MHZ_XX_16KCK_14CK_65MS
465 }
466}
467#[doc = "Field `SUT_CKSEL` writer - Select Clock source"]
468pub type SUT_CKSEL_W<'a, const O: u8> = crate::FieldWriter<'a, u8, LOW_SPEC, u8, SUT_CKSEL_A, 6, O>;
469impl<'a, const O: u8> SUT_CKSEL_W<'a, O> {
470 #[doc = "Ext. Clock; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms"]
471 #[inline(always)]
472 pub fn extclk_6ck_14ck_0ms(self) -> &'a mut W {
473 self.variant(SUT_CKSEL_A::EXTCLK_6CK_14CK_0MS)
474 }
475 #[doc = "PLL Clock; Start-up time PWRDWN/RESET: 1K CK/14 CK + 4 ms"]
476 #[inline(always)]
477 pub fn pllclk_1kck_14ck_4ms(self) -> &'a mut W {
478 self.variant(SUT_CKSEL_A::PLLCLK_1KCK_14CK_4MS)
479 }
480 #[doc = "Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms"]
481 #[inline(always)]
482 pub fn intrcosc_8mhz_6ck_14ck_0ms(self) -> &'a mut W {
483 self.variant(SUT_CKSEL_A::INTRCOSC_8MHZ_6CK_14CK_0MS)
484 }
485 #[doc = "ATtiny15 Comp: Int. RC Osc. 6.4 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms"]
486 #[inline(always)]
487 pub fn intrcosc_6mhz4_6ck_14ck_64ms(self) -> &'a mut W {
488 self.variant(SUT_CKSEL_A::INTRCOSC_6MHZ4_6CK_14CK_64MS)
489 }
490 #[doc = "WD. Osc. 128 kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms"]
491 #[inline(always)]
492 pub fn wdosc_128khz_6ck_14ck_0ms(self) -> &'a mut W {
493 self.variant(SUT_CKSEL_A::WDOSC_128KHZ_6CK_14CK_0MS)
494 }
495 #[doc = "Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 1K CK/14 CK + 0 ms"]
496 #[inline(always)]
497 pub fn extlofxtal_1kck_14ck_0ms(self) -> &'a mut W {
498 self.variant(SUT_CKSEL_A::EXTLOFXTAL_1KCK_14CK_0MS)
499 }
500 #[doc = "Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms"]
501 #[inline(always)]
502 pub fn extxosc_0mhz4_0mhz9_258ck_14ck_4ms1(self) -> &'a mut W {
503 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_4MS1)
504 }
505 #[doc = "Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms"]
506 #[inline(always)]
507 pub fn extxosc_0mhz4_0mhz9_1kck_14ck_65ms(self) -> &'a mut W {
508 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_65MS)
509 }
510 #[doc = "Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms"]
511 #[inline(always)]
512 pub fn extxosc_0mhz9_3mhz_258ck_14ck_4ms1(self) -> &'a mut W {
513 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_258CK_14CK_4MS1)
514 }
515 #[doc = "Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms"]
516 #[inline(always)]
517 pub fn extxosc_0mhz9_3mhz_1kck_14ck_65ms(self) -> &'a mut W {
518 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_65MS)
519 }
520 #[doc = "Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms"]
521 #[inline(always)]
522 pub fn extxosc_3mhz_8mhz_258ck_14ck_4ms1(self) -> &'a mut W {
523 self.variant(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_258CK_14CK_4MS1)
524 }
525 #[doc = "Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms"]
526 #[inline(always)]
527 pub fn extxosc_3mhz_8mhz_1kck_14ck_65ms(self) -> &'a mut W {
528 self.variant(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_1KCK_14CK_65MS)
529 }
530 #[doc = "Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms"]
531 #[inline(always)]
532 pub fn extxosc_8mhz_xx_258ck_14ck_4ms1(self) -> &'a mut W {
533 self.variant(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_258CK_14CK_4MS1)
534 }
535 #[doc = "Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms"]
536 #[inline(always)]
537 pub fn extxosc_8mhz_xx_1kck_14ck_65ms(self) -> &'a mut W {
538 self.variant(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_1KCK_14CK_65MS)
539 }
540 #[doc = "Ext. Clock; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4.1 ms"]
541 #[inline(always)]
542 pub fn extclk_6ck_14ck_4ms1(self) -> &'a mut W {
543 self.variant(SUT_CKSEL_A::EXTCLK_6CK_14CK_4MS1)
544 }
545 #[doc = "PLL Clock; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4 ms"]
546 #[inline(always)]
547 pub fn pllclk_16kck_14ck_4ms(self) -> &'a mut W {
548 self.variant(SUT_CKSEL_A::PLLCLK_16KCK_14CK_4MS)
549 }
550 #[doc = "Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4 ms"]
551 #[inline(always)]
552 pub fn intrcosc_8mhz_6ck_14ck_4ms(self) -> &'a mut W {
553 self.variant(SUT_CKSEL_A::INTRCOSC_8MHZ_6CK_14CK_4MS)
554 }
555 #[doc = "WD. Osc. 128 kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4 ms"]
556 #[inline(always)]
557 pub fn wdosc_128khz_6ck_14ck_4ms(self) -> &'a mut W {
558 self.variant(SUT_CKSEL_A::WDOSC_128KHZ_6CK_14CK_4MS)
559 }
560 #[doc = "Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 1K CK/14 CK + 4 ms"]
561 #[inline(always)]
562 pub fn extlofxtal_1kck_14ck_4ms(self) -> &'a mut W {
563 self.variant(SUT_CKSEL_A::EXTLOFXTAL_1KCK_14CK_4MS)
564 }
565 #[doc = "Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms"]
566 #[inline(always)]
567 pub fn extxosc_0mhz4_0mhz9_258ck_14ck_65ms(self) -> &'a mut W {
568 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_65MS)
569 }
570 #[doc = "Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms"]
571 #[inline(always)]
572 pub fn extxosc_0mhz4_0mhz9_16kck_14ck_0ms(self) -> &'a mut W {
573 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_0MS)
574 }
575 #[doc = "Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms"]
576 #[inline(always)]
577 pub fn extxosc_0mhz9_3mhz_258ck_14ck_65ms(self) -> &'a mut W {
578 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_258CK_14CK_65MS)
579 }
580 #[doc = "Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms"]
581 #[inline(always)]
582 pub fn extxosc_0mhz9_3mhz_16kck_14ck_0ms(self) -> &'a mut W {
583 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_0MS)
584 }
585 #[doc = "Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms"]
586 #[inline(always)]
587 pub fn extxosc_3mhz_8mhz_258ck_14ck_65ms(self) -> &'a mut W {
588 self.variant(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_258CK_14CK_65MS)
589 }
590 #[doc = "Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms"]
591 #[inline(always)]
592 pub fn extxosc_3mhz_8mhz_16kck_14ck_0ms(self) -> &'a mut W {
593 self.variant(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_16KCK_14CK_0MS)
594 }
595 #[doc = "Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms"]
596 #[inline(always)]
597 pub fn extxosc_8mhz_xx_258ck_14ck_65ms(self) -> &'a mut W {
598 self.variant(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_258CK_14CK_65MS)
599 }
600 #[doc = "Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms"]
601 #[inline(always)]
602 pub fn extxosc_8mhz_xx_16kck_14ck_0ms(self) -> &'a mut W {
603 self.variant(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_16KCK_14CK_0MS)
604 }
605 #[doc = "Ext. Clock; Start-up time PWRDWN/RESET: 6 CK/14 CK + 65 ms"]
606 #[inline(always)]
607 pub fn extclk_6ck_14ck_65ms(self) -> &'a mut W {
608 self.variant(SUT_CKSEL_A::EXTCLK_6CK_14CK_65MS)
609 }
610 #[doc = "PLL Clock; Start-up time PWRDWN/RESET: 1K CK/14 CK + 64 ms"]
611 #[inline(always)]
612 pub fn pllclk_1kck_14ck_64ms(self) -> &'a mut W {
613 self.variant(SUT_CKSEL_A::PLLCLK_1KCK_14CK_64MS)
614 }
615 #[doc = "Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms"]
616 #[inline(always)]
617 pub fn intrcosc_8mhz_6ck_14ck_64ms(self) -> &'a mut W {
618 self.variant(SUT_CKSEL_A::INTRCOSC_8MHZ_6CK_14CK_64MS)
619 }
620 #[doc = "ATtiny15 Comp: Int. RC Osc. 6.4 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4 ms"]
621 #[inline(always)]
622 pub fn intrcosc_6mhz4_6ck_14ck_4ms(self) -> &'a mut W {
623 self.variant(SUT_CKSEL_A::INTRCOSC_6MHZ4_6CK_14CK_4MS)
624 }
625 #[doc = "WD. Osc. 128 kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms"]
626 #[inline(always)]
627 pub fn wdosc_128khz_6ck_14ck_64ms(self) -> &'a mut W {
628 self.variant(SUT_CKSEL_A::WDOSC_128KHZ_6CK_14CK_64MS)
629 }
630 #[doc = "Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 32K CK/14 CK + 64 ms"]
631 #[inline(always)]
632 pub fn extlofxtal_32kck_14ck_64ms(self) -> &'a mut W {
633 self.variant(SUT_CKSEL_A::EXTLOFXTAL_32KCK_14CK_64MS)
634 }
635 #[doc = "Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms"]
636 #[inline(always)]
637 pub fn extxosc_0mhz4_0mhz9_1kck_14ck_0ms(self) -> &'a mut W {
638 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_0MS)
639 }
640 #[doc = "Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms"]
641 #[inline(always)]
642 pub fn extxosc_0mhz4_0mhz9_16kck_14ck_4ms1(self) -> &'a mut W {
643 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_4MS1)
644 }
645 #[doc = "Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms"]
646 #[inline(always)]
647 pub fn extxosc_0mhz9_3mhz_1kck_14ck_0ms(self) -> &'a mut W {
648 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_0MS)
649 }
650 #[doc = "Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms"]
651 #[inline(always)]
652 pub fn extxosc_0mhz9_3mhz_16kck_14ck_4ms1(self) -> &'a mut W {
653 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_4MS1)
654 }
655 #[doc = "Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms"]
656 #[inline(always)]
657 pub fn extxosc_3mhz_8mhz_1kck_14ck_0ms(self) -> &'a mut W {
658 self.variant(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_1KCK_14CK_0MS)
659 }
660 #[doc = "Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms"]
661 #[inline(always)]
662 pub fn extxosc_3mhz_8mhz_16kck_14ck_4ms1(self) -> &'a mut W {
663 self.variant(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_16KCK_14CK_4MS1)
664 }
665 #[doc = "Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms"]
666 #[inline(always)]
667 pub fn extxosc_8mhz_xx_1kck_14ck_0ms(self) -> &'a mut W {
668 self.variant(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_1KCK_14CK_0MS)
669 }
670 #[doc = "Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms"]
671 #[inline(always)]
672 pub fn extxosc_8mhz_xx_16kck_14ck_4ms1(self) -> &'a mut W {
673 self.variant(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_16KCK_14CK_4MS1)
674 }
675 #[doc = "PLL Clock; Start-up time PWRDWN/RESET: 16K CK/14 CK + 64 ms"]
676 #[inline(always)]
677 pub fn pllclk_16kck_14ck_64ms(self) -> &'a mut W {
678 self.variant(SUT_CKSEL_A::PLLCLK_16KCK_14CK_64MS)
679 }
680 #[doc = "ATtiny15 Comp: Int. RC Osc. 6.4 MHz; Start-up time PWRDWN/RESET: 1 CK/14 CK + 0 ms"]
681 #[inline(always)]
682 pub fn intrcosc_6mhz4_1ck_14ck_0ms(self) -> &'a mut W {
683 self.variant(SUT_CKSEL_A::INTRCOSC_6MHZ4_1CK_14CK_0MS)
684 }
685 #[doc = "Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms"]
686 #[inline(always)]
687 pub fn extxosc_0mhz4_0mhz9_1kck_14ck_4ms1(self) -> &'a mut W {
688 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_4MS1)
689 }
690 #[doc = "Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms"]
691 #[inline(always)]
692 pub fn extxosc_0mhz4_0mhz9_16kck_14ck_65ms(self) -> &'a mut W {
693 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_65MS)
694 }
695 #[doc = "Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms"]
696 #[inline(always)]
697 pub fn extxosc_0mhz9_3mhz_1kck_14ck_4ms1(self) -> &'a mut W {
698 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_4MS1)
699 }
700 #[doc = "Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms"]
701 #[inline(always)]
702 pub fn extxosc_0mhz9_3mhz_16kck_14ck_65ms(self) -> &'a mut W {
703 self.variant(SUT_CKSEL_A::EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_65MS)
704 }
705 #[doc = "Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms"]
706 #[inline(always)]
707 pub fn extxosc_3mhz_8mhz_1kck_14ck_4ms1(self) -> &'a mut W {
708 self.variant(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_1KCK_14CK_4MS1)
709 }
710 #[doc = "Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms"]
711 #[inline(always)]
712 pub fn extxosc_3mhz_8mhz_16kck_14ck_65ms(self) -> &'a mut W {
713 self.variant(SUT_CKSEL_A::EXTXOSC_3MHZ_8MHZ_16KCK_14CK_65MS)
714 }
715 #[doc = "Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms"]
716 #[inline(always)]
717 pub fn extxosc_8mhz_xx_1kck_14ck_4ms1(self) -> &'a mut W {
718 self.variant(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_1KCK_14CK_4MS1)
719 }
720 #[doc = "Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms"]
721 #[inline(always)]
722 pub fn extxosc_8mhz_xx_16kck_14ck_65ms(self) -> &'a mut W {
723 self.variant(SUT_CKSEL_A::EXTXOSC_8MHZ_XX_16KCK_14CK_65MS)
724 }
725}
726#[doc = "Field `CKOUT` reader - Clock output on PORTB4"]
727pub type CKOUT_R = crate::BitReader<bool>;
728#[doc = "Field `CKOUT` writer - Clock output on PORTB4"]
729pub type CKOUT_W<'a, const O: u8> = crate::BitWriter<'a, u8, LOW_SPEC, bool, O>;
730#[doc = "Field `CKDIV8` reader - Divide clock by 8 internally"]
731pub type CKDIV8_R = crate::BitReader<bool>;
732#[doc = "Field `CKDIV8` writer - Divide clock by 8 internally"]
733pub type CKDIV8_W<'a, const O: u8> = crate::BitWriter<'a, u8, LOW_SPEC, bool, O>;
734impl R {
735 #[doc = "Bits 0:5 - Select Clock source"]
736 #[inline(always)]
737 pub fn sut_cksel(&self) -> SUT_CKSEL_R {
738 SUT_CKSEL_R::new(self.bits & 0x3f)
739 }
740 #[doc = "Bit 6 - Clock output on PORTB4"]
741 #[inline(always)]
742 pub fn ckout(&self) -> CKOUT_R {
743 CKOUT_R::new(((self.bits >> 6) & 1) != 0)
744 }
745 #[doc = "Bit 7 - Divide clock by 8 internally"]
746 #[inline(always)]
747 pub fn ckdiv8(&self) -> CKDIV8_R {
748 CKDIV8_R::new(((self.bits >> 7) & 1) != 0)
749 }
750}
751impl W {
752 #[doc = "Bits 0:5 - Select Clock source"]
753 #[inline(always)]
754 #[must_use]
755 pub fn sut_cksel(&mut self) -> SUT_CKSEL_W<0> {
756 SUT_CKSEL_W::new(self)
757 }
758 #[doc = "Bit 6 - Clock output on PORTB4"]
759 #[inline(always)]
760 #[must_use]
761 pub fn ckout(&mut self) -> CKOUT_W<6> {
762 CKOUT_W::new(self)
763 }
764 #[doc = "Bit 7 - Divide clock by 8 internally"]
765 #[inline(always)]
766 #[must_use]
767 pub fn ckdiv8(&mut self) -> CKDIV8_W<7> {
768 CKDIV8_W::new(self)
769 }
770 #[doc = "Writes raw bits to the register."]
771 #[inline(always)]
772 pub unsafe fn bits(&mut self, bits: u8) -> &mut Self {
773 self.0.bits(bits);
774 self
775 }
776}
777#[doc = "No Description.\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [low](index.html) module"]
778pub struct LOW_SPEC;
779impl crate::RegisterSpec for LOW_SPEC {
780 type Ux = u8;
781}
782#[doc = "`read()` method returns [low::R](R) reader structure"]
783impl crate::Readable for LOW_SPEC {
784 type Reader = R;
785}
786#[doc = "`write(|w| ..)` method takes [low::W](W) writer structure"]
787impl crate::Writable for LOW_SPEC {
788 type Writer = W;
789 const ZERO_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
790 const ONE_TO_MODIFY_FIELDS_BITMAP: Self::Ux = 0;
791}
792#[doc = "`reset()` method sets LOW to value 0"]
793impl crate::Resettable for LOW_SPEC {
794 const RESET_VALUE: Self::Ux = 0;
795}