avrd/gen/
atmega169a.rs

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