avrd/gen/atmega88p.rs
1//! The AVR ATmega88P microcontroller
2//!
3//! # Variants
4//! | | Pinout | Mcu age | Operating temperature | Operating voltage | Max speed |
5//! |--------|--------|---------|-----------------------|-------------------|-----------|
6//! | ATmega88PV-10AU | TQFP32 | TQFP32 | -40°C - 85°C | 1.8V - 5.5V | 10 MHz |
7//! | ATmega88PV-10MU | QFN32 | QFN32 | -40°C - 85°C | 1.8V - 5.5V | 10 MHz |
8//! | ATmega88PV-10PU | PDIP28 | PDIP28 | -40°C - 85°C | 1.8V - 5.5V | 10 MHz |
9//! | ATmega88P-20AU | TQFP32 | TQFP32 | -40°C - 85°C | 2.7V - 5.5V | 20 MHz |
10//! | ATmega88P-20MU | QFN32 | QFN32 | -40°C - 85°C | 2.7V - 5.5V | 20 MHz |
11//! | ATmega88P-20PU | PDIP28 | PDIP28 | -40°C - 85°C | 2.7V - 5.5V | 20 MHz |
12//!
13
14#![allow(non_upper_case_globals)]
15
16/// `LOW` register
17///
18/// Bitfields:
19///
20/// | Name | Mask (binary) |
21/// | ---- | ------------- |
22/// | SUT_CKSEL | 111111 |
23/// | CKDIV8 | 10000000 |
24/// | CKOUT | 1000000 |
25pub const LOW: *mut u8 = 0x0 as *mut u8;
26
27/// `LOCKBIT` register
28///
29/// Bitfields:
30///
31/// | Name | Mask (binary) |
32/// | ---- | ------------- |
33/// | BLB1 | 110000 |
34/// | BLB0 | 1100 |
35/// | LB | 11 |
36pub const LOCKBIT: *mut u8 = 0x0 as *mut u8;
37
38/// `HIGH` register
39///
40/// Bitfields:
41///
42/// | Name | Mask (binary) |
43/// | ---- | ------------- |
44/// | EESAVE | 1000 |
45/// | RSTDISBL | 10000000 |
46/// | DWEN | 1000000 |
47/// | SPIEN | 100000 |
48/// | BODLEVEL | 111 |
49/// | WDTON | 10000 |
50pub const HIGH: *mut u8 = 0x1 as *mut u8;
51
52/// `EXTENDED` register
53///
54/// Bitfields:
55///
56/// | Name | Mask (binary) |
57/// | ---- | ------------- |
58/// | BOOTRST | 1 |
59/// | BOOTSZ | 110 |
60pub const EXTENDED: *mut u8 = 0x2 as *mut u8;
61
62/// Port B Input Pins.
63pub const PINB: *mut u8 = 0x23 as *mut u8;
64
65/// Port B Data Direction Register.
66pub const DDRB: *mut u8 = 0x24 as *mut u8;
67
68/// Port B Data Register.
69pub const PORTB: *mut u8 = 0x25 as *mut u8;
70
71/// Port C Input Pins.
72pub const PINC: *mut u8 = 0x26 as *mut u8;
73
74/// Port C Data Direction Register.
75pub const DDRC: *mut u8 = 0x27 as *mut u8;
76
77/// Port C Data Register.
78pub const PORTC: *mut u8 = 0x28 as *mut u8;
79
80/// Port D Input Pins.
81pub const PIND: *mut u8 = 0x29 as *mut u8;
82
83/// Port D Data Direction Register.
84pub const DDRD: *mut u8 = 0x2A as *mut u8;
85
86/// Port D Data Register.
87pub const PORTD: *mut u8 = 0x2B as *mut u8;
88
89/// Timer/Counter0 Interrupt Flag register.
90///
91/// Bitfields:
92///
93/// | Name | Mask (binary) |
94/// | ---- | ------------- |
95/// | OCF0A | 10 |
96/// | TOV0 | 1 |
97/// | OCF0B | 100 |
98pub const TIFR0: *mut u8 = 0x35 as *mut u8;
99
100/// Timer/Counter Interrupt Flag register.
101///
102/// Bitfields:
103///
104/// | Name | Mask (binary) |
105/// | ---- | ------------- |
106/// | OCF1A | 10 |
107/// | TOV1 | 1 |
108/// | ICF1 | 100000 |
109/// | OCF1B | 100 |
110pub const TIFR1: *mut u8 = 0x36 as *mut u8;
111
112/// Timer/Counter Interrupt Flag Register.
113///
114/// Bitfields:
115///
116/// | Name | Mask (binary) |
117/// | ---- | ------------- |
118/// | OCF2A | 10 |
119/// | OCF2B | 100 |
120/// | TOV2 | 1 |
121pub const TIFR2: *mut u8 = 0x37 as *mut u8;
122
123/// Pin Change Interrupt Flag Register.
124///
125/// Bitfields:
126///
127/// | Name | Mask (binary) |
128/// | ---- | ------------- |
129/// | PCIF | 111 |
130pub const PCIFR: *mut u8 = 0x3B as *mut u8;
131
132/// External Interrupt Flag Register.
133///
134/// Bitfields:
135///
136/// | Name | Mask (binary) |
137/// | ---- | ------------- |
138/// | INTF | 11 |
139pub const EIFR: *mut u8 = 0x3C as *mut u8;
140
141/// External Interrupt Mask Register.
142///
143/// Bitfields:
144///
145/// | Name | Mask (binary) |
146/// | ---- | ------------- |
147/// | INT | 11 |
148pub const EIMSK: *mut u8 = 0x3D as *mut u8;
149
150/// General Purpose I/O Register 0.
151pub const GPIOR0: *mut u8 = 0x3E as *mut u8;
152
153/// EEPROM Control Register.
154///
155/// Bitfields:
156///
157/// | Name | Mask (binary) |
158/// | ---- | ------------- |
159/// | EERIE | 1000 |
160/// | EEPM | 110000 |
161/// | EEPE | 10 |
162/// | EEMPE | 100 |
163/// | EERE | 1 |
164pub const EECR: *mut u8 = 0x3F as *mut u8;
165
166/// EEPROM Data Register.
167pub const EEDR: *mut u8 = 0x40 as *mut u8;
168
169/// EEPROM Address Register Bytes.
170pub const EEAR: *mut u16 = 0x41 as *mut u16;
171
172/// EEPROM Address Register Bytes low byte.
173pub const EEARL: *mut u8 = 0x41 as *mut u8;
174
175/// EEPROM Address Register Bytes high byte.
176pub const EEARH: *mut u8 = 0x42 as *mut u8;
177
178/// General Timer/Counter Control Register.
179///
180/// Bitfields:
181///
182/// | Name | Mask (binary) |
183/// | ---- | ------------- |
184/// | PSRSYNC | 1 |
185/// | TSM | 10000000 |
186pub const GTCCR: *mut u8 = 0x43 as *mut u8;
187
188/// Timer/Counter Control Register A.
189///
190/// Bitfields:
191///
192/// | Name | Mask (binary) |
193/// | ---- | ------------- |
194/// | WGM0 | 11 |
195/// | COM0A | 11000000 |
196/// | COM0B | 110000 |
197pub const TCCR0A: *mut u8 = 0x44 as *mut u8;
198
199/// Timer/Counter Control Register B.
200///
201/// Bitfields:
202///
203/// | Name | Mask (binary) |
204/// | ---- | ------------- |
205/// | FOC0B | 1000000 |
206/// | CS0 | 111 |
207/// | FOC0A | 10000000 |
208/// | WGM02 | 1000 |
209pub const TCCR0B: *mut u8 = 0x45 as *mut u8;
210
211/// Timer/Counter0.
212pub const TCNT0: *mut u8 = 0x46 as *mut u8;
213
214/// Timer/Counter0 Output Compare Register.
215pub const OCR0A: *mut u8 = 0x47 as *mut u8;
216
217/// Timer/Counter0 Output Compare Register.
218pub const OCR0B: *mut u8 = 0x48 as *mut u8;
219
220/// General Purpose I/O Register 1.
221pub const GPIOR1: *mut u8 = 0x4A as *mut u8;
222
223/// General Purpose I/O Register 2.
224pub const GPIOR2: *mut u8 = 0x4B as *mut u8;
225
226/// SPI Control Register.
227///
228/// Bitfields:
229///
230/// | Name | Mask (binary) |
231/// | ---- | ------------- |
232/// | DORD | 100000 |
233/// | SPE | 1000000 |
234/// | SPIE | 10000000 |
235/// | MSTR | 10000 |
236/// | CPOL | 1000 |
237/// | CPHA | 100 |
238/// | SPR | 11 |
239pub const SPCR: *mut u8 = 0x4C as *mut u8;
240
241/// SPI Status Register.
242///
243/// Bitfields:
244///
245/// | Name | Mask (binary) |
246/// | ---- | ------------- |
247/// | WCOL | 1000000 |
248/// | SPI2X | 1 |
249/// | SPIF | 10000000 |
250pub const SPSR: *mut u8 = 0x4D as *mut u8;
251
252/// SPI Data Register.
253pub const SPDR: *mut u8 = 0x4E as *mut u8;
254
255/// Analog Comparator Control And Status Register.
256///
257/// Bitfields:
258///
259/// | Name | Mask (binary) |
260/// | ---- | ------------- |
261/// | ACIS | 11 |
262/// | ACO | 100000 |
263/// | ACI | 10000 |
264/// | ACBG | 1000000 |
265/// | ACIE | 1000 |
266/// | ACD | 10000000 |
267/// | ACIC | 100 |
268pub const ACSR: *mut u8 = 0x50 as *mut u8;
269
270/// Sleep Mode Control Register.
271///
272/// Bitfields:
273///
274/// | Name | Mask (binary) |
275/// | ---- | ------------- |
276/// | SE | 1 |
277/// | SM | 1110 |
278pub const SMCR: *mut u8 = 0x53 as *mut u8;
279
280/// MCU Status Register.
281///
282/// Bitfields:
283///
284/// | Name | Mask (binary) |
285/// | ---- | ------------- |
286/// | PORF | 1 |
287/// | EXTRF | 10 |
288/// | WDRF | 1000 |
289/// | BORF | 100 |
290pub const MCUSR: *mut u8 = 0x54 as *mut u8;
291
292/// MCU Control Register.
293///
294/// Bitfields:
295///
296/// | Name | Mask (binary) |
297/// | ---- | ------------- |
298/// | PUD | 10000 |
299/// | BODSE | 100000 |
300/// | IVSEL | 10 |
301/// | IVCE | 1 |
302/// | BODS | 1000000 |
303pub const MCUCR: *mut u8 = 0x55 as *mut u8;
304
305/// Store Program Memory Control and Status Register.
306///
307/// Bitfields:
308///
309/// | Name | Mask (binary) |
310/// | ---- | ------------- |
311/// | BLBSET | 1000 |
312/// | RWWSB | 1000000 |
313/// | PGERS | 10 |
314/// | SPMIE | 10000000 |
315/// | RWWSRE | 10000 |
316/// | SELFPRGEN | 1 |
317/// | PGWRT | 100 |
318pub const SPMCSR: *mut u8 = 0x57 as *mut u8;
319
320/// Stack Pointer low byte.
321pub const SPL: *mut u8 = 0x5D as *mut u8;
322
323/// Stack Pointer.
324pub const SP: *mut u16 = 0x5D as *mut u16;
325
326/// Stack Pointer high byte.
327pub const SPH: *mut u8 = 0x5E as *mut u8;
328
329/// Status Register.
330///
331/// Bitfields:
332///
333/// | Name | Mask (binary) |
334/// | ---- | ------------- |
335/// | I | 10000000 |
336/// | C | 1 |
337/// | S | 10000 |
338/// | H | 100000 |
339/// | N | 100 |
340/// | V | 1000 |
341/// | T | 1000000 |
342/// | Z | 10 |
343pub const SREG: *mut u8 = 0x5F as *mut u8;
344
345/// Watchdog Timer Control Register.
346///
347/// Bitfields:
348///
349/// | Name | Mask (binary) |
350/// | ---- | ------------- |
351/// | WDCE | 10000 |
352/// | WDE | 1000 |
353/// | WDP | 100111 |
354/// | WDIE | 1000000 |
355/// | WDIF | 10000000 |
356pub const WDTCSR: *mut u8 = 0x60 as *mut u8;
357
358/// Clock Prescale Register.
359///
360/// Bitfields:
361///
362/// | Name | Mask (binary) |
363/// | ---- | ------------- |
364/// | CLKPS | 1111 |
365/// | CLKPCE | 10000000 |
366pub const CLKPR: *mut u8 = 0x61 as *mut u8;
367
368/// Power Reduction Register.
369///
370/// Bitfields:
371///
372/// | Name | Mask (binary) |
373/// | ---- | ------------- |
374/// | PRTIM0 | 100000 |
375/// | PRTWI | 10000000 |
376/// | PRUSART0 | 10 |
377/// | PRTIM1 | 1000 |
378/// | PRADC | 1 |
379/// | PRSPI | 100 |
380/// | PRTIM2 | 1000000 |
381pub const PRR: *mut u8 = 0x64 as *mut u8;
382
383/// Oscillator Calibration Value.
384pub const OSCCAL: *mut u8 = 0x66 as *mut u8;
385
386/// Pin Change Interrupt Control Register.
387///
388/// Bitfields:
389///
390/// | Name | Mask (binary) |
391/// | ---- | ------------- |
392/// | PCIE | 111 |
393pub const PCICR: *mut u8 = 0x68 as *mut u8;
394
395/// External Interrupt Control Register.
396///
397/// Bitfields:
398///
399/// | Name | Mask (binary) |
400/// | ---- | ------------- |
401/// | ISC0 | 11 |
402/// | ISC1 | 1100 |
403pub const EICRA: *mut u8 = 0x69 as *mut u8;
404
405/// Pin Change Mask Register 0.
406pub const PCMSK0: *mut u8 = 0x6B as *mut u8;
407
408/// Pin Change Mask Register 1.
409pub const PCMSK1: *mut u8 = 0x6C as *mut u8;
410
411/// Pin Change Mask Register 2.
412pub const PCMSK2: *mut u8 = 0x6D as *mut u8;
413
414/// Timer/Counter0 Interrupt Mask Register.
415///
416/// Bitfields:
417///
418/// | Name | Mask (binary) |
419/// | ---- | ------------- |
420/// | OCIE0B | 100 |
421/// | TOIE0 | 1 |
422/// | OCIE0A | 10 |
423pub const TIMSK0: *mut u8 = 0x6E as *mut u8;
424
425/// Timer/Counter Interrupt Mask Register.
426///
427/// Bitfields:
428///
429/// | Name | Mask (binary) |
430/// | ---- | ------------- |
431/// | OCIE1B | 100 |
432/// | ICIE1 | 100000 |
433/// | TOIE1 | 1 |
434/// | OCIE1A | 10 |
435pub const TIMSK1: *mut u8 = 0x6F as *mut u8;
436
437/// Timer/Counter Interrupt Mask register.
438///
439/// Bitfields:
440///
441/// | Name | Mask (binary) |
442/// | ---- | ------------- |
443/// | TOIE2 | 1 |
444/// | OCIE2A | 10 |
445/// | OCIE2B | 100 |
446pub const TIMSK2: *mut u8 = 0x70 as *mut u8;
447
448/// ADC Data Register Bytes.
449pub const ADC: *mut u16 = 0x78 as *mut u16;
450
451/// ADC Data Register Bytes low byte.
452pub const ADCL: *mut u8 = 0x78 as *mut u8;
453
454/// ADC Data Register Bytes high byte.
455pub const ADCH: *mut u8 = 0x79 as *mut u8;
456
457/// The ADC Control and Status register A.
458///
459/// Bitfields:
460///
461/// | Name | Mask (binary) |
462/// | ---- | ------------- |
463/// | ADPS | 111 |
464/// | ADEN | 10000000 |
465/// | ADSC | 1000000 |
466/// | ADATE | 100000 |
467/// | ADIE | 1000 |
468/// | ADIF | 10000 |
469pub const ADCSRA: *mut u8 = 0x7A as *mut u8;
470
471/// The ADC Control and Status register B.
472///
473/// Bitfields:
474///
475/// | Name | Mask (binary) |
476/// | ---- | ------------- |
477/// | ADTS | 111 |
478/// | ACME | 1000000 |
479pub const ADCSRB: *mut u8 = 0x7B as *mut u8;
480
481/// The ADC multiplexer Selection Register.
482///
483/// Bitfields:
484///
485/// | Name | Mask (binary) |
486/// | ---- | ------------- |
487/// | ADLAR | 100000 |
488/// | REFS | 11000000 |
489/// | MUX | 1111 |
490pub const ADMUX: *mut u8 = 0x7C as *mut u8;
491
492/// Digital Input Disable Register.
493///
494/// Bitfields:
495///
496/// | Name | Mask (binary) |
497/// | ---- | ------------- |
498/// | ADC2D | 100 |
499/// | ADC0D | 1 |
500/// | ADC3D | 1000 |
501/// | ADC1D | 10 |
502/// | ADC4D | 10000 |
503/// | ADC5D | 100000 |
504pub const DIDR0: *mut u8 = 0x7E as *mut u8;
505
506/// Digital Input Disable Register 1.
507///
508/// Bitfields:
509///
510/// | Name | Mask (binary) |
511/// | ---- | ------------- |
512/// | AIN0D | 1 |
513/// | AIN1D | 10 |
514pub const DIDR1: *mut u8 = 0x7F as *mut u8;
515
516/// Timer/Counter1 Control Register A.
517///
518/// Bitfields:
519///
520/// | Name | Mask (binary) |
521/// | ---- | ------------- |
522/// | COM1A | 11000000 |
523/// | COM1B | 110000 |
524pub const TCCR1A: *mut u8 = 0x80 as *mut u8;
525
526/// Timer/Counter1 Control Register B.
527///
528/// Bitfields:
529///
530/// | Name | Mask (binary) |
531/// | ---- | ------------- |
532/// | ICES1 | 1000000 |
533/// | ICNC1 | 10000000 |
534/// | CS1 | 111 |
535pub const TCCR1B: *mut u8 = 0x81 as *mut u8;
536
537/// Timer/Counter1 Control Register C.
538///
539/// Bitfields:
540///
541/// | Name | Mask (binary) |
542/// | ---- | ------------- |
543/// | FOC1B | 1000000 |
544/// | FOC1A | 10000000 |
545pub const TCCR1C: *mut u8 = 0x82 as *mut u8;
546
547/// Timer/Counter1 Bytes.
548pub const TCNT1: *mut u16 = 0x84 as *mut u16;
549
550/// Timer/Counter1 Bytes low byte.
551pub const TCNT1L: *mut u8 = 0x84 as *mut u8;
552
553/// Timer/Counter1 Bytes high byte.
554pub const TCNT1H: *mut u8 = 0x85 as *mut u8;
555
556/// Timer/Counter1 Input Capture Register Bytes.
557pub const ICR1: *mut u16 = 0x86 as *mut u16;
558
559/// Timer/Counter1 Input Capture Register Bytes low byte.
560pub const ICR1L: *mut u8 = 0x86 as *mut u8;
561
562/// Timer/Counter1 Input Capture Register Bytes high byte.
563pub const ICR1H: *mut u8 = 0x87 as *mut u8;
564
565/// Timer/Counter1 Output Compare Register Bytes low byte.
566pub const OCR1AL: *mut u8 = 0x88 as *mut u8;
567
568/// Timer/Counter1 Output Compare Register Bytes.
569pub const OCR1A: *mut u16 = 0x88 as *mut u16;
570
571/// Timer/Counter1 Output Compare Register Bytes high byte.
572pub const OCR1AH: *mut u8 = 0x89 as *mut u8;
573
574/// Timer/Counter1 Output Compare Register Bytes.
575pub const OCR1B: *mut u16 = 0x8A as *mut u16;
576
577/// Timer/Counter1 Output Compare Register Bytes low byte.
578pub const OCR1BL: *mut u8 = 0x8A as *mut u8;
579
580/// Timer/Counter1 Output Compare Register Bytes high byte.
581pub const OCR1BH: *mut u8 = 0x8B as *mut u8;
582
583/// Timer/Counter2 Control Register A.
584///
585/// Bitfields:
586///
587/// | Name | Mask (binary) |
588/// | ---- | ------------- |
589/// | COM2A | 11000000 |
590/// | WGM2 | 11 |
591/// | COM2B | 110000 |
592pub const TCCR2A: *mut u8 = 0xB0 as *mut u8;
593
594/// Timer/Counter2 Control Register B.
595///
596/// Bitfields:
597///
598/// | Name | Mask (binary) |
599/// | ---- | ------------- |
600/// | CS2 | 111 |
601/// | WGM22 | 1000 |
602/// | FOC2B | 1000000 |
603/// | FOC2A | 10000000 |
604pub const TCCR2B: *mut u8 = 0xB1 as *mut u8;
605
606/// Timer/Counter2.
607pub const TCNT2: *mut u8 = 0xB2 as *mut u8;
608
609/// Timer/Counter2 Output Compare Register A.
610pub const OCR2A: *mut u8 = 0xB3 as *mut u8;
611
612/// Timer/Counter2 Output Compare Register B.
613pub const OCR2B: *mut u8 = 0xB4 as *mut u8;
614
615/// Asynchronous Status Register.
616///
617/// Bitfields:
618///
619/// | Name | Mask (binary) |
620/// | ---- | ------------- |
621/// | EXCLK | 1000000 |
622/// | TCR2BUB | 1 |
623/// | AS2 | 100000 |
624/// | TCN2UB | 10000 |
625/// | OCR2AUB | 1000 |
626/// | OCR2BUB | 100 |
627/// | TCR2AUB | 10 |
628pub const ASSR: *mut u8 = 0xB6 as *mut u8;
629
630/// TWI Bit Rate register.
631pub const TWBR: *mut u8 = 0xB8 as *mut u8;
632
633/// TWI Status Register.
634///
635/// Bitfields:
636///
637/// | Name | Mask (binary) |
638/// | ---- | ------------- |
639/// | TWPS | 11 |
640/// | TWS | 11111000 |
641pub const TWSR: *mut u8 = 0xB9 as *mut u8;
642
643/// TWI (Slave) Address register.
644///
645/// Bitfields:
646///
647/// | Name | Mask (binary) |
648/// | ---- | ------------- |
649/// | TWGCE | 1 |
650/// | TWA | 11111110 |
651pub const TWAR: *mut u8 = 0xBA as *mut u8;
652
653/// TWI Data register.
654pub const TWDR: *mut u8 = 0xBB as *mut u8;
655
656/// TWI Control Register.
657///
658/// Bitfields:
659///
660/// | Name | Mask (binary) |
661/// | ---- | ------------- |
662/// | TWWC | 1000 |
663/// | TWEA | 1000000 |
664/// | TWIE | 1 |
665/// | TWSTA | 100000 |
666/// | TWSTO | 10000 |
667/// | TWEN | 100 |
668/// | TWINT | 10000000 |
669pub const TWCR: *mut u8 = 0xBC as *mut u8;
670
671/// TWI (Slave) Address Mask Register.
672///
673/// Bitfields:
674///
675/// | Name | Mask (binary) |
676/// | ---- | ------------- |
677/// | TWAM | 11111110 |
678pub const TWAMR: *mut u8 = 0xBD as *mut u8;
679
680/// USART Control and Status Register A.
681///
682/// Bitfields:
683///
684/// | Name | Mask (binary) |
685/// | ---- | ------------- |
686/// | UDRE0 | 100000 |
687/// | DOR0 | 1000 |
688/// | U2X0 | 10 |
689/// | MPCM0 | 1 |
690/// | UPE0 | 100 |
691/// | FE0 | 10000 |
692/// | TXC0 | 1000000 |
693/// | RXC0 | 10000000 |
694pub const UCSR0A: *mut u8 = 0xC0 as *mut u8;
695
696/// USART Control and Status Register B.
697///
698/// Bitfields:
699///
700/// | Name | Mask (binary) |
701/// | ---- | ------------- |
702/// | TXCIE0 | 1000000 |
703/// | RXB80 | 10 |
704/// | RXCIE0 | 10000000 |
705/// | TXB80 | 1 |
706/// | RXEN0 | 10000 |
707/// | UCSZ02 | 100 |
708/// | TXEN0 | 1000 |
709/// | UDRIE0 | 100000 |
710pub const UCSR0B: *mut u8 = 0xC1 as *mut u8;
711
712/// USART Control and Status Register C.
713///
714/// Bitfields:
715///
716/// | Name | Mask (binary) |
717/// | ---- | ------------- |
718/// | UMSEL0 | 11000000 |
719/// | USBS0 | 1000 |
720/// | UPM0 | 110000 |
721/// | UCSZ0 | 110 |
722/// | UCPOL0 | 1 |
723pub const UCSR0C: *mut u8 = 0xC2 as *mut u8;
724
725/// USART Baud Rate Register Bytes.
726pub const UBRR0: *mut u16 = 0xC4 as *mut u16;
727
728/// USART Baud Rate Register Bytes low byte.
729pub const UBRR0L: *mut u8 = 0xC4 as *mut u8;
730
731/// USART Baud Rate Register Bytes high byte.
732pub const UBRR0H: *mut u8 = 0xC5 as *mut u8;
733
734/// USART I/O Data Register.
735pub const UDR0: *mut u8 = 0xC6 as *mut u8;
736
737/// Bitfield on register `ACSR`
738pub const ACIS: *mut u8 = 0x3 as *mut u8;
739
740/// Bitfield on register `ACSR`
741pub const ACO: *mut u8 = 0x20 as *mut u8;
742
743/// Bitfield on register `ACSR`
744pub const ACI: *mut u8 = 0x10 as *mut u8;
745
746/// Bitfield on register `ACSR`
747pub const ACBG: *mut u8 = 0x40 as *mut u8;
748
749/// Bitfield on register `ACSR`
750pub const ACIE: *mut u8 = 0x8 as *mut u8;
751
752/// Bitfield on register `ACSR`
753pub const ACD: *mut u8 = 0x80 as *mut u8;
754
755/// Bitfield on register `ACSR`
756pub const ACIC: *mut u8 = 0x4 as *mut u8;
757
758/// Bitfield on register `ADCSRA`
759pub const ADPS: *mut u8 = 0x7 as *mut u8;
760
761/// Bitfield on register `ADCSRA`
762pub const ADEN: *mut u8 = 0x80 as *mut u8;
763
764/// Bitfield on register `ADCSRA`
765pub const ADSC: *mut u8 = 0x40 as *mut u8;
766
767/// Bitfield on register `ADCSRA`
768pub const ADATE: *mut u8 = 0x20 as *mut u8;
769
770/// Bitfield on register `ADCSRA`
771pub const ADIE: *mut u8 = 0x8 as *mut u8;
772
773/// Bitfield on register `ADCSRA`
774pub const ADIF: *mut u8 = 0x10 as *mut u8;
775
776/// Bitfield on register `ADCSRB`
777pub const ADTS: *mut u8 = 0x7 as *mut u8;
778
779/// Bitfield on register `ADCSRB`
780pub const ACME: *mut u8 = 0x40 as *mut u8;
781
782/// Bitfield on register `ADMUX`
783pub const ADLAR: *mut u8 = 0x20 as *mut u8;
784
785/// Bitfield on register `ADMUX`
786pub const REFS: *mut u8 = 0xC0 as *mut u8;
787
788/// Bitfield on register `ADMUX`
789pub const MUX: *mut u8 = 0xF as *mut u8;
790
791/// Bitfield on register `ASSR`
792pub const EXCLK: *mut u8 = 0x40 as *mut u8;
793
794/// Bitfield on register `ASSR`
795pub const TCR2BUB: *mut u8 = 0x1 as *mut u8;
796
797/// Bitfield on register `ASSR`
798pub const AS2: *mut u8 = 0x20 as *mut u8;
799
800/// Bitfield on register `ASSR`
801pub const TCN2UB: *mut u8 = 0x10 as *mut u8;
802
803/// Bitfield on register `ASSR`
804pub const OCR2AUB: *mut u8 = 0x8 as *mut u8;
805
806/// Bitfield on register `ASSR`
807pub const OCR2BUB: *mut u8 = 0x4 as *mut u8;
808
809/// Bitfield on register `ASSR`
810pub const TCR2AUB: *mut u8 = 0x2 as *mut u8;
811
812/// Bitfield on register `CLKPR`
813pub const CLKPS: *mut u8 = 0xF as *mut u8;
814
815/// Bitfield on register `CLKPR`
816pub const CLKPCE: *mut u8 = 0x80 as *mut u8;
817
818/// Bitfield on register `DIDR0`
819pub const ADC2D: *mut u8 = 0x4 as *mut u8;
820
821/// Bitfield on register `DIDR0`
822pub const ADC0D: *mut u8 = 0x1 as *mut u8;
823
824/// Bitfield on register `DIDR0`
825pub const ADC3D: *mut u8 = 0x8 as *mut u8;
826
827/// Bitfield on register `DIDR0`
828pub const ADC1D: *mut u8 = 0x2 as *mut u8;
829
830/// Bitfield on register `DIDR0`
831pub const ADC4D: *mut u8 = 0x10 as *mut u8;
832
833/// Bitfield on register `DIDR0`
834pub const ADC5D: *mut u8 = 0x20 as *mut u8;
835
836/// Bitfield on register `DIDR1`
837pub const AIN0D: *mut u8 = 0x1 as *mut u8;
838
839/// Bitfield on register `DIDR1`
840pub const AIN1D: *mut u8 = 0x2 as *mut u8;
841
842/// Bitfield on register `EECR`
843pub const EERIE: *mut u8 = 0x8 as *mut u8;
844
845/// Bitfield on register `EECR`
846pub const EEPM: *mut u8 = 0x30 as *mut u8;
847
848/// Bitfield on register `EECR`
849pub const EEPE: *mut u8 = 0x2 as *mut u8;
850
851/// Bitfield on register `EECR`
852pub const EEMPE: *mut u8 = 0x4 as *mut u8;
853
854/// Bitfield on register `EECR`
855pub const EERE: *mut u8 = 0x1 as *mut u8;
856
857/// Bitfield on register `EICRA`
858pub const ISC0: *mut u8 = 0x3 as *mut u8;
859
860/// Bitfield on register `EICRA`
861pub const ISC1: *mut u8 = 0xC as *mut u8;
862
863/// Bitfield on register `EIFR`
864pub const INTF: *mut u8 = 0x3 as *mut u8;
865
866/// Bitfield on register `EIMSK`
867pub const INT: *mut u8 = 0x3 as *mut u8;
868
869/// Bitfield on register `EXTENDED`
870pub const BOOTRST: *mut u8 = 0x1 as *mut u8;
871
872/// Bitfield on register `EXTENDED`
873pub const BOOTSZ: *mut u8 = 0x6 as *mut u8;
874
875/// Bitfield on register `GTCCR`
876pub const PSRSYNC: *mut u8 = 0x1 as *mut u8;
877
878/// Bitfield on register `GTCCR`
879pub const TSM: *mut u8 = 0x80 as *mut u8;
880
881/// Bitfield on register `HIGH`
882pub const EESAVE: *mut u8 = 0x8 as *mut u8;
883
884/// Bitfield on register `HIGH`
885pub const RSTDISBL: *mut u8 = 0x80 as *mut u8;
886
887/// Bitfield on register `HIGH`
888pub const DWEN: *mut u8 = 0x40 as *mut u8;
889
890/// Bitfield on register `HIGH`
891pub const SPIEN: *mut u8 = 0x20 as *mut u8;
892
893/// Bitfield on register `HIGH`
894pub const BODLEVEL: *mut u8 = 0x7 as *mut u8;
895
896/// Bitfield on register `HIGH`
897pub const WDTON: *mut u8 = 0x10 as *mut u8;
898
899/// Bitfield on register `LOCKBIT`
900pub const BLB1: *mut u8 = 0x30 as *mut u8;
901
902/// Bitfield on register `LOCKBIT`
903pub const BLB0: *mut u8 = 0xC as *mut u8;
904
905/// Bitfield on register `LOCKBIT`
906pub const LB: *mut u8 = 0x3 as *mut u8;
907
908/// Bitfield on register `LOW`
909pub const SUT_CKSEL: *mut u8 = 0x3F as *mut u8;
910
911/// Bitfield on register `LOW`
912pub const CKDIV8: *mut u8 = 0x80 as *mut u8;
913
914/// Bitfield on register `LOW`
915pub const CKOUT: *mut u8 = 0x40 as *mut u8;
916
917/// Bitfield on register `MCUCR`
918pub const PUD: *mut u8 = 0x10 as *mut u8;
919
920/// Bitfield on register `MCUCR`
921pub const BODSE: *mut u8 = 0x20 as *mut u8;
922
923/// Bitfield on register `MCUCR`
924pub const IVSEL: *mut u8 = 0x2 as *mut u8;
925
926/// Bitfield on register `MCUCR`
927pub const IVCE: *mut u8 = 0x1 as *mut u8;
928
929/// Bitfield on register `MCUCR`
930pub const BODS: *mut u8 = 0x40 as *mut u8;
931
932/// Bitfield on register `MCUSR`
933pub const PORF: *mut u8 = 0x1 as *mut u8;
934
935/// Bitfield on register `MCUSR`
936pub const EXTRF: *mut u8 = 0x2 as *mut u8;
937
938/// Bitfield on register `MCUSR`
939pub const WDRF: *mut u8 = 0x8 as *mut u8;
940
941/// Bitfield on register `MCUSR`
942pub const BORF: *mut u8 = 0x4 as *mut u8;
943
944/// Bitfield on register `PCICR`
945pub const PCIE: *mut u8 = 0x7 as *mut u8;
946
947/// Bitfield on register `PCIFR`
948pub const PCIF: *mut u8 = 0x7 as *mut u8;
949
950/// Bitfield on register `PRR`
951pub const PRTIM0: *mut u8 = 0x20 as *mut u8;
952
953/// Bitfield on register `PRR`
954pub const PRTWI: *mut u8 = 0x80 as *mut u8;
955
956/// Bitfield on register `PRR`
957pub const PRUSART0: *mut u8 = 0x2 as *mut u8;
958
959/// Bitfield on register `PRR`
960pub const PRTIM1: *mut u8 = 0x8 as *mut u8;
961
962/// Bitfield on register `PRR`
963pub const PRADC: *mut u8 = 0x1 as *mut u8;
964
965/// Bitfield on register `PRR`
966pub const PRSPI: *mut u8 = 0x4 as *mut u8;
967
968/// Bitfield on register `PRR`
969pub const PRTIM2: *mut u8 = 0x40 as *mut u8;
970
971/// Bitfield on register `SMCR`
972pub const SE: *mut u8 = 0x1 as *mut u8;
973
974/// Bitfield on register `SMCR`
975pub const SM: *mut u8 = 0xE as *mut u8;
976
977/// Bitfield on register `SPCR`
978pub const DORD: *mut u8 = 0x20 as *mut u8;
979
980/// Bitfield on register `SPCR`
981pub const SPE: *mut u8 = 0x40 as *mut u8;
982
983/// Bitfield on register `SPCR`
984pub const SPIE: *mut u8 = 0x80 as *mut u8;
985
986/// Bitfield on register `SPCR`
987pub const MSTR: *mut u8 = 0x10 as *mut u8;
988
989/// Bitfield on register `SPCR`
990pub const CPOL: *mut u8 = 0x8 as *mut u8;
991
992/// Bitfield on register `SPCR`
993pub const CPHA: *mut u8 = 0x4 as *mut u8;
994
995/// Bitfield on register `SPCR`
996pub const SPR: *mut u8 = 0x3 as *mut u8;
997
998/// Bitfield on register `SPMCSR`
999pub const BLBSET: *mut u8 = 0x8 as *mut u8;
1000
1001/// Bitfield on register `SPMCSR`
1002pub const RWWSB: *mut u8 = 0x40 as *mut u8;
1003
1004/// Bitfield on register `SPMCSR`
1005pub const PGERS: *mut u8 = 0x2 as *mut u8;
1006
1007/// Bitfield on register `SPMCSR`
1008pub const SPMIE: *mut u8 = 0x80 as *mut u8;
1009
1010/// Bitfield on register `SPMCSR`
1011pub const RWWSRE: *mut u8 = 0x10 as *mut u8;
1012
1013/// Bitfield on register `SPMCSR`
1014pub const SELFPRGEN: *mut u8 = 0x1 as *mut u8;
1015
1016/// Bitfield on register `SPMCSR`
1017pub const PGWRT: *mut u8 = 0x4 as *mut u8;
1018
1019/// Bitfield on register `SPSR`
1020pub const WCOL: *mut u8 = 0x40 as *mut u8;
1021
1022/// Bitfield on register `SPSR`
1023pub const SPI2X: *mut u8 = 0x1 as *mut u8;
1024
1025/// Bitfield on register `SPSR`
1026pub const SPIF: *mut u8 = 0x80 as *mut u8;
1027
1028/// Bitfield on register `SREG`
1029pub const I: *mut u8 = 0x80 as *mut u8;
1030
1031/// Bitfield on register `SREG`
1032pub const C: *mut u8 = 0x1 as *mut u8;
1033
1034/// Bitfield on register `SREG`
1035pub const S: *mut u8 = 0x10 as *mut u8;
1036
1037/// Bitfield on register `SREG`
1038pub const H: *mut u8 = 0x20 as *mut u8;
1039
1040/// Bitfield on register `SREG`
1041pub const N: *mut u8 = 0x4 as *mut u8;
1042
1043/// Bitfield on register `SREG`
1044pub const V: *mut u8 = 0x8 as *mut u8;
1045
1046/// Bitfield on register `SREG`
1047pub const T: *mut u8 = 0x40 as *mut u8;
1048
1049/// Bitfield on register `SREG`
1050pub const Z: *mut u8 = 0x2 as *mut u8;
1051
1052/// Bitfield on register `TCCR0A`
1053pub const WGM0: *mut u8 = 0x3 as *mut u8;
1054
1055/// Bitfield on register `TCCR0A`
1056pub const COM0A: *mut u8 = 0xC0 as *mut u8;
1057
1058/// Bitfield on register `TCCR0A`
1059pub const COM0B: *mut u8 = 0x30 as *mut u8;
1060
1061/// Bitfield on register `TCCR0B`
1062pub const FOC0B: *mut u8 = 0x40 as *mut u8;
1063
1064/// Bitfield on register `TCCR0B`
1065pub const CS0: *mut u8 = 0x7 as *mut u8;
1066
1067/// Bitfield on register `TCCR0B`
1068pub const FOC0A: *mut u8 = 0x80 as *mut u8;
1069
1070/// Bitfield on register `TCCR0B`
1071pub const WGM02: *mut u8 = 0x8 as *mut u8;
1072
1073/// Bitfield on register `TCCR1A`
1074pub const COM1A: *mut u8 = 0xC0 as *mut u8;
1075
1076/// Bitfield on register `TCCR1A`
1077pub const COM1B: *mut u8 = 0x30 as *mut u8;
1078
1079/// Bitfield on register `TCCR1B`
1080pub const ICES1: *mut u8 = 0x40 as *mut u8;
1081
1082/// Bitfield on register `TCCR1B`
1083pub const ICNC1: *mut u8 = 0x80 as *mut u8;
1084
1085/// Bitfield on register `TCCR1B`
1086pub const CS1: *mut u8 = 0x7 as *mut u8;
1087
1088/// Bitfield on register `TCCR1C`
1089pub const FOC1B: *mut u8 = 0x40 as *mut u8;
1090
1091/// Bitfield on register `TCCR1C`
1092pub const FOC1A: *mut u8 = 0x80 as *mut u8;
1093
1094/// Bitfield on register `TCCR2A`
1095pub const COM2A: *mut u8 = 0xC0 as *mut u8;
1096
1097/// Bitfield on register `TCCR2A`
1098pub const WGM2: *mut u8 = 0x3 as *mut u8;
1099
1100/// Bitfield on register `TCCR2A`
1101pub const COM2B: *mut u8 = 0x30 as *mut u8;
1102
1103/// Bitfield on register `TCCR2B`
1104pub const CS2: *mut u8 = 0x7 as *mut u8;
1105
1106/// Bitfield on register `TCCR2B`
1107pub const WGM22: *mut u8 = 0x8 as *mut u8;
1108
1109/// Bitfield on register `TCCR2B`
1110pub const FOC2B: *mut u8 = 0x40 as *mut u8;
1111
1112/// Bitfield on register `TCCR2B`
1113pub const FOC2A: *mut u8 = 0x80 as *mut u8;
1114
1115/// Bitfield on register `TIFR0`
1116pub const OCF0A: *mut u8 = 0x2 as *mut u8;
1117
1118/// Bitfield on register `TIFR0`
1119pub const TOV0: *mut u8 = 0x1 as *mut u8;
1120
1121/// Bitfield on register `TIFR0`
1122pub const OCF0B: *mut u8 = 0x4 as *mut u8;
1123
1124/// Bitfield on register `TIFR1`
1125pub const OCF1A: *mut u8 = 0x2 as *mut u8;
1126
1127/// Bitfield on register `TIFR1`
1128pub const TOV1: *mut u8 = 0x1 as *mut u8;
1129
1130/// Bitfield on register `TIFR1`
1131pub const ICF1: *mut u8 = 0x20 as *mut u8;
1132
1133/// Bitfield on register `TIFR1`
1134pub const OCF1B: *mut u8 = 0x4 as *mut u8;
1135
1136/// Bitfield on register `TIFR2`
1137pub const OCF2A: *mut u8 = 0x2 as *mut u8;
1138
1139/// Bitfield on register `TIFR2`
1140pub const OCF2B: *mut u8 = 0x4 as *mut u8;
1141
1142/// Bitfield on register `TIFR2`
1143pub const TOV2: *mut u8 = 0x1 as *mut u8;
1144
1145/// Bitfield on register `TIMSK0`
1146pub const OCIE0B: *mut u8 = 0x4 as *mut u8;
1147
1148/// Bitfield on register `TIMSK0`
1149pub const TOIE0: *mut u8 = 0x1 as *mut u8;
1150
1151/// Bitfield on register `TIMSK0`
1152pub const OCIE0A: *mut u8 = 0x2 as *mut u8;
1153
1154/// Bitfield on register `TIMSK1`
1155pub const OCIE1B: *mut u8 = 0x4 as *mut u8;
1156
1157/// Bitfield on register `TIMSK1`
1158pub const ICIE1: *mut u8 = 0x20 as *mut u8;
1159
1160/// Bitfield on register `TIMSK1`
1161pub const TOIE1: *mut u8 = 0x1 as *mut u8;
1162
1163/// Bitfield on register `TIMSK1`
1164pub const OCIE1A: *mut u8 = 0x2 as *mut u8;
1165
1166/// Bitfield on register `TIMSK2`
1167pub const TOIE2: *mut u8 = 0x1 as *mut u8;
1168
1169/// Bitfield on register `TIMSK2`
1170pub const OCIE2A: *mut u8 = 0x2 as *mut u8;
1171
1172/// Bitfield on register `TIMSK2`
1173pub const OCIE2B: *mut u8 = 0x4 as *mut u8;
1174
1175/// Bitfield on register `TWAMR`
1176pub const TWAM: *mut u8 = 0xFE as *mut u8;
1177
1178/// Bitfield on register `TWAR`
1179pub const TWGCE: *mut u8 = 0x1 as *mut u8;
1180
1181/// Bitfield on register `TWAR`
1182pub const TWA: *mut u8 = 0xFE as *mut u8;
1183
1184/// Bitfield on register `TWCR`
1185pub const TWWC: *mut u8 = 0x8 as *mut u8;
1186
1187/// Bitfield on register `TWCR`
1188pub const TWEA: *mut u8 = 0x40 as *mut u8;
1189
1190/// Bitfield on register `TWCR`
1191pub const TWIE: *mut u8 = 0x1 as *mut u8;
1192
1193/// Bitfield on register `TWCR`
1194pub const TWSTA: *mut u8 = 0x20 as *mut u8;
1195
1196/// Bitfield on register `TWCR`
1197pub const TWSTO: *mut u8 = 0x10 as *mut u8;
1198
1199/// Bitfield on register `TWCR`
1200pub const TWEN: *mut u8 = 0x4 as *mut u8;
1201
1202/// Bitfield on register `TWCR`
1203pub const TWINT: *mut u8 = 0x80 as *mut u8;
1204
1205/// Bitfield on register `TWSR`
1206pub const TWPS: *mut u8 = 0x3 as *mut u8;
1207
1208/// Bitfield on register `TWSR`
1209pub const TWS: *mut u8 = 0xF8 as *mut u8;
1210
1211/// Bitfield on register `UCSR0A`
1212pub const UDRE0: *mut u8 = 0x20 as *mut u8;
1213
1214/// Bitfield on register `UCSR0A`
1215pub const DOR0: *mut u8 = 0x8 as *mut u8;
1216
1217/// Bitfield on register `UCSR0A`
1218pub const U2X0: *mut u8 = 0x2 as *mut u8;
1219
1220/// Bitfield on register `UCSR0A`
1221pub const MPCM0: *mut u8 = 0x1 as *mut u8;
1222
1223/// Bitfield on register `UCSR0A`
1224pub const UPE0: *mut u8 = 0x4 as *mut u8;
1225
1226/// Bitfield on register `UCSR0A`
1227pub const FE0: *mut u8 = 0x10 as *mut u8;
1228
1229/// Bitfield on register `UCSR0A`
1230pub const TXC0: *mut u8 = 0x40 as *mut u8;
1231
1232/// Bitfield on register `UCSR0A`
1233pub const RXC0: *mut u8 = 0x80 as *mut u8;
1234
1235/// Bitfield on register `UCSR0B`
1236pub const TXCIE0: *mut u8 = 0x40 as *mut u8;
1237
1238/// Bitfield on register `UCSR0B`
1239pub const RXB80: *mut u8 = 0x2 as *mut u8;
1240
1241/// Bitfield on register `UCSR0B`
1242pub const RXCIE0: *mut u8 = 0x80 as *mut u8;
1243
1244/// Bitfield on register `UCSR0B`
1245pub const TXB80: *mut u8 = 0x1 as *mut u8;
1246
1247/// Bitfield on register `UCSR0B`
1248pub const RXEN0: *mut u8 = 0x10 as *mut u8;
1249
1250/// Bitfield on register `UCSR0B`
1251pub const UCSZ02: *mut u8 = 0x4 as *mut u8;
1252
1253/// Bitfield on register `UCSR0B`
1254pub const TXEN0: *mut u8 = 0x8 as *mut u8;
1255
1256/// Bitfield on register `UCSR0B`
1257pub const UDRIE0: *mut u8 = 0x20 as *mut u8;
1258
1259/// Bitfield on register `UCSR0C`
1260pub const UMSEL0: *mut u8 = 0xC0 as *mut u8;
1261
1262/// Bitfield on register `UCSR0C`
1263pub const USBS0: *mut u8 = 0x8 as *mut u8;
1264
1265/// Bitfield on register `UCSR0C`
1266pub const UPM0: *mut u8 = 0x30 as *mut u8;
1267
1268/// Bitfield on register `UCSR0C`
1269pub const UCSZ0: *mut u8 = 0x6 as *mut u8;
1270
1271/// Bitfield on register `UCSR0C`
1272pub const UCPOL0: *mut u8 = 0x1 as *mut u8;
1273
1274/// Bitfield on register `WDTCSR`
1275pub const WDCE: *mut u8 = 0x10 as *mut u8;
1276
1277/// Bitfield on register `WDTCSR`
1278pub const WDE: *mut u8 = 0x8 as *mut u8;
1279
1280/// Bitfield on register `WDTCSR`
1281pub const WDP: *mut u8 = 0x27 as *mut u8;
1282
1283/// Bitfield on register `WDTCSR`
1284pub const WDIE: *mut u8 = 0x40 as *mut u8;
1285
1286/// Bitfield on register `WDTCSR`
1287pub const WDIF: *mut u8 = 0x80 as *mut u8;
1288
1289/// `ADC_MUX_SINGLE` value group
1290#[allow(non_upper_case_globals)]
1291pub mod adc_mux_single {
1292 /// ADC Single Ended Input pin 0.
1293 pub const ADC0: u32 = 0x0;
1294 /// ADC Single Ended Input pin 1.
1295 pub const ADC1: u32 = 0x1;
1296 /// ADC Single Ended Input pin 2.
1297 pub const ADC2: u32 = 0x2;
1298 /// ADC Single Ended Input pin 3.
1299 pub const ADC3: u32 = 0x3;
1300 /// ADC Single Ended Input pin 4.
1301 pub const ADC4: u32 = 0x4;
1302 /// ADC Single Ended Input pin 5.
1303 pub const ADC5: u32 = 0x5;
1304 /// ADC Single Ended Input pin 6.
1305 pub const ADC6: u32 = 0x6;
1306 /// ADC Single Ended Input pin 7.
1307 pub const ADC7: u32 = 0x7;
1308 /// Temperature sensor.
1309 pub const TEMPSENS: u32 = 0x8;
1310 /// Internal Reference (VBG).
1311 pub const ADC_VBG: u32 = 0xE;
1312 /// 0V (GND).
1313 pub const ADC_GND: u32 = 0xF;
1314}
1315
1316/// `ANALOG_ADC_AUTO_TRIGGER` value group
1317#[allow(non_upper_case_globals)]
1318pub mod analog_adc_auto_trigger {
1319 /// Free Running mode.
1320 pub const VAL_0x00: u32 = 0x0;
1321 /// Analog Comparator.
1322 pub const VAL_0x01: u32 = 0x1;
1323 /// External Interrupt Request 0.
1324 pub const VAL_0x02: u32 = 0x2;
1325 /// Timer/Counter0 Compare Match A.
1326 pub const VAL_0x03: u32 = 0x3;
1327 /// Timer/Counter0 Overflow.
1328 pub const VAL_0x04: u32 = 0x4;
1329 /// Timer/Counter1 Compare Match B.
1330 pub const VAL_0x05: u32 = 0x5;
1331 /// Timer/Counter1 Overflow.
1332 pub const VAL_0x06: u32 = 0x6;
1333 /// Timer/Counter1 Capture Event.
1334 pub const VAL_0x07: u32 = 0x7;
1335}
1336
1337/// `ANALOG_ADC_PRESCALER` value group
1338#[allow(non_upper_case_globals)]
1339pub mod analog_adc_prescaler {
1340 /// 2.
1341 pub const VAL_0x00: u32 = 0x0;
1342 /// 2.
1343 pub const VAL_0x01: u32 = 0x1;
1344 /// 4.
1345 pub const VAL_0x02: u32 = 0x2;
1346 /// 8.
1347 pub const VAL_0x03: u32 = 0x3;
1348 /// 16.
1349 pub const VAL_0x04: u32 = 0x4;
1350 /// 32.
1351 pub const VAL_0x05: u32 = 0x5;
1352 /// 64.
1353 pub const VAL_0x06: u32 = 0x6;
1354 /// 128.
1355 pub const VAL_0x07: u32 = 0x7;
1356}
1357
1358/// `ANALOG_ADC_V_REF3` value group
1359#[allow(non_upper_case_globals)]
1360pub mod analog_adc_v_ref3 {
1361 /// AREF, Internal Vref turned off.
1362 pub const VAL_0x00: u32 = 0x0;
1363 /// AVCC with external capacitor at AREF pin.
1364 pub const VAL_0x01: u32 = 0x1;
1365 /// Reserved.
1366 pub const VAL_0x02: u32 = 0x2;
1367 /// Internal 1.1V Voltage Reference with external capacitor at AREF pin.
1368 pub const VAL_0x03: u32 = 0x3;
1369}
1370
1371/// `ANALOG_COMP_INTERRUPT` value group
1372#[allow(non_upper_case_globals)]
1373pub mod analog_comp_interrupt {
1374 /// Interrupt on Toggle.
1375 pub const VAL_0x00: u32 = 0x0;
1376 /// Reserved.
1377 pub const VAL_0x01: u32 = 0x1;
1378 /// Interrupt on Falling Edge.
1379 pub const VAL_0x02: u32 = 0x2;
1380 /// Interrupt on Rising Edge.
1381 pub const VAL_0x03: u32 = 0x3;
1382}
1383
1384/// `CLK_SEL_3BIT` value group
1385#[allow(non_upper_case_globals)]
1386pub mod clk_sel_3bit {
1387 /// No Clock Source (Stopped).
1388 pub const VAL_0x00: u32 = 0x0;
1389 /// Running, No Prescaling.
1390 pub const VAL_0x01: u32 = 0x1;
1391 /// Running, CLK/8.
1392 pub const VAL_0x02: u32 = 0x2;
1393 /// Running, CLK/32.
1394 pub const VAL_0x03: u32 = 0x3;
1395 /// Running, CLK/64.
1396 pub const VAL_0x04: u32 = 0x4;
1397 /// Running, CLK/128.
1398 pub const VAL_0x05: u32 = 0x5;
1399 /// Running, CLK/256.
1400 pub const VAL_0x06: u32 = 0x6;
1401 /// Running, CLK/1024.
1402 pub const VAL_0x07: u32 = 0x7;
1403}
1404
1405/// `CLK_SEL_3BIT_EXT` value group
1406#[allow(non_upper_case_globals)]
1407pub mod clk_sel_3bit_ext {
1408 /// No Clock Source (Stopped).
1409 pub const VAL_0x00: u32 = 0x0;
1410 /// Running, No Prescaling.
1411 pub const VAL_0x01: u32 = 0x1;
1412 /// Running, CLK/8.
1413 pub const VAL_0x02: u32 = 0x2;
1414 /// Running, CLK/64.
1415 pub const VAL_0x03: u32 = 0x3;
1416 /// Running, CLK/256.
1417 pub const VAL_0x04: u32 = 0x4;
1418 /// Running, CLK/1024.
1419 pub const VAL_0x05: u32 = 0x5;
1420 /// Running, ExtClk Tx Falling Edge.
1421 pub const VAL_0x06: u32 = 0x6;
1422 /// Running, ExtClk Tx Rising Edge.
1423 pub const VAL_0x07: u32 = 0x7;
1424}
1425
1426/// `COMM_SCK_RATE_3BIT` value group
1427#[allow(non_upper_case_globals)]
1428pub mod comm_sck_rate_3bit {
1429 /// fosc/4.
1430 pub const VAL_0x00: u32 = 0x0;
1431 /// fosc/16.
1432 pub const VAL_0x01: u32 = 0x1;
1433 /// fosc/64.
1434 pub const VAL_0x02: u32 = 0x2;
1435 /// fosc/128.
1436 pub const VAL_0x03: u32 = 0x3;
1437 /// fosc/2.
1438 pub const VAL_0x04: u32 = 0x4;
1439 /// fosc/8.
1440 pub const VAL_0x05: u32 = 0x5;
1441 /// fosc/32.
1442 pub const VAL_0x06: u32 = 0x6;
1443 /// fosc/64.
1444 pub const VAL_0x07: u32 = 0x7;
1445}
1446
1447/// `COMM_STOP_BIT_SEL` value group
1448#[allow(non_upper_case_globals)]
1449pub mod comm_stop_bit_sel {
1450 /// 1-bit.
1451 pub const VAL_0x00: u32 = 0x0;
1452 /// 2-bit.
1453 pub const VAL_0x01: u32 = 0x1;
1454}
1455
1456/// `COMM_TWI_PRESACLE` value group
1457#[allow(non_upper_case_globals)]
1458pub mod comm_twi_presacle {
1459 /// 1.
1460 pub const VAL_0x00: u32 = 0x0;
1461 /// 4.
1462 pub const VAL_0x01: u32 = 0x1;
1463 /// 16.
1464 pub const VAL_0x02: u32 = 0x2;
1465 /// 64.
1466 pub const VAL_0x03: u32 = 0x3;
1467}
1468
1469/// `COMM_UPM_PARITY_MODE` value group
1470#[allow(non_upper_case_globals)]
1471pub mod comm_upm_parity_mode {
1472 /// Disabled.
1473 pub const VAL_0x00: u32 = 0x0;
1474 /// Reserved.
1475 pub const VAL_0x01: u32 = 0x1;
1476 /// Enabled, Even Parity.
1477 pub const VAL_0x02: u32 = 0x2;
1478 /// Enabled, Odd Parity.
1479 pub const VAL_0x03: u32 = 0x3;
1480}
1481
1482/// `COMM_USART_MODE_2BIT` value group
1483#[allow(non_upper_case_globals)]
1484pub mod comm_usart_mode_2bit {
1485 /// Asynchronous USART.
1486 pub const VAL_0x00: u32 = 0x0;
1487 /// Synchronous USART.
1488 pub const VAL_0x01: u32 = 0x1;
1489 /// Master SPI.
1490 pub const VAL_0x03: u32 = 0x3;
1491}
1492
1493/// `CPU_CLK_PRESCALE_4_BITS_SMALL` value group
1494#[allow(non_upper_case_globals)]
1495pub mod cpu_clk_prescale_4_bits_small {
1496 /// 1.
1497 pub const VAL_0x00: u32 = 0x0;
1498 /// 2.
1499 pub const VAL_0x01: u32 = 0x1;
1500 /// 4.
1501 pub const VAL_0x02: u32 = 0x2;
1502 /// 8.
1503 pub const VAL_0x03: u32 = 0x3;
1504 /// 16.
1505 pub const VAL_0x04: u32 = 0x4;
1506 /// 32.
1507 pub const VAL_0x05: u32 = 0x5;
1508 /// 64.
1509 pub const VAL_0x06: u32 = 0x6;
1510 /// 128.
1511 pub const VAL_0x07: u32 = 0x7;
1512 /// 256.
1513 pub const VAL_0x08: u32 = 0x8;
1514}
1515
1516/// `CPU_SLEEP_MODE_3BITS2` value group
1517#[allow(non_upper_case_globals)]
1518pub mod cpu_sleep_mode_3bits2 {
1519 /// Idle.
1520 pub const IDLE: u32 = 0x0;
1521 /// ADC Noise Reduction (If Available).
1522 pub const ADC: u32 = 0x1;
1523 /// Power Down.
1524 pub const PDOWN: u32 = 0x2;
1525 /// Power Save.
1526 pub const PSAVE: u32 = 0x3;
1527 /// Reserved.
1528 pub const VAL_0x04: u32 = 0x4;
1529 /// Reserved.
1530 pub const VAL_0x05: u32 = 0x5;
1531 /// Standby.
1532 pub const STDBY: u32 = 0x6;
1533 /// Extended Standby.
1534 pub const ESTDBY: u32 = 0x7;
1535}
1536
1537/// `EEP_MODE` value group
1538#[allow(non_upper_case_globals)]
1539pub mod eep_mode {
1540 /// Erase and Write in one operation.
1541 pub const VAL_0x00: u32 = 0x0;
1542 /// Erase Only.
1543 pub const VAL_0x01: u32 = 0x1;
1544 /// Write Only.
1545 pub const VAL_0x02: u32 = 0x2;
1546}
1547
1548/// `ENUM_BLB` value group
1549#[allow(non_upper_case_globals)]
1550pub mod enum_blb {
1551 /// LPM and SPM prohibited in Application Section.
1552 pub const LPM_SPM_DISABLE: u32 = 0x0;
1553 /// LPM prohibited in Application Section.
1554 pub const LPM_DISABLE: u32 = 0x1;
1555 /// SPM prohibited in Application Section.
1556 pub const SPM_DISABLE: u32 = 0x2;
1557 /// No lock on SPM and LPM in Application Section.
1558 pub const NO_LOCK: u32 = 0x3;
1559}
1560
1561/// `ENUM_BLB2` value group
1562#[allow(non_upper_case_globals)]
1563pub mod enum_blb2 {
1564 /// LPM and SPM prohibited in Boot Section.
1565 pub const LPM_SPM_DISABLE: u32 = 0x0;
1566 /// LPM prohibited in Boot Section.
1567 pub const LPM_DISABLE: u32 = 0x1;
1568 /// SPM prohibited in Boot Section.
1569 pub const SPM_DISABLE: u32 = 0x2;
1570 /// No lock on SPM and LPM in Boot Section.
1571 pub const NO_LOCK: u32 = 0x3;
1572}
1573
1574/// `ENUM_BODLEVEL` value group
1575#[allow(non_upper_case_globals)]
1576pub mod enum_bodlevel {
1577 /// Brown-out detection at VCC=4.3 V.
1578 pub const _4V3: u32 = 0x4;
1579 /// Brown-out detection at VCC=2.7 V.
1580 pub const _2V7: u32 = 0x5;
1581 /// Brown-out detection at VCC=1.8 V.
1582 pub const _1V8: u32 = 0x6;
1583 /// Brown-out detection disabled.
1584 pub const DISABLED: u32 = 0x7;
1585}
1586
1587/// `ENUM_BOOTSZ` value group
1588#[allow(non_upper_case_globals)]
1589pub mod enum_bootsz {
1590 /// Boot Flash size=128 words Boot address=$0F80.
1591 pub const _128W_0F80: u32 = 0x3;
1592 /// Boot Flash size=256 words Boot address=$0F00.
1593 pub const _256W_0F00: u32 = 0x2;
1594 /// Boot Flash size=512 words Boot address=$0E00.
1595 pub const _512W_0E00: u32 = 0x1;
1596 /// Boot Flash size=1024 words Boot address=$0C00.
1597 pub const _1024W_0C00: u32 = 0x0;
1598}
1599
1600/// `ENUM_LB` value group
1601#[allow(non_upper_case_globals)]
1602pub mod enum_lb {
1603 /// Further programming and verification disabled.
1604 pub const PROG_VER_DISABLED: u32 = 0x0;
1605 /// Further programming disabled.
1606 pub const PROG_DISABLED: u32 = 0x2;
1607 /// No memory lock features enabled.
1608 pub const NO_LOCK: u32 = 0x3;
1609}
1610
1611/// `ENUM_SUT_CKSEL` value group
1612#[allow(non_upper_case_globals)]
1613pub mod enum_sut_cksel {
1614 /// Ext. Clock; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms.
1615 pub const EXTCLK_6CK_14CK_0MS: u32 = 0x0;
1616 /// Ext. Clock; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4.1 ms.
1617 pub const EXTCLK_6CK_14CK_4MS1: u32 = 0x10;
1618 /// Ext. Clock; Start-up time PWRDWN/RESET: 6 CK/14 CK + 65 ms.
1619 pub const EXTCLK_6CK_14CK_65MS: u32 = 0x20;
1620 /// Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms.
1621 pub const INTRCOSC_8MHZ_6CK_14CK_0MS: u32 = 0x2;
1622 /// Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4.1 ms.
1623 pub const INTRCOSC_8MHZ_6CK_14CK_4MS1: u32 = 0x12;
1624 /// Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 65 ms.
1625 pub const INTRCOSC_8MHZ_6CK_14CK_65MS: u32 = 0x22;
1626 /// Int. RC Osc. 128kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 0 ms.
1627 pub const INTRCOSC_128KHZ_6CK_14CK_0MS: u32 = 0x3;
1628 /// Int. RC Osc. 128kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 4.1 ms.
1629 pub const INTRCOSC_128KHZ_6CK_14CK_4MS1: u32 = 0x13;
1630 /// Int. RC Osc. 128kHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 65 ms.
1631 pub const INTRCOSC_128KHZ_6CK_14CK_65MS: u32 = 0x23;
1632 /// Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 1K CK/14 CK + 0 ms.
1633 pub const EXTLOFXTAL_1KCK_14CK_0MS: u32 = 0x4;
1634 /// Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 1K CK/14 CK + 4.1 ms.
1635 pub const EXTLOFXTAL_1KCK_14CK_4MS1: u32 = 0x14;
1636 /// Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 1K CK/14 CK + 65 ms.
1637 pub const EXTLOFXTAL_1KCK_14CK_65MS: u32 = 0x24;
1638 /// Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 32K CK/14 CK + 0 ms.
1639 pub const EXTLOFXTAL_32KCK_14CK_0MS: u32 = 0x5;
1640 /// Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 32K CK/14 CK + 4.1 ms.
1641 pub const EXTLOFXTAL_32KCK_14CK_4MS1: u32 = 0x15;
1642 /// Ext. Low-Freq. Crystal; Start-up time PWRDWN/RESET: 32K CK/14 CK + 65 ms.
1643 pub const EXTLOFXTAL_32KCK_14CK_65MS: u32 = 0x25;
1644 /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms.
1645 pub const EXTFSXTAL_258CK_14CK_4MS1: u32 = 0x6;
1646 /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms.
1647 pub const EXTFSXTAL_258CK_14CK_65MS: u32 = 0x16;
1648 /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms.
1649 pub const EXTFSXTAL_1KCK_14CK_0MS: u32 = 0x26;
1650 /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms.
1651 pub const EXTFSXTAL_1KCK_14CK_4MS1: u32 = 0x36;
1652 /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms.
1653 pub const EXTFSXTAL_1KCK_14CK_65MS: u32 = 0x7;
1654 /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms.
1655 pub const EXTFSXTAL_16KCK_14CK_0MS: u32 = 0x17;
1656 /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms.
1657 pub const EXTFSXTAL_16KCK_14CK_4MS1: u32 = 0x27;
1658 /// Ext. Full-swing Crystal; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms.
1659 pub const EXTFSXTAL_16KCK_14CK_65MS: u32 = 0x37;
1660 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms.
1661 pub const EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_4MS1: u32 = 0x8;
1662 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms.
1663 pub const EXTXOSC_0MHZ4_0MHZ9_258CK_14CK_65MS: u32 = 0x18;
1664 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms.
1665 pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_0MS: u32 = 0x28;
1666 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms.
1667 pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_4MS1: u32 = 0x38;
1668 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms.
1669 pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_14CK_65MS: u32 = 0x9;
1670 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms.
1671 pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_0MS: u32 = 0x19;
1672 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms.
1673 pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_4MS1: u32 = 0x29;
1674 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms.
1675 pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_14CK_65MS: u32 = 0x39;
1676 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms.
1677 pub const EXTXOSC_0MHZ9_3MHZ_258CK_14CK_4MS1: u32 = 0xA;
1678 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms.
1679 pub const EXTXOSC_0MHZ9_3MHZ_258CK_14CK_65MS: u32 = 0x1A;
1680 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms.
1681 pub const EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_0MS: u32 = 0x2A;
1682 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms.
1683 pub const EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_4MS1: u32 = 0x3A;
1684 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms.
1685 pub const EXTXOSC_0MHZ9_3MHZ_1KCK_14CK_65MS: u32 = 0xB;
1686 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms.
1687 pub const EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_0MS: u32 = 0x1B;
1688 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms.
1689 pub const EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_4MS1: u32 = 0x2B;
1690 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms.
1691 pub const EXTXOSC_0MHZ9_3MHZ_16KCK_14CK_65MS: u32 = 0x3B;
1692 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms.
1693 pub const EXTXOSC_3MHZ_8MHZ_258CK_14CK_4MS1: u32 = 0xC;
1694 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms.
1695 pub const EXTXOSC_3MHZ_8MHZ_258CK_14CK_65MS: u32 = 0x1C;
1696 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms.
1697 pub const EXTXOSC_3MHZ_8MHZ_1KCK_14CK_0MS: u32 = 0x2C;
1698 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms.
1699 pub const EXTXOSC_3MHZ_8MHZ_1KCK_14CK_4MS1: u32 = 0x3C;
1700 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms.
1701 pub const EXTXOSC_3MHZ_8MHZ_1KCK_14CK_65MS: u32 = 0xD;
1702 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms.
1703 pub const EXTXOSC_3MHZ_8MHZ_16KCK_14CK_0MS: u32 = 0x1D;
1704 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms.
1705 pub const EXTXOSC_3MHZ_8MHZ_16KCK_14CK_4MS1: u32 = 0x2D;
1706 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms.
1707 pub const EXTXOSC_3MHZ_8MHZ_16KCK_14CK_65MS: u32 = 0x3D;
1708 /// Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 4.1 ms.
1709 pub const EXTXOSC_8MHZ_XX_258CK_14CK_4MS1: u32 = 0xE;
1710 /// Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 258 CK/14 CK + 65 ms.
1711 pub const EXTXOSC_8MHZ_XX_258CK_14CK_65MS: u32 = 0x1E;
1712 /// Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 0 ms.
1713 pub const EXTXOSC_8MHZ_XX_1KCK_14CK_0MS: u32 = 0x2E;
1714 /// Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 4.1 ms.
1715 pub const EXTXOSC_8MHZ_XX_1KCK_14CK_4MS1: u32 = 0x3E;
1716 /// Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 1K CK /14 CK + 65 ms.
1717 pub const EXTXOSC_8MHZ_XX_1KCK_14CK_65MS: u32 = 0xF;
1718 /// Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 0 ms.
1719 pub const EXTXOSC_8MHZ_XX_16KCK_14CK_0MS: u32 = 0x1F;
1720 /// Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 4.1 ms.
1721 pub const EXTXOSC_8MHZ_XX_16KCK_14CK_4MS1: u32 = 0x2F;
1722 /// Ext. Crystal Osc. 8.0- MHz; Start-up time PWRDWN/RESET: 16K CK/14 CK + 65 ms.
1723 pub const EXTXOSC_8MHZ_XX_16KCK_14CK_65MS: u32 = 0x3F;
1724}
1725
1726/// Interrupt Sense Control
1727#[allow(non_upper_case_globals)]
1728pub mod interrupt_sense_control {
1729 /// Low Level of INTX.
1730 pub const VAL_0x00: u32 = 0x0;
1731 /// Any Logical Change of INTX.
1732 pub const VAL_0x01: u32 = 0x1;
1733 /// Falling Edge of INTX.
1734 pub const VAL_0x02: u32 = 0x2;
1735 /// Rising Edge of INTX.
1736 pub const VAL_0x03: u32 = 0x3;
1737}
1738
1739/// Oscillator Calibration Values
1740#[allow(non_upper_case_globals)]
1741pub mod osccal_value_addresses {
1742 /// 8.0 MHz.
1743 pub const _8_0_MHz: u32 = 0x0;
1744}
1745
1746/// `WDOG_TIMER_PRESCALE_4BITS` value group
1747#[allow(non_upper_case_globals)]
1748pub mod wdog_timer_prescale_4bits {
1749 /// Oscillator Cycles 2K.
1750 pub const VAL_0x00: u32 = 0x0;
1751 /// Oscillator Cycles 4K.
1752 pub const VAL_0x01: u32 = 0x1;
1753 /// Oscillator Cycles 8K.
1754 pub const VAL_0x02: u32 = 0x2;
1755 /// Oscillator Cycles 16K.
1756 pub const VAL_0x03: u32 = 0x3;
1757 /// Oscillator Cycles 32K.
1758 pub const VAL_0x04: u32 = 0x4;
1759 /// Oscillator Cycles 64K.
1760 pub const VAL_0x05: u32 = 0x5;
1761 /// Oscillator Cycles 128K.
1762 pub const VAL_0x06: u32 = 0x6;
1763 /// Oscillator Cycles 256K.
1764 pub const VAL_0x07: u32 = 0x7;
1765 /// Oscillator Cycles 512K.
1766 pub const VAL_0x08: u32 = 0x8;
1767 /// Oscillator Cycles 1024K.
1768 pub const VAL_0x09: u32 = 0x9;
1769}
1770