avrd/gen/
atmega32hvb.rs

1//! The AVR ATmega32HVB microcontroller
2//!
3//! # Variants
4//! |        | Pinout | Mcu age | Operating temperature | Operating voltage | Max speed |
5//! |--------|--------|---------|-----------------------|-------------------|-----------|
6//! | standard |  |  | 0°C - 0°C | 3V - 4.5V | 0 MHz |
7//!
8
9#![allow(non_upper_case_globals)]
10
11/// `LOW` register
12///
13/// Bitfields:
14///
15/// | Name | Mask (binary) |
16/// | ---- | ------------- |
17/// | EESAVE | 1000000 |
18/// | WDTON | 10000000 |
19/// | SPIEN | 100000 |
20/// | OSCSEL | 11 |
21/// | SUT | 11100 |
22pub const LOW: *mut u8 = 0x0 as *mut u8;
23
24/// `LOCKBIT` register
25///
26/// Bitfields:
27///
28/// | Name | Mask (binary) |
29/// | ---- | ------------- |
30/// | LB | 11 |
31/// | BLB0 | 1100 |
32/// | BLB1 | 110000 |
33pub const LOCKBIT: *mut u8 = 0x0 as *mut u8;
34
35/// `HIGH` register
36///
37/// Bitfields:
38///
39/// | Name | Mask (binary) |
40/// | ---- | ------------- |
41/// | BOOTSZ | 110 |
42/// | BOOTRST | 1 |
43/// | DWEN | 1000 |
44/// | CKDIV8 | 10000 |
45pub const HIGH: *mut u8 = 0x1 as *mut u8;
46
47/// Port A Input Pins.
48pub const PINA: *mut u8 = 0x20 as *mut u8;
49
50/// Port A Data Direction Register.
51pub const DDRA: *mut u8 = 0x21 as *mut u8;
52
53/// Port A Data Register.
54pub const PORTA: *mut u8 = 0x22 as *mut u8;
55
56/// Port B Input Pins.
57pub const PINB: *mut u8 = 0x23 as *mut u8;
58
59/// Port B Data Direction Register.
60pub const DDRB: *mut u8 = 0x24 as *mut u8;
61
62/// Port B Data Register.
63pub const PORTB: *mut u8 = 0x25 as *mut u8;
64
65/// Port C Input Pins.
66pub const PINC: *mut u8 = 0x26 as *mut u8;
67
68/// Port C Data Register.
69pub const PORTC: *mut u8 = 0x28 as *mut u8;
70
71/// Timer/Counter Interrupt Flag register.
72///
73/// Bitfields:
74///
75/// | Name | Mask (binary) |
76/// | ---- | ------------- |
77/// | TOV0 | 1 |
78/// | OCF0B | 100 |
79/// | OCF0A | 10 |
80/// | ICF0 | 1000 |
81pub const TIFR0: *mut u8 = 0x35 as *mut u8;
82
83/// Timer/Counter Interrupt Flag register.
84///
85/// Bitfields:
86///
87/// | Name | Mask (binary) |
88/// | ---- | ------------- |
89/// | OCF1B | 100 |
90/// | OCF1A | 10 |
91/// | ICF1 | 1000 |
92/// | TOV1 | 1 |
93pub const TIFR1: *mut u8 = 0x36 as *mut u8;
94
95/// Oscillator Sampling Interface Control and Status Register.
96///
97/// Bitfields:
98///
99/// | Name | Mask (binary) |
100/// | ---- | ------------- |
101/// | OSISEL0 | 10000 |
102/// | OSIEN | 1 |
103/// | OSIST | 10 |
104pub const OSICSR: *mut u8 = 0x37 as *mut u8;
105
106/// Pin Change Interrupt Flag Register.
107///
108/// Bitfields:
109///
110/// | Name | Mask (binary) |
111/// | ---- | ------------- |
112/// | PCIF | 11 |
113pub const PCIFR: *mut u8 = 0x3B as *mut u8;
114
115/// External Interrupt Flag Register.
116///
117/// Bitfields:
118///
119/// | Name | Mask (binary) |
120/// | ---- | ------------- |
121/// | INTF | 1111 |
122pub const EIFR: *mut u8 = 0x3C as *mut u8;
123
124/// External Interrupt Mask Register.
125///
126/// Bitfields:
127///
128/// | Name | Mask (binary) |
129/// | ---- | ------------- |
130/// | INT | 1111 |
131pub const EIMSK: *mut u8 = 0x3D as *mut u8;
132
133/// General Purpose IO Register 0.
134pub const GPIOR0: *mut u8 = 0x3E as *mut u8;
135
136/// EEPROM Control Register.
137///
138/// Bitfields:
139///
140/// | Name | Mask (binary) |
141/// | ---- | ------------- |
142/// | EERIE | 1000 |
143/// | EERE | 1 |
144/// | EEPE | 10 |
145/// | EEMPE | 100 |
146/// | EEPM | 110000 |
147pub const EECR: *mut u8 = 0x3F as *mut u8;
148
149/// EEPROM Data Register.
150pub const EEDR: *mut u8 = 0x40 as *mut u8;
151
152/// EEPROM Read/Write Access low byte.
153pub const EEARL: *mut u8 = 0x41 as *mut u8;
154
155/// EEPROM Read/Write Access.
156pub const EEAR: *mut u16 = 0x41 as *mut u16;
157
158/// EEPROM Read/Write Access high byte.
159pub const EEARH: *mut u8 = 0x42 as *mut u8;
160
161/// General Timer/Counter Control Register.
162///
163/// Bitfields:
164///
165/// | Name | Mask (binary) |
166/// | ---- | ------------- |
167/// | PSRSYNC | 1 |
168/// | TSM | 10000000 |
169pub const GTCCR: *mut u8 = 0x43 as *mut u8;
170
171/// Timer/Counter 0 Control Register A.
172///
173/// Bitfields:
174///
175/// | Name | Mask (binary) |
176/// | ---- | ------------- |
177/// | ICNC0 | 100000 |
178/// | WGM00 | 1 |
179/// | ICEN0 | 1000000 |
180/// | TCW0 | 10000000 |
181/// | ICES0 | 10000 |
182/// | ICS0 | 1000 |
183pub const TCCR0A: *mut u8 = 0x44 as *mut u8;
184
185/// Timer/Counter0 Control Register B.
186///
187/// Bitfields:
188///
189/// | Name | Mask (binary) |
190/// | ---- | ------------- |
191/// | CS01 | 10 |
192/// | CS02 | 100 |
193/// | CS00 | 1 |
194pub const TCCR0B: *mut u8 = 0x45 as *mut u8;
195
196/// Timer Counter 0 Bytes.
197pub const TCNT0: *mut u16 = 0x46 as *mut u16;
198
199/// Timer Counter 0 Bytes low byte.
200pub const TCNT0L: *mut u8 = 0x46 as *mut u8;
201
202/// Timer Counter 0 Bytes high byte.
203pub const TCNT0H: *mut u8 = 0x47 as *mut u8;
204
205/// Output Compare Register A.
206pub const OCR0A: *mut u8 = 0x48 as *mut u8;
207
208/// Output Compare Register B.
209pub const OCR0B: *mut u8 = 0x49 as *mut u8;
210
211/// General Purpose IO Register 1.
212pub const GPIOR1: *mut u8 = 0x4A as *mut u8;
213
214/// General Purpose IO Register 2.
215pub const GPIOR2: *mut u8 = 0x4B as *mut u8;
216
217/// SPI Control Register.
218///
219/// Bitfields:
220///
221/// | Name | Mask (binary) |
222/// | ---- | ------------- |
223/// | DORD | 100000 |
224/// | MSTR | 10000 |
225/// | SPR | 11 |
226/// | SPIE | 10000000 |
227/// | SPE | 1000000 |
228/// | CPOL | 1000 |
229/// | CPHA | 100 |
230pub const SPCR: *mut u8 = 0x4C as *mut u8;
231
232/// SPI Status Register.
233///
234/// Bitfields:
235///
236/// | Name | Mask (binary) |
237/// | ---- | ------------- |
238/// | WCOL | 1000000 |
239/// | SPIF | 10000000 |
240/// | SPI2X | 1 |
241pub const SPSR: *mut u8 = 0x4D as *mut u8;
242
243/// SPI Data Register.
244pub const SPDR: *mut u8 = 0x4E as *mut u8;
245
246/// Sleep Mode Control Register.
247///
248/// Bitfields:
249///
250/// | Name | Mask (binary) |
251/// | ---- | ------------- |
252/// | SM | 1110 |
253/// | SE | 1 |
254pub const SMCR: *mut u8 = 0x53 as *mut u8;
255
256/// MCU Status Register.
257///
258/// Bitfields:
259///
260/// | Name | Mask (binary) |
261/// | ---- | ------------- |
262/// | BODRF | 100 |
263/// | EXTRF | 10 |
264/// | OCDRF | 10000 |
265/// | WDRF | 1000 |
266/// | PORF | 1 |
267pub const MCUSR: *mut u8 = 0x54 as *mut u8;
268
269/// MCU Control Register.
270///
271/// Bitfields:
272///
273/// | Name | Mask (binary) |
274/// | ---- | ------------- |
275/// | IVCE | 1 |
276/// | CKOE | 100000 |
277/// | IVSEL | 10 |
278/// | PUD | 10000 |
279pub const MCUCR: *mut u8 = 0x55 as *mut u8;
280
281/// Store Program Memory Control and Status Register.
282///
283/// Bitfields:
284///
285/// | Name | Mask (binary) |
286/// | ---- | ------------- |
287/// | SPMEN | 1 |
288/// | PGWRT | 100 |
289/// | SPMIE | 10000000 |
290/// | PGERS | 10 |
291/// | SIGRD | 100000 |
292/// | RWWSB | 1000000 |
293/// | LBSET | 1000 |
294/// | RWWSRE | 10000 |
295pub const SPMCSR: *mut u8 = 0x57 as *mut u8;
296
297/// Stack Pointer.
298pub const SP: *mut u16 = 0x5D as *mut u16;
299
300/// Stack Pointer  low byte.
301pub const SPL: *mut u8 = 0x5D as *mut u8;
302
303/// Stack Pointer  high byte.
304pub const SPH: *mut u8 = 0x5E as *mut u8;
305
306/// Status Register.
307///
308/// Bitfields:
309///
310/// | Name | Mask (binary) |
311/// | ---- | ------------- |
312/// | Z | 10 |
313/// | V | 1000 |
314/// | I | 10000000 |
315/// | H | 100000 |
316/// | N | 100 |
317/// | T | 1000000 |
318/// | S | 10000 |
319/// | C | 1 |
320pub const SREG: *mut u8 = 0x5F as *mut u8;
321
322/// Watchdog Timer Control Register.
323///
324/// Bitfields:
325///
326/// | Name | Mask (binary) |
327/// | ---- | ------------- |
328/// | WDP | 100111 |
329/// | WDIE | 1000000 |
330/// | WDIF | 10000000 |
331/// | WDCE | 10000 |
332/// | WDE | 1000 |
333pub const WDTCSR: *mut u8 = 0x60 as *mut u8;
334
335/// Clock Prescale Register.
336///
337/// Bitfields:
338///
339/// | Name | Mask (binary) |
340/// | ---- | ------------- |
341/// | CLKPS | 11 |
342/// | CLKPCE | 10000000 |
343pub const CLKPR: *mut u8 = 0x61 as *mut u8;
344
345/// Power Reduction Register 0.
346///
347/// Bitfields:
348///
349/// | Name | Mask (binary) |
350/// | ---- | ------------- |
351/// | PRSPI | 1000 |
352/// | PRVRM | 100000 |
353/// | PRVADC | 1 |
354/// | PRTIM0 | 10 |
355/// | PRTIM1 | 100 |
356/// | PRTWI | 1000000 |
357pub const PRR0: *mut u8 = 0x64 as *mut u8;
358
359/// Fast Oscillator Calibration Value.
360pub const FOSCCAL: *mut u8 = 0x66 as *mut u8;
361
362/// Pin Change Interrupt Control Register.
363///
364/// Bitfields:
365///
366/// | Name | Mask (binary) |
367/// | ---- | ------------- |
368/// | PCIE | 11 |
369pub const PCICR: *mut u8 = 0x68 as *mut u8;
370
371/// External Interrupt Control Register.
372///
373/// Bitfields:
374///
375/// | Name | Mask (binary) |
376/// | ---- | ------------- |
377/// | ISC0 | 11 |
378/// | ISC2 | 110000 |
379/// | ISC3 | 11000000 |
380/// | ISC1 | 1100 |
381pub const EICRA: *mut u8 = 0x69 as *mut u8;
382
383/// Pin Change Enable Mask Register 0.
384pub const PCMSK0: *mut u8 = 0x6B as *mut u8;
385
386/// Pin Change Enable Mask Register 1.
387pub const PCMSK1: *mut u8 = 0x6C as *mut u8;
388
389/// Timer/Counter Interrupt Mask Register.
390///
391/// Bitfields:
392///
393/// | Name | Mask (binary) |
394/// | ---- | ------------- |
395/// | TOIE0 | 1 |
396/// | ICIE0 | 1000 |
397/// | OCIE0A | 10 |
398/// | OCIE0B | 100 |
399pub const TIMSK0: *mut u8 = 0x6E as *mut u8;
400
401/// Timer/Counter Interrupt Mask Register.
402///
403/// Bitfields:
404///
405/// | Name | Mask (binary) |
406/// | ---- | ------------- |
407/// | TOIE1 | 1 |
408/// | OCIE1A | 10 |
409/// | OCIE1B | 100 |
410/// | ICIE1 | 1000 |
411pub const TIMSK1: *mut u8 = 0x6F as *mut u8;
412
413/// VADC Data Register Bytes low byte.
414pub const VADCL: *mut u8 = 0x78 as *mut u8;
415
416/// VADC Data Register Bytes.
417pub const VADC: *mut u16 = 0x78 as *mut u16;
418
419/// VADC Data Register Bytes high byte.
420pub const VADCH: *mut u8 = 0x79 as *mut u8;
421
422/// The VADC Control and Status register.
423///
424/// Bitfields:
425///
426/// | Name | Mask (binary) |
427/// | ---- | ------------- |
428/// | VADCCIF | 10 |
429/// | VADEN | 1000 |
430/// | VADSC | 100 |
431/// | VADCCIE | 1 |
432pub const VADCSR: *mut u8 = 0x7A as *mut u8;
433
434/// The VADC multiplexer Selection Register.
435pub const VADMUX: *mut u8 = 0x7C as *mut u8;
436
437/// Digital Input Disable Register.
438///
439/// Bitfields:
440///
441/// | Name | Mask (binary) |
442/// | ---- | ------------- |
443/// | PA1DID | 10 |
444/// | PA0DID | 1 |
445pub const DIDR0: *mut u8 = 0x7E as *mut u8;
446
447/// Timer/Counter 1 Control Register A.
448///
449/// Bitfields:
450///
451/// | Name | Mask (binary) |
452/// | ---- | ------------- |
453/// | ICNC1 | 100000 |
454/// | WGM10 | 1 |
455/// | TCW1 | 10000000 |
456/// | ICS1 | 1000 |
457/// | ICEN1 | 1000000 |
458/// | ICES1 | 10000 |
459pub const TCCR1A: *mut u8 = 0x80 as *mut u8;
460
461/// Timer/Counter1 Control Register B.
462///
463/// Bitfields:
464///
465/// | Name | Mask (binary) |
466/// | ---- | ------------- |
467/// | CS | 111 |
468pub const TCCR1B: *mut u8 = 0x81 as *mut u8;
469
470/// Timer Counter 1 Bytes low byte.
471pub const TCNT1L: *mut u8 = 0x84 as *mut u8;
472
473/// Timer Counter 1 Bytes.
474pub const TCNT1: *mut u16 = 0x84 as *mut u16;
475
476/// Timer Counter 1 Bytes high byte.
477pub const TCNT1H: *mut u8 = 0x85 as *mut u8;
478
479/// Output Compare Register 1A.
480pub const OCR1A: *mut u8 = 0x88 as *mut u8;
481
482/// Output Compare Register B.
483pub const OCR1B: *mut u8 = 0x89 as *mut u8;
484
485/// TWI Bit Rate register.
486pub const TWBR: *mut u8 = 0xB8 as *mut u8;
487
488/// TWI Status Register.
489///
490/// Bitfields:
491///
492/// | Name | Mask (binary) |
493/// | ---- | ------------- |
494/// | TWS | 11111000 |
495/// | TWPS | 11 |
496pub const TWSR: *mut u8 = 0xB9 as *mut u8;
497
498/// TWI (Slave) Address register.
499///
500/// Bitfields:
501///
502/// | Name | Mask (binary) |
503/// | ---- | ------------- |
504/// | TWGCE | 1 |
505/// | TWA | 11111110 |
506pub const TWAR: *mut u8 = 0xBA as *mut u8;
507
508/// TWI Data register.
509pub const TWDR: *mut u8 = 0xBB as *mut u8;
510
511/// TWI Control Register.
512///
513/// Bitfields:
514///
515/// | Name | Mask (binary) |
516/// | ---- | ------------- |
517/// | TWSTO | 10000 |
518/// | TWSTA | 100000 |
519/// | TWEA | 1000000 |
520/// | TWIE | 1 |
521/// | TWEN | 100 |
522/// | TWINT | 10000000 |
523/// | TWWC | 1000 |
524pub const TWCR: *mut u8 = 0xBC as *mut u8;
525
526/// TWI (Slave) Address Mask Register.
527///
528/// Bitfields:
529///
530/// | Name | Mask (binary) |
531/// | ---- | ------------- |
532/// | TWAM | 11111110 |
533pub const TWAMR: *mut u8 = 0xBD as *mut u8;
534
535/// TWI Bus Control and Status Register.
536///
537/// Bitfields:
538///
539/// | Name | Mask (binary) |
540/// | ---- | ------------- |
541/// | TWBCIF | 10000000 |
542/// | TWBCIE | 1000000 |
543/// | TWBCIP | 1 |
544/// | TWBDT | 110 |
545pub const TWBCSR: *mut u8 = 0xBE as *mut u8;
546
547/// Regulator Operating Condition Register.
548///
549/// Bitfields:
550///
551/// | Name | Mask (binary) |
552/// | ---- | ------------- |
553/// | ROCWIE | 1 |
554/// | ROCD | 10000 |
555/// | ROCWIF | 10 |
556/// | ROCS | 10000000 |
557pub const ROCR: *mut u8 = 0xC8 as *mut u8;
558
559/// Bandgap Calibration Register.
560///
561/// Bitfields:
562///
563/// | Name | Mask (binary) |
564/// | ---- | ------------- |
565/// | BGCC | 111111 |
566pub const BGCCR: *mut u8 = 0xD0 as *mut u8;
567
568/// Bandgap Calibration of Resistor Ladder.
569pub const BGCRR: *mut u8 = 0xD1 as *mut u8;
570
571/// Bandgap Control and Status Register.
572///
573/// Bitfields:
574///
575/// | Name | Mask (binary) |
576/// | ---- | ------------- |
577/// | BGSCDIE | 1 |
578/// | BGSCDIF | 10 |
579/// | BGD | 100000 |
580/// | BGSCDE | 10000 |
581pub const BGCSR: *mut u8 = 0xD2 as *mut u8;
582
583/// Charger Detect Control and Status Register.
584///
585/// Bitfields:
586///
587/// | Name | Mask (binary) |
588/// | ---- | ------------- |
589/// | BATTPVL | 10000 |
590/// | CHGDIF | 10 |
591/// | CHGDIE | 1 |
592/// | CHGDISC | 1100 |
593pub const CHGDCSR: *mut u8 = 0xD4 as *mut u8;
594
595/// ADC Accumulate Current.
596pub const CADAC0: *mut u8 = 0xE0 as *mut u8;
597
598/// ADC Accumulate Current.
599pub const CADAC1: *mut u8 = 0xE1 as *mut u8;
600
601/// ADC Accumulate Current.
602pub const CADAC2: *mut u8 = 0xE2 as *mut u8;
603
604/// ADC Accumulate Current.
605pub const CADAC3: *mut u8 = 0xE3 as *mut u8;
606
607/// CC-ADC Instantaneous Current low byte.
608pub const CADICL: *mut u8 = 0xE4 as *mut u8;
609
610/// CC-ADC Instantaneous Current.
611pub const CADIC: *mut u16 = 0xE4 as *mut u16;
612
613/// CC-ADC Instantaneous Current high byte.
614pub const CADICH: *mut u8 = 0xE5 as *mut u8;
615
616/// CC-ADC Control and Status Register A.
617///
618/// Bitfields:
619///
620/// | Name | Mask (binary) |
621/// | ---- | ------------- |
622/// | CADPOL | 1000000 |
623/// | CADEN | 10000000 |
624/// | CADAS | 11000 |
625/// | CADSE | 1 |
626/// | CADUB | 100000 |
627/// | CADSI | 110 |
628pub const CADCSRA: *mut u8 = 0xE6 as *mut u8;
629
630/// CC-ADC Control and Status Register B.
631///
632/// Bitfields:
633///
634/// | Name | Mask (binary) |
635/// | ---- | ------------- |
636/// | CADICIF | 1 |
637/// | CADACIF | 100 |
638/// | CADACIE | 1000000 |
639/// | CADRCIE | 100000 |
640/// | CADICIE | 10000 |
641/// | CADRCIF | 10 |
642pub const CADCSRB: *mut u8 = 0xE7 as *mut u8;
643
644/// CC-ADC Control and Status Register C.
645///
646/// Bitfields:
647///
648/// | Name | Mask (binary) |
649/// | ---- | ------------- |
650/// | CADVSE | 1 |
651pub const CADCSRC: *mut u8 = 0xE8 as *mut u8;
652
653/// CC-ADC Regular Charge Current.
654pub const CADRCC: *mut u8 = 0xE9 as *mut u8;
655
656/// CC-ADC Regular Discharge Current.
657pub const CADRDC: *mut u8 = 0xEA as *mut u8;
658
659/// FET Control and Status Register.
660///
661/// Bitfields:
662///
663/// | Name | Mask (binary) |
664/// | ---- | ------------- |
665/// | CFE | 1 |
666/// | CPS | 100 |
667/// | DFE | 10 |
668/// | DUVRD | 1000 |
669pub const FCSR: *mut u8 = 0xF0 as *mut u8;
670
671/// Cell Balancing Control Register.
672///
673/// Bitfields:
674///
675/// | Name | Mask (binary) |
676/// | ---- | ------------- |
677/// | CBE | 1111 |
678pub const CBCR: *mut u8 = 0xF1 as *mut u8;
679
680/// Battery Protection Interrupt Mask Register.
681///
682/// Bitfields:
683///
684/// | Name | Mask (binary) |
685/// | ---- | ------------- |
686/// | DHCIE | 10 |
687/// | DOCIE | 1000 |
688/// | SCIE | 10000 |
689/// | COCIE | 100 |
690/// | CHCIE | 1 |
691pub const BPIMSK: *mut u8 = 0xF2 as *mut u8;
692
693/// Battery Protection Interrupt Flag Register.
694///
695/// Bitfields:
696///
697/// | Name | Mask (binary) |
698/// | ---- | ------------- |
699/// | CHCIF | 1 |
700/// | COCIF | 100 |
701/// | DOCIF | 1000 |
702/// | SCIF | 10000 |
703/// | DHCIF | 10 |
704pub const BPIFR: *mut u8 = 0xF3 as *mut u8;
705
706/// Battery Protection Short-Circuit Detection Level Register.
707pub const BPSCD: *mut u8 = 0xF5 as *mut u8;
708
709/// Battery Protection Discharge-Over-current Detection Level Register.
710pub const BPDOCD: *mut u8 = 0xF6 as *mut u8;
711
712/// Battery Protection Charge-Over-current Detection Level Register.
713pub const BPCOCD: *mut u8 = 0xF7 as *mut u8;
714
715/// Battery Protection Discharge-High-current Detection Level Register.
716pub const BPDHCD: *mut u8 = 0xF8 as *mut u8;
717
718/// Battery Protection Charge-High-current Detection Level Register.
719pub const BPCHCD: *mut u8 = 0xF9 as *mut u8;
720
721/// Battery Protection Short-current Timing Register.
722///
723/// Bitfields:
724///
725/// | Name | Mask (binary) |
726/// | ---- | ------------- |
727/// | SCPT | 1111111 |
728pub const BPSCTR: *mut u8 = 0xFA as *mut u8;
729
730/// Battery Protection Over-current Timing Register.
731///
732/// Bitfields:
733///
734/// | Name | Mask (binary) |
735/// | ---- | ------------- |
736/// | OCPT | 111111 |
737pub const BPOCTR: *mut u8 = 0xFB as *mut u8;
738
739/// Battery Protection Short-current Timing Register.
740///
741/// Bitfields:
742///
743/// | Name | Mask (binary) |
744/// | ---- | ------------- |
745/// | HCPT | 111111 |
746pub const BPHCTR: *mut u8 = 0xFC as *mut u8;
747
748/// Battery Protection Control Register.
749///
750/// Bitfields:
751///
752/// | Name | Mask (binary) |
753/// | ---- | ------------- |
754/// | SCD | 10000 |
755/// | COCD | 100 |
756/// | EPID | 100000 |
757/// | DHCD | 10 |
758/// | DOCD | 1000 |
759/// | CHCD | 1 |
760pub const BPCR: *mut u8 = 0xFD as *mut u8;
761
762/// Battery Protection Parameter Lock Register.
763///
764/// Bitfields:
765///
766/// | Name | Mask (binary) |
767/// | ---- | ------------- |
768/// | BPPL | 1 |
769/// | BPPLE | 10 |
770pub const BPPLR: *mut u8 = 0xFE as *mut u8;
771
772/// Bitfield on register `BGCCR`
773pub const BGCC: *mut u8 = 0x3F as *mut u8;
774
775/// Bitfield on register `BGCSR`
776pub const BGSCDIE: *mut u8 = 0x1 as *mut u8;
777
778/// Bitfield on register `BGCSR`
779pub const BGSCDIF: *mut u8 = 0x2 as *mut u8;
780
781/// Bitfield on register `BGCSR`
782pub const BGD: *mut u8 = 0x20 as *mut u8;
783
784/// Bitfield on register `BGCSR`
785pub const BGSCDE: *mut u8 = 0x10 as *mut u8;
786
787/// Bitfield on register `BPCR`
788pub const SCD: *mut u8 = 0x10 as *mut u8;
789
790/// Bitfield on register `BPCR`
791pub const COCD: *mut u8 = 0x4 as *mut u8;
792
793/// Bitfield on register `BPCR`
794pub const EPID: *mut u8 = 0x20 as *mut u8;
795
796/// Bitfield on register `BPCR`
797pub const DHCD: *mut u8 = 0x2 as *mut u8;
798
799/// Bitfield on register `BPCR`
800pub const DOCD: *mut u8 = 0x8 as *mut u8;
801
802/// Bitfield on register `BPCR`
803pub const CHCD: *mut u8 = 0x1 as *mut u8;
804
805/// Bitfield on register `BPHCTR`
806pub const HCPT: *mut u8 = 0x3F as *mut u8;
807
808/// Bitfield on register `BPIFR`
809pub const CHCIF: *mut u8 = 0x1 as *mut u8;
810
811/// Bitfield on register `BPIFR`
812pub const COCIF: *mut u8 = 0x4 as *mut u8;
813
814/// Bitfield on register `BPIFR`
815pub const DOCIF: *mut u8 = 0x8 as *mut u8;
816
817/// Bitfield on register `BPIFR`
818pub const SCIF: *mut u8 = 0x10 as *mut u8;
819
820/// Bitfield on register `BPIFR`
821pub const DHCIF: *mut u8 = 0x2 as *mut u8;
822
823/// Bitfield on register `BPIMSK`
824pub const DHCIE: *mut u8 = 0x2 as *mut u8;
825
826/// Bitfield on register `BPIMSK`
827pub const DOCIE: *mut u8 = 0x8 as *mut u8;
828
829/// Bitfield on register `BPIMSK`
830pub const SCIE: *mut u8 = 0x10 as *mut u8;
831
832/// Bitfield on register `BPIMSK`
833pub const COCIE: *mut u8 = 0x4 as *mut u8;
834
835/// Bitfield on register `BPIMSK`
836pub const CHCIE: *mut u8 = 0x1 as *mut u8;
837
838/// Bitfield on register `BPOCTR`
839pub const OCPT: *mut u8 = 0x3F as *mut u8;
840
841/// Bitfield on register `BPPLR`
842pub const BPPL: *mut u8 = 0x1 as *mut u8;
843
844/// Bitfield on register `BPPLR`
845pub const BPPLE: *mut u8 = 0x2 as *mut u8;
846
847/// Bitfield on register `BPSCTR`
848pub const SCPT: *mut u8 = 0x7F as *mut u8;
849
850/// Bitfield on register `CADCSRA`
851pub const CADPOL: *mut u8 = 0x40 as *mut u8;
852
853/// Bitfield on register `CADCSRA`
854pub const CADEN: *mut u8 = 0x80 as *mut u8;
855
856/// Bitfield on register `CADCSRA`
857pub const CADAS: *mut u8 = 0x18 as *mut u8;
858
859/// Bitfield on register `CADCSRA`
860pub const CADSE: *mut u8 = 0x1 as *mut u8;
861
862/// Bitfield on register `CADCSRA`
863pub const CADUB: *mut u8 = 0x20 as *mut u8;
864
865/// Bitfield on register `CADCSRA`
866pub const CADSI: *mut u8 = 0x6 as *mut u8;
867
868/// Bitfield on register `CADCSRB`
869pub const CADICIF: *mut u8 = 0x1 as *mut u8;
870
871/// Bitfield on register `CADCSRB`
872pub const CADACIF: *mut u8 = 0x4 as *mut u8;
873
874/// Bitfield on register `CADCSRB`
875pub const CADACIE: *mut u8 = 0x40 as *mut u8;
876
877/// Bitfield on register `CADCSRB`
878pub const CADRCIE: *mut u8 = 0x20 as *mut u8;
879
880/// Bitfield on register `CADCSRB`
881pub const CADICIE: *mut u8 = 0x10 as *mut u8;
882
883/// Bitfield on register `CADCSRB`
884pub const CADRCIF: *mut u8 = 0x2 as *mut u8;
885
886/// Bitfield on register `CADCSRC`
887pub const CADVSE: *mut u8 = 0x1 as *mut u8;
888
889/// Bitfield on register `CBCR`
890pub const CBE: *mut u8 = 0xF as *mut u8;
891
892/// Bitfield on register `CHGDCSR`
893pub const BATTPVL: *mut u8 = 0x10 as *mut u8;
894
895/// Bitfield on register `CHGDCSR`
896pub const CHGDIF: *mut u8 = 0x2 as *mut u8;
897
898/// Bitfield on register `CHGDCSR`
899pub const CHGDIE: *mut u8 = 0x1 as *mut u8;
900
901/// Bitfield on register `CHGDCSR`
902pub const CHGDISC: *mut u8 = 0xC as *mut u8;
903
904/// Bitfield on register `CLKPR`
905pub const CLKPS: *mut u8 = 0x3 as *mut u8;
906
907/// Bitfield on register `CLKPR`
908pub const CLKPCE: *mut u8 = 0x80 as *mut u8;
909
910/// Bitfield on register `DIDR0`
911pub const PA1DID: *mut u8 = 0x2 as *mut u8;
912
913/// Bitfield on register `DIDR0`
914pub const PA0DID: *mut u8 = 0x1 as *mut u8;
915
916/// Bitfield on register `EECR`
917pub const EERIE: *mut u8 = 0x8 as *mut u8;
918
919/// Bitfield on register `EECR`
920pub const EERE: *mut u8 = 0x1 as *mut u8;
921
922/// Bitfield on register `EECR`
923pub const EEPE: *mut u8 = 0x2 as *mut u8;
924
925/// Bitfield on register `EECR`
926pub const EEMPE: *mut u8 = 0x4 as *mut u8;
927
928/// Bitfield on register `EECR`
929pub const EEPM: *mut u8 = 0x30 as *mut u8;
930
931/// Bitfield on register `EICRA`
932pub const ISC0: *mut u8 = 0x3 as *mut u8;
933
934/// Bitfield on register `EICRA`
935pub const ISC2: *mut u8 = 0x30 as *mut u8;
936
937/// Bitfield on register `EICRA`
938pub const ISC3: *mut u8 = 0xC0 as *mut u8;
939
940/// Bitfield on register `EICRA`
941pub const ISC1: *mut u8 = 0xC as *mut u8;
942
943/// Bitfield on register `EIFR`
944pub const INTF: *mut u8 = 0xF as *mut u8;
945
946/// Bitfield on register `EIMSK`
947pub const INT: *mut u8 = 0xF as *mut u8;
948
949/// Bitfield on register `FCSR`
950pub const CFE: *mut u8 = 0x1 as *mut u8;
951
952/// Bitfield on register `FCSR`
953pub const CPS: *mut u8 = 0x4 as *mut u8;
954
955/// Bitfield on register `FCSR`
956pub const DFE: *mut u8 = 0x2 as *mut u8;
957
958/// Bitfield on register `FCSR`
959pub const DUVRD: *mut u8 = 0x8 as *mut u8;
960
961/// Bitfield on register `GTCCR`
962pub const PSRSYNC: *mut u8 = 0x1 as *mut u8;
963
964/// Bitfield on register `GTCCR`
965pub const TSM: *mut u8 = 0x80 as *mut u8;
966
967/// Bitfield on register `HIGH`
968pub const BOOTSZ: *mut u8 = 0x6 as *mut u8;
969
970/// Bitfield on register `HIGH`
971pub const BOOTRST: *mut u8 = 0x1 as *mut u8;
972
973/// Bitfield on register `HIGH`
974pub const DWEN: *mut u8 = 0x8 as *mut u8;
975
976/// Bitfield on register `HIGH`
977pub const CKDIV8: *mut u8 = 0x10 as *mut u8;
978
979/// Bitfield on register `LOCKBIT`
980pub const LB: *mut u8 = 0x3 as *mut u8;
981
982/// Bitfield on register `LOCKBIT`
983pub const BLB0: *mut u8 = 0xC as *mut u8;
984
985/// Bitfield on register `LOCKBIT`
986pub const BLB1: *mut u8 = 0x30 as *mut u8;
987
988/// Bitfield on register `LOW`
989pub const EESAVE: *mut u8 = 0x40 as *mut u8;
990
991/// Bitfield on register `LOW`
992pub const WDTON: *mut u8 = 0x80 as *mut u8;
993
994/// Bitfield on register `LOW`
995pub const SPIEN: *mut u8 = 0x20 as *mut u8;
996
997/// Bitfield on register `LOW`
998pub const OSCSEL: *mut u8 = 0x3 as *mut u8;
999
1000/// Bitfield on register `LOW`
1001pub const SUT: *mut u8 = 0x1C as *mut u8;
1002
1003/// Bitfield on register `MCUCR`
1004pub const IVCE: *mut u8 = 0x1 as *mut u8;
1005
1006/// Bitfield on register `MCUCR`
1007pub const CKOE: *mut u8 = 0x20 as *mut u8;
1008
1009/// Bitfield on register `MCUCR`
1010pub const IVSEL: *mut u8 = 0x2 as *mut u8;
1011
1012/// Bitfield on register `MCUCR`
1013pub const PUD: *mut u8 = 0x10 as *mut u8;
1014
1015/// Bitfield on register `MCUSR`
1016pub const BODRF: *mut u8 = 0x4 as *mut u8;
1017
1018/// Bitfield on register `MCUSR`
1019pub const EXTRF: *mut u8 = 0x2 as *mut u8;
1020
1021/// Bitfield on register `MCUSR`
1022pub const OCDRF: *mut u8 = 0x10 as *mut u8;
1023
1024/// Bitfield on register `MCUSR`
1025pub const WDRF: *mut u8 = 0x8 as *mut u8;
1026
1027/// Bitfield on register `MCUSR`
1028pub const PORF: *mut u8 = 0x1 as *mut u8;
1029
1030/// Bitfield on register `OSICSR`
1031pub const OSISEL0: *mut u8 = 0x10 as *mut u8;
1032
1033/// Bitfield on register `OSICSR`
1034pub const OSIEN: *mut u8 = 0x1 as *mut u8;
1035
1036/// Bitfield on register `OSICSR`
1037pub const OSIST: *mut u8 = 0x2 as *mut u8;
1038
1039/// Bitfield on register `PCICR`
1040pub const PCIE: *mut u8 = 0x3 as *mut u8;
1041
1042/// Bitfield on register `PCIFR`
1043pub const PCIF: *mut u8 = 0x3 as *mut u8;
1044
1045/// Bitfield on register `PRR0`
1046pub const PRSPI: *mut u8 = 0x8 as *mut u8;
1047
1048/// Bitfield on register `PRR0`
1049pub const PRVRM: *mut u8 = 0x20 as *mut u8;
1050
1051/// Bitfield on register `PRR0`
1052pub const PRVADC: *mut u8 = 0x1 as *mut u8;
1053
1054/// Bitfield on register `PRR0`
1055pub const PRTIM0: *mut u8 = 0x2 as *mut u8;
1056
1057/// Bitfield on register `PRR0`
1058pub const PRTIM1: *mut u8 = 0x4 as *mut u8;
1059
1060/// Bitfield on register `PRR0`
1061pub const PRTWI: *mut u8 = 0x40 as *mut u8;
1062
1063/// Bitfield on register `ROCR`
1064pub const ROCWIE: *mut u8 = 0x1 as *mut u8;
1065
1066/// Bitfield on register `ROCR`
1067pub const ROCD: *mut u8 = 0x10 as *mut u8;
1068
1069/// Bitfield on register `ROCR`
1070pub const ROCWIF: *mut u8 = 0x2 as *mut u8;
1071
1072/// Bitfield on register `ROCR`
1073pub const ROCS: *mut u8 = 0x80 as *mut u8;
1074
1075/// Bitfield on register `SMCR`
1076pub const SM: *mut u8 = 0xE as *mut u8;
1077
1078/// Bitfield on register `SMCR`
1079pub const SE: *mut u8 = 0x1 as *mut u8;
1080
1081/// Bitfield on register `SPCR`
1082pub const DORD: *mut u8 = 0x20 as *mut u8;
1083
1084/// Bitfield on register `SPCR`
1085pub const MSTR: *mut u8 = 0x10 as *mut u8;
1086
1087/// Bitfield on register `SPCR`
1088pub const SPR: *mut u8 = 0x3 as *mut u8;
1089
1090/// Bitfield on register `SPCR`
1091pub const SPIE: *mut u8 = 0x80 as *mut u8;
1092
1093/// Bitfield on register `SPCR`
1094pub const SPE: *mut u8 = 0x40 as *mut u8;
1095
1096/// Bitfield on register `SPCR`
1097pub const CPOL: *mut u8 = 0x8 as *mut u8;
1098
1099/// Bitfield on register `SPCR`
1100pub const CPHA: *mut u8 = 0x4 as *mut u8;
1101
1102/// Bitfield on register `SPMCSR`
1103pub const SPMEN: *mut u8 = 0x1 as *mut u8;
1104
1105/// Bitfield on register `SPMCSR`
1106pub const PGWRT: *mut u8 = 0x4 as *mut u8;
1107
1108/// Bitfield on register `SPMCSR`
1109pub const SPMIE: *mut u8 = 0x80 as *mut u8;
1110
1111/// Bitfield on register `SPMCSR`
1112pub const PGERS: *mut u8 = 0x2 as *mut u8;
1113
1114/// Bitfield on register `SPMCSR`
1115pub const SIGRD: *mut u8 = 0x20 as *mut u8;
1116
1117/// Bitfield on register `SPMCSR`
1118pub const RWWSB: *mut u8 = 0x40 as *mut u8;
1119
1120/// Bitfield on register `SPMCSR`
1121pub const LBSET: *mut u8 = 0x8 as *mut u8;
1122
1123/// Bitfield on register `SPMCSR`
1124pub const RWWSRE: *mut u8 = 0x10 as *mut u8;
1125
1126/// Bitfield on register `SPSR`
1127pub const WCOL: *mut u8 = 0x40 as *mut u8;
1128
1129/// Bitfield on register `SPSR`
1130pub const SPIF: *mut u8 = 0x80 as *mut u8;
1131
1132/// Bitfield on register `SPSR`
1133pub const SPI2X: *mut u8 = 0x1 as *mut u8;
1134
1135/// Bitfield on register `SREG`
1136pub const Z: *mut u8 = 0x2 as *mut u8;
1137
1138/// Bitfield on register `SREG`
1139pub const V: *mut u8 = 0x8 as *mut u8;
1140
1141/// Bitfield on register `SREG`
1142pub const I: *mut u8 = 0x80 as *mut u8;
1143
1144/// Bitfield on register `SREG`
1145pub const H: *mut u8 = 0x20 as *mut u8;
1146
1147/// Bitfield on register `SREG`
1148pub const N: *mut u8 = 0x4 as *mut u8;
1149
1150/// Bitfield on register `SREG`
1151pub const T: *mut u8 = 0x40 as *mut u8;
1152
1153/// Bitfield on register `SREG`
1154pub const S: *mut u8 = 0x10 as *mut u8;
1155
1156/// Bitfield on register `SREG`
1157pub const C: *mut u8 = 0x1 as *mut u8;
1158
1159/// Bitfield on register `TCCR0A`
1160pub const ICNC0: *mut u8 = 0x20 as *mut u8;
1161
1162/// Bitfield on register `TCCR0A`
1163pub const WGM00: *mut u8 = 0x1 as *mut u8;
1164
1165/// Bitfield on register `TCCR0A`
1166pub const ICEN0: *mut u8 = 0x40 as *mut u8;
1167
1168/// Bitfield on register `TCCR0A`
1169pub const TCW0: *mut u8 = 0x80 as *mut u8;
1170
1171/// Bitfield on register `TCCR0A`
1172pub const ICES0: *mut u8 = 0x10 as *mut u8;
1173
1174/// Bitfield on register `TCCR0A`
1175pub const ICS0: *mut u8 = 0x8 as *mut u8;
1176
1177/// Bitfield on register `TCCR0B`
1178pub const CS01: *mut u8 = 0x2 as *mut u8;
1179
1180/// Bitfield on register `TCCR0B`
1181pub const CS02: *mut u8 = 0x4 as *mut u8;
1182
1183/// Bitfield on register `TCCR0B`
1184pub const CS00: *mut u8 = 0x1 as *mut u8;
1185
1186/// Bitfield on register `TCCR1A`
1187pub const ICNC1: *mut u8 = 0x20 as *mut u8;
1188
1189/// Bitfield on register `TCCR1A`
1190pub const WGM10: *mut u8 = 0x1 as *mut u8;
1191
1192/// Bitfield on register `TCCR1A`
1193pub const TCW1: *mut u8 = 0x80 as *mut u8;
1194
1195/// Bitfield on register `TCCR1A`
1196pub const ICS1: *mut u8 = 0x8 as *mut u8;
1197
1198/// Bitfield on register `TCCR1A`
1199pub const ICEN1: *mut u8 = 0x40 as *mut u8;
1200
1201/// Bitfield on register `TCCR1A`
1202pub const ICES1: *mut u8 = 0x10 as *mut u8;
1203
1204/// Bitfield on register `TCCR1B`
1205pub const CS: *mut u8 = 0x7 as *mut u8;
1206
1207/// Bitfield on register `TIFR0`
1208pub const TOV0: *mut u8 = 0x1 as *mut u8;
1209
1210/// Bitfield on register `TIFR0`
1211pub const OCF0B: *mut u8 = 0x4 as *mut u8;
1212
1213/// Bitfield on register `TIFR0`
1214pub const OCF0A: *mut u8 = 0x2 as *mut u8;
1215
1216/// Bitfield on register `TIFR0`
1217pub const ICF0: *mut u8 = 0x8 as *mut u8;
1218
1219/// Bitfield on register `TIFR1`
1220pub const OCF1B: *mut u8 = 0x4 as *mut u8;
1221
1222/// Bitfield on register `TIFR1`
1223pub const OCF1A: *mut u8 = 0x2 as *mut u8;
1224
1225/// Bitfield on register `TIFR1`
1226pub const ICF1: *mut u8 = 0x8 as *mut u8;
1227
1228/// Bitfield on register `TIFR1`
1229pub const TOV1: *mut u8 = 0x1 as *mut u8;
1230
1231/// Bitfield on register `TIMSK0`
1232pub const TOIE0: *mut u8 = 0x1 as *mut u8;
1233
1234/// Bitfield on register `TIMSK0`
1235pub const ICIE0: *mut u8 = 0x8 as *mut u8;
1236
1237/// Bitfield on register `TIMSK0`
1238pub const OCIE0A: *mut u8 = 0x2 as *mut u8;
1239
1240/// Bitfield on register `TIMSK0`
1241pub const OCIE0B: *mut u8 = 0x4 as *mut u8;
1242
1243/// Bitfield on register `TIMSK1`
1244pub const TOIE1: *mut u8 = 0x1 as *mut u8;
1245
1246/// Bitfield on register `TIMSK1`
1247pub const OCIE1A: *mut u8 = 0x2 as *mut u8;
1248
1249/// Bitfield on register `TIMSK1`
1250pub const OCIE1B: *mut u8 = 0x4 as *mut u8;
1251
1252/// Bitfield on register `TIMSK1`
1253pub const ICIE1: *mut u8 = 0x8 as *mut u8;
1254
1255/// Bitfield on register `TWAMR`
1256pub const TWAM: *mut u8 = 0xFE as *mut u8;
1257
1258/// Bitfield on register `TWAR`
1259pub const TWGCE: *mut u8 = 0x1 as *mut u8;
1260
1261/// Bitfield on register `TWAR`
1262pub const TWA: *mut u8 = 0xFE as *mut u8;
1263
1264/// Bitfield on register `TWBCSR`
1265pub const TWBCIF: *mut u8 = 0x80 as *mut u8;
1266
1267/// Bitfield on register `TWBCSR`
1268pub const TWBCIE: *mut u8 = 0x40 as *mut u8;
1269
1270/// Bitfield on register `TWBCSR`
1271pub const TWBCIP: *mut u8 = 0x1 as *mut u8;
1272
1273/// Bitfield on register `TWBCSR`
1274pub const TWBDT: *mut u8 = 0x6 as *mut u8;
1275
1276/// Bitfield on register `TWCR`
1277pub const TWSTO: *mut u8 = 0x10 as *mut u8;
1278
1279/// Bitfield on register `TWCR`
1280pub const TWSTA: *mut u8 = 0x20 as *mut u8;
1281
1282/// Bitfield on register `TWCR`
1283pub const TWEA: *mut u8 = 0x40 as *mut u8;
1284
1285/// Bitfield on register `TWCR`
1286pub const TWIE: *mut u8 = 0x1 as *mut u8;
1287
1288/// Bitfield on register `TWCR`
1289pub const TWEN: *mut u8 = 0x4 as *mut u8;
1290
1291/// Bitfield on register `TWCR`
1292pub const TWINT: *mut u8 = 0x80 as *mut u8;
1293
1294/// Bitfield on register `TWCR`
1295pub const TWWC: *mut u8 = 0x8 as *mut u8;
1296
1297/// Bitfield on register `TWSR`
1298pub const TWS: *mut u8 = 0xF8 as *mut u8;
1299
1300/// Bitfield on register `TWSR`
1301pub const TWPS: *mut u8 = 0x3 as *mut u8;
1302
1303/// Bitfield on register `VADCSR`
1304pub const VADCCIF: *mut u8 = 0x2 as *mut u8;
1305
1306/// Bitfield on register `VADCSR`
1307pub const VADEN: *mut u8 = 0x8 as *mut u8;
1308
1309/// Bitfield on register `VADCSR`
1310pub const VADSC: *mut u8 = 0x4 as *mut u8;
1311
1312/// Bitfield on register `VADCSR`
1313pub const VADCCIE: *mut u8 = 0x1 as *mut u8;
1314
1315/// Bitfield on register `WDTCSR`
1316pub const WDP: *mut u8 = 0x27 as *mut u8;
1317
1318/// Bitfield on register `WDTCSR`
1319pub const WDIE: *mut u8 = 0x40 as *mut u8;
1320
1321/// Bitfield on register `WDTCSR`
1322pub const WDIF: *mut u8 = 0x80 as *mut u8;
1323
1324/// Bitfield on register `WDTCSR`
1325pub const WDCE: *mut u8 = 0x10 as *mut u8;
1326
1327/// Bitfield on register `WDTCSR`
1328pub const WDE: *mut u8 = 0x8 as *mut u8;
1329
1330/// `CLK_SEL_3BIT_EXT` value group
1331#[allow(non_upper_case_globals)]
1332pub mod clk_sel_3bit_ext {
1333   /// No Clock Source (Stopped).
1334   pub const VAL_0x00: u32 = 0x0;
1335   /// Running, No Prescaling.
1336   pub const VAL_0x01: u32 = 0x1;
1337   /// Running, CLK/8.
1338   pub const VAL_0x02: u32 = 0x2;
1339   /// Running, CLK/64.
1340   pub const VAL_0x03: u32 = 0x3;
1341   /// Running, CLK/256.
1342   pub const VAL_0x04: u32 = 0x4;
1343   /// Running, CLK/1024.
1344   pub const VAL_0x05: u32 = 0x5;
1345   /// Running, ExtClk Tx Falling Edge.
1346   pub const VAL_0x06: u32 = 0x6;
1347   /// Running, ExtClk Tx Rising Edge.
1348   pub const VAL_0x07: u32 = 0x7;
1349}
1350
1351/// `COMM_SCK_RATE_3BIT` value group
1352#[allow(non_upper_case_globals)]
1353pub mod comm_sck_rate_3bit {
1354   /// fosc/4.
1355   pub const VAL_0x00: u32 = 0x0;
1356   /// fosc/16.
1357   pub const VAL_0x01: u32 = 0x1;
1358   /// fosc/64.
1359   pub const VAL_0x02: u32 = 0x2;
1360   /// fosc/128.
1361   pub const VAL_0x03: u32 = 0x3;
1362   /// fosc/2.
1363   pub const VAL_0x04: u32 = 0x4;
1364   /// fosc/8.
1365   pub const VAL_0x05: u32 = 0x5;
1366   /// fosc/32.
1367   pub const VAL_0x06: u32 = 0x6;
1368   /// fosc/64.
1369   pub const VAL_0x07: u32 = 0x7;
1370}
1371
1372/// `COMM_TWI_PRESACLE` value group
1373#[allow(non_upper_case_globals)]
1374pub mod comm_twi_presacle {
1375   /// 1.
1376   pub const VAL_0x00: u32 = 0x0;
1377   /// 4.
1378   pub const VAL_0x01: u32 = 0x1;
1379   /// 16.
1380   pub const VAL_0x02: u32 = 0x2;
1381   /// 64.
1382   pub const VAL_0x03: u32 = 0x3;
1383}
1384
1385/// `COMM_TW_BUS_TIMEOUT` value group
1386#[allow(non_upper_case_globals)]
1387pub mod comm_tw_bus_timeout {
1388   /// 250ms.
1389   pub const VAL_0x00: u32 = 0x0;
1390   /// 500ms.
1391   pub const VAL_0x01: u32 = 0x1;
1392   /// 1000ms.
1393   pub const VAL_0x02: u32 = 0x2;
1394   /// 2000ms.
1395   pub const VAL_0x03: u32 = 0x3;
1396}
1397
1398/// `CPU_SLEEP_MODE_3BITS` value group
1399#[allow(non_upper_case_globals)]
1400pub mod cpu_sleep_mode_3bits {
1401   /// Idle.
1402   pub const IDLE: u32 = 0x0;
1403   /// ADC.
1404   pub const ADC: u32 = 0x1;
1405   /// Reserved.
1406   pub const VAL_0x02: u32 = 0x2;
1407   /// Power Save.
1408   pub const PSAVE: u32 = 0x3;
1409   /// Power Off.
1410   pub const POFF: u32 = 0x4;
1411   /// Reserved.
1412   pub const VAL_0x05: u32 = 0x5;
1413   /// Reserved.
1414   pub const VAL_0x06: u32 = 0x6;
1415   /// Reserved.
1416   pub const VAL_0x07: u32 = 0x7;
1417}
1418
1419/// `EEP_MODE` value group
1420#[allow(non_upper_case_globals)]
1421pub mod eep_mode {
1422   /// Erase and Write in one operation.
1423   pub const VAL_0x00: u32 = 0x0;
1424   /// Erase Only.
1425   pub const VAL_0x01: u32 = 0x1;
1426   /// Write Only.
1427   pub const VAL_0x02: u32 = 0x2;
1428}
1429
1430/// `ENUM_BLB` value group
1431#[allow(non_upper_case_globals)]
1432pub mod enum_blb {
1433   /// LPM and SPM prohibited in Application Section.
1434   pub const LPM_SPM_DISABLE: u32 = 0x0;
1435   /// LPM prohibited in Application Section.
1436   pub const LPM_DISABLE: u32 = 0x1;
1437   /// SPM prohibited in Application Section.
1438   pub const SPM_DISABLE: u32 = 0x2;
1439   /// No lock on SPM and LPM in Application Section.
1440   pub const NO_LOCK: u32 = 0x3;
1441}
1442
1443/// `ENUM_BLB2` value group
1444#[allow(non_upper_case_globals)]
1445pub mod enum_blb2 {
1446   /// LPM and SPM prohibited in Boot Section.
1447   pub const LPM_SPM_DISABLE: u32 = 0x0;
1448   /// LPM prohibited in Boot Section.
1449   pub const LPM_DISABLE: u32 = 0x1;
1450   /// SPM prohibited in Boot Section.
1451   pub const SPM_DISABLE: u32 = 0x2;
1452   /// No lock on SPM and LPM in Boot Section.
1453   pub const NO_LOCK: u32 = 0x3;
1454}
1455
1456/// `ENUM_BOOTSZ` value group
1457#[allow(non_upper_case_globals)]
1458pub mod enum_bootsz {
1459   /// Boot Flash size=256 words Boot address=$3F00.
1460   pub const _256W_3F00: u32 = 0x3;
1461   /// Boot Flash size=512 words Boot address=$3E00.
1462   pub const _512W_3E00: u32 = 0x2;
1463   /// Boot Flash size=1024 words Boot address=$3C00.
1464   pub const _1024W_3C00: u32 = 0x1;
1465   /// Boot Flash size=2048 words Boot address=$3800.
1466   pub const _2048W_3800: u32 = 0x0;
1467}
1468
1469/// `ENUM_LB` value group
1470#[allow(non_upper_case_globals)]
1471pub mod enum_lb {
1472   /// Further programming and verification disabled.
1473   pub const PROG_VER_DISABLED: u32 = 0x0;
1474   /// Further programming disabled.
1475   pub const PROG_DISABLED: u32 = 0x2;
1476   /// No memory lock features enabled.
1477   pub const NO_LOCK: u32 = 0x3;
1478}
1479
1480/// `ENUM_OSCSEL` value group
1481#[allow(non_upper_case_globals)]
1482pub mod enum_oscsel {
1483   /// Default.
1484   pub const DEFAULT: u32 = 0x1;
1485}
1486
1487/// `ENUM_SUT` value group
1488#[allow(non_upper_case_globals)]
1489pub mod enum_sut {
1490   /// Start-up time 14 CK + 4 ms.
1491   pub const _14CK_4MS: u32 = 0x0;
1492   /// Start-up time 14 CK + 8 ms.
1493   pub const _14CK_8MS: u32 = 0x1;
1494   /// Start-up time 14 CK + 16 ms.
1495   pub const _14CK_16MS: u32 = 0x2;
1496   /// Start-up time 14 CK + 32 ms.
1497   pub const _14CK_32MS: u32 = 0x3;
1498   /// Start-up time 14 CK + 64 ms.
1499   pub const _14CK_64MS: u32 = 0x4;
1500   /// Start-up time 14 CK + 128 ms.
1501   pub const _14CK_128MS: u32 = 0x5;
1502   /// Start-up time 14 CK + 256 ms.
1503   pub const _14CK_256MS: u32 = 0x6;
1504   /// Start-up time 14 CK + 512 ms.
1505   pub const _14CK_512MS: u32 = 0x7;
1506}
1507
1508/// Interrupt Sense Control
1509#[allow(non_upper_case_globals)]
1510pub mod interrupt_sense_control {
1511   /// Low Level of INTX.
1512   pub const VAL_0x00: u32 = 0x0;
1513   /// Any Logical Change of INTX.
1514   pub const VAL_0x01: u32 = 0x1;
1515   /// Falling Edge of INTX.
1516   pub const VAL_0x02: u32 = 0x2;
1517   /// Rising Edge of INTX.
1518   pub const VAL_0x03: u32 = 0x3;
1519}
1520
1521/// `WDOG_TIMER_PRESCALE_4BITS` value group
1522#[allow(non_upper_case_globals)]
1523pub mod wdog_timer_prescale_4bits {
1524   /// Oscillator Cycles 2K.
1525   pub const VAL_0x00: u32 = 0x0;
1526   /// Oscillator Cycles 4K.
1527   pub const VAL_0x01: u32 = 0x1;
1528   /// Oscillator Cycles 8K.
1529   pub const VAL_0x02: u32 = 0x2;
1530   /// Oscillator Cycles 16K.
1531   pub const VAL_0x03: u32 = 0x3;
1532   /// Oscillator Cycles 32K.
1533   pub const VAL_0x04: u32 = 0x4;
1534   /// Oscillator Cycles 64K.
1535   pub const VAL_0x05: u32 = 0x5;
1536   /// Oscillator Cycles 128K.
1537   pub const VAL_0x06: u32 = 0x6;
1538   /// Oscillator Cycles 256K.
1539   pub const VAL_0x07: u32 = 0x7;
1540   /// Oscillator Cycles 512K.
1541   pub const VAL_0x08: u32 = 0x8;
1542   /// Oscillator Cycles 1024K.
1543   pub const VAL_0x09: u32 = 0x9;
1544}
1545