dc22-wp-badge-firmware/fw_attiny88/Release/wp_dc22_attiny88.lss

1061 lines
45 KiB
Plaintext

wp_dc22_attiny88.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000004 00800100 000008a8 0000093c 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 000008a8 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000030 00800104 00800104 00000940 2**0
ALLOC
3 .comment 00000030 00000000 00000000 00000940 2**0
CONTENTS, READONLY
4 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 00000970 2**2
CONTENTS, READONLY
5 .debug_aranges 000000a0 00000000 00000000 000009b0 2**3
CONTENTS, READONLY, DEBUGGING
6 .debug_info 000008ce 00000000 00000000 00000a50 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_abbrev 0000058f 00000000 00000000 0000131e 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_line 00000376 00000000 00000000 000018ad 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_str 000001d9 00000000 00000000 00001c23 2**0
CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:
00000000 <__vectors>:
0: 2d c0 rjmp .+90 ; 0x5c <__ctors_end>
2: 47 c0 rjmp .+142 ; 0x92 <__bad_interrupt>
4: 46 c0 rjmp .+140 ; 0x92 <__bad_interrupt>
6: 45 c0 rjmp .+138 ; 0x92 <__bad_interrupt>
8: 44 c0 rjmp .+136 ; 0x92 <__bad_interrupt>
a: 43 c0 rjmp .+134 ; 0x92 <__bad_interrupt>
c: 42 c0 rjmp .+132 ; 0x92 <__bad_interrupt>
e: 41 c0 rjmp .+130 ; 0x92 <__bad_interrupt>
10: 40 c0 rjmp .+128 ; 0x92 <__bad_interrupt>
12: 3f c0 rjmp .+126 ; 0x92 <__bad_interrupt>
14: 3e c0 rjmp .+124 ; 0x92 <__bad_interrupt>
16: 3d c0 rjmp .+122 ; 0x92 <__bad_interrupt>
18: aa c3 rjmp .+1876 ; 0x76e <__vector_12>
1a: 3b c0 rjmp .+118 ; 0x92 <__bad_interrupt>
1c: 3a c0 rjmp .+116 ; 0x92 <__bad_interrupt>
1e: 39 c0 rjmp .+114 ; 0x92 <__bad_interrupt>
20: 8b c0 rjmp .+278 ; 0x138 <__vector_16>
22: 37 c0 rjmp .+110 ; 0x92 <__bad_interrupt>
24: 36 c0 rjmp .+108 ; 0x92 <__bad_interrupt>
26: 34 c3 rjmp .+1640 ; 0x690 <__vector_19>
28: bd c1 rjmp .+890 ; 0x3a4 <pegleg_cmd+0x16>
2a: c0 c1 rjmp .+896 ; 0x3ac <pegleg_cmd+0x1e>
2c: ca c1 rjmp .+916 ; 0x3c2 <pegleg_cmd+0x34>
2e: db c1 rjmp .+950 ; 0x3e6 <pegleg_cmd+0x58>
30: f8 c1 rjmp .+1008 ; 0x422 <__LOCK_REGION_LENGTH__+0x22>
32: 16 c2 rjmp .+1068 ; 0x460 <__LOCK_REGION_LENGTH__+0x60>
34: 28 c2 rjmp .+1104 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
36: 27 c2 rjmp .+1102 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
38: f9 c1 rjmp .+1010 ; 0x42c <__LOCK_REGION_LENGTH__+0x2c>
3a: 03 c2 rjmp .+1030 ; 0x442 <__LOCK_REGION_LENGTH__+0x42>
3c: 24 c2 rjmp .+1096 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
3e: 23 c2 rjmp .+1094 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
40: 22 c2 rjmp .+1092 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
42: 21 c2 rjmp .+1090 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
44: 20 c2 rjmp .+1088 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
46: 09 c2 rjmp .+1042 ; 0x45a <__LOCK_REGION_LENGTH__+0x5a>
48: 0b c2 rjmp .+1046 ; 0x460 <__LOCK_REGION_LENGTH__+0x60>
4a: 0a c2 rjmp .+1044 ; 0x460 <__LOCK_REGION_LENGTH__+0x60>
4c: 1c c2 rjmp .+1080 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
4e: 1b c2 rjmp .+1078 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
50: 1a c2 rjmp .+1076 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
52: 19 c2 rjmp .+1074 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
54: 18 c2 rjmp .+1072 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
56: 17 c2 rjmp .+1070 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
58: 16 c2 rjmp .+1068 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
5a: 07 c2 rjmp .+1038 ; 0x46a <__LOCK_REGION_LENGTH__+0x6a>
0000005c <__ctors_end>:
5c: 11 24 eor r1, r1
5e: 1f be out 0x3f, r1 ; 63
60: cf ef ldi r28, 0xFF ; 255
62: d2 e0 ldi r29, 0x02 ; 2
64: de bf out 0x3e, r29 ; 62
66: cd bf out 0x3d, r28 ; 61
00000068 <__do_copy_data>:
68: 11 e0 ldi r17, 0x01 ; 1
6a: a0 e0 ldi r26, 0x00 ; 0
6c: b1 e0 ldi r27, 0x01 ; 1
6e: e8 ea ldi r30, 0xA8 ; 168
70: f8 e0 ldi r31, 0x08 ; 8
72: 02 c0 rjmp .+4 ; 0x78 <__do_copy_data+0x10>
74: 05 90 lpm r0, Z+
76: 0d 92 st X+, r0
78: a4 30 cpi r26, 0x04 ; 4
7a: b1 07 cpc r27, r17
7c: d9 f7 brne .-10 ; 0x74 <__do_copy_data+0xc>
0000007e <__do_clear_bss>:
7e: 21 e0 ldi r18, 0x01 ; 1
80: a4 e0 ldi r26, 0x04 ; 4
82: b1 e0 ldi r27, 0x01 ; 1
84: 01 c0 rjmp .+2 ; 0x88 <.do_clear_bss_start>
00000086 <.do_clear_bss_loop>:
86: 1d 92 st X+, r1
00000088 <.do_clear_bss_start>:
88: a4 33 cpi r26, 0x34 ; 52
8a: b2 07 cpc r27, r18
8c: e1 f7 brne .-8 ; 0x86 <.do_clear_bss_loop>
8e: 6d d2 rcall .+1242 ; 0x56a <main>
90: 09 c4 rjmp .+2066 ; 0x8a4 <_exit>
00000092 <__bad_interrupt>:
92: b6 cf rjmp .-148 ; 0x0 <__vectors>
00000094 <adc_init>:
94: e4 e6 ldi r30, 0x64 ; 100
96: f0 e0 ldi r31, 0x00 ; 0
98: 80 81 ld r24, Z
9a: 8e 7f andi r24, 0xFE ; 254
9c: 80 83 st Z, r24
9e: ea e7 ldi r30, 0x7A ; 122
a0: f0 e0 ldi r31, 0x00 ; 0
a2: 8f ed ldi r24, 0xDF ; 223
a4: 80 83 st Z, r24
a6: ac e7 ldi r26, 0x7C ; 124
a8: b0 e0 ldi r27, 0x00 ; 0
aa: 8c 91 ld r24, X
ac: 8f 7d andi r24, 0xDF ; 223
ae: 8c 93 st X, r24
b0: 80 81 ld r24, Z
b2: 88 68 ori r24, 0x88 ; 136
b4: 80 83 st Z, r24
b6: 08 95 ret
000000b8 <adc_channel>:
b8: 28 2f mov r18, r24
ba: 80 31 cpi r24, 0x10 ; 16
bc: 88 f4 brcc .+34 ; 0xe0 <adc_channel+0x28>
be: 90 91 7c 00 lds r25, 0x007C ; 0x80007c <__EEPROM_REGION_LENGTH__+0x7f007c>
c2: 90 7f andi r25, 0xF0 ; 240
c4: 98 2b or r25, r24
c6: 90 93 7c 00 sts 0x007C, r25 ; 0x80007c <__EEPROM_REGION_LENGTH__+0x7f007c>
ca: 88 30 cpi r24, 0x08 ; 8
cc: 30 f4 brcc .+12 ; 0xda <adc_channel+0x22>
ce: 81 e0 ldi r24, 0x01 ; 1
d0: 01 c0 rjmp .+2 ; 0xd4 <adc_channel+0x1c>
d2: 88 0f add r24, r24
d4: 2a 95 dec r18
d6: ea f7 brpl .-6 ; 0xd2 <adc_channel+0x1a>
d8: 01 c0 rjmp .+2 ; 0xdc <adc_channel+0x24>
da: 80 e0 ldi r24, 0x00 ; 0
dc: 80 93 7e 00 sts 0x007E, r24 ; 0x80007e <__EEPROM_REGION_LENGTH__+0x7f007e>
e0: 61 30 cpi r22, 0x01 ; 1
e2: 21 f4 brne .+8 ; 0xec <adc_channel+0x34>
e4: 80 91 7c 00 lds r24, 0x007C ; 0x80007c <__EEPROM_REGION_LENGTH__+0x7f007c>
e8: 80 64 ori r24, 0x40 ; 64
ea: 05 c0 rjmp .+10 ; 0xf6 <adc_channel+0x3e>
ec: 62 30 cpi r22, 0x02 ; 2
ee: 29 f4 brne .+10 ; 0xfa <adc_channel+0x42>
f0: 80 91 7c 00 lds r24, 0x007C ; 0x80007c <__EEPROM_REGION_LENGTH__+0x7f007c>
f4: 8f 7b andi r24, 0xBF ; 191
f6: 80 93 7c 00 sts 0x007C, r24 ; 0x80007c <__EEPROM_REGION_LENGTH__+0x7f007c>
fa: 08 95 ret
000000fc <adc_start>:
fc: 90 91 7a 00 lds r25, 0x007A ; 0x80007a <__EEPROM_REGION_LENGTH__+0x7f007a>
100: 29 2f mov r18, r25
102: 20 74 andi r18, 0x40 ; 64
104: 96 fd sbrc r25, 6
106: 15 c0 rjmp .+42 ; 0x132 <adc_start+0x36>
108: 80 93 0c 01 sts 0x010C, r24 ; 0x80010c <adc_reread>
10c: 66 23 and r22, r22
10e: 11 f0 breq .+4 ; 0x114 <adc_start+0x18>
110: 98 2f mov r25, r24
112: 01 c0 rjmp .+2 ; 0x116 <adc_start+0x1a>
114: 90 e0 ldi r25, 0x00 ; 0
116: 90 93 04 01 sts 0x0104, r25 ; 0x800104 <__data_end>
11a: 90 91 7c 00 lds r25, 0x007C ; 0x80007c <__EEPROM_REGION_LENGTH__+0x7f007c>
11e: 9f 70 andi r25, 0x0F ; 15
120: 90 68 ori r25, 0x80 ; 128
122: 90 93 1f 01 sts 0x011F, r25 ; 0x80011f <adc_busy>
126: 90 91 7a 00 lds r25, 0x007A ; 0x80007a <__EEPROM_REGION_LENGTH__+0x7f007a>
12a: 90 64 ori r25, 0x40 ; 64
12c: 90 93 7a 00 sts 0x007A, r25 ; 0x80007a <__EEPROM_REGION_LENGTH__+0x7f007a>
130: 01 c0 rjmp .+2 ; 0x134 <adc_start+0x38>
132: 21 e0 ldi r18, 0x01 ; 1
134: 82 2f mov r24, r18
136: 08 95 ret
00000138 <__vector_16>:
138: 1f 92 push r1
13a: 0f 92 push r0
13c: 0f b6 in r0, 0x3f ; 63
13e: 0f 92 push r0
140: 11 24 eor r1, r1
142: 2f 93 push r18
144: 4f 93 push r20
146: 5f 93 push r21
148: 8f 93 push r24
14a: 9f 93 push r25
14c: af 93 push r26
14e: bf 93 push r27
150: ef 93 push r30
152: ff 93 push r31
154: e0 91 7c 00 lds r30, 0x007C ; 0x80007c <__EEPROM_REGION_LENGTH__+0x7f007c>
158: ef 70 andi r30, 0x0F ; 15
15a: 20 91 04 01 lds r18, 0x0104 ; 0x800104 <__data_end>
15e: 22 23 and r18, r18
160: d1 f0 breq .+52 ; 0x196 <__vector_16+0x5e>
162: 80 91 0c 01 lds r24, 0x010C ; 0x80010c <adc_reread>
166: 28 17 cp r18, r24
168: b1 f0 breq .+44 ; 0x196 <__vector_16+0x5e>
16a: e9 30 cpi r30, 0x09 ; 9
16c: a0 f4 brcc .+40 ; 0x196 <__vector_16+0x5e>
16e: ae 2f mov r26, r30
170: b0 e0 ldi r27, 0x00 ; 0
172: aa 0f add r26, r26
174: bb 1f adc r27, r27
176: a3 5f subi r26, 0xF3 ; 243
178: be 4f sbci r27, 0xFE ; 254
17a: 4d 91 ld r20, X+
17c: 5c 91 ld r21, X
17e: 11 97 sbiw r26, 0x01 ; 1
180: 80 91 78 00 lds r24, 0x0078 ; 0x800078 <__EEPROM_REGION_LENGTH__+0x7f0078>
184: 90 91 79 00 lds r25, 0x0079 ; 0x800079 <__EEPROM_REGION_LENGTH__+0x7f0079>
188: 84 0f add r24, r20
18a: 95 1f adc r25, r21
18c: 96 95 lsr r25
18e: 87 95 ror r24
190: 11 96 adiw r26, 0x01 ; 1
192: 9c 93 st X, r25
194: 8e 93 st -X, r24
196: 80 91 0c 01 lds r24, 0x010C ; 0x80010c <adc_reread>
19a: 88 23 and r24, r24
19c: 59 f0 breq .+22 ; 0x1b4 <__vector_16+0x7c>
19e: 80 91 0c 01 lds r24, 0x010C ; 0x80010c <adc_reread>
1a2: 81 50 subi r24, 0x01 ; 1
1a4: 80 93 0c 01 sts 0x010C, r24 ; 0x80010c <adc_reread>
1a8: 80 91 7a 00 lds r24, 0x007A ; 0x80007a <__EEPROM_REGION_LENGTH__+0x7f007a>
1ac: 80 64 ori r24, 0x40 ; 64
1ae: 80 93 7a 00 sts 0x007A, r24 ; 0x80007a <__EEPROM_REGION_LENGTH__+0x7f007a>
1b2: 11 c0 rjmp .+34 ; 0x1d6 <__vector_16+0x9e>
1b4: 21 11 cpse r18, r1
1b6: 0d c0 rjmp .+26 ; 0x1d2 <__vector_16+0x9a>
1b8: e9 30 cpi r30, 0x09 ; 9
1ba: 58 f4 brcc .+22 ; 0x1d2 <__vector_16+0x9a>
1bc: f0 e0 ldi r31, 0x00 ; 0
1be: 80 91 78 00 lds r24, 0x0078 ; 0x800078 <__EEPROM_REGION_LENGTH__+0x7f0078>
1c2: 90 91 79 00 lds r25, 0x0079 ; 0x800079 <__EEPROM_REGION_LENGTH__+0x7f0079>
1c6: ee 0f add r30, r30
1c8: ff 1f adc r31, r31
1ca: e3 5f subi r30, 0xF3 ; 243
1cc: fe 4f sbci r31, 0xFE ; 254
1ce: 91 83 std Z+1, r25 ; 0x01
1d0: 80 83 st Z, r24
1d2: 10 92 1f 01 sts 0x011F, r1 ; 0x80011f <adc_busy>
1d6: ff 91 pop r31
1d8: ef 91 pop r30
1da: bf 91 pop r27
1dc: af 91 pop r26
1de: 9f 91 pop r25
1e0: 8f 91 pop r24
1e2: 5f 91 pop r21
1e4: 4f 91 pop r20
1e6: 2f 91 pop r18
1e8: 0f 90 pop r0
1ea: 0f be out 0x3f, r0 ; 63
1ec: 0f 90 pop r0
1ee: 1f 90 pop r1
1f0: 18 95 reti
000001f2 <rgbled_io_init>:
1f2: 8a b1 in r24, 0x0a ; 10
1f4: 80 6f ori r24, 0xF0 ; 240
1f6: 8a b9 out 0x0a, r24 ; 10
1f8: 87 b1 in r24, 0x07 ; 7
1fa: 8f 60 ori r24, 0x0F ; 15
1fc: 87 b9 out 0x07, r24 ; 7
1fe: 8b b1 in r24, 0x0b ; 11
200: 80 6f ori r24, 0xF0 ; 240
202: 8b b9 out 0x0b, r24 ; 11
204: 88 b1 in r24, 0x08 ; 8
206: 8f 60 ori r24, 0x0F ; 15
208: 88 b9 out 0x08, r24 ; 8
20a: 08 95 ret
0000020c <rgbled_update>:
20c: cf 93 push r28
20e: df 93 push r29
210: 8b b1 in r24, 0x0b ; 11
212: 80 6f ori r24, 0xF0 ; 240
214: 8b b9 out 0x0b, r24 ; 11
216: 88 b1 in r24, 0x08 ; 8
218: 8f 60 ori r24, 0x0F ; 15
21a: 88 b9 out 0x08, r24 ; 8
21c: c8 e8 ldi r28, 0x88 ; 136
21e: d0 e0 ldi r29, 0x00 ; 0
220: 8e ef ldi r24, 0xFE ; 254
222: 88 83 st Y, r24
224: aa e8 ldi r26, 0x8A ; 138
226: b0 e0 ldi r27, 0x00 ; 0
228: 8c 93 st X, r24
22a: 8a ef ldi r24, 0xFA ; 250
22c: 90 e0 ldi r25, 0x00 ; 0
22e: 90 93 85 00 sts 0x0085, r25 ; 0x800085 <__EEPROM_REGION_LENGTH__+0x7f0085>
232: 80 93 84 00 sts 0x0084, r24 ; 0x800084 <__EEPROM_REGION_LENGTH__+0x7f0084>
236: 3b b1 in r19, 0x0b ; 11
238: 24 e0 ldi r18, 0x04 ; 4
23a: 2d 0d add r18, r13
23c: 81 e0 ldi r24, 0x01 ; 1
23e: 90 e0 ldi r25, 0x00 ; 0
240: ac 01 movw r20, r24
242: 01 c0 rjmp .+2 ; 0x246 <rgbled_update+0x3a>
244: 44 0f add r20, r20
246: 2a 95 dec r18
248: ea f7 brpl .-6 ; 0x244 <rgbled_update+0x38>
24a: 24 2f mov r18, r20
24c: 20 95 com r18
24e: 23 23 and r18, r19
250: 2b b9 out 0x0b, r18 ; 11
252: 28 b1 in r18, 0x08 ; 8
254: 0d 2c mov r0, r13
256: 01 c0 rjmp .+2 ; 0x25a <rgbled_update+0x4e>
258: 88 0f add r24, r24
25a: 0a 94 dec r0
25c: ea f7 brpl .-6 ; 0x258 <rgbled_update+0x4c>
25e: 80 95 com r24
260: 82 23 and r24, r18
262: 88 b9 out 0x08, r24 ; 8
264: ed 2d mov r30, r13
266: f0 e0 ldi r31, 0x00 ; 0
268: eb 5d subi r30, 0xDB ; 219
26a: fe 4f sbci r31, 0xFE ; 254
26c: 8b ef ldi r24, 0xFB ; 251
26e: 90 81 ld r25, Z
270: 28 2f mov r18, r24
272: 29 1b sub r18, r25
274: 28 83 st Y, r18
276: ed 2d mov r30, r13
278: f0 e0 ldi r31, 0x00 ; 0
27a: ef 5d subi r30, 0xDF ; 223
27c: fe 4f sbci r31, 0xFE ; 254
27e: 90 81 ld r25, Z
280: 89 1b sub r24, r25
282: 8c 93 st X, r24
284: df 91 pop r29
286: cf 91 pop r28
288: 08 95 ret
0000028a <rgbled_sensor_init>:
28a: 9b b1 in r25, 0x0b ; 11
28c: 90 6f ori r25, 0xF0 ; 240
28e: 9b b9 out 0x0b, r25 ; 11
290: e0 e8 ldi r30, 0x80 ; 128
292: f0 e0 ldi r31, 0x00 ; 0
294: 90 81 ld r25, Z
296: 9f 70 andi r25, 0x0F ; 15
298: 90 83 st Z, r25
29a: 97 b1 in r25, 0x07 ; 7
29c: 90 7f andi r25, 0xF0 ; 240
29e: 97 b9 out 0x07, r25 ; 7
2a0: 95 b7 in r25, 0x35 ; 53
2a2: 90 61 ori r25, 0x10 ; 16
2a4: 95 bf out 0x35, r25 ; 53
2a6: 47 b1 in r20, 0x07 ; 7
2a8: 21 e0 ldi r18, 0x01 ; 1
2aa: 30 e0 ldi r19, 0x00 ; 0
2ac: b9 01 movw r22, r18
2ae: 02 c0 rjmp .+4 ; 0x2b4 <rgbled_sensor_init+0x2a>
2b0: 66 0f add r22, r22
2b2: 77 1f adc r23, r23
2b4: 8a 95 dec r24
2b6: e2 f7 brpl .-8 ; 0x2b0 <rgbled_sensor_init+0x26>
2b8: cb 01 movw r24, r22
2ba: 46 2b or r20, r22
2bc: 47 b9 out 0x07, r20 ; 7
2be: 98 b1 in r25, 0x08 ; 8
2c0: 90 7f andi r25, 0xF0 ; 240
2c2: 98 b9 out 0x08, r25 ; 8
2c4: 2a 9a sbi 0x05, 2 ; 5
2c6: 98 b1 in r25, 0x08 ; 8
2c8: 98 2b or r25, r24
2ca: 98 b9 out 0x08, r25 ; 8
2cc: 2a 98 cbi 0x05, 2 ; 5
2ce: 78 e0 ldi r23, 0x08 ; 8
2d0: 7a 95 dec r23
2d2: f1 f7 brne .-4 ; 0x2d0 <rgbled_sensor_init+0x46>
2d4: 97 b1 in r25, 0x07 ; 7
2d6: 80 95 com r24
2d8: 98 23 and r25, r24
2da: 97 b9 out 0x07, r25 ; 7
2dc: 98 b1 in r25, 0x08 ; 8
2de: 89 23 and r24, r25
2e0: 88 b9 out 0x08, r24 ; 8
2e2: 85 b7 in r24, 0x35 ; 53
2e4: 8f 7e andi r24, 0xEF ; 239
2e6: 85 bf out 0x35, r24 ; 53
2e8: 08 95 ret
000002ea <rgbled_sensor_sensitivity>:
2ea: 84 30 cpi r24, 0x04 ; 4
2ec: 38 f4 brcc .+14 ; 0x2fc <rgbled_sensor_sensitivity+0x12>
2ee: 66 23 and r22, r22
2f0: 29 f0 breq .+10 ; 0x2fc <rgbled_sensor_sensitivity+0x12>
2f2: e8 2f mov r30, r24
2f4: f0 e0 ldi r31, 0x00 ; 0
2f6: e0 50 subi r30, 0x00 ; 0
2f8: ff 4f sbci r31, 0xFF ; 255
2fa: 60 83 st Z, r22
2fc: 08 95 ret
000002fe <rgbled_sensor_read_idx>:
2fe: 83 70 andi r24, 0x03 ; 3
300: 80 93 05 01 sts 0x0105, r24 ; 0x800105 <rgbled_read_sel>
304: 08 95 ret
00000306 <rgbled_sensor_read>:
306: 80 91 05 01 lds r24, 0x0105 ; 0x800105 <rgbled_read_sel>
30a: e8 2f mov r30, r24
30c: f0 e0 ldi r31, 0x00 ; 0
30e: e0 50 subi r30, 0x00 ; 0
310: ff 4f sbci r31, 0xFF ; 255
312: 90 81 ld r25, Z
314: 91 11 cpse r25, r1
316: 01 c0 rjmp .+2 ; 0x31a <rgbled_sensor_read+0x14>
318: 91 e0 ldi r25, 0x01 ; 1
31a: 2e 2d mov r18, r14
31c: e1 10 cpse r14, r1
31e: 03 c0 rjmp .+6 ; 0x326 <rgbled_sensor_read+0x20>
320: 61 e0 ldi r22, 0x01 ; 1
322: 8f e0 ldi r24, 0x0F ; 15
324: 12 c0 rjmp .+36 ; 0x34a <rgbled_sensor_read+0x44>
326: 21 30 cpi r18, 0x01 ; 1
328: 19 f4 brne .+6 ; 0x330 <rgbled_sensor_read+0x2a>
32a: 60 e0 ldi r22, 0x00 ; 0
32c: 80 e0 ldi r24, 0x00 ; 0
32e: 18 c0 rjmp .+48 ; 0x360 <rgbled_sensor_read+0x5a>
330: 22 30 cpi r18, 0x02 ; 2
332: 61 f4 brne .+24 ; 0x34c <rgbled_sensor_read+0x46>
334: 90 91 1f 01 lds r25, 0x011F ; 0x80011f <adc_busy>
338: 99 23 and r25, r25
33a: 19 f0 breq .+6 ; 0x342 <rgbled_sensor_read+0x3c>
33c: ee 24 eor r14, r14
33e: e3 94 inc r14
340: 08 95 ret
342: a3 df rcall .-186 ; 0x28a <rgbled_sensor_init>
344: 6f ef ldi r22, 0xFF ; 255
346: 80 91 05 01 lds r24, 0x0105 ; 0x800105 <rgbled_read_sel>
34a: b6 ce rjmp .-660 ; 0xb8 <adc_channel>
34c: 4e 2d mov r20, r14
34e: 50 e0 ldi r21, 0x00 ; 0
350: 89 2f mov r24, r25
352: 90 e0 ldi r25, 0x00 ; 0
354: 02 96 adiw r24, 0x02 ; 2
356: 48 17 cp r20, r24
358: 59 07 cpc r21, r25
35a: 19 f4 brne .+6 ; 0x362 <rgbled_sensor_read+0x5c>
35c: 61 e0 ldi r22, 0x01 ; 1
35e: 83 e0 ldi r24, 0x03 ; 3
360: cd ce rjmp .-614 ; 0xfc <adc_start>
362: 84 17 cp r24, r20
364: 95 07 cpc r25, r21
366: 94 f4 brge .+36 ; 0x38c <rgbled_sensor_read+0x86>
368: 21 50 subi r18, 0x01 ; 1
36a: e2 2e mov r14, r18
36c: 80 91 1f 01 lds r24, 0x011F ; 0x80011f <adc_busy>
370: 81 11 cpse r24, r1
372: 0c c0 rjmp .+24 ; 0x38c <rgbled_sensor_read+0x86>
374: 6f ef ldi r22, 0xFF ; 255
376: 8f e0 ldi r24, 0x0F ; 15
378: 9f de rcall .-706 ; 0xb8 <adc_channel>
37a: 3b df rcall .-394 ; 0x1f2 <rgbled_io_init>
37c: 8e ef ldi r24, 0xFE ; 254
37e: 80 93 80 00 sts 0x0080, r24 ; 0x800080 <__EEPROM_REGION_LENGTH__+0x7f0080>
382: 84 b1 in r24, 0x04 ; 4
384: 86 60 ori r24, 0x06 ; 6
386: 84 b9 out 0x04, r24 ; 4
388: 10 92 20 01 sts 0x0120, r1 ; 0x800120 <adc_read_mode>
38c: 08 95 ret
0000038e <pegleg_cmd>:
38e: 8f 2d mov r24, r15
390: 4f 2d mov r20, r15
392: 50 e0 ldi r21, 0x00 ; 0
394: 4a 31 cpi r20, 0x1A ; 26
396: 51 05 cpc r21, r1
398: 08 f0 brcs .+2 ; 0x39c <pegleg_cmd+0xe>
39a: 75 c0 rjmp .+234 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
39c: fa 01 movw r30, r20
39e: ec 5e subi r30, 0xEC ; 236
3a0: ff 4f sbci r31, 0xFF ; 255
3a2: 09 94 ijmp
3a4: f1 2c mov r15, r1
3a6: 10 92 2a 01 sts 0x012A, r1 ; 0x80012a <comm_timeout>
3aa: 08 95 ret
3ac: 80 91 33 01 lds r24, 0x0133 ; 0x800133 <comm_data_idx>
3b0: 88 23 and r24, r24
3b2: 09 f4 brne .+2 ; 0x3b6 <pegleg_cmd+0x28>
3b4: 6c c0 rjmp .+216 ; 0x48e <__LOCK_REGION_LENGTH__+0x8e>
3b6: f0 90 30 01 lds r15, 0x0130 ; 0x800130 <comm_data+0x1>
3ba: 83 e0 ldi r24, 0x03 ; 3
3bc: 80 93 33 01 sts 0x0133, r24 ; 0x800133 <comm_data_idx>
3c0: 50 c0 rjmp .+160 ; 0x462 <__LOCK_REGION_LENGTH__+0x62>
3c2: e0 91 2f 01 lds r30, 0x012F ; 0x80012f <comm_data>
3c6: e4 30 cpi r30, 0x04 ; 4
3c8: 20 f4 brcc .+8 ; 0x3d2 <pegleg_cmd+0x44>
3ca: f0 e0 ldi r31, 0x00 ; 0
3cc: eb 5d subi r30, 0xDB ; 219
3ce: fe 4f sbci r31, 0xFE ; 254
3d0: 06 c0 rjmp .+12 ; 0x3de <pegleg_cmd+0x50>
3d2: e8 30 cpi r30, 0x08 ; 8
3d4: 08 f0 brcs .+2 ; 0x3d8 <pegleg_cmd+0x4a>
3d6: 44 c0 rjmp .+136 ; 0x460 <__LOCK_REGION_LENGTH__+0x60>
3d8: f0 e0 ldi r31, 0x00 ; 0
3da: e3 5e subi r30, 0xE3 ; 227
3dc: fe 4f sbci r31, 0xFE ; 254
3de: 80 91 30 01 lds r24, 0x0130 ; 0x800130 <comm_data+0x1>
3e2: 80 83 st Z, r24
3e4: 3d c0 rjmp .+122 ; 0x460 <__LOCK_REGION_LENGTH__+0x60>
3e6: 80 91 33 01 lds r24, 0x0133 ; 0x800133 <comm_data_idx>
3ea: 88 23 and r24, r24
3ec: 09 f4 brne .+2 ; 0x3f0 <pegleg_cmd+0x62>
3ee: 4f c0 rjmp .+158 ; 0x48e <__LOCK_REGION_LENGTH__+0x8e>
3f0: 80 91 1d 01 lds r24, 0x011D ; 0x80011d <adc_result+0x10>
3f4: 90 91 1e 01 lds r25, 0x011E ; 0x80011e <adc_result+0x11>
3f8: 89 2b or r24, r25
3fa: 09 f4 brne .+2 ; 0x3fe <pegleg_cmd+0x70>
3fc: 44 c0 rjmp .+136 ; 0x486 <__LOCK_REGION_LENGTH__+0x86>
3fe: 60 91 1d 01 lds r22, 0x011D ; 0x80011d <adc_result+0x10>
402: 70 91 1e 01 lds r23, 0x011E ; 0x80011e <adc_result+0x11>
406: 80 91 30 01 lds r24, 0x0130 ; 0x800130 <comm_data+0x1>
40a: 68 1b sub r22, r24
40c: 71 09 sbc r23, r1
40e: 87 fd sbrc r24, 7
410: 73 95 inc r23
412: 70 93 07 01 sts 0x0107, r23 ; 0x800107 <temp_offset+0x1>
416: 60 93 06 01 sts 0x0106, r22 ; 0x800106 <temp_offset>
41a: 8e e3 ldi r24, 0x3E ; 62
41c: 90 e0 ldi r25, 0x00 ; 0
41e: 24 d2 rcall .+1096 ; 0x868 <eeprom_write_word>
420: 1f c0 rjmp .+62 ; 0x460 <__LOCK_REGION_LENGTH__+0x60>
422: 80 91 33 01 lds r24, 0x0133 ; 0x800133 <comm_data_idx>
426: 82 30 cpi r24, 0x02 ; 2
428: d8 f4 brcc .+54 ; 0x460 <__LOCK_REGION_LENGTH__+0x60>
42a: 1d c0 rjmp .+58 ; 0x466 <__LOCK_REGION_LENGTH__+0x66>
42c: 80 91 20 01 lds r24, 0x0120 ; 0x800120 <adc_read_mode>
430: 81 11 cpse r24, r1
432: 17 c0 rjmp .+46 ; 0x462 <__LOCK_REGION_LENGTH__+0x62>
434: 10 92 20 01 sts 0x0120, r1 ; 0x800120 <adc_read_mode>
438: e1 2c mov r14, r1
43a: 88 e0 ldi r24, 0x08 ; 8
43c: 80 93 20 01 sts 0x0120, r24 ; 0x800120 <adc_read_mode>
440: 10 c0 rjmp .+32 ; 0x462 <__LOCK_REGION_LENGTH__+0x62>
442: 80 91 20 01 lds r24, 0x0120 ; 0x800120 <adc_read_mode>
446: 81 11 cpse r24, r1
448: 0c c0 rjmp .+24 ; 0x462 <__LOCK_REGION_LENGTH__+0x62>
44a: 10 92 20 01 sts 0x0120, r1 ; 0x800120 <adc_read_mode>
44e: e1 2c mov r14, r1
450: 80 91 2f 01 lds r24, 0x012F ; 0x80012f <comm_data>
454: 54 df rcall .-344 ; 0x2fe <rgbled_sensor_read_idx>
456: 81 e0 ldi r24, 0x01 ; 1
458: f1 cf rjmp .-30 ; 0x43c <__LOCK_REGION_LENGTH__+0x3c>
45a: 84 e0 ldi r24, 0x04 ; 4
45c: 80 93 09 01 sts 0x0109, r24 ; 0x800109 <pirate_sleep_mode>
460: f1 2c mov r15, r1
462: 10 92 2a 01 sts 0x012A, r1 ; 0x80012a <comm_timeout>
466: 80 e0 ldi r24, 0x00 ; 0
468: 08 95 ret
46a: 80 91 33 01 lds r24, 0x0133 ; 0x800133 <comm_data_idx>
46e: 88 23 and r24, r24
470: 71 f0 breq .+28 ; 0x48e <__LOCK_REGION_LENGTH__+0x8e>
472: 80 91 2f 01 lds r24, 0x012F ; 0x80012f <comm_data>
476: 84 30 cpi r24, 0x04 ; 4
478: 98 f7 brcc .-26 ; 0x460 <__LOCK_REGION_LENGTH__+0x60>
47a: 60 91 30 01 lds r22, 0x0130 ; 0x800130 <comm_data+0x1>
47e: 66 23 and r22, r22
480: 79 f3 breq .-34 ; 0x460 <__LOCK_REGION_LENGTH__+0x60>
482: 33 df rcall .-410 ; 0x2ea <rgbled_sensor_sensitivity>
484: ed cf rjmp .-38 ; 0x460 <__LOCK_REGION_LENGTH__+0x60>
486: f1 2c mov r15, r1
488: 10 92 2a 01 sts 0x012A, r1 ; 0x80012a <comm_timeout>
48c: 81 e0 ldi r24, 0x01 ; 1
48e: 08 95 ret
00000490 <i2c_slave_tx.constprop.4>:
490: 80 93 bb 00 sts 0x00BB, r24 ; 0x8000bb <__EEPROM_REGION_LENGTH__+0x7f00bb>
494: ec eb ldi r30, 0xBC ; 188
496: f0 e0 ldi r31, 0x00 ; 0
498: 80 81 ld r24, Z
49a: 80 68 ori r24, 0x80 ; 128
49c: 80 83 st Z, r24
49e: 80 81 ld r24, Z
4a0: 8f 7b andi r24, 0xBF ; 191
4a2: 80 83 st Z, r24
4a4: 80 e0 ldi r24, 0x00 ; 0
4a6: 08 95 ret
000004a8 <pegleg_data_tx>:
4a8: 8f 2d mov r24, r15
4aa: 88 30 cpi r24, 0x08 ; 8
4ac: b9 f0 breq .+46 ; 0x4dc <pegleg_data_tx+0x34>
4ae: 89 30 cpi r24, 0x09 ; 9
4b0: c1 f0 breq .+48 ; 0x4e2 <pegleg_data_tx+0x3a>
4b2: 84 30 cpi r24, 0x04 ; 4
4b4: 51 f5 brne .+84 ; 0x50a <pegleg_data_tx+0x62>
4b6: 80 91 2f 01 lds r24, 0x012F ; 0x80012f <comm_data>
4ba: 80 34 cpi r24, 0x40 ; 64
4bc: 28 f4 brcc .+10 ; 0x4c8 <pegleg_data_tx+0x20>
4be: 90 e0 ldi r25, 0x00 ; 0
4c0: c8 d1 rcall .+912 ; 0x852 <eeprom_read_byte>
4c2: e6 df rcall .-52 ; 0x490 <i2c_slave_tx.constprop.4>
4c4: 81 e0 ldi r24, 0x01 ; 1
4c6: 06 c0 rjmp .+12 ; 0x4d4 <pegleg_data_tx+0x2c>
4c8: 80 91 bc 00 lds r24, 0x00BC ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
4cc: 8f 7b andi r24, 0xBF ; 191
4ce: 80 93 bc 00 sts 0x00BC, r24 ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
4d2: 8f ef ldi r24, 0xFF ; 255
4d4: f1 2c mov r15, r1
4d6: 10 92 2a 01 sts 0x012A, r1 ; 0x80012a <comm_timeout>
4da: 08 95 ret
4dc: 80 91 08 01 lds r24, 0x0108 ; 0x800108 <temperature>
4e0: 0e c0 rjmp .+28 ; 0x4fe <pegleg_data_tx+0x56>
4e2: e0 91 2f 01 lds r30, 0x012F ; 0x80012f <comm_data>
4e6: e3 70 andi r30, 0x03 ; 3
4e8: f0 e0 ldi r31, 0x00 ; 0
4ea: ee 0f add r30, r30
4ec: ff 1f adc r31, r31
4ee: e3 5f subi r30, 0xF3 ; 243
4f0: fe 4f sbci r31, 0xFE ; 254
4f2: 80 81 ld r24, Z
4f4: 91 81 ldd r25, Z+1 ; 0x01
4f6: 96 95 lsr r25
4f8: 87 95 ror r24
4fa: 96 95 lsr r25
4fc: 87 95 ror r24
4fe: c8 df rcall .-112 ; 0x490 <i2c_slave_tx.constprop.4>
500: f1 2c mov r15, r1
502: 10 92 2a 01 sts 0x012A, r1 ; 0x80012a <comm_timeout>
506: 81 e0 ldi r24, 0x01 ; 1
508: 08 95 ret
50a: 80 91 bc 00 lds r24, 0x00BC ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
50e: 8f 7b andi r24, 0xBF ; 191
510: 80 93 bc 00 sts 0x00BC, r24 ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
514: 8f ef ldi r24, 0xFF ; 255
516: 08 95 ret
00000518 <tempsensor_process>:
518: 80 91 1d 01 lds r24, 0x011D ; 0x80011d <adc_result+0x10>
51c: 90 91 1e 01 lds r25, 0x011E ; 0x80011e <adc_result+0x11>
520: 90 91 06 01 lds r25, 0x0106 ; 0x800106 <temp_offset>
524: 89 1b sub r24, r25
526: 98 2f mov r25, r24
528: 95 95 asr r25
52a: 95 95 asr r25
52c: 95 95 asr r25
52e: 89 1b sub r24, r25
530: 08 95 ret
00000532 <tempsensor_read>:
532: 8e 2d mov r24, r14
534: e1 10 cpse r14, r1
536: 03 c0 rjmp .+6 ; 0x53e <tempsensor_read+0xc>
538: 62 e0 ldi r22, 0x02 ; 2
53a: 88 e0 ldi r24, 0x08 ; 8
53c: bd cd rjmp .-1158 ; 0xb8 <adc_channel>
53e: 83 30 cpi r24, 0x03 ; 3
540: 19 f4 brne .+6 ; 0x548 <tempsensor_read+0x16>
542: 61 e0 ldi r22, 0x01 ; 1
544: 84 e0 ldi r24, 0x04 ; 4
546: da cd rjmp .-1100 ; 0xfc <adc_start>
548: 84 30 cpi r24, 0x04 ; 4
54a: 70 f0 brcs .+28 ; 0x568 <tempsensor_read+0x36>
54c: 81 50 subi r24, 0x01 ; 1
54e: e8 2e mov r14, r24
550: 80 91 1f 01 lds r24, 0x011F ; 0x80011f <adc_busy>
554: 81 11 cpse r24, r1
556: 08 c0 rjmp .+16 ; 0x568 <tempsensor_read+0x36>
558: 61 e0 ldi r22, 0x01 ; 1
55a: 8f e0 ldi r24, 0x0F ; 15
55c: ad dd rcall .-1190 ; 0xb8 <adc_channel>
55e: 10 92 20 01 sts 0x0120, r1 ; 0x800120 <adc_read_mode>
562: da df rcall .-76 ; 0x518 <tempsensor_process>
564: 80 93 08 01 sts 0x0108, r24 ; 0x800108 <temperature>
568: 08 95 ret
0000056a <main>:
56a: 80 e8 ldi r24, 0x80 ; 128
56c: 80 93 61 00 sts 0x0061, r24 ; 0x800061 <__EEPROM_REGION_LENGTH__+0x7f0061>
570: 10 92 61 00 sts 0x0061, r1 ; 0x800061 <__EEPROM_REGION_LENGTH__+0x7f0061>
574: 82 b3 in r24, 0x12 ; 18
576: 80 6f ori r24, 0xF0 ; 240
578: 82 bb out 0x12, r24 ; 18
57a: 1d b8 out 0x0d, r1 ; 13
57c: 81 e0 ldi r24, 0x01 ; 1
57e: 84 b9 out 0x04, r24 ; 4
580: 17 b8 out 0x07, r1 ; 7
582: 1a b8 out 0x0a, r1 ; 10
584: cf ef ldi r28, 0xFF ; 255
586: ce b9 out 0x0e, r28 ; 14
588: de ef ldi r29, 0xFE ; 254
58a: d5 b9 out 0x05, r29 ; 5
58c: c8 b9 out 0x08, r28 ; 8
58e: cb b9 out 0x0b, r28 ; 11
590: 30 de rcall .-928 ; 0x1f2 <rgbled_io_init>
592: 22 e0 ldi r18, 0x02 ; 2
594: 20 93 b8 00 sts 0x00B8, r18 ; 0x8000b8 <__EEPROM_REGION_LENGTH__+0x7f00b8>
598: 8c ef ldi r24, 0xFC ; 252
59a: 80 93 b9 00 sts 0x00B9, r24 ; 0x8000b9 <__EEPROM_REGION_LENGTH__+0x7f00b9>
59e: 86 ee ldi r24, 0xE6 ; 230
5a0: 80 93 ba 00 sts 0x00BA, r24 ; 0x8000ba <__EEPROM_REGION_LENGTH__+0x7f00ba>
5a4: 10 92 bd 00 sts 0x00BD, r1 ; 0x8000bd <__EEPROM_REGION_LENGTH__+0x7f00bd>
5a8: 85 e4 ldi r24, 0x45 ; 69
5aa: 80 93 bc 00 sts 0x00BC, r24 ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
5ae: 80 91 64 00 lds r24, 0x0064 ; 0x800064 <__EEPROM_REGION_LENGTH__+0x7f0064>
5b2: 8a 7f andi r24, 0xFA ; 250
5b4: 80 93 64 00 sts 0x0064, r24 ; 0x800064 <__EEPROM_REGION_LENGTH__+0x7f0064>
5b8: 9b ef ldi r25, 0xFB ; 251
5ba: 95 bd out 0x25, r25 ; 37
5bc: 8d e3 ldi r24, 0x3D ; 61
5be: 87 bd out 0x27, r24 ; 39
5c0: 16 bc out 0x26, r1 ; 38
5c2: 20 93 6e 00 sts 0x006E, r18 ; 0x80006e <__EEPROM_REGION_LENGTH__+0x7f006e>
5c6: 80 91 64 00 lds r24, 0x0064 ; 0x800064 <__EEPROM_REGION_LENGTH__+0x7f0064>
5ca: 8c 7f andi r24, 0xFC ; 252
5cc: 80 93 64 00 sts 0x0064, r24 ; 0x800064 <__EEPROM_REGION_LENGTH__+0x7f0064>
5d0: c0 93 89 00 sts 0x0089, r28 ; 0x800089 <__EEPROM_REGION_LENGTH__+0x7f0089>
5d4: c0 93 88 00 sts 0x0088, r28 ; 0x800088 <__EEPROM_REGION_LENGTH__+0x7f0088>
5d8: c0 93 8a 00 sts 0x008A, r28 ; 0x80008a <__EEPROM_REGION_LENGTH__+0x7f008a>
5dc: 10 92 85 00 sts 0x0085, r1 ; 0x800085 <__EEPROM_REGION_LENGTH__+0x7f0085>
5e0: 10 92 84 00 sts 0x0084, r1 ; 0x800084 <__EEPROM_REGION_LENGTH__+0x7f0084>
5e4: d0 93 80 00 sts 0x0080, r29 ; 0x800080 <__EEPROM_REGION_LENGTH__+0x7f0080>
5e8: 89 e1 ldi r24, 0x19 ; 25
5ea: 80 93 81 00 sts 0x0081, r24 ; 0x800081 <__EEPROM_REGION_LENGTH__+0x7f0081>
5ee: 10 92 82 00 sts 0x0082, r1 ; 0x800082 <__EEPROM_REGION_LENGTH__+0x7f0082>
5f2: 80 91 80 00 lds r24, 0x0080 ; 0x800080 <__EEPROM_REGION_LENGTH__+0x7f0080>
5f6: 80 93 29 01 sts 0x0129, r24 ; 0x800129 <timer1_mode>
5fa: 90 93 86 00 sts 0x0086, r25 ; 0x800086 <__EEPROM_REGION_LENGTH__+0x7f0086>
5fe: 84 b1 in r24, 0x04 ; 4
600: 86 60 ori r24, 0x06 ; 6
602: 84 b9 out 0x04, r24 ; 4
604: 10 92 6f 00 sts 0x006F, r1 ; 0x80006f <__EEPROM_REGION_LENGTH__+0x7f006f>
608: 45 dd rcall .-1398 ; 0x94 <adc_init>
60a: 62 99 sbic 0x0c, 2 ; 12
60c: 23 c0 rjmp .+70 ; 0x654 <main+0xea>
60e: 42 dd rcall .-1404 ; 0x94 <adc_init>
610: 2f ef ldi r18, 0xFF ; 255
612: 80 e7 ldi r24, 0x70 ; 112
614: 92 e0 ldi r25, 0x02 ; 2
616: 21 50 subi r18, 0x01 ; 1
618: 80 40 sbci r24, 0x00 ; 0
61a: 90 40 sbci r25, 0x00 ; 0
61c: e1 f7 brne .-8 ; 0x616 <main+0xac>
61e: 00 c0 rjmp .+0 ; 0x620 <main+0xb6>
620: 00 00 nop
622: 62 99 sbic 0x0c, 2 ; 12
624: 17 c0 rjmp .+46 ; 0x654 <main+0xea>
626: 78 94 sei
628: 88 e0 ldi r24, 0x08 ; 8
62a: 80 93 20 01 sts 0x0120, r24 ; 0x800120 <adc_read_mode>
62e: 81 df rcall .-254 ; 0x532 <tempsensor_read>
630: 80 91 1f 01 lds r24, 0x011F ; 0x80011f <adc_busy>
634: 81 11 cpse r24, r1
636: fc cf rjmp .-8 ; 0x630 <main+0xc6>
638: 60 91 1d 01 lds r22, 0x011D ; 0x80011d <adc_result+0x10>
63c: 70 91 1e 01 lds r23, 0x011E ; 0x80011e <adc_result+0x11>
640: 70 93 07 01 sts 0x0107, r23 ; 0x800107 <temp_offset+0x1>
644: 60 93 06 01 sts 0x0106, r22 ; 0x800106 <temp_offset>
648: 8e e3 ldi r24, 0x3E ; 62
64a: 90 e0 ldi r25, 0x00 ; 0
64c: 0d d1 rcall .+538 ; 0x868 <eeprom_write_word>
64e: 10 92 20 01 sts 0x0120, r1 ; 0x800120 <adc_read_mode>
652: 0d c0 rjmp .+26 ; 0x66e <main+0x104>
654: 8e e3 ldi r24, 0x3E ; 62
656: 90 e0 ldi r25, 0x00 ; 0
658: 03 d1 rcall .+518 ; 0x860 <eeprom_read_word>
65a: 81 33 cpi r24, 0x31 ; 49
65c: 22 e0 ldi r18, 0x02 ; 2
65e: 92 07 cpc r25, r18
660: 14 f0 brlt .+4 ; 0x666 <main+0xfc>
662: 81 e1 ldi r24, 0x11 ; 17
664: 91 e0 ldi r25, 0x01 ; 1
666: 90 93 07 01 sts 0x0107, r25 ; 0x800107 <temp_offset+0x1>
66a: 80 93 06 01 sts 0x0106, r24 ; 0x800106 <temp_offset>
66e: 83 b7 in r24, 0x33 ; 51
670: 89 7f andi r24, 0xF9 ; 249
672: 90 91 09 01 lds r25, 0x0109 ; 0x800109 <pirate_sleep_mode>
676: 89 2b or r24, r25
678: 83 bf out 0x33, r24 ; 51
67a: 10 92 09 01 sts 0x0109, r1 ; 0x800109 <pirate_sleep_mode>
67e: 78 94 sei
680: 83 b7 in r24, 0x33 ; 51
682: 81 60 ori r24, 0x01 ; 1
684: 83 bf out 0x33, r24 ; 51
686: 88 95 sleep
688: 83 b7 in r24, 0x33 ; 51
68a: 8e 7f andi r24, 0xFE ; 254
68c: 83 bf out 0x33, r24 ; 51
68e: ef cf rjmp .-34 ; 0x66e <main+0x104>
00000690 <__vector_19>:
690: 1f 92 push r1
692: 0f 92 push r0
694: 0f b6 in r0, 0x3f ; 63
696: 0f 92 push r0
698: 11 24 eor r1, r1
69a: 2f 93 push r18
69c: 3f 93 push r19
69e: 4f 93 push r20
6a0: 5f 93 push r21
6a2: 6f 93 push r22
6a4: 7f 93 push r23
6a6: 8f 93 push r24
6a8: 9f 93 push r25
6aa: af 93 push r26
6ac: bf 93 push r27
6ae: ef 93 push r30
6b0: ff 93 push r31
6b2: 80 91 b9 00 lds r24, 0x00B9 ; 0x8000b9 <__EEPROM_REGION_LENGTH__+0x7f00b9>
6b6: 88 7f andi r24, 0xF8 ; 248
6b8: 80 3a cpi r24, 0xA0 ; 160
6ba: f1 f1 breq .+124 ; 0x738 <__vector_19+0xa8>
6bc: 60 f4 brcc .+24 ; 0x6d6 <__vector_19+0x46>
6be: 88 36 cpi r24, 0x68 ; 104
6c0: 09 f4 brne .+2 ; 0x6c4 <__vector_19+0x34>
6c2: 3f c0 rjmp .+126 ; 0x742 <__vector_19+0xb2>
6c4: 28 f4 brcc .+10 ; 0x6d0 <__vector_19+0x40>
6c6: 88 23 and r24, r24
6c8: 91 f1 breq .+100 ; 0x72e <__vector_19+0x9e>
6ca: 80 36 cpi r24, 0x60 ; 96
6cc: d1 f1 breq .+116 ; 0x742 <__vector_19+0xb2>
6ce: 34 c0 rjmp .+104 ; 0x738 <__vector_19+0xa8>
6d0: 80 38 cpi r24, 0x80 ; 128
6d2: 39 f0 breq .+14 ; 0x6e2 <__vector_19+0x52>
6d4: 31 c0 rjmp .+98 ; 0x738 <__vector_19+0xa8>
6d6: 88 3b cpi r24, 0xB8 ; 184
6d8: 41 f1 breq .+80 ; 0x72a <__vector_19+0x9a>
6da: 70 f5 brcc .+92 ; 0x738 <__vector_19+0xa8>
6dc: 88 3a cpi r24, 0xA8 ; 168
6de: 29 f1 breq .+74 ; 0x72a <__vector_19+0x9a>
6e0: 2b c0 rjmp .+86 ; 0x738 <__vector_19+0xa8>
6e2: 80 91 bb 00 lds r24, 0x00BB ; 0x8000bb <__EEPROM_REGION_LENGTH__+0x7f00bb>
6e6: f1 10 cpse r15, r1
6e8: 0f c0 rjmp .+30 ; 0x708 <__vector_19+0x78>
6ea: 98 2f mov r25, r24
6ec: 92 95 swap r25
6ee: 9f 70 andi r25, 0x0F ; 15
6f0: f9 2e mov r15, r25
6f2: 98 2f mov r25, r24
6f4: 9f 70 andi r25, 0x0F ; 15
6f6: 90 93 2f 01 sts 0x012F, r25 ; 0x80012f <comm_data>
6fa: 10 92 33 01 sts 0x0133, r1 ; 0x800133 <comm_data_idx>
6fe: 10 92 2a 01 sts 0x012A, r1 ; 0x80012a <comm_timeout>
702: 87 ff sbrs r24, 7
704: 1e c0 rjmp .+60 ; 0x742 <__vector_19+0xb2>
706: 0a c0 rjmp .+20 ; 0x71c <__vector_19+0x8c>
708: e0 91 33 01 lds r30, 0x0133 ; 0x800133 <comm_data_idx>
70c: ef 5f subi r30, 0xFF ; 255
70e: e3 70 andi r30, 0x03 ; 3
710: e0 93 33 01 sts 0x0133, r30 ; 0x800133 <comm_data_idx>
714: f0 e0 ldi r31, 0x00 ; 0
716: e1 5d subi r30, 0xD1 ; 209
718: fe 4f sbci r31, 0xFE ; 254
71a: 80 83 st Z, r24
71c: 38 de rcall .-912 ; 0x38e <pegleg_cmd>
71e: 88 23 and r24, r24
720: 81 f0 breq .+32 ; 0x742 <__vector_19+0xb2>
722: 80 91 bc 00 lds r24, 0x00BC ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
726: 8f 7b andi r24, 0xBF ; 191
728: 0a c0 rjmp .+20 ; 0x73e <__vector_19+0xae>
72a: be de rcall .-644 ; 0x4a8 <pegleg_data_tx>
72c: 0a c0 rjmp .+20 ; 0x742 <__vector_19+0xb2>
72e: 80 91 bc 00 lds r24, 0x00BC ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
732: 80 69 ori r24, 0x90 ; 144
734: 80 93 bc 00 sts 0x00BC, r24 ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
738: 80 91 bc 00 lds r24, 0x00BC ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
73c: 80 64 ori r24, 0x40 ; 64
73e: 80 93 bc 00 sts 0x00BC, r24 ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
742: 80 91 bc 00 lds r24, 0x00BC ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
746: 80 68 ori r24, 0x80 ; 128
748: 80 93 bc 00 sts 0x00BC, r24 ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
74c: ff 91 pop r31
74e: ef 91 pop r30
750: bf 91 pop r27
752: af 91 pop r26
754: 9f 91 pop r25
756: 8f 91 pop r24
758: 7f 91 pop r23
75a: 6f 91 pop r22
75c: 5f 91 pop r21
75e: 4f 91 pop r20
760: 3f 91 pop r19
762: 2f 91 pop r18
764: 0f 90 pop r0
766: 0f be out 0x3f, r0 ; 63
768: 0f 90 pop r0
76a: 1f 90 pop r1
76c: 18 95 reti
0000076e <__vector_12>:
76e: 1f 92 push r1
770: 0f 92 push r0
772: 0f b6 in r0, 0x3f ; 63
774: 0f 92 push r0
776: 11 24 eor r1, r1
778: 2f 93 push r18
77a: 3f 93 push r19
77c: 4f 93 push r20
77e: 5f 93 push r21
780: 6f 93 push r22
782: 7f 93 push r23
784: 8f 93 push r24
786: 9f 93 push r25
788: af 93 push r26
78a: bf 93 push r27
78c: ef 93 push r30
78e: ff 93 push r31
790: 80 91 0b 01 lds r24, 0x010B ; 0x80010b <tim0_milli>
794: 8f 5f subi r24, 0xFF ; 255
796: 88 3c cpi r24, 0xC8 ; 200
798: 18 f4 brcc .+6 ; 0x7a0 <__vector_12+0x32>
79a: 80 93 0b 01 sts 0x010B, r24 ; 0x80010b <tim0_milli>
79e: 0c c0 rjmp .+24 ; 0x7b8 <__vector_12+0x4a>
7a0: 10 92 0b 01 sts 0x010B, r1 ; 0x80010b <tim0_milli>
7a4: 80 91 0a 01 lds r24, 0x010A ; 0x80010a <tim0_centi>
7a8: 8f 5f subi r24, 0xFF ; 255
7aa: 84 36 cpi r24, 0x64 ; 100
7ac: 18 f4 brcc .+6 ; 0x7b4 <__vector_12+0x46>
7ae: 80 93 0a 01 sts 0x010A, r24 ; 0x80010a <tim0_centi>
7b2: 02 c0 rjmp .+4 ; 0x7b8 <__vector_12+0x4a>
7b4: 10 92 0a 01 sts 0x010A, r1 ; 0x80010a <tim0_centi>
7b8: 87 b5 in r24, 0x27 ; 39
7ba: 8d 33 cpi r24, 0x3D ; 61
7bc: 11 f0 breq .+4 ; 0x7c2 <__vector_12+0x54>
7be: 8d e3 ldi r24, 0x3D ; 61
7c0: 01 c0 rjmp .+2 ; 0x7c4 <__vector_12+0x56>
7c2: 8e e3 ldi r24, 0x3E ; 62
7c4: 87 bd out 0x27, r24 ; 39
7c6: 80 91 20 01 lds r24, 0x0120 ; 0x800120 <adc_read_mode>
7ca: 88 23 and r24, r24
7cc: 71 f0 breq .+28 ; 0x7ea <__vector_12+0x7c>
7ce: 80 91 20 01 lds r24, 0x0120 ; 0x800120 <adc_read_mode>
7d2: 81 30 cpi r24, 0x01 ; 1
7d4: 21 f0 breq .+8 ; 0x7de <__vector_12+0x70>
7d6: 88 30 cpi r24, 0x08 ; 8
7d8: 19 f4 brne .+6 ; 0x7e0 <__vector_12+0x72>
7da: ab de rcall .-682 ; 0x532 <tempsensor_read>
7dc: 01 c0 rjmp .+2 ; 0x7e0 <__vector_12+0x72>
7de: 93 dd rcall .-1242 ; 0x306 <rgbled_sensor_read>
7e0: 8e 2d mov r24, r14
7e2: 8f 3f cpi r24, 0xFF ; 255
7e4: 11 f0 breq .+4 ; 0x7ea <__vector_12+0x7c>
7e6: 8f 5f subi r24, 0xFF ; 255
7e8: e8 2e mov r14, r24
7ea: 80 91 20 01 lds r24, 0x0120 ; 0x800120 <adc_read_mode>
7ee: 81 30 cpi r24, 0x01 ; 1
7f0: 41 f0 breq .+16 ; 0x802 <__vector_12+0x94>
7f2: 81 e0 ldi r24, 0x01 ; 1
7f4: 8d 0d add r24, r13
7f6: 83 30 cpi r24, 0x03 ; 3
7f8: 10 f4 brcc .+4 ; 0x7fe <__vector_12+0x90>
7fa: d8 2e mov r13, r24
7fc: 01 c0 rjmp .+2 ; 0x800 <__vector_12+0x92>
7fe: d1 2c mov r13, r1
800: 05 dd rcall .-1526 ; 0x20c <rgbled_update>
802: ff 20 and r15, r15
804: a1 f0 breq .+40 ; 0x82e <__vector_12+0xc0>
806: 80 91 2a 01 lds r24, 0x012A ; 0x80012a <comm_timeout>
80a: 8f 5f subi r24, 0xFF ; 255
80c: 80 93 2a 01 sts 0x012A, r24 ; 0x80012a <comm_timeout>
810: 82 33 cpi r24, 0x32 ; 50
812: 68 f0 brcs .+26 ; 0x82e <__vector_12+0xc0>
814: f1 2c mov r15, r1
816: 10 92 2a 01 sts 0x012A, r1 ; 0x80012a <comm_timeout>
81a: 80 91 bc 00 lds r24, 0x00BC ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
81e: 8f 7b andi r24, 0xBF ; 191
820: 80 93 bc 00 sts 0x00BC, r24 ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
824: 80 91 bc 00 lds r24, 0x00BC ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
828: 80 64 ori r24, 0x40 ; 64
82a: 80 93 bc 00 sts 0x00BC, r24 ; 0x8000bc <__EEPROM_REGION_LENGTH__+0x7f00bc>
82e: 86 b5 in r24, 0x26 ; 38
830: ff 91 pop r31
832: ef 91 pop r30
834: bf 91 pop r27
836: af 91 pop r26
838: 9f 91 pop r25
83a: 8f 91 pop r24
83c: 7f 91 pop r23
83e: 6f 91 pop r22
840: 5f 91 pop r21
842: 4f 91 pop r20
844: 3f 91 pop r19
846: 2f 91 pop r18
848: 0f 90 pop r0
84a: 0f be out 0x3f, r0 ; 63
84c: 0f 90 pop r0
84e: 1f 90 pop r1
850: 18 95 reti
00000852 <eeprom_read_byte>:
852: f9 99 sbic 0x1f, 1 ; 31
854: fe cf rjmp .-4 ; 0x852 <eeprom_read_byte>
856: 81 bd out 0x21, r24 ; 33
858: f8 9a sbi 0x1f, 0 ; 31
85a: 99 27 eor r25, r25
85c: 80 b5 in r24, 0x20 ; 32
85e: 08 95 ret
00000860 <eeprom_read_word>:
860: a8 e1 ldi r26, 0x18 ; 24
862: b0 e0 ldi r27, 0x00 ; 0
864: 42 e0 ldi r20, 0x02 ; 2
866: 05 c0 rjmp .+10 ; 0x872 <eeprom_read_blraw>
00000868 <eeprom_write_word>:
868: 10 d0 rcall .+32 ; 0x88a <eeprom_write_byte>
86a: 27 2f mov r18, r23
86c: 0f c0 rjmp .+30 ; 0x88c <eeprom_write_r18>
0000086e <eeprom_read_block>:
86e: dc 01 movw r26, r24
870: 86 2f mov r24, r22
00000872 <eeprom_read_blraw>:
872: e8 2f mov r30, r24
874: f9 99 sbic 0x1f, 1 ; 31
876: fe cf rjmp .-4 ; 0x874 <eeprom_read_blraw+0x2>
878: 05 c0 rjmp .+10 ; 0x884 <eeprom_read_blraw+0x12>
87a: e1 bd out 0x21, r30 ; 33
87c: f8 9a sbi 0x1f, 0 ; 31
87e: e3 95 inc r30
880: 00 b4 in r0, 0x20 ; 32
882: 0d 92 st X+, r0
884: 41 50 subi r20, 0x01 ; 1
886: c8 f7 brcc .-14 ; 0x87a <eeprom_read_blraw+0x8>
888: 08 95 ret
0000088a <eeprom_write_byte>:
88a: 26 2f mov r18, r22
0000088c <eeprom_write_r18>:
88c: f9 99 sbic 0x1f, 1 ; 31
88e: fe cf rjmp .-4 ; 0x88c <eeprom_write_r18>
890: 1f ba out 0x1f, r1 ; 31
892: 81 bd out 0x21, r24 ; 33
894: 20 bd out 0x20, r18 ; 32
896: 0f b6 in r0, 0x3f ; 63
898: f8 94 cli
89a: fa 9a sbi 0x1f, 2 ; 31
89c: f9 9a sbi 0x1f, 1 ; 31
89e: 0f be out 0x3f, r0 ; 63
8a0: 01 96 adiw r24, 0x01 ; 1
8a2: 08 95 ret
000008a4 <_exit>:
8a4: f8 94 cli
000008a6 <__stop_program>:
8a6: ff cf rjmp .-2 ; 0x8a6 <__stop_program>