avrd/gen/atmega1281.rs
1//! The AVR ATmega1281 microcontroller
2//!
3//! # Variants
4//! | | Pinout | Mcu age | Operating temperature | Operating voltage | Max speed |
5//! |--------|--------|---------|-----------------------|-------------------|-----------|
6//! | ATmega1281V-8AU | TQFP64 | TQFP64 | -40°C - 85°C | 1.8V - 5.5V | 8 MHz |
7//! | ATmega1281V-8MU | QFN64 | QFN64 | -40°C - 85°C | 1.8V - 5.5V | 8 MHz |
8//! | ATmega1281-16AU | TQFP64 | TQFP64 | -40°C - 85°C | 2.7V - 5.5V | 16 MHz |
9//! | ATmega1281-16MU | QFN64 | QFN64 | -40°C - 85°C | 2.7V - 5.5V | 16 MHz |
10//!
11
12#![allow(non_upper_case_globals)]
13
14/// `LOW` register
15///
16/// Bitfields:
17///
18/// | Name | Mask (binary) |
19/// | ---- | ------------- |
20/// | CKDIV8 | 10000000 |
21/// | SUT_CKSEL | 111111 |
22/// | CKOUT | 1000000 |
23pub const LOW: *mut u8 = 0x0 as *mut u8;
24
25/// `LOCKBIT` register
26///
27/// Bitfields:
28///
29/// | Name | Mask (binary) |
30/// | ---- | ------------- |
31/// | LB | 11 |
32/// | BLB1 | 110000 |
33/// | BLB0 | 1100 |
34pub const LOCKBIT: *mut u8 = 0x0 as *mut u8;
35
36/// `HIGH` register
37///
38/// Bitfields:
39///
40/// | Name | Mask (binary) |
41/// | ---- | ------------- |
42/// | BOOTSZ | 110 |
43/// | SPIEN | 100000 |
44/// | OCDEN | 10000000 |
45/// | BOOTRST | 1 |
46/// | JTAGEN | 1000000 |
47/// | EESAVE | 1000 |
48/// | WDTON | 10000 |
49pub const HIGH: *mut u8 = 0x1 as *mut u8;
50
51/// `EXTENDED` register
52///
53/// Bitfields:
54///
55/// | Name | Mask (binary) |
56/// | ---- | ------------- |
57/// | BODLEVEL | 111 |
58pub const EXTENDED: *mut u8 = 0x2 as *mut u8;
59
60/// Port A Input Pins.
61pub const PINA: *mut u8 = 0x20 as *mut u8;
62
63/// Port A Data Direction Register.
64pub const DDRA: *mut u8 = 0x21 as *mut u8;
65
66/// Port A Data Register.
67pub const PORTA: *mut u8 = 0x22 as *mut u8;
68
69/// Port B Input Pins.
70pub const PINB: *mut u8 = 0x23 as *mut u8;
71
72/// Port B Data Direction Register.
73pub const DDRB: *mut u8 = 0x24 as *mut u8;
74
75/// Port B Data Register.
76pub const PORTB: *mut u8 = 0x25 as *mut u8;
77
78/// Port C Input Pins.
79pub const PINC: *mut u8 = 0x26 as *mut u8;
80
81/// Port C Data Direction Register.
82pub const DDRC: *mut u8 = 0x27 as *mut u8;
83
84/// Port C Data Register.
85pub const PORTC: *mut u8 = 0x28 as *mut u8;
86
87/// Port D Input Pins.
88pub const PIND: *mut u8 = 0x29 as *mut u8;
89
90/// Port D Data Direction Register.
91pub const DDRD: *mut u8 = 0x2A as *mut u8;
92
93/// Port D Data Register.
94pub const PORTD: *mut u8 = 0x2B as *mut u8;
95
96/// Input Pins, Port E.
97pub const PINE: *mut u8 = 0x2C as *mut u8;
98
99/// Data Direction Register, Port E.
100pub const DDRE: *mut u8 = 0x2D as *mut u8;
101
102/// Data Register, Port E.
103pub const PORTE: *mut u8 = 0x2E as *mut u8;
104
105/// Input Pins, Port F.
106pub const PINF: *mut u8 = 0x2F as *mut u8;
107
108/// Data Direction Register, Port F.
109pub const DDRF: *mut u8 = 0x30 as *mut u8;
110
111/// Data Register, Port F.
112pub const PORTF: *mut u8 = 0x31 as *mut u8;
113
114/// Input Pins, Port G.
115pub const PING: *mut u8 = 0x32 as *mut u8;
116
117/// Data Direction Register, Port G.
118pub const DDRG: *mut u8 = 0x33 as *mut u8;
119
120/// Data Register, Port G.
121pub const PORTG: *mut u8 = 0x34 as *mut u8;
122
123/// Timer/Counter0 Interrupt Flag register.
124///
125/// Bitfields:
126///
127/// | Name | Mask (binary) |
128/// | ---- | ------------- |
129/// | OCF0B | 100 |
130/// | OCF0A | 10 |
131/// | TOV0 | 1 |
132pub const TIFR0: *mut u8 = 0x35 as *mut u8;
133
134/// Timer/Counter1 Interrupt Flag register.
135///
136/// Bitfields:
137///
138/// | Name | Mask (binary) |
139/// | ---- | ------------- |
140/// | TOV1 | 1 |
141/// | ICF1 | 100000 |
142/// | OCF1A | 10 |
143/// | OCF1B | 100 |
144/// | OCF1C | 1000 |
145pub const TIFR1: *mut u8 = 0x36 as *mut u8;
146
147/// Timer/Counter Interrupt Flag Register.
148///
149/// Bitfields:
150///
151/// | Name | Mask (binary) |
152/// | ---- | ------------- |
153/// | TOV2 | 1 |
154/// | OCF2A | 10 |
155/// | OCF2B | 100 |
156pub const TIFR2: *mut u8 = 0x37 as *mut u8;
157
158/// Timer/Counter3 Interrupt Flag register.
159///
160/// Bitfields:
161///
162/// | Name | Mask (binary) |
163/// | ---- | ------------- |
164/// | OCF3B | 100 |
165/// | OCF3A | 10 |
166/// | ICF3 | 100000 |
167/// | OCF3C | 1000 |
168/// | TOV3 | 1 |
169pub const TIFR3: *mut u8 = 0x38 as *mut u8;
170
171/// Timer/Counter4 Interrupt Flag register.
172///
173/// Bitfields:
174///
175/// | Name | Mask (binary) |
176/// | ---- | ------------- |
177/// | OCF4A | 10 |
178/// | OCF4B | 100 |
179/// | ICF4 | 100000 |
180/// | TOV4 | 1 |
181/// | OCF4C | 1000 |
182pub const TIFR4: *mut u8 = 0x39 as *mut u8;
183
184/// Timer/Counter5 Interrupt Flag register.
185///
186/// Bitfields:
187///
188/// | Name | Mask (binary) |
189/// | ---- | ------------- |
190/// | TOV5 | 1 |
191/// | OCF5A | 10 |
192/// | OCF5C | 1000 |
193/// | OCF5B | 100 |
194/// | ICF5 | 100000 |
195pub const TIFR5: *mut u8 = 0x3A as *mut u8;
196
197/// Pin Change Interrupt Flag Register.
198///
199/// Bitfields:
200///
201/// | Name | Mask (binary) |
202/// | ---- | ------------- |
203/// | PCIF | 111 |
204pub const PCIFR: *mut u8 = 0x3B as *mut u8;
205
206/// External Interrupt Flag Register.
207pub const EIFR: *mut u8 = 0x3C as *mut u8;
208
209/// External Interrupt Mask Register.
210pub const EIMSK: *mut u8 = 0x3D as *mut u8;
211
212/// General Purpose IO Register 0.
213///
214/// Bitfields:
215///
216/// | Name | Mask (binary) |
217/// | ---- | ------------- |
218/// | GPIOR06 | 1000000 |
219/// | GPIOR01 | 10 |
220/// | GPIOR00 | 1 |
221/// | GPIOR02 | 100 |
222/// | GPIOR07 | 10000000 |
223/// | GPIOR03 | 1000 |
224/// | GPIOR04 | 10000 |
225/// | GPIOR05 | 100000 |
226pub const GPIOR0: *mut u8 = 0x3E as *mut u8;
227
228/// EEPROM Control Register.
229///
230/// Bitfields:
231///
232/// | Name | Mask (binary) |
233/// | ---- | ------------- |
234/// | EEPM | 110000 |
235/// | EEMPE | 100 |
236/// | EEPE | 10 |
237/// | EERE | 1 |
238/// | EERIE | 1000 |
239pub const EECR: *mut u8 = 0x3F as *mut u8;
240
241/// EEPROM Data Register.
242pub const EEDR: *mut u8 = 0x40 as *mut u8;
243
244/// EEPROM Address Register Low Bytes.
245pub const EEAR: *mut u16 = 0x41 as *mut u16;
246
247/// EEPROM Address Register Low Bytes low byte.
248pub const EEARL: *mut u8 = 0x41 as *mut u8;
249
250/// EEPROM Address Register Low Bytes high byte.
251pub const EEARH: *mut u8 = 0x42 as *mut u8;
252
253/// General Timer Counter Control register.
254///
255/// Bitfields:
256///
257/// | Name | Mask (binary) |
258/// | ---- | ------------- |
259/// | PSRASY | 10 |
260/// | TSM | 10000000 |
261pub const GTCCR: *mut u8 = 0x43 as *mut u8;
262
263/// Timer/Counter Control Register A.
264///
265/// Bitfields:
266///
267/// | Name | Mask (binary) |
268/// | ---- | ------------- |
269/// | WGM0 | 11 |
270/// | COM0B | 110000 |
271/// | COM0A | 11000000 |
272pub const TCCR0A: *mut u8 = 0x44 as *mut u8;
273
274/// Timer/Counter Control Register B.
275///
276/// Bitfields:
277///
278/// | Name | Mask (binary) |
279/// | ---- | ------------- |
280/// | CS0 | 111 |
281/// | WGM02 | 1000 |
282/// | FOC0B | 1000000 |
283/// | FOC0A | 10000000 |
284pub const TCCR0B: *mut u8 = 0x45 as *mut u8;
285
286/// Timer/Counter0.
287pub const TCNT0: *mut u8 = 0x46 as *mut u8;
288
289/// Timer/Counter0 Output Compare Register.
290pub const OCR0A: *mut u8 = 0x47 as *mut u8;
291
292/// Timer/Counter0 Output Compare Register.
293pub const OCR0B: *mut u8 = 0x48 as *mut u8;
294
295/// General Purpose IO Register 1.
296pub const GPIOR1: *mut u8 = 0x4A as *mut u8;
297
298/// General Purpose IO Register 2.
299pub const GPIOR2: *mut u8 = 0x4B as *mut u8;
300
301/// SPI Control Register.
302///
303/// Bitfields:
304///
305/// | Name | Mask (binary) |
306/// | ---- | ------------- |
307/// | DORD | 100000 |
308/// | SPIE | 10000000 |
309/// | CPOL | 1000 |
310/// | CPHA | 100 |
311/// | SPE | 1000000 |
312/// | MSTR | 10000 |
313/// | SPR | 11 |
314pub const SPCR: *mut u8 = 0x4C as *mut u8;
315
316/// SPI Status Register.
317///
318/// Bitfields:
319///
320/// | Name | Mask (binary) |
321/// | ---- | ------------- |
322/// | WCOL | 1000000 |
323/// | SPI2X | 1 |
324/// | SPIF | 10000000 |
325pub const SPSR: *mut u8 = 0x4D as *mut u8;
326
327/// SPI Data Register.
328pub const SPDR: *mut u8 = 0x4E as *mut u8;
329
330/// Analog Comparator Control And Status Register.
331///
332/// Bitfields:
333///
334/// | Name | Mask (binary) |
335/// | ---- | ------------- |
336/// | ACO | 100000 |
337/// | ACIE | 1000 |
338/// | ACI | 10000 |
339/// | ACD | 10000000 |
340/// | ACIS | 11 |
341/// | ACIC | 100 |
342/// | ACBG | 1000000 |
343pub const ACSR: *mut u8 = 0x50 as *mut u8;
344
345/// On-Chip Debug Related Register in I/O Memory.
346pub const OCDR: *mut u8 = 0x51 as *mut u8;
347
348/// Sleep Mode Control Register.
349///
350/// Bitfields:
351///
352/// | Name | Mask (binary) |
353/// | ---- | ------------- |
354/// | SM | 1110 |
355/// | SE | 1 |
356pub const SMCR: *mut u8 = 0x53 as *mut u8;
357
358/// MCU Status Register.
359///
360/// Bitfields:
361///
362/// | Name | Mask (binary) |
363/// | ---- | ------------- |
364/// | JTRF | 10000 |
365/// | BORF | 100 |
366/// | EXTRF | 10 |
367/// | PORF | 1 |
368/// | WDRF | 1000 |
369pub const MCUSR: *mut u8 = 0x54 as *mut u8;
370
371/// MCU Control Register.
372///
373/// Bitfields:
374///
375/// | Name | Mask (binary) |
376/// | ---- | ------------- |
377/// | PUD | 10000 |
378/// | IVSEL | 10 |
379/// | JTD | 10000000 |
380/// | IVCE | 1 |
381pub const MCUCR: *mut u8 = 0x55 as *mut u8;
382
383/// Store Program Memory Control Register.
384///
385/// Bitfields:
386///
387/// | Name | Mask (binary) |
388/// | ---- | ------------- |
389/// | SIGRD | 100000 |
390/// | RWWSRE | 10000 |
391/// | RWWSB | 1000000 |
392/// | PGERS | 10 |
393/// | PGWRT | 100 |
394/// | SPMIE | 10000000 |
395/// | SPMEN | 1 |
396/// | BLBSET | 1000 |
397pub const SPMCSR: *mut u8 = 0x57 as *mut u8;
398
399/// RAM Page Z Select Register.
400pub const RAMPZ: *mut u8 = 0x5B as *mut u8;
401
402/// Stack Pointer.
403pub const SP: *mut u16 = 0x5D as *mut u16;
404
405/// Stack Pointer low byte.
406pub const SPL: *mut u8 = 0x5D as *mut u8;
407
408/// Stack Pointer high byte.
409pub const SPH: *mut u8 = 0x5E as *mut u8;
410
411/// Status Register.
412///
413/// Bitfields:
414///
415/// | Name | Mask (binary) |
416/// | ---- | ------------- |
417/// | T | 1000000 |
418/// | N | 100 |
419/// | I | 10000000 |
420/// | H | 100000 |
421/// | Z | 10 |
422/// | V | 1000 |
423/// | S | 10000 |
424/// | C | 1 |
425pub const SREG: *mut u8 = 0x5F as *mut u8;
426
427/// Watchdog Timer Control Register.
428///
429/// Bitfields:
430///
431/// | Name | Mask (binary) |
432/// | ---- | ------------- |
433/// | WDE | 1000 |
434/// | WDP | 100111 |
435/// | WDCE | 10000 |
436/// | WDIF | 10000000 |
437/// | WDIE | 1000000 |
438pub const WDTCSR: *mut u8 = 0x60 as *mut u8;
439
440/// `CLKPR` register
441///
442/// Bitfields:
443///
444/// | Name | Mask (binary) |
445/// | ---- | ------------- |
446/// | CLKPCE | 10000000 |
447/// | CLKPS | 1111 |
448pub const CLKPR: *mut u8 = 0x61 as *mut u8;
449
450/// Power Reduction Register0.
451///
452/// Bitfields:
453///
454/// | Name | Mask (binary) |
455/// | ---- | ------------- |
456/// | PRTIM1 | 1000 |
457/// | PRTIM2 | 1000000 |
458/// | PRTWI | 10000000 |
459/// | PRSPI | 100 |
460/// | PRTIM0 | 100000 |
461/// | PRUSART0 | 10 |
462/// | PRADC | 1 |
463pub const PRR0: *mut u8 = 0x64 as *mut u8;
464
465/// Power Reduction Register1.
466///
467/// Bitfields:
468///
469/// | Name | Mask (binary) |
470/// | ---- | ------------- |
471/// | PRTIM3 | 1000 |
472/// | PRTIM4 | 10000 |
473/// | PRUSART1 | 1 |
474/// | PRTIM5 | 100000 |
475/// | PRUSART2 | 10 |
476/// | PRUSART3 | 100 |
477pub const PRR1: *mut u8 = 0x65 as *mut u8;
478
479/// Oscillator Calibration Value.
480pub const OSCCAL: *mut u8 = 0x66 as *mut u8;
481
482/// Pin Change Interrupt Control Register.
483///
484/// Bitfields:
485///
486/// | Name | Mask (binary) |
487/// | ---- | ------------- |
488/// | PCIE | 111 |
489pub const PCICR: *mut u8 = 0x68 as *mut u8;
490
491/// External Interrupt Control Register A.
492///
493/// Bitfields:
494///
495/// | Name | Mask (binary) |
496/// | ---- | ------------- |
497/// | ISC2 | 110000 |
498/// | ISC3 | 11000000 |
499/// | ISC1 | 1100 |
500/// | ISC0 | 11 |
501pub const EICRA: *mut u8 = 0x69 as *mut u8;
502
503/// External Interrupt Control Register B.
504///
505/// Bitfields:
506///
507/// | Name | Mask (binary) |
508/// | ---- | ------------- |
509/// | ISC5 | 1100 |
510/// | ISC4 | 11 |
511/// | ISC7 | 11000000 |
512/// | ISC6 | 110000 |
513pub const EICRB: *mut u8 = 0x6A as *mut u8;
514
515/// Pin Change Mask Register 0.
516pub const PCMSK0: *mut u8 = 0x6B as *mut u8;
517
518/// Pin Change Mask Register 1.
519pub const PCMSK1: *mut u8 = 0x6C as *mut u8;
520
521/// Pin Change Mask Register 2.
522pub const PCMSK2: *mut u8 = 0x6D as *mut u8;
523
524/// Timer/Counter0 Interrupt Mask Register.
525///
526/// Bitfields:
527///
528/// | Name | Mask (binary) |
529/// | ---- | ------------- |
530/// | OCIE0A | 10 |
531/// | OCIE0B | 100 |
532/// | TOIE0 | 1 |
533pub const TIMSK0: *mut u8 = 0x6E as *mut u8;
534
535/// Timer/Counter1 Interrupt Mask Register.
536///
537/// Bitfields:
538///
539/// | Name | Mask (binary) |
540/// | ---- | ------------- |
541/// | OCIE1C | 1000 |
542/// | ICIE1 | 100000 |
543/// | OCIE1A | 10 |
544/// | TOIE1 | 1 |
545/// | OCIE1B | 100 |
546pub const TIMSK1: *mut u8 = 0x6F as *mut u8;
547
548/// Timer/Counter Interrupt Mask register.
549///
550/// Bitfields:
551///
552/// | Name | Mask (binary) |
553/// | ---- | ------------- |
554/// | TOIE2 | 1 |
555/// | OCIE2B | 100 |
556/// | OCIE2A | 10 |
557pub const TIMSK2: *mut u8 = 0x70 as *mut u8;
558
559/// Timer/Counter3 Interrupt Mask Register.
560///
561/// Bitfields:
562///
563/// | Name | Mask (binary) |
564/// | ---- | ------------- |
565/// | OCIE3B | 100 |
566/// | TOIE3 | 1 |
567/// | ICIE3 | 100000 |
568/// | OCIE3A | 10 |
569/// | OCIE3C | 1000 |
570pub const TIMSK3: *mut u8 = 0x71 as *mut u8;
571
572/// Timer/Counter4 Interrupt Mask Register.
573///
574/// Bitfields:
575///
576/// | Name | Mask (binary) |
577/// | ---- | ------------- |
578/// | ICIE4 | 100000 |
579/// | OCIE4B | 100 |
580/// | OCIE4A | 10 |
581/// | TOIE4 | 1 |
582/// | OCIE4C | 1000 |
583pub const TIMSK4: *mut u8 = 0x72 as *mut u8;
584
585/// Timer/Counter5 Interrupt Mask Register.
586///
587/// Bitfields:
588///
589/// | Name | Mask (binary) |
590/// | ---- | ------------- |
591/// | OCIE5C | 1000 |
592/// | OCIE5B | 100 |
593/// | ICIE5 | 100000 |
594/// | TOIE5 | 1 |
595/// | OCIE5A | 10 |
596pub const TIMSK5: *mut u8 = 0x73 as *mut u8;
597
598/// External Memory Control Register A.
599///
600/// Bitfields:
601///
602/// | Name | Mask (binary) |
603/// | ---- | ------------- |
604/// | SRW0 | 11 |
605/// | SRE | 10000000 |
606/// | SRW1 | 1100 |
607/// | SRL | 1110000 |
608pub const XMCRA: *mut u8 = 0x74 as *mut u8;
609
610/// External Memory Control Register B.
611///
612/// Bitfields:
613///
614/// | Name | Mask (binary) |
615/// | ---- | ------------- |
616/// | XMM | 111 |
617/// | XMBK | 10000000 |
618pub const XMCRB: *mut u8 = 0x75 as *mut u8;
619
620/// ADC Data Register Bytes.
621pub const ADC: *mut u16 = 0x78 as *mut u16;
622
623/// ADC Data Register Bytes low byte.
624pub const ADCL: *mut u8 = 0x78 as *mut u8;
625
626/// ADC Data Register Bytes high byte.
627pub const ADCH: *mut u8 = 0x79 as *mut u8;
628
629/// The ADC Control and Status register A.
630///
631/// Bitfields:
632///
633/// | Name | Mask (binary) |
634/// | ---- | ------------- |
635/// | ADIF | 10000 |
636/// | ADIE | 1000 |
637/// | ADSC | 1000000 |
638/// | ADATE | 100000 |
639/// | ADPS | 111 |
640/// | ADEN | 10000000 |
641pub const ADCSRA: *mut u8 = 0x7A as *mut u8;
642
643/// The ADC Control and Status register B.
644///
645/// Bitfields:
646///
647/// | Name | Mask (binary) |
648/// | ---- | ------------- |
649/// | MUX5 | 1000 |
650/// | ADTS | 111 |
651/// | ACME | 1000000 |
652pub const ADCSRB: *mut u8 = 0x7B as *mut u8;
653
654/// The ADC multiplexer Selection Register.
655///
656/// Bitfields:
657///
658/// | Name | Mask (binary) |
659/// | ---- | ------------- |
660/// | ADLAR | 100000 |
661/// | MUX | 11111 |
662/// | REFS | 11000000 |
663pub const ADMUX: *mut u8 = 0x7C as *mut u8;
664
665/// Digital Input Disable Register.
666///
667/// Bitfields:
668///
669/// | Name | Mask (binary) |
670/// | ---- | ------------- |
671/// | ADC12D | 10000 |
672/// | ADC9D | 10 |
673/// | ADC10D | 100 |
674/// | ADC14D | 1000000 |
675/// | ADC8D | 1 |
676/// | ADC13D | 100000 |
677/// | ADC11D | 1000 |
678/// | ADC15D | 10000000 |
679pub const DIDR2: *mut u8 = 0x7D as *mut u8;
680
681/// Digital Input Disable Register.
682///
683/// Bitfields:
684///
685/// | Name | Mask (binary) |
686/// | ---- | ------------- |
687/// | ADC5D | 100000 |
688/// | ADC0D | 1 |
689/// | ADC6D | 1000000 |
690/// | ADC3D | 1000 |
691/// | ADC2D | 100 |
692/// | ADC4D | 10000 |
693/// | ADC7D | 10000000 |
694/// | ADC1D | 10 |
695pub const DIDR0: *mut u8 = 0x7E as *mut u8;
696
697/// Digital Input Disable Register 1.
698///
699/// Bitfields:
700///
701/// | Name | Mask (binary) |
702/// | ---- | ------------- |
703/// | AIN0D | 1 |
704/// | AIN1D | 10 |
705pub const DIDR1: *mut u8 = 0x7F as *mut u8;
706
707/// Timer/Counter1 Control Register A.
708///
709/// Bitfields:
710///
711/// | Name | Mask (binary) |
712/// | ---- | ------------- |
713/// | COM1C | 1100 |
714/// | COM1A | 11000000 |
715/// | COM1B | 110000 |
716pub const TCCR1A: *mut u8 = 0x80 as *mut u8;
717
718/// Timer/Counter1 Control Register B.
719///
720/// Bitfields:
721///
722/// | Name | Mask (binary) |
723/// | ---- | ------------- |
724/// | CS1 | 111 |
725/// | ICES1 | 1000000 |
726/// | ICNC1 | 10000000 |
727pub const TCCR1B: *mut u8 = 0x81 as *mut u8;
728
729/// Timer/Counter 1 Control Register C.
730///
731/// Bitfields:
732///
733/// | Name | Mask (binary) |
734/// | ---- | ------------- |
735/// | FOC1B | 1000000 |
736/// | FOC1C | 100000 |
737/// | FOC1A | 10000000 |
738pub const TCCR1C: *mut u8 = 0x82 as *mut u8;
739
740/// Timer/Counter1 Bytes low byte.
741pub const TCNT1L: *mut u8 = 0x84 as *mut u8;
742
743/// Timer/Counter1 Bytes.
744pub const TCNT1: *mut u16 = 0x84 as *mut u16;
745
746/// Timer/Counter1 Bytes high byte.
747pub const TCNT1H: *mut u8 = 0x85 as *mut u8;
748
749/// Timer/Counter1 Input Capture Register Bytes low byte.
750pub const ICR1L: *mut u8 = 0x86 as *mut u8;
751
752/// Timer/Counter1 Input Capture Register Bytes.
753pub const ICR1: *mut u16 = 0x86 as *mut u16;
754
755/// Timer/Counter1 Input Capture Register Bytes high byte.
756pub const ICR1H: *mut u8 = 0x87 as *mut u8;
757
758/// Timer/Counter1 Output Compare Register A Bytes low byte.
759pub const OCR1AL: *mut u8 = 0x88 as *mut u8;
760
761/// Timer/Counter1 Output Compare Register A Bytes.
762pub const OCR1A: *mut u16 = 0x88 as *mut u16;
763
764/// Timer/Counter1 Output Compare Register A Bytes high byte.
765pub const OCR1AH: *mut u8 = 0x89 as *mut u8;
766
767/// Timer/Counter1 Output Compare Register B Bytes low byte.
768pub const OCR1BL: *mut u8 = 0x8A as *mut u8;
769
770/// Timer/Counter1 Output Compare Register B Bytes.
771pub const OCR1B: *mut u16 = 0x8A as *mut u16;
772
773/// Timer/Counter1 Output Compare Register B Bytes high byte.
774pub const OCR1BH: *mut u8 = 0x8B as *mut u8;
775
776/// Timer/Counter1 Output Compare Register C Bytes.
777pub const OCR1C: *mut u16 = 0x8C as *mut u16;
778
779/// Timer/Counter1 Output Compare Register C Bytes low byte.
780pub const OCR1CL: *mut u8 = 0x8C as *mut u8;
781
782/// Timer/Counter1 Output Compare Register C Bytes high byte.
783pub const OCR1CH: *mut u8 = 0x8D as *mut u8;
784
785/// Timer/Counter3 Control Register A.
786///
787/// Bitfields:
788///
789/// | Name | Mask (binary) |
790/// | ---- | ------------- |
791/// | COM3C | 1100 |
792/// | COM3A | 11000000 |
793/// | COM3B | 110000 |
794pub const TCCR3A: *mut u8 = 0x90 as *mut u8;
795
796/// Timer/Counter3 Control Register B.
797///
798/// Bitfields:
799///
800/// | Name | Mask (binary) |
801/// | ---- | ------------- |
802/// | CS3 | 111 |
803/// | ICNC3 | 10000000 |
804/// | ICES3 | 1000000 |
805pub const TCCR3B: *mut u8 = 0x91 as *mut u8;
806
807/// Timer/Counter 3 Control Register C.
808///
809/// Bitfields:
810///
811/// | Name | Mask (binary) |
812/// | ---- | ------------- |
813/// | FOC3B | 1000000 |
814/// | FOC3A | 10000000 |
815/// | FOC3C | 100000 |
816pub const TCCR3C: *mut u8 = 0x92 as *mut u8;
817
818/// Timer/Counter3 Bytes.
819pub const TCNT3: *mut u16 = 0x94 as *mut u16;
820
821/// Timer/Counter3 Bytes low byte.
822pub const TCNT3L: *mut u8 = 0x94 as *mut u8;
823
824/// Timer/Counter3 Bytes high byte.
825pub const TCNT3H: *mut u8 = 0x95 as *mut u8;
826
827/// Timer/Counter3 Input Capture Register Bytes low byte.
828pub const ICR3L: *mut u8 = 0x96 as *mut u8;
829
830/// Timer/Counter3 Input Capture Register Bytes.
831pub const ICR3: *mut u16 = 0x96 as *mut u16;
832
833/// Timer/Counter3 Input Capture Register Bytes high byte.
834pub const ICR3H: *mut u8 = 0x97 as *mut u8;
835
836/// Timer/Counter3 Output Compare Register A Bytes low byte.
837pub const OCR3AL: *mut u8 = 0x98 as *mut u8;
838
839/// Timer/Counter3 Output Compare Register A Bytes.
840pub const OCR3A: *mut u16 = 0x98 as *mut u16;
841
842/// Timer/Counter3 Output Compare Register A Bytes high byte.
843pub const OCR3AH: *mut u8 = 0x99 as *mut u8;
844
845/// Timer/Counter3 Output Compare Register B Bytes low byte.
846pub const OCR3BL: *mut u8 = 0x9A as *mut u8;
847
848/// Timer/Counter3 Output Compare Register B Bytes.
849pub const OCR3B: *mut u16 = 0x9A as *mut u16;
850
851/// Timer/Counter3 Output Compare Register B Bytes high byte.
852pub const OCR3BH: *mut u8 = 0x9B as *mut u8;
853
854/// Timer/Counter3 Output Compare Register B Bytes low byte.
855pub const OCR3CL: *mut u8 = 0x9C as *mut u8;
856
857/// Timer/Counter3 Output Compare Register B Bytes.
858pub const OCR3C: *mut u16 = 0x9C as *mut u16;
859
860/// Timer/Counter3 Output Compare Register B Bytes high byte.
861pub const OCR3CH: *mut u8 = 0x9D as *mut u8;
862
863/// Timer/Counter4 Control Register A.
864///
865/// Bitfields:
866///
867/// | Name | Mask (binary) |
868/// | ---- | ------------- |
869/// | COM4C | 1100 |
870/// | COM4A | 11000000 |
871/// | COM4B | 110000 |
872pub const TCCR4A: *mut u8 = 0xA0 as *mut u8;
873
874/// Timer/Counter4 Control Register B.
875///
876/// Bitfields:
877///
878/// | Name | Mask (binary) |
879/// | ---- | ------------- |
880/// | CS4 | 111 |
881/// | ICES4 | 1000000 |
882/// | ICNC4 | 10000000 |
883pub const TCCR4B: *mut u8 = 0xA1 as *mut u8;
884
885/// Timer/Counter 4 Control Register C.
886///
887/// Bitfields:
888///
889/// | Name | Mask (binary) |
890/// | ---- | ------------- |
891/// | FOC4C | 100000 |
892/// | FOC4B | 1000000 |
893/// | FOC4A | 10000000 |
894pub const TCCR4C: *mut u8 = 0xA2 as *mut u8;
895
896/// Timer/Counter4 Bytes low byte.
897pub const TCNT4L: *mut u8 = 0xA4 as *mut u8;
898
899/// Timer/Counter4 Bytes.
900pub const TCNT4: *mut u16 = 0xA4 as *mut u16;
901
902/// Timer/Counter4 Bytes high byte.
903pub const TCNT4H: *mut u8 = 0xA5 as *mut u8;
904
905/// Timer/Counter4 Input Capture Register Bytes.
906pub const ICR4: *mut u16 = 0xA6 as *mut u16;
907
908/// Timer/Counter4 Input Capture Register Bytes low byte.
909pub const ICR4L: *mut u8 = 0xA6 as *mut u8;
910
911/// Timer/Counter4 Input Capture Register Bytes high byte.
912pub const ICR4H: *mut u8 = 0xA7 as *mut u8;
913
914/// Timer/Counter4 Output Compare Register A Bytes.
915pub const OCR4A: *mut u16 = 0xA8 as *mut u16;
916
917/// Timer/Counter4 Output Compare Register A Bytes low byte.
918pub const OCR4AL: *mut u8 = 0xA8 as *mut u8;
919
920/// Timer/Counter4 Output Compare Register A Bytes high byte.
921pub const OCR4AH: *mut u8 = 0xA9 as *mut u8;
922
923/// Timer/Counter4 Output Compare Register B Bytes low byte.
924pub const OCR4BL: *mut u8 = 0xAA as *mut u8;
925
926/// Timer/Counter4 Output Compare Register B Bytes.
927pub const OCR4B: *mut u16 = 0xAA as *mut u16;
928
929/// Timer/Counter4 Output Compare Register B Bytes high byte.
930pub const OCR4BH: *mut u8 = 0xAB as *mut u8;
931
932/// Timer/Counter4 Output Compare Register B Bytes low byte.
933pub const OCR4CL: *mut u8 = 0xAC as *mut u8;
934
935/// Timer/Counter4 Output Compare Register B Bytes.
936pub const OCR4C: *mut u16 = 0xAC as *mut u16;
937
938/// Timer/Counter4 Output Compare Register B Bytes high byte.
939pub const OCR4CH: *mut u8 = 0xAD as *mut u8;
940
941/// Timer/Counter2 Control Register A.
942///
943/// Bitfields:
944///
945/// | Name | Mask (binary) |
946/// | ---- | ------------- |
947/// | WGM2 | 11 |
948/// | COM2B | 110000 |
949/// | COM2A | 11000000 |
950pub const TCCR2A: *mut u8 = 0xB0 as *mut u8;
951
952/// Timer/Counter2 Control Register B.
953///
954/// Bitfields:
955///
956/// | Name | Mask (binary) |
957/// | ---- | ------------- |
958/// | FOC2B | 1000000 |
959/// | FOC2A | 10000000 |
960/// | WGM22 | 1000 |
961/// | CS2 | 111 |
962pub const TCCR2B: *mut u8 = 0xB1 as *mut u8;
963
964/// Timer/Counter2.
965pub const TCNT2: *mut u8 = 0xB2 as *mut u8;
966
967/// Timer/Counter2 Output Compare Register A.
968pub const OCR2A: *mut u8 = 0xB3 as *mut u8;
969
970/// Timer/Counter2 Output Compare Register B.
971pub const OCR2B: *mut u8 = 0xB4 as *mut u8;
972
973/// Asynchronous Status Register.
974///
975/// Bitfields:
976///
977/// | Name | Mask (binary) |
978/// | ---- | ------------- |
979/// | AS2 | 100000 |
980/// | EXCLK | 1000000 |
981/// | OCR2BUB | 100 |
982/// | OCR2AUB | 1000 |
983/// | TCN2UB | 10000 |
984/// | TCR2BUB | 1 |
985/// | TCR2AUB | 10 |
986pub const ASSR: *mut u8 = 0xB6 as *mut u8;
987
988/// TWI Bit Rate register.
989pub const TWBR: *mut u8 = 0xB8 as *mut u8;
990
991/// TWI Status Register.
992///
993/// Bitfields:
994///
995/// | Name | Mask (binary) |
996/// | ---- | ------------- |
997/// | TWPS | 11 |
998/// | TWS | 11111000 |
999pub const TWSR: *mut u8 = 0xB9 as *mut u8;
1000
1001/// TWI (Slave) Address register.
1002///
1003/// Bitfields:
1004///
1005/// | Name | Mask (binary) |
1006/// | ---- | ------------- |
1007/// | TWGCE | 1 |
1008/// | TWA | 11111110 |
1009pub const TWAR: *mut u8 = 0xBA as *mut u8;
1010
1011/// TWI Data register.
1012pub const TWDR: *mut u8 = 0xBB as *mut u8;
1013
1014/// TWI Control Register.
1015///
1016/// Bitfields:
1017///
1018/// | Name | Mask (binary) |
1019/// | ---- | ------------- |
1020/// | TWWC | 1000 |
1021/// | TWIE | 1 |
1022/// | TWINT | 10000000 |
1023/// | TWSTA | 100000 |
1024/// | TWEA | 1000000 |
1025/// | TWEN | 100 |
1026/// | TWSTO | 10000 |
1027pub const TWCR: *mut u8 = 0xBC as *mut u8;
1028
1029/// TWI (Slave) Address Mask Register.
1030///
1031/// Bitfields:
1032///
1033/// | Name | Mask (binary) |
1034/// | ---- | ------------- |
1035/// | TWAM | 11111110 |
1036pub const TWAMR: *mut u8 = 0xBD as *mut u8;
1037
1038/// USART Control and Status Register A.
1039///
1040/// Bitfields:
1041///
1042/// | Name | Mask (binary) |
1043/// | ---- | ------------- |
1044/// | U2X0 | 10 |
1045/// | UPE0 | 100 |
1046/// | MPCM0 | 1 |
1047/// | FE0 | 10000 |
1048/// | RXC0 | 10000000 |
1049/// | DOR0 | 1000 |
1050/// | UDRE0 | 100000 |
1051/// | TXC0 | 1000000 |
1052pub const UCSR0A: *mut u8 = 0xC0 as *mut u8;
1053
1054/// USART Control and Status Register B.
1055///
1056/// Bitfields:
1057///
1058/// | Name | Mask (binary) |
1059/// | ---- | ------------- |
1060/// | TXEN0 | 1000 |
1061/// | RXCIE0 | 10000000 |
1062/// | UCSZ02 | 100 |
1063/// | TXCIE0 | 1000000 |
1064/// | TXB80 | 1 |
1065/// | RXEN0 | 10000 |
1066/// | RXB80 | 10 |
1067/// | UDRIE0 | 100000 |
1068pub const UCSR0B: *mut u8 = 0xC1 as *mut u8;
1069
1070/// USART Control and Status Register C.
1071///
1072/// Bitfields:
1073///
1074/// | Name | Mask (binary) |
1075/// | ---- | ------------- |
1076/// | UCPOL0 | 1 |
1077/// | UPM0 | 110000 |
1078/// | UMSEL0 | 11000000 |
1079/// | UCSZ0 | 110 |
1080/// | USBS0 | 1000 |
1081pub const UCSR0C: *mut u8 = 0xC2 as *mut u8;
1082
1083/// USART Baud Rate Register Bytes low byte.
1084pub const UBRR0L: *mut u8 = 0xC4 as *mut u8;
1085
1086/// USART Baud Rate Register Bytes.
1087pub const UBRR0: *mut u16 = 0xC4 as *mut u16;
1088
1089/// USART Baud Rate Register Bytes high byte.
1090pub const UBRR0H: *mut u8 = 0xC5 as *mut u8;
1091
1092/// USART I/O Data Register.
1093pub const UDR0: *mut u8 = 0xC6 as *mut u8;
1094
1095/// USART Control and Status Register A.
1096///
1097/// Bitfields:
1098///
1099/// | Name | Mask (binary) |
1100/// | ---- | ------------- |
1101/// | UDRE1 | 100000 |
1102/// | U2X1 | 10 |
1103/// | RXC1 | 10000000 |
1104/// | TXC1 | 1000000 |
1105/// | DOR1 | 1000 |
1106/// | UPE1 | 100 |
1107/// | MPCM1 | 1 |
1108/// | FE1 | 10000 |
1109pub const UCSR1A: *mut u8 = 0xC8 as *mut u8;
1110
1111/// USART Control and Status Register B.
1112///
1113/// Bitfields:
1114///
1115/// | Name | Mask (binary) |
1116/// | ---- | ------------- |
1117/// | TXCIE1 | 1000000 |
1118/// | UDRIE1 | 100000 |
1119/// | RXCIE1 | 10000000 |
1120/// | RXB81 | 10 |
1121/// | UCSZ12 | 100 |
1122/// | RXEN1 | 10000 |
1123/// | TXB81 | 1 |
1124/// | TXEN1 | 1000 |
1125pub const UCSR1B: *mut u8 = 0xC9 as *mut u8;
1126
1127/// USART Control and Status Register C.
1128///
1129/// Bitfields:
1130///
1131/// | Name | Mask (binary) |
1132/// | ---- | ------------- |
1133/// | UMSEL1 | 11000000 |
1134/// | USBS1 | 1000 |
1135/// | UPM1 | 110000 |
1136/// | UCSZ1 | 110 |
1137/// | UCPOL1 | 1 |
1138pub const UCSR1C: *mut u8 = 0xCA as *mut u8;
1139
1140/// USART Baud Rate Register Bytes.
1141pub const UBRR1: *mut u16 = 0xCC as *mut u16;
1142
1143/// USART Baud Rate Register Bytes low byte.
1144pub const UBRR1L: *mut u8 = 0xCC as *mut u8;
1145
1146/// USART Baud Rate Register Bytes high byte.
1147pub const UBRR1H: *mut u8 = 0xCD as *mut u8;
1148
1149/// USART I/O Data Register.
1150pub const UDR1: *mut u8 = 0xCE as *mut u8;
1151
1152/// Timer/Counter5 Control Register A.
1153///
1154/// Bitfields:
1155///
1156/// | Name | Mask (binary) |
1157/// | ---- | ------------- |
1158/// | COM5B | 110000 |
1159/// | COM5C | 1100 |
1160/// | COM5A | 11000000 |
1161pub const TCCR5A: *mut u8 = 0x120 as *mut u8;
1162
1163/// Timer/Counter5 Control Register B.
1164///
1165/// Bitfields:
1166///
1167/// | Name | Mask (binary) |
1168/// | ---- | ------------- |
1169/// | CS5 | 111 |
1170/// | ICNC5 | 10000000 |
1171/// | ICES5 | 1000000 |
1172pub const TCCR5B: *mut u8 = 0x121 as *mut u8;
1173
1174/// Timer/Counter 5 Control Register C.
1175///
1176/// Bitfields:
1177///
1178/// | Name | Mask (binary) |
1179/// | ---- | ------------- |
1180/// | FOC5C | 100000 |
1181/// | FOC5B | 1000000 |
1182/// | FOC5A | 10000000 |
1183pub const TCCR5C: *mut u8 = 0x122 as *mut u8;
1184
1185/// Timer/Counter5 Bytes.
1186pub const TCNT5: *mut u16 = 0x124 as *mut u16;
1187
1188/// Timer/Counter5 Bytes low byte.
1189pub const TCNT5L: *mut u8 = 0x124 as *mut u8;
1190
1191/// Timer/Counter5 Bytes high byte.
1192pub const TCNT5H: *mut u8 = 0x125 as *mut u8;
1193
1194/// Timer/Counter5 Input Capture Register Bytes.
1195pub const ICR5: *mut u16 = 0x126 as *mut u16;
1196
1197/// Timer/Counter5 Input Capture Register Bytes low byte.
1198pub const ICR5L: *mut u8 = 0x126 as *mut u8;
1199
1200/// Timer/Counter5 Input Capture Register Bytes high byte.
1201pub const ICR5H: *mut u8 = 0x127 as *mut u8;
1202
1203/// Timer/Counter5 Output Compare Register A Bytes.
1204pub const OCR5A: *mut u16 = 0x128 as *mut u16;
1205
1206/// Timer/Counter5 Output Compare Register A Bytes low byte.
1207pub const OCR5AL: *mut u8 = 0x128 as *mut u8;
1208
1209/// Timer/Counter5 Output Compare Register A Bytes high byte.
1210pub const OCR5AH: *mut u8 = 0x129 as *mut u8;
1211
1212/// Timer/Counter5 Output Compare Register B Bytes.
1213pub const OCR5B: *mut u16 = 0x12A as *mut u16;
1214
1215/// Timer/Counter5 Output Compare Register B Bytes low byte.
1216pub const OCR5BL: *mut u8 = 0x12A as *mut u8;
1217
1218/// Timer/Counter5 Output Compare Register B Bytes high byte.
1219pub const OCR5BH: *mut u8 = 0x12B as *mut u8;
1220
1221/// Timer/Counter5 Output Compare Register B Bytes low byte.
1222pub const OCR5CL: *mut u8 = 0x12C as *mut u8;
1223
1224/// Timer/Counter5 Output Compare Register B Bytes.
1225pub const OCR5C: *mut u16 = 0x12C as *mut u16;
1226
1227/// Timer/Counter5 Output Compare Register B Bytes high byte.
1228pub const OCR5CH: *mut u8 = 0x12D as *mut u8;
1229
1230/// Bitfield on register `ACSR`
1231pub const ACO: *mut u8 = 0x20 as *mut u8;
1232
1233/// Bitfield on register `ACSR`
1234pub const ACIE: *mut u8 = 0x8 as *mut u8;
1235
1236/// Bitfield on register `ACSR`
1237pub const ACI: *mut u8 = 0x10 as *mut u8;
1238
1239/// Bitfield on register `ACSR`
1240pub const ACD: *mut u8 = 0x80 as *mut u8;
1241
1242/// Bitfield on register `ACSR`
1243pub const ACIS: *mut u8 = 0x3 as *mut u8;
1244
1245/// Bitfield on register `ACSR`
1246pub const ACIC: *mut u8 = 0x4 as *mut u8;
1247
1248/// Bitfield on register `ACSR`
1249pub const ACBG: *mut u8 = 0x40 as *mut u8;
1250
1251/// Bitfield on register `ADCSRA`
1252pub const ADIF: *mut u8 = 0x10 as *mut u8;
1253
1254/// Bitfield on register `ADCSRA`
1255pub const ADIE: *mut u8 = 0x8 as *mut u8;
1256
1257/// Bitfield on register `ADCSRA`
1258pub const ADSC: *mut u8 = 0x40 as *mut u8;
1259
1260/// Bitfield on register `ADCSRA`
1261pub const ADATE: *mut u8 = 0x20 as *mut u8;
1262
1263/// Bitfield on register `ADCSRA`
1264pub const ADPS: *mut u8 = 0x7 as *mut u8;
1265
1266/// Bitfield on register `ADCSRA`
1267pub const ADEN: *mut u8 = 0x80 as *mut u8;
1268
1269/// Bitfield on register `ADCSRB`
1270pub const MUX5: *mut u8 = 0x8 as *mut u8;
1271
1272/// Bitfield on register `ADCSRB`
1273pub const ADTS: *mut u8 = 0x7 as *mut u8;
1274
1275/// Bitfield on register `ADCSRB`
1276pub const ACME: *mut u8 = 0x40 as *mut u8;
1277
1278/// Bitfield on register `ADMUX`
1279pub const ADLAR: *mut u8 = 0x20 as *mut u8;
1280
1281/// Bitfield on register `ADMUX`
1282pub const MUX: *mut u8 = 0x1F as *mut u8;
1283
1284/// Bitfield on register `ADMUX`
1285pub const REFS: *mut u8 = 0xC0 as *mut u8;
1286
1287/// Bitfield on register `ASSR`
1288pub const AS2: *mut u8 = 0x20 as *mut u8;
1289
1290/// Bitfield on register `ASSR`
1291pub const EXCLK: *mut u8 = 0x40 as *mut u8;
1292
1293/// Bitfield on register `ASSR`
1294pub const OCR2BUB: *mut u8 = 0x4 as *mut u8;
1295
1296/// Bitfield on register `ASSR`
1297pub const OCR2AUB: *mut u8 = 0x8 as *mut u8;
1298
1299/// Bitfield on register `ASSR`
1300pub const TCN2UB: *mut u8 = 0x10 as *mut u8;
1301
1302/// Bitfield on register `ASSR`
1303pub const TCR2BUB: *mut u8 = 0x1 as *mut u8;
1304
1305/// Bitfield on register `ASSR`
1306pub const TCR2AUB: *mut u8 = 0x2 as *mut u8;
1307
1308/// Bitfield on register `CLKPR`
1309pub const CLKPCE: *mut u8 = 0x80 as *mut u8;
1310
1311/// Bitfield on register `CLKPR`
1312pub const CLKPS: *mut u8 = 0xF as *mut u8;
1313
1314/// Bitfield on register `DIDR0`
1315pub const ADC5D: *mut u8 = 0x20 as *mut u8;
1316
1317/// Bitfield on register `DIDR0`
1318pub const ADC0D: *mut u8 = 0x1 as *mut u8;
1319
1320/// Bitfield on register `DIDR0`
1321pub const ADC6D: *mut u8 = 0x40 as *mut u8;
1322
1323/// Bitfield on register `DIDR0`
1324pub const ADC3D: *mut u8 = 0x8 as *mut u8;
1325
1326/// Bitfield on register `DIDR0`
1327pub const ADC2D: *mut u8 = 0x4 as *mut u8;
1328
1329/// Bitfield on register `DIDR0`
1330pub const ADC4D: *mut u8 = 0x10 as *mut u8;
1331
1332/// Bitfield on register `DIDR0`
1333pub const ADC7D: *mut u8 = 0x80 as *mut u8;
1334
1335/// Bitfield on register `DIDR0`
1336pub const ADC1D: *mut u8 = 0x2 as *mut u8;
1337
1338/// Bitfield on register `DIDR1`
1339pub const AIN0D: *mut u8 = 0x1 as *mut u8;
1340
1341/// Bitfield on register `DIDR1`
1342pub const AIN1D: *mut u8 = 0x2 as *mut u8;
1343
1344/// Bitfield on register `DIDR2`
1345pub const ADC12D: *mut u8 = 0x10 as *mut u8;
1346
1347/// Bitfield on register `DIDR2`
1348pub const ADC9D: *mut u8 = 0x2 as *mut u8;
1349
1350/// Bitfield on register `DIDR2`
1351pub const ADC10D: *mut u8 = 0x4 as *mut u8;
1352
1353/// Bitfield on register `DIDR2`
1354pub const ADC14D: *mut u8 = 0x40 as *mut u8;
1355
1356/// Bitfield on register `DIDR2`
1357pub const ADC8D: *mut u8 = 0x1 as *mut u8;
1358
1359/// Bitfield on register `DIDR2`
1360pub const ADC13D: *mut u8 = 0x20 as *mut u8;
1361
1362/// Bitfield on register `DIDR2`
1363pub const ADC11D: *mut u8 = 0x8 as *mut u8;
1364
1365/// Bitfield on register `DIDR2`
1366pub const ADC15D: *mut u8 = 0x80 as *mut u8;
1367
1368/// Bitfield on register `EECR`
1369pub const EEPM: *mut u8 = 0x30 as *mut u8;
1370
1371/// Bitfield on register `EECR`
1372pub const EEMPE: *mut u8 = 0x4 as *mut u8;
1373
1374/// Bitfield on register `EECR`
1375pub const EEPE: *mut u8 = 0x2 as *mut u8;
1376
1377/// Bitfield on register `EECR`
1378pub const EERE: *mut u8 = 0x1 as *mut u8;
1379
1380/// Bitfield on register `EECR`
1381pub const EERIE: *mut u8 = 0x8 as *mut u8;
1382
1383/// Bitfield on register `EICRA`
1384pub const ISC2: *mut u8 = 0x30 as *mut u8;
1385
1386/// Bitfield on register `EICRA`
1387pub const ISC3: *mut u8 = 0xC0 as *mut u8;
1388
1389/// Bitfield on register `EICRA`
1390pub const ISC1: *mut u8 = 0xC as *mut u8;
1391
1392/// Bitfield on register `EICRA`
1393pub const ISC0: *mut u8 = 0x3 as *mut u8;
1394
1395/// Bitfield on register `EICRB`
1396pub const ISC5: *mut u8 = 0xC as *mut u8;
1397
1398/// Bitfield on register `EICRB`
1399pub const ISC4: *mut u8 = 0x3 as *mut u8;
1400
1401/// Bitfield on register `EICRB`
1402pub const ISC7: *mut u8 = 0xC0 as *mut u8;
1403
1404/// Bitfield on register `EICRB`
1405pub const ISC6: *mut u8 = 0x30 as *mut u8;
1406
1407/// Bitfield on register `EXTENDED`
1408pub const BODLEVEL: *mut u8 = 0x7 as *mut u8;
1409
1410/// Bitfield on register `GPIOR0`
1411pub const GPIOR06: *mut u8 = 0x40 as *mut u8;
1412
1413/// Bitfield on register `GPIOR0`
1414pub const GPIOR01: *mut u8 = 0x2 as *mut u8;
1415
1416/// Bitfield on register `GPIOR0`
1417pub const GPIOR00: *mut u8 = 0x1 as *mut u8;
1418
1419/// Bitfield on register `GPIOR0`
1420pub const GPIOR02: *mut u8 = 0x4 as *mut u8;
1421
1422/// Bitfield on register `GPIOR0`
1423pub const GPIOR07: *mut u8 = 0x80 as *mut u8;
1424
1425/// Bitfield on register `GPIOR0`
1426pub const GPIOR03: *mut u8 = 0x8 as *mut u8;
1427
1428/// Bitfield on register `GPIOR0`
1429pub const GPIOR04: *mut u8 = 0x10 as *mut u8;
1430
1431/// Bitfield on register `GPIOR0`
1432pub const GPIOR05: *mut u8 = 0x20 as *mut u8;
1433
1434/// Bitfield on register `GTCCR`
1435pub const PSRASY: *mut u8 = 0x2 as *mut u8;
1436
1437/// Bitfield on register `GTCCR`
1438pub const TSM: *mut u8 = 0x80 as *mut u8;
1439
1440/// Bitfield on register `HIGH`
1441pub const BOOTSZ: *mut u8 = 0x6 as *mut u8;
1442
1443/// Bitfield on register `HIGH`
1444pub const SPIEN: *mut u8 = 0x20 as *mut u8;
1445
1446/// Bitfield on register `HIGH`
1447pub const OCDEN: *mut u8 = 0x80 as *mut u8;
1448
1449/// Bitfield on register `HIGH`
1450pub const BOOTRST: *mut u8 = 0x1 as *mut u8;
1451
1452/// Bitfield on register `HIGH`
1453pub const JTAGEN: *mut u8 = 0x40 as *mut u8;
1454
1455/// Bitfield on register `HIGH`
1456pub const EESAVE: *mut u8 = 0x8 as *mut u8;
1457
1458/// Bitfield on register `HIGH`
1459pub const WDTON: *mut u8 = 0x10 as *mut u8;
1460
1461/// Bitfield on register `LOCKBIT`
1462pub const LB: *mut u8 = 0x3 as *mut u8;
1463
1464/// Bitfield on register `LOCKBIT`
1465pub const BLB1: *mut u8 = 0x30 as *mut u8;
1466
1467/// Bitfield on register `LOCKBIT`
1468pub const BLB0: *mut u8 = 0xC as *mut u8;
1469
1470/// Bitfield on register `LOW`
1471pub const CKDIV8: *mut u8 = 0x80 as *mut u8;
1472
1473/// Bitfield on register `LOW`
1474pub const SUT_CKSEL: *mut u8 = 0x3F as *mut u8;
1475
1476/// Bitfield on register `LOW`
1477pub const CKOUT: *mut u8 = 0x40 as *mut u8;
1478
1479/// Bitfield on register `MCUCR`
1480pub const PUD: *mut u8 = 0x10 as *mut u8;
1481
1482/// Bitfield on register `MCUCR`
1483pub const IVSEL: *mut u8 = 0x2 as *mut u8;
1484
1485/// Bitfield on register `MCUCR`
1486pub const JTD: *mut u8 = 0x80 as *mut u8;
1487
1488/// Bitfield on register `MCUCR`
1489pub const IVCE: *mut u8 = 0x1 as *mut u8;
1490
1491/// Bitfield on register `MCUSR`
1492pub const JTRF: *mut u8 = 0x10 as *mut u8;
1493
1494/// Bitfield on register `MCUSR`
1495pub const BORF: *mut u8 = 0x4 as *mut u8;
1496
1497/// Bitfield on register `MCUSR`
1498pub const EXTRF: *mut u8 = 0x2 as *mut u8;
1499
1500/// Bitfield on register `MCUSR`
1501pub const PORF: *mut u8 = 0x1 as *mut u8;
1502
1503/// Bitfield on register `MCUSR`
1504pub const WDRF: *mut u8 = 0x8 as *mut u8;
1505
1506/// Bitfield on register `PCICR`
1507pub const PCIE: *mut u8 = 0x7 as *mut u8;
1508
1509/// Bitfield on register `PCIFR`
1510pub const PCIF: *mut u8 = 0x7 as *mut u8;
1511
1512/// Bitfield on register `PRR0`
1513pub const PRTIM1: *mut u8 = 0x8 as *mut u8;
1514
1515/// Bitfield on register `PRR0`
1516pub const PRTIM2: *mut u8 = 0x40 as *mut u8;
1517
1518/// Bitfield on register `PRR0`
1519pub const PRTWI: *mut u8 = 0x80 as *mut u8;
1520
1521/// Bitfield on register `PRR0`
1522pub const PRSPI: *mut u8 = 0x4 as *mut u8;
1523
1524/// Bitfield on register `PRR0`
1525pub const PRTIM0: *mut u8 = 0x20 as *mut u8;
1526
1527/// Bitfield on register `PRR0`
1528pub const PRUSART0: *mut u8 = 0x2 as *mut u8;
1529
1530/// Bitfield on register `PRR0`
1531pub const PRADC: *mut u8 = 0x1 as *mut u8;
1532
1533/// Bitfield on register `PRR1`
1534pub const PRTIM3: *mut u8 = 0x8 as *mut u8;
1535
1536/// Bitfield on register `PRR1`
1537pub const PRTIM4: *mut u8 = 0x10 as *mut u8;
1538
1539/// Bitfield on register `PRR1`
1540pub const PRUSART1: *mut u8 = 0x1 as *mut u8;
1541
1542/// Bitfield on register `PRR1`
1543pub const PRTIM5: *mut u8 = 0x20 as *mut u8;
1544
1545/// Bitfield on register `PRR1`
1546pub const PRUSART2: *mut u8 = 0x2 as *mut u8;
1547
1548/// Bitfield on register `PRR1`
1549pub const PRUSART3: *mut u8 = 0x4 as *mut u8;
1550
1551/// Bitfield on register `SMCR`
1552pub const SM: *mut u8 = 0xE as *mut u8;
1553
1554/// Bitfield on register `SMCR`
1555pub const SE: *mut u8 = 0x1 as *mut u8;
1556
1557/// Bitfield on register `SPCR`
1558pub const DORD: *mut u8 = 0x20 as *mut u8;
1559
1560/// Bitfield on register `SPCR`
1561pub const SPIE: *mut u8 = 0x80 as *mut u8;
1562
1563/// Bitfield on register `SPCR`
1564pub const CPOL: *mut u8 = 0x8 as *mut u8;
1565
1566/// Bitfield on register `SPCR`
1567pub const CPHA: *mut u8 = 0x4 as *mut u8;
1568
1569/// Bitfield on register `SPCR`
1570pub const SPE: *mut u8 = 0x40 as *mut u8;
1571
1572/// Bitfield on register `SPCR`
1573pub const MSTR: *mut u8 = 0x10 as *mut u8;
1574
1575/// Bitfield on register `SPCR`
1576pub const SPR: *mut u8 = 0x3 as *mut u8;
1577
1578/// Bitfield on register `SPMCSR`
1579pub const SIGRD: *mut u8 = 0x20 as *mut u8;
1580
1581/// Bitfield on register `SPMCSR`
1582pub const RWWSRE: *mut u8 = 0x10 as *mut u8;
1583
1584/// Bitfield on register `SPMCSR`
1585pub const RWWSB: *mut u8 = 0x40 as *mut u8;
1586
1587/// Bitfield on register `SPMCSR`
1588pub const PGERS: *mut u8 = 0x2 as *mut u8;
1589
1590/// Bitfield on register `SPMCSR`
1591pub const PGWRT: *mut u8 = 0x4 as *mut u8;
1592
1593/// Bitfield on register `SPMCSR`
1594pub const SPMIE: *mut u8 = 0x80 as *mut u8;
1595
1596/// Bitfield on register `SPMCSR`
1597pub const SPMEN: *mut u8 = 0x1 as *mut u8;
1598
1599/// Bitfield on register `SPMCSR`
1600pub const BLBSET: *mut u8 = 0x8 as *mut u8;
1601
1602/// Bitfield on register `SPSR`
1603pub const WCOL: *mut u8 = 0x40 as *mut u8;
1604
1605/// Bitfield on register `SPSR`
1606pub const SPI2X: *mut u8 = 0x1 as *mut u8;
1607
1608/// Bitfield on register `SPSR`
1609pub const SPIF: *mut u8 = 0x80 as *mut u8;
1610
1611/// Bitfield on register `SREG`
1612pub const T: *mut u8 = 0x40 as *mut u8;
1613
1614/// Bitfield on register `SREG`
1615pub const N: *mut u8 = 0x4 as *mut u8;
1616
1617/// Bitfield on register `SREG`
1618pub const I: *mut u8 = 0x80 as *mut u8;
1619
1620/// Bitfield on register `SREG`
1621pub const H: *mut u8 = 0x20 as *mut u8;
1622
1623/// Bitfield on register `SREG`
1624pub const Z: *mut u8 = 0x2 as *mut u8;
1625
1626/// Bitfield on register `SREG`
1627pub const V: *mut u8 = 0x8 as *mut u8;
1628
1629/// Bitfield on register `SREG`
1630pub const S: *mut u8 = 0x10 as *mut u8;
1631
1632/// Bitfield on register `SREG`
1633pub const C: *mut u8 = 0x1 as *mut u8;
1634
1635/// Bitfield on register `TCCR0A`
1636pub const WGM0: *mut u8 = 0x3 as *mut u8;
1637
1638/// Bitfield on register `TCCR0A`
1639pub const COM0B: *mut u8 = 0x30 as *mut u8;
1640
1641/// Bitfield on register `TCCR0A`
1642pub const COM0A: *mut u8 = 0xC0 as *mut u8;
1643
1644/// Bitfield on register `TCCR0B`
1645pub const CS0: *mut u8 = 0x7 as *mut u8;
1646
1647/// Bitfield on register `TCCR0B`
1648pub const WGM02: *mut u8 = 0x8 as *mut u8;
1649
1650/// Bitfield on register `TCCR0B`
1651pub const FOC0B: *mut u8 = 0x40 as *mut u8;
1652
1653/// Bitfield on register `TCCR0B`
1654pub const FOC0A: *mut u8 = 0x80 as *mut u8;
1655
1656/// Bitfield on register `TCCR1A`
1657pub const COM1C: *mut u8 = 0xC as *mut u8;
1658
1659/// Bitfield on register `TCCR1A`
1660pub const COM1A: *mut u8 = 0xC0 as *mut u8;
1661
1662/// Bitfield on register `TCCR1A`
1663pub const COM1B: *mut u8 = 0x30 as *mut u8;
1664
1665/// Bitfield on register `TCCR1B`
1666pub const CS1: *mut u8 = 0x7 as *mut u8;
1667
1668/// Bitfield on register `TCCR1B`
1669pub const ICES1: *mut u8 = 0x40 as *mut u8;
1670
1671/// Bitfield on register `TCCR1B`
1672pub const ICNC1: *mut u8 = 0x80 as *mut u8;
1673
1674/// Bitfield on register `TCCR1C`
1675pub const FOC1B: *mut u8 = 0x40 as *mut u8;
1676
1677/// Bitfield on register `TCCR1C`
1678pub const FOC1C: *mut u8 = 0x20 as *mut u8;
1679
1680/// Bitfield on register `TCCR1C`
1681pub const FOC1A: *mut u8 = 0x80 as *mut u8;
1682
1683/// Bitfield on register `TCCR2A`
1684pub const WGM2: *mut u8 = 0x3 as *mut u8;
1685
1686/// Bitfield on register `TCCR2A`
1687pub const COM2B: *mut u8 = 0x30 as *mut u8;
1688
1689/// Bitfield on register `TCCR2A`
1690pub const COM2A: *mut u8 = 0xC0 as *mut u8;
1691
1692/// Bitfield on register `TCCR2B`
1693pub const FOC2B: *mut u8 = 0x40 as *mut u8;
1694
1695/// Bitfield on register `TCCR2B`
1696pub const FOC2A: *mut u8 = 0x80 as *mut u8;
1697
1698/// Bitfield on register `TCCR2B`
1699pub const WGM22: *mut u8 = 0x8 as *mut u8;
1700
1701/// Bitfield on register `TCCR2B`
1702pub const CS2: *mut u8 = 0x7 as *mut u8;
1703
1704/// Bitfield on register `TCCR3A`
1705pub const COM3C: *mut u8 = 0xC as *mut u8;
1706
1707/// Bitfield on register `TCCR3A`
1708pub const COM3A: *mut u8 = 0xC0 as *mut u8;
1709
1710/// Bitfield on register `TCCR3A`
1711pub const COM3B: *mut u8 = 0x30 as *mut u8;
1712
1713/// Bitfield on register `TCCR3B`
1714pub const CS3: *mut u8 = 0x7 as *mut u8;
1715
1716/// Bitfield on register `TCCR3B`
1717pub const ICNC3: *mut u8 = 0x80 as *mut u8;
1718
1719/// Bitfield on register `TCCR3B`
1720pub const ICES3: *mut u8 = 0x40 as *mut u8;
1721
1722/// Bitfield on register `TCCR3C`
1723pub const FOC3B: *mut u8 = 0x40 as *mut u8;
1724
1725/// Bitfield on register `TCCR3C`
1726pub const FOC3A: *mut u8 = 0x80 as *mut u8;
1727
1728/// Bitfield on register `TCCR3C`
1729pub const FOC3C: *mut u8 = 0x20 as *mut u8;
1730
1731/// Bitfield on register `TCCR4A`
1732pub const COM4C: *mut u8 = 0xC as *mut u8;
1733
1734/// Bitfield on register `TCCR4A`
1735pub const COM4A: *mut u8 = 0xC0 as *mut u8;
1736
1737/// Bitfield on register `TCCR4A`
1738pub const COM4B: *mut u8 = 0x30 as *mut u8;
1739
1740/// Bitfield on register `TCCR4B`
1741pub const CS4: *mut u8 = 0x7 as *mut u8;
1742
1743/// Bitfield on register `TCCR4B`
1744pub const ICES4: *mut u8 = 0x40 as *mut u8;
1745
1746/// Bitfield on register `TCCR4B`
1747pub const ICNC4: *mut u8 = 0x80 as *mut u8;
1748
1749/// Bitfield on register `TCCR4C`
1750pub const FOC4C: *mut u8 = 0x20 as *mut u8;
1751
1752/// Bitfield on register `TCCR4C`
1753pub const FOC4B: *mut u8 = 0x40 as *mut u8;
1754
1755/// Bitfield on register `TCCR4C`
1756pub const FOC4A: *mut u8 = 0x80 as *mut u8;
1757
1758/// Bitfield on register `TCCR5A`
1759pub const COM5B: *mut u8 = 0x30 as *mut u8;
1760
1761/// Bitfield on register `TCCR5A`
1762pub const COM5C: *mut u8 = 0xC as *mut u8;
1763
1764/// Bitfield on register `TCCR5A`
1765pub const COM5A: *mut u8 = 0xC0 as *mut u8;
1766
1767/// Bitfield on register `TCCR5B`
1768pub const CS5: *mut u8 = 0x7 as *mut u8;
1769
1770/// Bitfield on register `TCCR5B`
1771pub const ICNC5: *mut u8 = 0x80 as *mut u8;
1772
1773/// Bitfield on register `TCCR5B`
1774pub const ICES5: *mut u8 = 0x40 as *mut u8;
1775
1776/// Bitfield on register `TCCR5C`
1777pub const FOC5C: *mut u8 = 0x20 as *mut u8;
1778
1779/// Bitfield on register `TCCR5C`
1780pub const FOC5B: *mut u8 = 0x40 as *mut u8;
1781
1782/// Bitfield on register `TCCR5C`
1783pub const FOC5A: *mut u8 = 0x80 as *mut u8;
1784
1785/// Bitfield on register `TIFR0`
1786pub const OCF0B: *mut u8 = 0x4 as *mut u8;
1787
1788/// Bitfield on register `TIFR0`
1789pub const OCF0A: *mut u8 = 0x2 as *mut u8;
1790
1791/// Bitfield on register `TIFR0`
1792pub const TOV0: *mut u8 = 0x1 as *mut u8;
1793
1794/// Bitfield on register `TIFR1`
1795pub const TOV1: *mut u8 = 0x1 as *mut u8;
1796
1797/// Bitfield on register `TIFR1`
1798pub const ICF1: *mut u8 = 0x20 as *mut u8;
1799
1800/// Bitfield on register `TIFR1`
1801pub const OCF1A: *mut u8 = 0x2 as *mut u8;
1802
1803/// Bitfield on register `TIFR1`
1804pub const OCF1B: *mut u8 = 0x4 as *mut u8;
1805
1806/// Bitfield on register `TIFR1`
1807pub const OCF1C: *mut u8 = 0x8 as *mut u8;
1808
1809/// Bitfield on register `TIFR2`
1810pub const TOV2: *mut u8 = 0x1 as *mut u8;
1811
1812/// Bitfield on register `TIFR2`
1813pub const OCF2A: *mut u8 = 0x2 as *mut u8;
1814
1815/// Bitfield on register `TIFR2`
1816pub const OCF2B: *mut u8 = 0x4 as *mut u8;
1817
1818/// Bitfield on register `TIFR3`
1819pub const OCF3B: *mut u8 = 0x4 as *mut u8;
1820
1821/// Bitfield on register `TIFR3`
1822pub const OCF3A: *mut u8 = 0x2 as *mut u8;
1823
1824/// Bitfield on register `TIFR3`
1825pub const ICF3: *mut u8 = 0x20 as *mut u8;
1826
1827/// Bitfield on register `TIFR3`
1828pub const OCF3C: *mut u8 = 0x8 as *mut u8;
1829
1830/// Bitfield on register `TIFR3`
1831pub const TOV3: *mut u8 = 0x1 as *mut u8;
1832
1833/// Bitfield on register `TIFR4`
1834pub const OCF4A: *mut u8 = 0x2 as *mut u8;
1835
1836/// Bitfield on register `TIFR4`
1837pub const OCF4B: *mut u8 = 0x4 as *mut u8;
1838
1839/// Bitfield on register `TIFR4`
1840pub const ICF4: *mut u8 = 0x20 as *mut u8;
1841
1842/// Bitfield on register `TIFR4`
1843pub const TOV4: *mut u8 = 0x1 as *mut u8;
1844
1845/// Bitfield on register `TIFR4`
1846pub const OCF4C: *mut u8 = 0x8 as *mut u8;
1847
1848/// Bitfield on register `TIFR5`
1849pub const TOV5: *mut u8 = 0x1 as *mut u8;
1850
1851/// Bitfield on register `TIFR5`
1852pub const OCF5A: *mut u8 = 0x2 as *mut u8;
1853
1854/// Bitfield on register `TIFR5`
1855pub const OCF5C: *mut u8 = 0x8 as *mut u8;
1856
1857/// Bitfield on register `TIFR5`
1858pub const OCF5B: *mut u8 = 0x4 as *mut u8;
1859
1860/// Bitfield on register `TIFR5`
1861pub const ICF5: *mut u8 = 0x20 as *mut u8;
1862
1863/// Bitfield on register `TIMSK0`
1864pub const OCIE0A: *mut u8 = 0x2 as *mut u8;
1865
1866/// Bitfield on register `TIMSK0`
1867pub const OCIE0B: *mut u8 = 0x4 as *mut u8;
1868
1869/// Bitfield on register `TIMSK0`
1870pub const TOIE0: *mut u8 = 0x1 as *mut u8;
1871
1872/// Bitfield on register `TIMSK1`
1873pub const OCIE1C: *mut u8 = 0x8 as *mut u8;
1874
1875/// Bitfield on register `TIMSK1`
1876pub const ICIE1: *mut u8 = 0x20 as *mut u8;
1877
1878/// Bitfield on register `TIMSK1`
1879pub const OCIE1A: *mut u8 = 0x2 as *mut u8;
1880
1881/// Bitfield on register `TIMSK1`
1882pub const TOIE1: *mut u8 = 0x1 as *mut u8;
1883
1884/// Bitfield on register `TIMSK1`
1885pub const OCIE1B: *mut u8 = 0x4 as *mut u8;
1886
1887/// Bitfield on register `TIMSK2`
1888pub const TOIE2: *mut u8 = 0x1 as *mut u8;
1889
1890/// Bitfield on register `TIMSK2`
1891pub const OCIE2B: *mut u8 = 0x4 as *mut u8;
1892
1893/// Bitfield on register `TIMSK2`
1894pub const OCIE2A: *mut u8 = 0x2 as *mut u8;
1895
1896/// Bitfield on register `TIMSK3`
1897pub const OCIE3B: *mut u8 = 0x4 as *mut u8;
1898
1899/// Bitfield on register `TIMSK3`
1900pub const TOIE3: *mut u8 = 0x1 as *mut u8;
1901
1902/// Bitfield on register `TIMSK3`
1903pub const ICIE3: *mut u8 = 0x20 as *mut u8;
1904
1905/// Bitfield on register `TIMSK3`
1906pub const OCIE3A: *mut u8 = 0x2 as *mut u8;
1907
1908/// Bitfield on register `TIMSK3`
1909pub const OCIE3C: *mut u8 = 0x8 as *mut u8;
1910
1911/// Bitfield on register `TIMSK4`
1912pub const ICIE4: *mut u8 = 0x20 as *mut u8;
1913
1914/// Bitfield on register `TIMSK4`
1915pub const OCIE4B: *mut u8 = 0x4 as *mut u8;
1916
1917/// Bitfield on register `TIMSK4`
1918pub const OCIE4A: *mut u8 = 0x2 as *mut u8;
1919
1920/// Bitfield on register `TIMSK4`
1921pub const TOIE4: *mut u8 = 0x1 as *mut u8;
1922
1923/// Bitfield on register `TIMSK4`
1924pub const OCIE4C: *mut u8 = 0x8 as *mut u8;
1925
1926/// Bitfield on register `TIMSK5`
1927pub const OCIE5C: *mut u8 = 0x8 as *mut u8;
1928
1929/// Bitfield on register `TIMSK5`
1930pub const OCIE5B: *mut u8 = 0x4 as *mut u8;
1931
1932/// Bitfield on register `TIMSK5`
1933pub const ICIE5: *mut u8 = 0x20 as *mut u8;
1934
1935/// Bitfield on register `TIMSK5`
1936pub const TOIE5: *mut u8 = 0x1 as *mut u8;
1937
1938/// Bitfield on register `TIMSK5`
1939pub const OCIE5A: *mut u8 = 0x2 as *mut u8;
1940
1941/// Bitfield on register `TWAMR`
1942pub const TWAM: *mut u8 = 0xFE as *mut u8;
1943
1944/// Bitfield on register `TWAR`
1945pub const TWGCE: *mut u8 = 0x1 as *mut u8;
1946
1947/// Bitfield on register `TWAR`
1948pub const TWA: *mut u8 = 0xFE as *mut u8;
1949
1950/// Bitfield on register `TWCR`
1951pub const TWWC: *mut u8 = 0x8 as *mut u8;
1952
1953/// Bitfield on register `TWCR`
1954pub const TWIE: *mut u8 = 0x1 as *mut u8;
1955
1956/// Bitfield on register `TWCR`
1957pub const TWINT: *mut u8 = 0x80 as *mut u8;
1958
1959/// Bitfield on register `TWCR`
1960pub const TWSTA: *mut u8 = 0x20 as *mut u8;
1961
1962/// Bitfield on register `TWCR`
1963pub const TWEA: *mut u8 = 0x40 as *mut u8;
1964
1965/// Bitfield on register `TWCR`
1966pub const TWEN: *mut u8 = 0x4 as *mut u8;
1967
1968/// Bitfield on register `TWCR`
1969pub const TWSTO: *mut u8 = 0x10 as *mut u8;
1970
1971/// Bitfield on register `TWSR`
1972pub const TWPS: *mut u8 = 0x3 as *mut u8;
1973
1974/// Bitfield on register `TWSR`
1975pub const TWS: *mut u8 = 0xF8 as *mut u8;
1976
1977/// Bitfield on register `UCSR0A`
1978pub const U2X0: *mut u8 = 0x2 as *mut u8;
1979
1980/// Bitfield on register `UCSR0A`
1981pub const UPE0: *mut u8 = 0x4 as *mut u8;
1982
1983/// Bitfield on register `UCSR0A`
1984pub const MPCM0: *mut u8 = 0x1 as *mut u8;
1985
1986/// Bitfield on register `UCSR0A`
1987pub const FE0: *mut u8 = 0x10 as *mut u8;
1988
1989/// Bitfield on register `UCSR0A`
1990pub const RXC0: *mut u8 = 0x80 as *mut u8;
1991
1992/// Bitfield on register `UCSR0A`
1993pub const DOR0: *mut u8 = 0x8 as *mut u8;
1994
1995/// Bitfield on register `UCSR0A`
1996pub const UDRE0: *mut u8 = 0x20 as *mut u8;
1997
1998/// Bitfield on register `UCSR0A`
1999pub const TXC0: *mut u8 = 0x40 as *mut u8;
2000
2001/// Bitfield on register `UCSR0B`
2002pub const TXEN0: *mut u8 = 0x8 as *mut u8;
2003
2004/// Bitfield on register `UCSR0B`
2005pub const RXCIE0: *mut u8 = 0x80 as *mut u8;
2006
2007/// Bitfield on register `UCSR0B`
2008pub const UCSZ02: *mut u8 = 0x4 as *mut u8;
2009
2010/// Bitfield on register `UCSR0B`
2011pub const TXCIE0: *mut u8 = 0x40 as *mut u8;
2012
2013/// Bitfield on register `UCSR0B`
2014pub const TXB80: *mut u8 = 0x1 as *mut u8;
2015
2016/// Bitfield on register `UCSR0B`
2017pub const RXEN0: *mut u8 = 0x10 as *mut u8;
2018
2019/// Bitfield on register `UCSR0B`
2020pub const RXB80: *mut u8 = 0x2 as *mut u8;
2021
2022/// Bitfield on register `UCSR0B`
2023pub const UDRIE0: *mut u8 = 0x20 as *mut u8;
2024
2025/// Bitfield on register `UCSR0C`
2026pub const UCPOL0: *mut u8 = 0x1 as *mut u8;
2027
2028/// Bitfield on register `UCSR0C`
2029pub const UPM0: *mut u8 = 0x30 as *mut u8;
2030
2031/// Bitfield on register `UCSR0C`
2032pub const UMSEL0: *mut u8 = 0xC0 as *mut u8;
2033
2034/// Bitfield on register `UCSR0C`
2035pub const UCSZ0: *mut u8 = 0x6 as *mut u8;
2036
2037/// Bitfield on register `UCSR0C`
2038pub const USBS0: *mut u8 = 0x8 as *mut u8;
2039
2040/// Bitfield on register `UCSR1A`
2041pub const UDRE1: *mut u8 = 0x20 as *mut u8;
2042
2043/// Bitfield on register `UCSR1A`
2044pub const U2X1: *mut u8 = 0x2 as *mut u8;
2045
2046/// Bitfield on register `UCSR1A`
2047pub const RXC1: *mut u8 = 0x80 as *mut u8;
2048
2049/// Bitfield on register `UCSR1A`
2050pub const TXC1: *mut u8 = 0x40 as *mut u8;
2051
2052/// Bitfield on register `UCSR1A`
2053pub const DOR1: *mut u8 = 0x8 as *mut u8;
2054
2055/// Bitfield on register `UCSR1A`
2056pub const UPE1: *mut u8 = 0x4 as *mut u8;
2057
2058/// Bitfield on register `UCSR1A`
2059pub const MPCM1: *mut u8 = 0x1 as *mut u8;
2060
2061/// Bitfield on register `UCSR1A`
2062pub const FE1: *mut u8 = 0x10 as *mut u8;
2063
2064/// Bitfield on register `UCSR1B`
2065pub const TXCIE1: *mut u8 = 0x40 as *mut u8;
2066
2067/// Bitfield on register `UCSR1B`
2068pub const UDRIE1: *mut u8 = 0x20 as *mut u8;
2069
2070/// Bitfield on register `UCSR1B`
2071pub const RXCIE1: *mut u8 = 0x80 as *mut u8;
2072
2073/// Bitfield on register `UCSR1B`
2074pub const RXB81: *mut u8 = 0x2 as *mut u8;
2075
2076/// Bitfield on register `UCSR1B`
2077pub const UCSZ12: *mut u8 = 0x4 as *mut u8;
2078
2079/// Bitfield on register `UCSR1B`
2080pub const RXEN1: *mut u8 = 0x10 as *mut u8;
2081
2082/// Bitfield on register `UCSR1B`
2083pub const TXB81: *mut u8 = 0x1 as *mut u8;
2084
2085/// Bitfield on register `UCSR1B`
2086pub const TXEN1: *mut u8 = 0x8 as *mut u8;
2087
2088/// Bitfield on register `UCSR1C`
2089pub const UMSEL1: *mut u8 = 0xC0 as *mut u8;
2090
2091/// Bitfield on register `UCSR1C`
2092pub const USBS1: *mut u8 = 0x8 as *mut u8;
2093
2094/// Bitfield on register `UCSR1C`
2095pub const UPM1: *mut u8 = 0x30 as *mut u8;
2096
2097/// Bitfield on register `UCSR1C`
2098pub const UCSZ1: *mut u8 = 0x6 as *mut u8;
2099
2100/// Bitfield on register `UCSR1C`
2101pub const UCPOL1: *mut u8 = 0x1 as *mut u8;
2102
2103/// Bitfield on register `WDTCSR`
2104pub const WDE: *mut u8 = 0x8 as *mut u8;
2105
2106/// Bitfield on register `WDTCSR`
2107pub const WDP: *mut u8 = 0x27 as *mut u8;
2108
2109/// Bitfield on register `WDTCSR`
2110pub const WDCE: *mut u8 = 0x10 as *mut u8;
2111
2112/// Bitfield on register `WDTCSR`
2113pub const WDIF: *mut u8 = 0x80 as *mut u8;
2114
2115/// Bitfield on register `WDTCSR`
2116pub const WDIE: *mut u8 = 0x40 as *mut u8;
2117
2118/// Bitfield on register `XMCRA`
2119pub const SRW0: *mut u8 = 0x3 as *mut u8;
2120
2121/// Bitfield on register `XMCRA`
2122pub const SRE: *mut u8 = 0x80 as *mut u8;
2123
2124/// Bitfield on register `XMCRA`
2125pub const SRW1: *mut u8 = 0xC as *mut u8;
2126
2127/// Bitfield on register `XMCRA`
2128pub const SRL: *mut u8 = 0x70 as *mut u8;
2129
2130/// Bitfield on register `XMCRB`
2131pub const XMM: *mut u8 = 0x7 as *mut u8;
2132
2133/// Bitfield on register `XMCRB`
2134pub const XMBK: *mut u8 = 0x80 as *mut u8;
2135
2136/// `ADC_MUX_DIFF6` value group
2137#[allow(non_upper_case_globals)]
2138pub mod adc_mux_diff6 {
2139 /// ADC Single Ended Input pin 0.
2140 pub const ADC0: u32 = 0x0;
2141 /// ADC Single Ended Input pin 1.
2142 pub const ADC1: u32 = 0x1;
2143 /// ADC Single Ended Input pin 2.
2144 pub const ADC2: u32 = 0x2;
2145 /// ADC Single Ended Input pin 3.
2146 pub const ADC3: u32 = 0x3;
2147 /// ADC Single Ended Input pin 4.
2148 pub const ADC4: u32 = 0x4;
2149 /// ADC Single Ended Input pin 5.
2150 pub const ADC5: u32 = 0x5;
2151 /// ADC Single Ended Input pin 6.
2152 pub const ADC6: u32 = 0x6;
2153 /// ADC Single Ended Input pin 7.
2154 pub const ADC7: u32 = 0x7;
2155 /// ADC Differential Inputs Postive pin 0 Negative pin 0 10x Gain.
2156 pub const ADC0_ADC0_10X: u32 = 0x8;
2157 /// ADC Differential Inputs Postive pin 1 Negative pin 0 10x Gain.
2158 pub const ADC1_ADC0_10X: u32 = 0x9;
2159 /// ADC Differential Inputs Postive pin 0 Negative pin 0 200x Gain.
2160 pub const ADC0_ADC0_200x: u32 = 0xA;
2161 /// ADC Differential Inputs Postive pin 1 Negative pin 0 200x Gain.
2162 pub const ADC1_ADC0_200X: u32 = 0xB;
2163 /// ADC Differential Inputs Postive pin 2 Negative pin 2 10x Gain.
2164 pub const ADC2_ADC2_10X: u32 = 0xC;
2165 /// ADC Differential Inputs Postive pin 3 Negative pin 2 10x Gain.
2166 pub const ADC3_ADC2_10X: u32 = 0xD;
2167 /// ADC Differential Inputs Postive pin 2 Negative pin 2 200x Gain.
2168 pub const ADC2_ADC2_200X: u32 = 0xE;
2169 /// ADC Differential Inputs Postive pin 3 Negative pin 2 200x Gain.
2170 pub const ADC3_ADC2_200X: u32 = 0xF;
2171 /// ADC Differential Inputs Postive pin 0 Negative pin 1 1x Gain.
2172 pub const ADC0_ADC1_1X: u32 = 0x10;
2173 /// ADC Differential Inputs Postive pin 1 Negative pin 1 1x Gain.
2174 pub const ADC1_ADC1_1X: u32 = 0x11;
2175 /// ADC Differential Inputs Postive pin 2 Negative pin 1 1x Gain.
2176 pub const ADC2_ADC1_1X: u32 = 0x12;
2177 /// ADC Differential Inputs Postive pin 3 Negative pin 1 1x Gain.
2178 pub const ADC3_ADC1_1X: u32 = 0x13;
2179 /// ADC Differential Inputs Postive pin 4 Negative pin 1 1x Gain.
2180 pub const ADC4_ADC1_1X: u32 = 0x14;
2181 /// ADC Differential Inputs Postive pin 5 Negative pin 1 1x Gain.
2182 pub const ADC5_ADC1_1X: u32 = 0x15;
2183 /// ADC Differential Inputs Postive pin 6 Negative pin 1 1x Gain.
2184 pub const ADC6_ADC1_1X: u32 = 0x16;
2185 /// ADC Differential Inputs Postive pin 7 Negative pin 1 1x Gain.
2186 pub const ADC7_ADC1_1X: u32 = 0x17;
2187 /// ADC Differential Inputs Postive pin 0 Negative pin 2 1x Gain.
2188 pub const ADC0_ADC2_1X: u32 = 0x18;
2189 /// ADC Differential Inputs Postive pin 1 Negative pin 2 1x Gain.
2190 pub const ADC1_ADC2_1X: u32 = 0x19;
2191 /// ADC Differential Inputs Postive pin 2 Negative pin 2 1x Gain.
2192 pub const ADC2_ADC2_1X: u32 = 0x1A;
2193 /// ADC Differential Inputs Postive pin 3 Negative pin 2 1x Gain.
2194 pub const ADC3_ADC2_1X: u32 = 0x1B;
2195 /// ADC Differential Inputs Postive pin 4 Negative pin 2 1x Gain.
2196 pub const ADC4_ADC2_1X: u32 = 0x1C;
2197 /// ADC Differential Inputs Postive pin 5 Negative pin 2 1x Gain.
2198 pub const ADC5_ADC2_1X: u32 = 0x1D;
2199 /// Internal Reference (VBG).
2200 pub const ADC_VBG: u32 = 0x1E;
2201 /// 0V (GND).
2202 pub const ADC_GND: u32 = 0x1F;
2203 /// ADC Single Ended Input pin 8.
2204 pub const ADC8: u32 = 0x20;
2205 /// ADC Single Ended Input pin 9.
2206 pub const ADC9: u32 = 0x21;
2207 /// ADC Single Ended Input pin 10.
2208 pub const ADC10: u32 = 0x22;
2209 /// ADC Single Ended Input pin 11.
2210 pub const ADC11: u32 = 0x23;
2211 /// ADC Single Ended Input pin 12.
2212 pub const ADC12: u32 = 0x24;
2213 /// ADC Single Ended Input pin 13.
2214 pub const ADC13: u32 = 0x25;
2215 /// ADC Single Ended Input pin 14.
2216 pub const ADC14: u32 = 0x26;
2217 /// ADC Single Ended Input pin 15.
2218 pub const ADC15: u32 = 0x27;
2219 /// ADC Differential Inputs Postive pin 8 Negative pin 8 10x Gain.
2220 pub const ADC8_ADC8_10X: u32 = 0x28;
2221 /// ADC Differential Inputs Postive pin 9 Negative pin 8 10x Gain.
2222 pub const ADC9_ADC8_10X: u32 = 0x29;
2223 /// ADC Differential Inputs Postive pin 8 Negative pin 8 200x Gain.
2224 pub const ADC8_ADC8_200x: u32 = 0x2A;
2225 /// ADC Differential Inputs Postive pin 9 Negative pin 8 200x Gain.
2226 pub const ADC9_ADC8_200X: u32 = 0x2B;
2227 /// ADC Differential Inputs Postive pin 10 Negative pin 10 10x Gain.
2228 pub const ADC10_ADC10_10X: u32 = 0x2C;
2229 /// ADC Differential Inputs Postive pin 11 Negative pin 10 10x Gain.
2230 pub const ADC11_ADC10_10X: u32 = 0x2D;
2231 /// ADC Differential Inputs Postive pin 10 Negative pin 10 200x Gain.
2232 pub const ADC10_ADC10_200X: u32 = 0x2E;
2233 /// ADC Differential Inputs Postive pin 11 Negative pin 10 200x Gain.
2234 pub const ADC11_ADC10_200X: u32 = 0x2F;
2235 /// ADC Differential Inputs Postive pin 8 Negative pin 9 1x Gain.
2236 pub const ADC8_ADC9_1X: u32 = 0x30;
2237 /// ADC Differential Inputs Postive pin 9 Negative pin 9 1x Gain.
2238 pub const ADC9_ADC9_1X: u32 = 0x31;
2239 /// ADC Differential Inputs Postive pin 10 Negative pin 9 1x Gain.
2240 pub const ADC10_ADC9_1X: u32 = 0x32;
2241 /// ADC Differential Inputs Postive pin 11 Negative pin 9 1x Gain.
2242 pub const ADC11_ADC9_1X: u32 = 0x33;
2243 /// ADC Differential Inputs Postive pin 12 Negative pin 9 1x Gain.
2244 pub const ADC12_ADC9_1X: u32 = 0x34;
2245 /// ADC Differential Inputs Postive pin 13 Negative pin 9 1x Gain.
2246 pub const ADC13_ADC9_1X: u32 = 0x35;
2247 /// ADC Differential Inputs Postive pin 14 Negative pin 9 1x Gain.
2248 pub const ADC14_ADC9_1X: u32 = 0x36;
2249 /// ADC Differential Inputs Postive pin 15 Negative pin 9 1x Gain.
2250 pub const ADC15_ADC9_1X: u32 = 0x37;
2251 /// ADC Differential Inputs Postive pin 8 Negative pin 10 1x Gain.
2252 pub const ADC8_ADC10_1X: u32 = 0x38;
2253 /// ADC Differential Inputs Postive pin 9 Negative pin 10 1x Gain.
2254 pub const ADC9_ADC10_1X: u32 = 0x39;
2255 /// ADC Differential Inputs Postive pin 10 Negative pin 10 1x Gain.
2256 pub const ADC10_ADC10_1X: u32 = 0x3A;
2257 /// ADC Differential Inputs Postive pin 11 Negative pin 10 1x Gain.
2258 pub const ADC11_ADC10_1X: u32 = 0x3B;
2259 /// ADC Differential Inputs Postive pin 12 Negative pin 10 1x Gain.
2260 pub const ADC12_ADC10_1X: u32 = 0x3C;
2261 /// ADC Differential Inputs Postive pin 13 Negative pin 10 1x Gain.
2262 pub const ADC13_ADC10_1X: u32 = 0x3D;
2263}
2264
2265/// `ANALOG_ADC_AUTO_TRIGGER` value group
2266#[allow(non_upper_case_globals)]
2267pub mod analog_adc_auto_trigger {
2268 /// Free Running mode.
2269 pub const VAL_0x00: u32 = 0x0;
2270 /// Analog Comparator.
2271 pub const VAL_0x01: u32 = 0x1;
2272 /// External Interrupt Request 0.
2273 pub const VAL_0x02: u32 = 0x2;
2274 /// Timer/Counter0 Compare Match A.
2275 pub const VAL_0x03: u32 = 0x3;
2276 /// Timer/Counter0 Overflow.
2277 pub const VAL_0x04: u32 = 0x4;
2278 /// Timer/Counter1 Compare Match B.
2279 pub const VAL_0x05: u32 = 0x5;
2280 /// Timer/Counter1 Overflow.
2281 pub const VAL_0x06: u32 = 0x6;
2282 /// Timer/Counter1 Capture Event.
2283 pub const VAL_0x07: u32 = 0x7;
2284}
2285
2286/// `ANALOG_ADC_PRESCALER` value group
2287#[allow(non_upper_case_globals)]
2288pub mod analog_adc_prescaler {
2289 /// 2.
2290 pub const VAL_0x00: u32 = 0x0;
2291 /// 2.
2292 pub const VAL_0x01: u32 = 0x1;
2293 /// 4.
2294 pub const VAL_0x02: u32 = 0x2;
2295 /// 8.
2296 pub const VAL_0x03: u32 = 0x3;
2297 /// 16.
2298 pub const VAL_0x04: u32 = 0x4;
2299 /// 32.
2300 pub const VAL_0x05: u32 = 0x5;
2301 /// 64.
2302 pub const VAL_0x06: u32 = 0x6;
2303 /// 128.
2304 pub const VAL_0x07: u32 = 0x7;
2305}
2306
2307/// `ANALOG_ADC_V_REF6` value group
2308#[allow(non_upper_case_globals)]
2309pub mod analog_adc_v_ref6 {
2310 /// AREF, Internal Vref turned off.
2311 pub const VAL_0x00: u32 = 0x0;
2312 /// AVCC with external capacitor at AREF pin.
2313 pub const VAL_0x01: u32 = 0x1;
2314 /// Internal 1.1V Voltage Reference with external capacitor at AREF pin.
2315 pub const VAL_0x02: u32 = 0x2;
2316 /// Internal 2.56V Voltage Reference with external capacitor at AREF pin.
2317 pub const VAL_0x03: u32 = 0x3;
2318}
2319
2320/// `ANALOG_COMP_INTERRUPT` value group
2321#[allow(non_upper_case_globals)]
2322pub mod analog_comp_interrupt {
2323 /// Interrupt on Toggle.
2324 pub const VAL_0x00: u32 = 0x0;
2325 /// Reserved.
2326 pub const VAL_0x01: u32 = 0x1;
2327 /// Interrupt on Falling Edge.
2328 pub const VAL_0x02: u32 = 0x2;
2329 /// Interrupt on Rising Edge.
2330 pub const VAL_0x03: u32 = 0x3;
2331}
2332
2333/// `CLK_SEL_3BIT` value group
2334#[allow(non_upper_case_globals)]
2335pub mod clk_sel_3bit {
2336 /// No Clock Source (Stopped).
2337 pub const VAL_0x00: u32 = 0x0;
2338 /// Running, No Prescaling.
2339 pub const VAL_0x01: u32 = 0x1;
2340 /// Running, CLK/8.
2341 pub const VAL_0x02: u32 = 0x2;
2342 /// Running, CLK/32.
2343 pub const VAL_0x03: u32 = 0x3;
2344 /// Running, CLK/64.
2345 pub const VAL_0x04: u32 = 0x4;
2346 /// Running, CLK/128.
2347 pub const VAL_0x05: u32 = 0x5;
2348 /// Running, CLK/256.
2349 pub const VAL_0x06: u32 = 0x6;
2350 /// Running, CLK/1024.
2351 pub const VAL_0x07: u32 = 0x7;
2352}
2353
2354/// `CLK_SEL_3BIT_EXT` value group
2355#[allow(non_upper_case_globals)]
2356pub mod clk_sel_3bit_ext {
2357 /// No Clock Source (Stopped).
2358 pub const VAL_0x00: u32 = 0x0;
2359 /// Running, No Prescaling.
2360 pub const VAL_0x01: u32 = 0x1;
2361 /// Running, CLK/8.
2362 pub const VAL_0x02: u32 = 0x2;
2363 /// Running, CLK/64.
2364 pub const VAL_0x03: u32 = 0x3;
2365 /// Running, CLK/256.
2366 pub const VAL_0x04: u32 = 0x4;
2367 /// Running, CLK/1024.
2368 pub const VAL_0x05: u32 = 0x5;
2369 /// Running, ExtClk Tx Falling Edge.
2370 pub const VAL_0x06: u32 = 0x6;
2371 /// Running, ExtClk Tx Rising Edge.
2372 pub const VAL_0x07: u32 = 0x7;
2373}
2374
2375/// `COMM_SCK_RATE_3BIT` value group
2376#[allow(non_upper_case_globals)]
2377pub mod comm_sck_rate_3bit {
2378 /// fosc/4.
2379 pub const VAL_0x00: u32 = 0x0;
2380 /// fosc/16.
2381 pub const VAL_0x01: u32 = 0x1;
2382 /// fosc/64.
2383 pub const VAL_0x02: u32 = 0x2;
2384 /// fosc/128.
2385 pub const VAL_0x03: u32 = 0x3;
2386 /// fosc/2.
2387 pub const VAL_0x04: u32 = 0x4;
2388 /// fosc/8.
2389 pub const VAL_0x05: u32 = 0x5;
2390 /// fosc/32.
2391 pub const VAL_0x06: u32 = 0x6;
2392 /// fosc/64.
2393 pub const VAL_0x07: u32 = 0x7;
2394}
2395
2396/// `COMM_STOP_BIT_SEL` value group
2397#[allow(non_upper_case_globals)]
2398pub mod comm_stop_bit_sel {
2399 /// 1-bit.
2400 pub const VAL_0x00: u32 = 0x0;
2401 /// 2-bit.
2402 pub const VAL_0x01: u32 = 0x1;
2403}
2404
2405/// `COMM_TWI_PRESACLE` value group
2406#[allow(non_upper_case_globals)]
2407pub mod comm_twi_presacle {
2408 /// 1.
2409 pub const VAL_0x00: u32 = 0x0;
2410 /// 4.
2411 pub const VAL_0x01: u32 = 0x1;
2412 /// 16.
2413 pub const VAL_0x02: u32 = 0x2;
2414 /// 64.
2415 pub const VAL_0x03: u32 = 0x3;
2416}
2417
2418/// `COMM_UPM_PARITY_MODE` value group
2419#[allow(non_upper_case_globals)]
2420pub mod comm_upm_parity_mode {
2421 /// Disabled.
2422 pub const VAL_0x00: u32 = 0x0;
2423 /// Reserved.
2424 pub const VAL_0x01: u32 = 0x1;
2425 /// Enabled, Even Parity.
2426 pub const VAL_0x02: u32 = 0x2;
2427 /// Enabled, Odd Parity.
2428 pub const VAL_0x03: u32 = 0x3;
2429}
2430
2431/// `COMM_USART_MODE_2BIT` value group
2432#[allow(non_upper_case_globals)]
2433pub mod comm_usart_mode_2bit {
2434 /// Asynchronous USART.
2435 pub const VAL_0x00: u32 = 0x0;
2436 /// Synchronous USART.
2437 pub const VAL_0x01: u32 = 0x1;
2438 /// Master SPI.
2439 pub const VAL_0x03: u32 = 0x3;
2440}
2441
2442/// `CPU_CLK_PRESCALE_4_BITS_SMALL` value group
2443#[allow(non_upper_case_globals)]
2444pub mod cpu_clk_prescale_4_bits_small {
2445 /// 1.
2446 pub const VAL_0x00: u32 = 0x0;
2447 /// 2.
2448 pub const VAL_0x01: u32 = 0x1;
2449 /// 4.
2450 pub const VAL_0x02: u32 = 0x2;
2451 /// 8.
2452 pub const VAL_0x03: u32 = 0x3;
2453 /// 16.
2454 pub const VAL_0x04: u32 = 0x4;
2455 /// 32.
2456 pub const VAL_0x05: u32 = 0x5;
2457 /// 64.
2458 pub const VAL_0x06: u32 = 0x6;
2459 /// 128.
2460 pub const VAL_0x07: u32 = 0x7;
2461 /// 256.
2462 pub const VAL_0x08: u32 = 0x8;
2463}
2464
2465/// `CPU_PIN_RELEASE` value group
2466#[allow(non_upper_case_globals)]
2467pub mod cpu_pin_release {
2468 /// None.
2469 pub const VAL_0x00: u32 = 0x0;
2470 /// Px7.
2471 pub const VAL_0x01: u32 = 0x1;
2472 /// Px7-Px6.
2473 pub const VAL_0x02: u32 = 0x2;
2474 /// Px7-Px5.
2475 pub const VAL_0x03: u32 = 0x3;
2476 /// Px7-Px4.
2477 pub const VAL_0x04: u32 = 0x4;
2478 /// Px7-Px3.
2479 pub const VAL_0x05: u32 = 0x5;
2480 /// Px7-Px2.
2481 pub const VAL_0x06: u32 = 0x6;
2482 /// Full Port X.
2483 pub const VAL_0x07: u32 = 0x7;
2484}
2485
2486/// `CPU_SECTOR_LIMITS2` value group
2487#[allow(non_upper_case_globals)]
2488pub mod cpu_sector_limits2 {
2489 /// LS = N/A, US = 0x1100 - 0xFFFF.
2490 pub const VAL_0x00: u32 = 0x0;
2491 /// LS = 0x2200 - 0x1FFF, US = 0x2000 - 0xFFFF.
2492 pub const VAL_0x01: u32 = 0x1;
2493 /// LS = 0x2200 - 0x3FFF, US = 0x4000 - 0xFFFF.
2494 pub const VAL_0x02: u32 = 0x2;
2495 /// LS = 0x2200 - 0x5FFF, US = 0x6000 - 0xFFFF.
2496 pub const VAL_0x03: u32 = 0x3;
2497 /// LS = 0x2200 - 0x7FFF, US = 0x8000 - 0xFFFF.
2498 pub const VAL_0x04: u32 = 0x4;
2499 /// LS = 0x2200 - 0x9FFF, US = 0xA000 - 0xFFFF.
2500 pub const VAL_0x05: u32 = 0x5;
2501 /// LS = 0x2200 - 0xBFFF, US = 0xC000 - 0xFFFF.
2502 pub const VAL_0x06: u32 = 0x6;
2503 /// LS = 0x2200 - 0xDFFF, US = 0xE000 - 0xFFFF.
2504 pub const VAL_0x07: u32 = 0x7;
2505}
2506
2507/// `CPU_SLEEP_MODE_3BITS` value group
2508#[allow(non_upper_case_globals)]
2509pub mod cpu_sleep_mode_3bits {
2510 /// Idle.
2511 pub const IDLE: u32 = 0x0;
2512 /// ADC Noise Reduction (If Available).
2513 pub const ADC: u32 = 0x1;
2514 /// Power Down.
2515 pub const PDOWN: u32 = 0x2;
2516 /// Power Save.
2517 pub const PSAVE: u32 = 0x3;
2518 /// Reserved.
2519 pub const VAL_0x04: u32 = 0x4;
2520 /// Reserved.
2521 pub const VAL_0x05: u32 = 0x5;
2522 /// Standby.
2523 pub const STDBY: u32 = 0x6;
2524 /// Extended Standby.
2525 pub const ESTDBY: u32 = 0x7;
2526}
2527
2528/// `CPU_WAIT_STATES` value group
2529#[allow(non_upper_case_globals)]
2530pub mod cpu_wait_states {
2531 /// No wait-states.
2532 pub const VAL_0x00: u32 = 0x0;
2533 /// Wait one cycle during read/write strobe.
2534 pub const VAL_0x01: u32 = 0x1;
2535 /// Wait two cycles during read/write strobe.
2536 pub const VAL_0x02: u32 = 0x2;
2537 /// Wait two cycles during read/write and wait one cycle before driving out new address.
2538 pub const VAL_0x03: u32 = 0x3;
2539}
2540
2541/// `EEP_MODE` value group
2542#[allow(non_upper_case_globals)]
2543pub mod eep_mode {
2544 /// Erase and Write in one operation.
2545 pub const VAL_0x00: u32 = 0x0;
2546 /// Erase Only.
2547 pub const VAL_0x01: u32 = 0x1;
2548 /// Write Only.
2549 pub const VAL_0x02: u32 = 0x2;
2550}
2551
2552/// `ENUM_BLB` value group
2553#[allow(non_upper_case_globals)]
2554pub mod enum_blb {
2555 /// LPM and SPM prohibited in Application Section.
2556 pub const LPM_SPM_DISABLE: u32 = 0x0;
2557 /// LPM prohibited in Application Section.
2558 pub const LPM_DISABLE: u32 = 0x1;
2559 /// SPM prohibited in Application Section.
2560 pub const SPM_DISABLE: u32 = 0x2;
2561 /// No lock on SPM and LPM in Application Section.
2562 pub const NO_LOCK: u32 = 0x3;
2563}
2564
2565/// `ENUM_BLB2` value group
2566#[allow(non_upper_case_globals)]
2567pub mod enum_blb2 {
2568 /// LPM and SPM prohibited in Boot Section.
2569 pub const LPM_SPM_DISABLE: u32 = 0x0;
2570 /// LPM prohibited in Boot Section.
2571 pub const LPM_DISABLE: u32 = 0x1;
2572 /// SPM prohibited in Boot Section.
2573 pub const SPM_DISABLE: u32 = 0x2;
2574 /// No lock on SPM and LPM in Boot Section.
2575 pub const NO_LOCK: u32 = 0x3;
2576}
2577
2578/// `ENUM_BODLEVEL` value group
2579#[allow(non_upper_case_globals)]
2580pub mod enum_bodlevel {
2581 /// Brown-out detection disabled.
2582 pub const DISABLED: u32 = 0x7;
2583 /// Brown-out detection at VCC=1.8 V.
2584 pub const _1V8: u32 = 0x6;
2585 /// Brown-out detection at VCC=2.7 V.
2586 pub const _2V7: u32 = 0x5;
2587 /// Brown-out detection at VCC=4.3 V.
2588 pub const _4V3: u32 = 0x4;
2589}
2590
2591/// `ENUM_BOOTSZ` value group
2592#[allow(non_upper_case_globals)]
2593pub mod enum_bootsz {
2594 /// Boot Flash size=512 words start address=$FE00.
2595 pub const _512W_FE00: u32 = 0x3;
2596 /// Boot Flash size=1024 words start address=$FC00.
2597 pub const _1024W_FC00: u32 = 0x2;
2598 /// Boot Flash size=2048 words start address=$F800.
2599 pub const _2048W_F800: u32 = 0x1;
2600 /// Boot Flash size=4096 words start address=$F000.
2601 pub const _4096W_F000: u32 = 0x0;
2602}
2603
2604/// `ENUM_LB` value group
2605#[allow(non_upper_case_globals)]
2606pub mod enum_lb {
2607 /// Further programming and verification disabled.
2608 pub const PROG_VER_DISABLED: u32 = 0x0;
2609 /// Further programming disabled.
2610 pub const PROG_DISABLED: u32 = 0x2;
2611 /// No memory lock features enabled.
2612 pub const NO_LOCK: u32 = 0x3;
2613}
2614
2615/// `ENUM_SUT_CKSEL` value group
2616#[allow(non_upper_case_globals)]
2617pub mod enum_sut_cksel {
2618 /// Ext. Clock; Start-up time: 6 CK + 0 ms.
2619 pub const EXTCLK_6CK_0MS: u32 = 0x0;
2620 /// Ext. Clock; Start-up time: 6 CK + 4.1 ms.
2621 pub const EXTCLK_6CK_4MS1: u32 = 0x10;
2622 /// Ext. Clock; Start-up time: 6 CK + 65 ms.
2623 pub const EXTCLK_6CK_65MS: u32 = 0x20;
2624 /// Int. RC Osc.; Start-up time: 6 CK + 0 ms.
2625 pub const INTRCOSC_6CK_0MS: u32 = 0x2;
2626 /// Int. RC Osc.; Start-up time: 6 CK + 4.1 ms.
2627 pub const INTRCOSC_6CK_4MS1: u32 = 0x12;
2628 /// Int. RC Osc.; Start-up time: 6 CK + 65 ms.
2629 pub const INTRCOSC_6CK_65MS: u32 = 0x22;
2630 /// Int. 128kHz RC Osc.; Start-up time: 6 CK + 0 ms.
2631 pub const INTRCOSC_128KHZ_6CK_0MS: u32 = 0x3;
2632 /// Int. 128kHz RC Osc.; Start-up time: 6 CK + 4 ms.
2633 pub const INTRCOSC_128KHZ_6CK_4MS: u32 = 0x13;
2634 /// Int. 128kHz RC Osc.; Start-up time: 6 CK + 64 ms.
2635 pub const INTRCOSC_128KHZ_6CK_64MS: u32 = 0x23;
2636 /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 0 ms.
2637 pub const EXTLOFXTAL_1KCK_0MS: u32 = 0x4;
2638 /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 4.1 ms.
2639 pub const EXTLOFXTAL_1KCK_4MS1: u32 = 0x14;
2640 /// Ext. Low-Freq. Crystal; Start-up time: 1K CK + 65 ms.
2641 pub const EXTLOFXTAL_1KCK_65MS: u32 = 0x24;
2642 /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 0 ms.
2643 pub const EXTLOFXTAL_32KCK_0MS: u32 = 0x5;
2644 /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 4.1 ms.
2645 pub const EXTLOFXTAL_32KCK_4MS1: u32 = 0x15;
2646 /// Ext. Low-Freq. Crystal; Start-up time: 32K CK + 65 ms.
2647 pub const EXTLOFXTAL_32KCK_65MS: u32 = 0x25;
2648 /// Full Swing Oscillator; Start-up time: 258 CK + 4.1 ms; Ceramic res.; fast rising power.
2649 pub const FSOSC_258CK_4MS1_CRES_FASTPWR: u32 = 0x6;
2650 /// Full Swing Oscillator; Start-up time: 258 CK + 65 ms; Ceramic res.; slowly rising power.
2651 pub const FSOSC_258CK_65MS_CRES_SLOWPWR: u32 = 0x16;
2652 /// Full Swing Oscillator; Start-up time: 1K CK + 0 ms; Ceramic res.; BOD enable.
2653 pub const FSOSC_1KCK_0MS_CRES_BODEN: u32 = 0x26;
2654 /// Full Swing Oscillator; Start-up time: 1K CK + 4.1 ms; Ceramic res.; fast rising power.
2655 pub const FSOSC_1KCK_4MS1_CRES_FASTPWR: u32 = 0x36;
2656 /// Full Swing Oscillator; Start-up time: 1K CK + 65 ms; Ceramic res.; slowly rising power.
2657 pub const FSOSC_1KCK_65MS_CRES_SLOWPWR: u32 = 0x7;
2658 /// Full Swing Oscillator; Start-up time: 16K CK + 0 ms; Crystal Osc.; BOD enabled.
2659 pub const FSOSC_16KCK_0MS_XOSC_BODEN: u32 = 0x17;
2660 /// Full Swing Oscillator; Start-up time: 16K CK + 4.1 ms; Crystal Osc.; fast rising power.
2661 pub const FSOSC_16KCK_4MS1_XOSC_FASTPWR: u32 = 0x27;
2662 /// Full Swing Oscillator; Start-up time: 16K CK + 65 ms; Crystal Osc.; slowly rising power.
2663 pub const FSOSC_16KCK_65MS_XOSC_SLOWPWR: u32 = 0x37;
2664 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 258 CK + 4.1 ms.
2665 pub const EXTXOSC_0MHZ4_0MHZ9_258CK_4MS1: u32 = 0x8;
2666 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 258 CK + 65 ms.
2667 pub const EXTXOSC_0MHZ4_0MHZ9_258CK_65MS: u32 = 0x18;
2668 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 1K CK + 0 ms.
2669 pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_0MS: u32 = 0x28;
2670 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 1K CK + 4.1 ms.
2671 pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_4MS1: u32 = 0x38;
2672 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 1K CK + 65 ms.
2673 pub const EXTXOSC_0MHZ4_0MHZ9_1KCK_65MS: u32 = 0x9;
2674 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 16K CK + 0 ms.
2675 pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_0MS: u32 = 0x19;
2676 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 16K CK + 4.1 ms.
2677 pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_4MS1: u32 = 0x29;
2678 /// Ext. Crystal Osc. 0.4-0.9 MHz; Start-up time: 16K CK + 65 ms.
2679 pub const EXTXOSC_0MHZ4_0MHZ9_16KCK_65MS: u32 = 0x39;
2680 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 258 CK + 4.1 ms.
2681 pub const EXTXOSC_0MHZ9_3MHZ_258CK_4MS1: u32 = 0xA;
2682 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 258 CK + 65 ms.
2683 pub const EXTXOSC_0MHZ9_3MHZ_258CK_65MS: u32 = 0x1A;
2684 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 1K CK + 0 ms.
2685 pub const EXTXOSC_0MHZ9_3MHZ_1KCK_0MS: u32 = 0x2A;
2686 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 1K CK + 4.1 ms.
2687 pub const EXTXOSC_0MHZ9_3MHZ_1KCK_4MS1: u32 = 0x3A;
2688 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 1K CK + 65 ms.
2689 pub const EXTXOSC_0MHZ9_3MHZ_1KCK_65MS: u32 = 0xB;
2690 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 16K CK + 0 ms.
2691 pub const EXTXOSC_0MHZ9_3MHZ_16KCK_0MS: u32 = 0x1B;
2692 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 16K CK + 4.1 ms.
2693 pub const EXTXOSC_0MHZ9_3MHZ_16KCK_4MS1: u32 = 0x2B;
2694 /// Ext. Crystal Osc. 0.9-3.0 MHz; Start-up time: 16K CK + 65 ms.
2695 pub const EXTXOSC_0MHZ9_3MHZ_16KCK_65MS: u32 = 0x3B;
2696 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 258 CK + 4.1 ms.
2697 pub const EXTXOSC_3MHZ_8MHZ_258CK_4MS1: u32 = 0xC;
2698 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 258 CK + 65 ms.
2699 pub const EXTXOSC_3MHZ_8MHZ_258CK_65MS: u32 = 0x1C;
2700 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 1K CK + 0 ms.
2701 pub const EXTXOSC_3MHZ_8MHZ_1KCK_0MS: u32 = 0x2C;
2702 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 1K CK + 4.1 ms.
2703 pub const EXTXOSC_3MHZ_8MHZ_1KCK_4MS1: u32 = 0x3C;
2704 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 1K CK + 65 ms.
2705 pub const EXTXOSC_3MHZ_8MHZ_1KCK_65MS: u32 = 0xD;
2706 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 16K CK + 0 ms.
2707 pub const EXTXOSC_3MHZ_8MHZ_16KCK_0MS: u32 = 0x1D;
2708 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 16K CK + 4.1 ms.
2709 pub const EXTXOSC_3MHZ_8MHZ_16KCK_4MS1: u32 = 0x2D;
2710 /// Ext. Crystal Osc. 3.0-8.0 MHz; Start-up time: 16K CK + 65 ms.
2711 pub const EXTXOSC_3MHZ_8MHZ_16KCK_65MS: u32 = 0x3D;
2712 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 258 CK + 4.1 ms.
2713 pub const EXTXOSC_8MHZ_XX_258CK_4MS1: u32 = 0xE;
2714 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 258 CK + 65 ms.
2715 pub const EXTXOSC_8MHZ_XX_258CK_65MS: u32 = 0x1E;
2716 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 1K CK + 0 ms.
2717 pub const EXTXOSC_8MHZ_XX_1KCK_0MS: u32 = 0x2E;
2718 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 1K CK + 4.1 ms.
2719 pub const EXTXOSC_8MHZ_XX_1KCK_4MS1: u32 = 0x3E;
2720 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 1K CK + 65 ms.
2721 pub const EXTXOSC_8MHZ_XX_1KCK_65MS: u32 = 0xF;
2722 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 16K CK + 0 ms.
2723 pub const EXTXOSC_8MHZ_XX_16KCK_0MS: u32 = 0x1F;
2724 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 16K CK + 4.1 ms.
2725 pub const EXTXOSC_8MHZ_XX_16KCK_4MS1: u32 = 0x2F;
2726 /// Ext. Crystal Osc. 8.0- MHz; Start-up time: 16K CK + 65 ms.
2727 pub const EXTXOSC_8MHZ_XX_16KCK_65MS: u32 = 0x3F;
2728}
2729
2730/// Interrupt Sense Control
2731#[allow(non_upper_case_globals)]
2732pub mod interrupt_sense_control {
2733 /// Low Level of INTX.
2734 pub const VAL_0x00: u32 = 0x0;
2735 /// Any Logical Change of INTX.
2736 pub const VAL_0x01: u32 = 0x1;
2737 /// Falling Edge of INTX.
2738 pub const VAL_0x02: u32 = 0x2;
2739 /// Rising Edge of INTX.
2740 pub const VAL_0x03: u32 = 0x3;
2741}
2742
2743/// Oscillator Calibration Values
2744#[allow(non_upper_case_globals)]
2745pub mod osccal_value_addresses {
2746 /// 8.0 MHz.
2747 pub const _8_0_MHz: u32 = 0x0;
2748}
2749
2750/// `WDOG_TIMER_PRESCALE_4BITS` value group
2751#[allow(non_upper_case_globals)]
2752pub mod wdog_timer_prescale_4bits {
2753 /// Oscillator Cycles 2K.
2754 pub const VAL_0x00: u32 = 0x0;
2755 /// Oscillator Cycles 4K.
2756 pub const VAL_0x01: u32 = 0x1;
2757 /// Oscillator Cycles 8K.
2758 pub const VAL_0x02: u32 = 0x2;
2759 /// Oscillator Cycles 16K.
2760 pub const VAL_0x03: u32 = 0x3;
2761 /// Oscillator Cycles 32K.
2762 pub const VAL_0x04: u32 = 0x4;
2763 /// Oscillator Cycles 64K.
2764 pub const VAL_0x05: u32 = 0x5;
2765 /// Oscillator Cycles 128K.
2766 pub const VAL_0x06: u32 = 0x6;
2767 /// Oscillator Cycles 256K.
2768 pub const VAL_0x07: u32 = 0x7;
2769 /// Oscillator Cycles 512K.
2770 pub const VAL_0x08: u32 = 0x8;
2771 /// Oscillator Cycles 1024K.
2772 pub const VAL_0x09: u32 = 0x9;
2773}
2774