Blame | Last modification | View Log | RSS feed
1 .file "twimaster.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __tmp_reg__ = 0
6 __zero_reg__ = 1
7 .global __do_copy_data
8 .global __do_clear_bss
9 .text
10 .global I2C_Init
12 I2C_Init:
13 /* prologue: frame size=0 */
14 /* prologue end (size=0) */
15 0000 2FB7 in r18,95-0x20
16 /* #APP */
17 0002 F894 cli
18 /* #NOAPP */
19 0004 3998 cbi 39-0x20,1
20 0006 389A sbi 39-0x20,0
21 0008 98B1 in r25,40-0x20
22 000a 9360 ori r25,lo8(3)
23 000c 98B9 out 40-0x20,r25
24 000e 9091 B900 lds r25,185
25 0012 9C7F andi r25,lo8(-4)
26 0014 9093 B900 sts 185,r25
27 0018 9AE2 ldi r25,lo8(42)
28 001a 9093 B800 sts 184,r25
29 001e 1092 0000 sts twi_state,__zero_reg__
30 0022 1092 0000 sts motor_write,__zero_reg__
31 0026 1092 0000 sts motor_read,__zero_reg__
32 002a 8823 tst r24
33 002c 01F0 breq .L2
34 002e E0E0 ldi r30,lo8(Motor)
35 0030 F0E0 ldi r31,hi8(Motor)
36 .L4:
37 0032 1082 st Z,__zero_reg__
38 0034 1182 std Z+1,__zero_reg__
39 0036 1282 std Z+2,__zero_reg__
40 0038 1382 std Z+3,__zero_reg__
41 003a 1482 std Z+4,__zero_reg__
42 003c 1582 std Z+5,__zero_reg__
43 003e 1682 std Z+6,__zero_reg__
44 0040 1782 std Z+7,__zero_reg__
45 0042 3896 adiw r30,8
46 0044 80E0 ldi r24,hi8(Motor+96)
47 0046 E030 cpi r30,lo8(Motor+96)
48 0048 F807 cpc r31,r24
49 004a 01F4 brne .L4
50 .L2:
51 /* #APP */
52 004c 7894 sei
53 /* #NOAPP */
54 004e 2FBF out 95-0x20,r18
55 /* epilogue: frame size=0 */
56 0050 0895 ret
57 /* epilogue end (size=1) */
58 /* function I2C_Init size 43 (42) */
60 .global I2C_Reset
62 I2C_Reset:
63 /* prologue: frame size=0 */
64 0052 EF92 push r14
65 0054 FF92 push r15
66 0056 0F93 push r16
67 0058 1F93 push r17
68 /* prologue end (size=4) */
69 005a 1092 0000 sts twi_state,__zero_reg__
70 005e 0CEB ldi r16,lo8(188)
71 0060 10E0 ldi r17,hi8(188)
72 0062 84E9 ldi r24,lo8(-108)
73 0064 F801 movw r30,r16
74 0066 8083 st Z,r24
75 0068 80E8 ldi r24,lo8(-128)
76 006a 8083 st Z,r24
77 006c 1092 BD00 sts 189,__zero_reg__
78 0070 1092 BA00 sts 186,__zero_reg__
79 0074 8BEB ldi r24,lo8(187)
80 0076 E82E mov r14,r24
81 0078 F12C mov r15,__zero_reg__
82 007a F701 movw r30,r14
83 007c 1082 st Z,__zero_reg__
84 007e 1092 B900 sts 185,__zero_reg__
85 0082 1092 B800 sts 184,__zero_reg__
86 0086 1092 0000 sts I2C_TransferActive,__zero_reg__
87 008a 80E0 ldi r24,lo8(0)
88 008c 0E94 0000 call I2C_Init
89 0090 F701 movw r30,r14
90 0092 1082 st Z,__zero_reg__
91 0094 85E8 ldi r24,lo8(-123)
92 0096 F801 movw r30,r16
93 0098 8083 st Z,r24
94 009a 8091 0000 lds r24,BLFlags
95 009e 8260 ori r24,lo8(2)
96 00a0 8093 0000 sts BLFlags,r24
97 /* epilogue: frame size=0 */
98 00a4 1F91 pop r17
99 00a6 0F91 pop r16
100 00a8 FF90 pop r15
101 00aa EF90 pop r14
102 00ac 0895 ret
103 /* epilogue end (size=5) */
104 /* function I2C_Reset size 46 (37) */
106 .global __vector_26
108 __vector_26:
109 /* prologue: frame size=0 */
110 00ae 1F92 push __zero_reg__
111 00b0 0F92 push __tmp_reg__
112 00b2 0FB6 in __tmp_reg__,__SREG__
113 00b4 0F92 push __tmp_reg__
114 00b6 1124 clr __zero_reg__
115 00b8 2F93 push r18
116 00ba 3F93 push r19
117 00bc 4F93 push r20
118 00be 8F93 push r24
119 00c0 9F93 push r25
120 00c2 AF93 push r26
121 00c4 BF93 push r27
122 00c6 EF93 push r30
123 00c8 FF93 push r31
124 /* prologue end (size=14) */
125 00ca 8091 0000 lds r24,twi_state
126 00ce 8F5F subi r24,lo8(-(1))
127 00d0 8093 0000 sts twi_state,r24
128 00d4 8150 subi r24,lo8(-(-1))
129 00d6 E82F mov r30,r24
130 00d8 F0E0 ldi r31,lo8(0)
131 00da E731 cpi r30,23
132 00dc F105 cpc r31,__zero_reg__
133 00de 00F0 brlo .+2
134 00e0 00C0 rjmp .L10
135 00e2 E050 subi r30,lo8(-(gs(.L23)))
**** Warning:expression dangerous with linker stubs
136 00e4 F040 sbci r31,hi8(-(gs(.L23)))
**** Warning:expression dangerous with linker stubs
137 00e6 0C94 0000 jmp __tablejump2__
138 .data
139 .section .progmem.gcc_sw_table, "a", @progbits
140 .p2align 1
141 .L23:
142 .data
143 .section .progmem.gcc_sw_table, "a", @progbits
144 .p2align 1
145 0000 0000 .word gs(.L11)
146 0002 0000 .word gs(.L12)
147 0004 0000 .word gs(.L13)
148 0006 0000 .word gs(.L14)
149 0008 0000 .word gs(.L15)
150 000a 0000 .word gs(.L16)
151 000c 0000 .word gs(.L17)
152 000e 0000 .word gs(.L10)
153 0010 0000 .word gs(.L10)
154 0012 0000 .word gs(.L10)
155 0014 0000 .word gs(.L10)
156 0016 0000 .word gs(.L10)
157 0018 0000 .word gs(.L10)
158 001a 0000 .word gs(.L10)
159 001c 0000 .word gs(.L10)
160 001e 0000 .word gs(.L10)
161 0020 0000 .word gs(.L10)
162 0022 0000 .word gs(.L10)
163 0024 0000 .word gs(.L18)
164 0026 0000 .word gs(.L19)
165 0028 0000 .word gs(.L20)
166 002a 0000 .word gs(.L21)
167 002c 0000 .word gs(.L22)
168 .text
169 .L11:
170 00ea 81E0 ldi r24,lo8(1)
171 00ec 8093 0000 sts I2C_TransferActive,r24
172 00f0 00C0 rjmp .L24
173 .L25:
174 00f2 8091 0000 lds r24,motor_write
175 00f6 8F5F subi r24,lo8(-(1))
176 00f8 8093 0000 sts motor_write,r24
177 .L24:
178 00fc E091 0000 lds r30,motor_write
179 0100 F0E0 ldi r31,lo8(0)
180 0102 EE0F lsl r30
181 0104 FF1F rol r31
182 0106 EE0F lsl r30
183 0108 FF1F rol r31
184 010a E050 subi r30,lo8(-(Mixer))
185 010c F040 sbci r31,hi8(-(Mixer))
186 010e 8585 ldd r24,Z+13
187 0110 1816 cp __zero_reg__,r24
188 0112 04F0 brlt .L26
189 0114 8091 0000 lds r24,motor_write
190 0118 8C30 cpi r24,lo8(12)
191 011a 00F0 brlo .L25
192 .L26:
193 011c 8091 0000 lds r24,motor_write
194 0120 8C30 cpi r24,lo8(12)
195 0122 00F0 brlo .L28
196 0124 1092 0000 sts (BLConfig_WriteMask)+1,__zero_reg__
197 0128 1092 0000 sts BLConfig_WriteMask,__zero_reg__
198 012c 1092 0000 sts motor_write,__zero_reg__
199 0130 85E0 ldi r24,lo8(5)
200 0132 8093 0000 sts twi_state,r24
201 0136 8091 0000 lds r24,motor_read
202 013a 880F lsl r24
203 013c 8D5A subi r24,lo8(-(83))
204 013e 00C0 rjmp .L92
205 .L28:
206 0140 8091 0000 lds r24,motor_write
207 0144 880F lsl r24
208 0146 8E5A subi r24,lo8(-(82))
209 .L92:
210 0148 8093 BB00 sts 187,r24
211 014c 85E8 ldi r24,lo8(-123)
212 014e 00C0 rjmp .L88
213 .L12:
214 0150 E091 0000 lds r30,motor_write
215 0154 F0E0 ldi r31,lo8(0)
216 0156 A3E0 ldi r26,3
217 0158 EE0F 1: lsl r30
218 015a FF1F rol r31
219 015c AA95 dec r26
220 015e 01F4 brne 1b
221 0160 E050 subi r30,lo8(-(Motor))
222 0162 F040 sbci r31,hi8(-(Motor))
223 0164 8181 ldd r24,Z+1
224 0166 8093 BB00 sts 187,r24
225 016a 85E8 ldi r24,lo8(-123)
226 016c 8093 BC00 sts 188,r24
227 0170 E091 0000 lds r30,motor_write
228 0174 F0E0 ldi r31,lo8(0)
229 0176 EE0F lsl r30
230 0178 FF1F rol r31
231 017a EE0F lsl r30
232 017c FF1F rol r31
233 017e EE0F lsl r30
234 0180 FF1F rol r31
235 0182 E050 subi r30,lo8(-(Motor))
236 0184 F040 sbci r31,hi8(-(Motor))
237 0186 8081 ld r24,Z
238 0188 80FF sbrs r24,0
239 018a 00C0 rjmp .L40
240 018c E091 0000 lds r30,motor_write
241 0190 F0E0 ldi r31,lo8(0)
242 0192 EE0F lsl r30
243 0194 FF1F rol r31
244 0196 EE0F lsl r30
245 0198 FF1F rol r31
246 019a EE0F lsl r30
247 019c FF1F rol r31
248 019e E050 subi r30,lo8(-(Motor))
249 01a0 F040 sbci r31,hi8(-(Motor))
250 01a2 8281 ldd r24,Z+2
251 01a4 8823 tst r24
252 01a6 01F0 breq .L33
253 01a8 8091 0000 lds r24,RequiredMotors
254 01ac 8730 cpi r24,lo8(7)
255 01ae 00F4 brsh .+2
256 01b0 00C0 rjmp .L84
257 .L33:
258 01b2 8091 0000 lds r24,BLConfig_WriteMask
259 01b6 9091 0000 lds r25,(BLConfig_WriteMask)+1
260 01ba 892B or r24,r25
261 01bc 01F0 breq .+2
262 01be 00C0 rjmp .L84
263 01c0 8091 0000 lds r24,BLConfig_ReadMask
264 01c4 9091 0000 lds r25,(BLConfig_ReadMask)+1
265 01c8 892B or r24,r25
266 01ca 01F0 breq .+2
267 01cc 00C0 rjmp .L84
268 01ce 00C0 rjmp .L40
269 .L13:
270 01d0 4091 0000 lds r20,motor_write
271 01d4 2091 0000 lds r18,BLConfig_ReadMask
272 01d8 3091 0000 lds r19,(BLConfig_ReadMask)+1
273 01dc 81E0 ldi r24,lo8(1)
274 01de 90E0 ldi r25,hi8(1)
275 01e0 00C0 rjmp 2f
276 01e2 880F 1: lsl r24
277 01e4 991F rol r25
278 01e6 4A95 2: dec r20
279 01e8 02F4 brpl 1b
280 01ea 8223 and r24,r18
281 01ec 9323 and r25,r19
282 01ee 892B or r24,r25
283 01f0 01F0 breq .L37
284 01f2 E091 0000 lds r30,motor_write
285 01f6 F0E0 ldi r31,lo8(0)
286 01f8 EE0F lsl r30
287 01fa FF1F rol r31
288 01fc EE0F lsl r30
289 01fe FF1F rol r31
290 0200 EE0F lsl r30
291 0202 FF1F rol r31
292 0204 E050 subi r30,lo8(-(Motor))
293 0206 F040 sbci r31,hi8(-(Motor))
294 0208 80E1 ldi r24,lo8(16)
295 020a 8483 std Z+4,r24
296 020c 00C0 rjmp .L39
297 .L37:
298 020e E091 0000 lds r30,motor_write
299 0212 F0E0 ldi r31,lo8(0)
300 0214 43E0 ldi r20,3
301 0216 EE0F 1: lsl r30
302 0218 FF1F rol r31
303 021a 4A95 dec r20
304 021c 01F4 brne 1b
305 021e E050 subi r30,lo8(-(Motor))
306 0220 F040 sbci r31,hi8(-(Motor))
307 0222 1482 std Z+4,__zero_reg__
308 .L39:
309 0224 E091 0000 lds r30,motor_write
310 0228 A091 0000 lds r26,motor_write
311 022c F0E0 ldi r31,lo8(0)
312 022e 33E0 ldi r19,3
313 0230 EE0F 1: lsl r30
314 0232 FF1F rol r31
315 0234 3A95 dec r19
316 0236 01F4 brne 1b
317 0238 E050 subi r30,lo8(-(Motor))
318 023a F040 sbci r31,hi8(-(Motor))
319 023c 9481 ldd r25,Z+4
320 023e 990F lsl r25
321 0240 990F lsl r25
322 0242 990F lsl r25
323 0244 B0E0 ldi r27,lo8(0)
324 0246 23E0 ldi r18,3
325 0248 AA0F 1: lsl r26
326 024a BB1F rol r27
327 024c 2A95 dec r18
328 024e 01F4 brne 1b
329 0250 A050 subi r26,lo8(-(Motor))
330 0252 B040 sbci r27,hi8(-(Motor))
331 0254 FD01 movw r30,r26
332 0256 8281 ldd r24,Z+2
333 0258 8770 andi r24,lo8(7)
334 025a 982B or r25,r24
335 025c 9093 BB00 sts 187,r25
336 0260 85E8 ldi r24,lo8(-123)
337 0262 8093 BC00 sts 188,r24
338 0266 4091 0000 lds r20,motor_write
339 026a 2091 0000 lds r18,BLConfig_WriteMask
340 026e 3091 0000 lds r19,(BLConfig_WriteMask)+1
341 0272 81E0 ldi r24,lo8(1)
342 0274 90E0 ldi r25,hi8(1)
343 0276 00C0 rjmp 2f
344 0278 880F 1: lsl r24
345 027a 991F rol r25
346 027c 4A95 2: dec r20
347 027e 02F4 brpl 1b
348 0280 8223 and r24,r18
349 0282 9323 and r25,r19
350 0284 892B or r24,r25
351 0286 01F0 breq .L40
352 0288 80E0 ldi r24,lo8(BLConfig)
353 028a 90E0 ldi r25,hi8(BLConfig)
354 028c 9093 0000 sts (pBuff.1961)+1,r25
355 0290 8093 0000 sts pBuff.1961,r24
356 0294 88E0 ldi r24,lo8(8)
357 0296 8093 0000 sts BuffLen.1962,r24
358 029a 00C0 rjmp .L84
359 .L40:
360 029c 84E0 ldi r24,lo8(4)
361 029e 00C0 rjmp .L90
362 .L14:
363 02a0 E091 0000 lds r30,pBuff.1961
364 02a4 F091 0000 lds r31,(pBuff.1961)+1
365 02a8 8191 ld r24,Z+
366 02aa 8093 BB00 sts 187,r24
367 02ae 85E8 ldi r24,lo8(-123)
368 02b0 8093 BC00 sts 188,r24
369 02b4 F093 0000 sts (pBuff.1961)+1,r31
370 02b8 E093 0000 sts pBuff.1961,r30
371 02bc 8091 0000 lds r24,BuffLen.1962
372 02c0 8150 subi r24,lo8(-(-1))
373 02c2 8093 0000 sts BuffLen.1962,r24
374 02c6 8823 tst r24
375 02c8 01F4 brne .+2
376 02ca 00C0 rjmp .L84
377 02cc 83E0 ldi r24,lo8(3)
378 02ce 00C0 rjmp .L90
379 .L15:
380 02d0 8091 B900 lds r24,185
381 02d4 8033 cpi r24,lo8(48)
382 02d6 01F4 brne .L43
383 02d8 8091 0000 lds r24,missing_motor.1959
384 02dc 8823 tst r24
385 02de 01F4 brne .L45
386 02e0 8091 0000 lds r24,motor_write
387 02e4 8F5F subi r24,lo8(-(1))
388 02e6 8093 0000 sts missing_motor.1959,r24
389 .L45:
390 02ea E091 0000 lds r30,motor_write
391 02ee F0E0 ldi r31,lo8(0)
392 02f0 93E0 ldi r25,3
393 02f2 EE0F 1: lsl r30
394 02f4 FF1F rol r31
395 02f6 9A95 dec r25
396 02f8 01F4 brne 1b
397 02fa E050 subi r30,lo8(-(Motor))
398 02fc F040 sbci r31,hi8(-(Motor))
399 02fe 8381 ldd r24,Z+3
400 0300 8F77 andi r24,lo8(127)
401 0302 8F37 cpi r24,lo8(127)
402 0304 01F0 breq .L43
403 0306 E091 0000 lds r30,motor_write
404 030a F0E0 ldi r31,lo8(0)
405 030c 83E0 ldi r24,3
406 030e EE0F 1: lsl r30
407 0310 FF1F rol r31
408 0312 8A95 dec r24
409 0314 01F4 brne 1b
410 0316 E050 subi r30,lo8(-(Motor))
411 0318 F040 sbci r31,hi8(-(Motor))
412 031a 8381 ldd r24,Z+3
413 031c 8F5F subi r24,lo8(-(1))
414 031e 8383 std Z+3,r24
415 .L43:
416 0320 1092 0000 sts twi_state,__zero_reg__
417 0324 84E9 ldi r24,lo8(-108)
418 0326 8093 BC00 sts 188,r24
419 032a 8AE0 ldi r24,lo8(10)
420 032c 90E0 ldi r25,hi8(10)
421 032e 9093 0000 sts (I2CTimeout)+1,r25
422 0332 8093 0000 sts I2CTimeout,r24
423 0336 8091 0000 lds r24,motor_write
424 033a 8F5F subi r24,lo8(-(1))
425 033c 8093 0000 sts motor_write,r24
426 0340 1092 0000 sts twi_state,__zero_reg__
427 0344 00C0 rjmp .L93
428 .L16:
429 0346 8091 B900 lds r24,185
430 034a 8034 cpi r24,lo8(64)
431 034c 01F0 breq .L48
432 034e E091 0000 lds r30,motor_read
433 0352 F0E0 ldi r31,lo8(0)
434 0354 B3E0 ldi r27,3
435 0356 EE0F 1: lsl r30
436 0358 FF1F rol r31
437 035a BA95 dec r27
438 035c 01F4 brne 1b
439 035e E050 subi r30,lo8(-(Motor))
440 0360 F040 sbci r31,hi8(-(Motor))
441 0362 8381 ldd r24,Z+3
442 0364 8F77 andi r24,lo8(127)
443 0366 8383 std Z+3,r24
444 0368 8091 0000 lds r24,motor_read
445 036c 8F5F subi r24,lo8(-(1))
446 036e 8093 0000 sts motor_read,r24
447 0372 8091 0000 lds r24,motor_read
448 0376 8C30 cpi r24,lo8(12)
449 0378 00F0 brlo .L50
450 037a 1092 0000 sts motor_read,__zero_reg__
451 037e 1092 0000 sts (BLConfig_ReadMask)+1,__zero_reg__
452 0382 1092 0000 sts BLConfig_ReadMask,__zero_reg__
453 0386 8091 0000 lds r24,motor_read_temperature.1960
454 038a 8F5F subi r24,lo8(-(1))
455 038c 8093 0000 sts motor_read_temperature.1960,r24
456 0390 8C30 cpi r24,lo8(12)
457 0392 00F0 brlo .L50
458 0394 1092 0000 sts motor_read_temperature.1960,__zero_reg__
459 0398 8091 0000 lds r24,BLFlags
460 039c 8D7F andi r24,lo8(-3)
461 039e 8093 0000 sts BLFlags,r24
462 .L50:
463 03a2 8091 0000 lds r24,BLFlags
464 03a6 8160 ori r24,lo8(1)
465 03a8 8093 0000 sts BLFlags,r24
466 03ac 1092 0000 sts twi_state,__zero_reg__
467 03b0 84E9 ldi r24,lo8(-108)
468 03b2 8093 BC00 sts 188,r24
469 03b6 1092 0000 sts I2C_TransferActive,__zero_reg__
470 03ba 00C0 rjmp .L53
471 .L48:
472 03bc E091 0000 lds r30,motor_read
473 03c0 F0E0 ldi r31,lo8(0)
474 03c2 A3E0 ldi r26,3
475 03c4 EE0F 1: lsl r30
476 03c6 FF1F rol r31
477 03c8 AA95 dec r26
478 03ca 01F4 brne 1b
479 03cc E050 subi r30,lo8(-(Motor))
480 03ce F040 sbci r31,hi8(-(Motor))
481 03d0 8381 ldd r24,Z+3
482 03d2 8068 ori r24,lo8(-128)
483 03d4 8383 std Z+3,r24
484 03d6 E091 0000 lds r30,motor_read
485 03da F0E0 ldi r31,lo8(0)
486 03dc EE0F lsl r30
487 03de FF1F rol r31
488 03e0 EE0F lsl r30
489 03e2 FF1F rol r31
490 03e4 EE0F lsl r30
491 03e6 FF1F rol r31
492 03e8 E050 subi r30,lo8(-(Motor))
493 03ea F040 sbci r31,hi8(-(Motor))
494 03ec 8081 ld r24,Z
495 03ee 80FF sbrs r24,0
496 03f0 00C0 rjmp .L54
497 03f2 E091 0000 lds r30,motor_read
498 03f6 F0E0 ldi r31,lo8(0)
499 03f8 EE0F lsl r30
500 03fa FF1F rol r31
501 03fc EE0F lsl r30
502 03fe FF1F rol r31
503 0400 EE0F lsl r30
504 0402 FF1F rol r31
505 0404 E050 subi r30,lo8(-(Motor))
506 0406 F040 sbci r31,hi8(-(Motor))
507 0408 8481 ldd r24,Z+4
508 040a 8823 tst r24
509 040c 01F0 breq .L57
510 040e 8031 cpi r24,lo8(16)
511 0410 01F4 brne .L56
512 0412 80E0 ldi r24,lo8(BLConfig)
513 0414 90E0 ldi r25,hi8(BLConfig)
514 0416 9093 0000 sts (pBuff.1961)+1,r25
515 041a 8093 0000 sts pBuff.1961,r24
516 041e 88E0 ldi r24,lo8(8)
517 0420 00C0 rjmp .L85
518 .L57:
519 0422 8091 0000 lds r24,motor_read
520 0426 90E0 ldi r25,lo8(0)
521 0428 880F lsl r24
522 042a 991F rol r25
523 042c 880F lsl r24
524 042e 991F rol r25
525 0430 880F lsl r24
526 0432 991F rol r25
527 0434 8050 subi r24,lo8(-(Motor+5))
528 0436 9040 sbci r25,hi8(-(Motor+5))
529 0438 9093 0000 sts (pBuff.1961)+1,r25
530 043c 8093 0000 sts pBuff.1961,r24
531 0440 9091 0000 lds r25,motor_read
532 0444 8091 0000 lds r24,motor_read_temperature.1960
533 0448 9817 cp r25,r24
534 044a 01F4 brne .L63
535 044c 83E0 ldi r24,lo8(3)
536 044e 00C0 rjmp .L85
537 .L54:
538 0450 8091 0000 lds r24,motor_read
539 0454 90E0 ldi r25,lo8(0)
540 0456 43E0 ldi r20,3
541 0458 880F 1: lsl r24
542 045a 991F rol r25
543 045c 4A95 dec r20
544 045e 01F4 brne 1b
545 0460 8050 subi r24,lo8(-(Motor+5))
546 0462 9040 sbci r25,hi8(-(Motor+5))
547 0464 9093 0000 sts (pBuff.1961)+1,r25
548 0468 8093 0000 sts pBuff.1961,r24
549 046c 8091 0000 lds r24,BLFlags
550 0470 81FD sbrc r24,1
551 0472 00C0 rjmp .L61
552 0474 9091 0000 lds r25,motor_read
553 0478 8091 0000 lds r24,motor_read_temperature.1960
554 047c 9817 cp r25,r24
555 047e 01F4 brne .L63
556 .L61:
557 0480 82E0 ldi r24,lo8(2)
558 0482 00C0 rjmp .L85
559 .L63:
560 0484 81E0 ldi r24,lo8(1)
561 .L85:
562 0486 8093 0000 sts BuffLen.1962,r24
563 .L56:
564 048a 8091 0000 lds r24,BuffLen.1962
565 048e 8130 cpi r24,lo8(1)
566 0490 01F4 brne .L64
567 0492 85E8 ldi r24,lo8(-123)
568 0494 00C0 rjmp .L86
569 .L64:
570 0496 85EC ldi r24,lo8(-59)
571 .L86:
572 0498 8093 BC00 sts 188,r24
573 .L53:
574 049c 8091 0000 lds r24,missing_motor.1959
575 04a0 8093 0000 sts MissingMotor,r24
576 04a4 1092 0000 sts missing_motor.1959,__zero_reg__
577 04a8 00C0 rjmp .L84
578 .L17:
579 04aa E091 0000 lds r30,pBuff.1961
580 04ae F091 0000 lds r31,(pBuff.1961)+1
581 04b2 8091 BB00 lds r24,187
582 04b6 8193 st Z+,r24
583 04b8 F093 0000 sts (pBuff.1961)+1,r31
584 04bc E093 0000 sts pBuff.1961,r30
585 04c0 8091 0000 lds r24,BuffLen.1962
586 04c4 8150 subi r24,lo8(-(-1))
587 04c6 8093 0000 sts BuffLen.1962,r24
588 04ca 8230 cpi r24,lo8(2)
589 04cc 00F0 brlo .L66
590 04ce 85EC ldi r24,lo8(-59)
591 04d0 00C0 rjmp .L87
592 .L66:
593 04d2 8130 cpi r24,lo8(1)
594 04d4 01F4 brne .L69
595 04d6 85E8 ldi r24,lo8(-123)
596 04d8 00C0 rjmp .L87
597 .L69:
598 04da 8091 0000 lds r24,BLFlags
599 04de 81FF sbrs r24,1
600 04e0 00C0 rjmp .L71
601 04e2 8091 0000 lds r24,FC_StatusFlags
602 04e6 80FD sbrc r24,0
603 04e8 00C0 rjmp .L73
604 04ea E091 0000 lds r30,motor_read
605 04ee F0E0 ldi r31,lo8(0)
606 04f0 33E0 ldi r19,3
607 04f2 EE0F 1: lsl r30
608 04f4 FF1F rol r31
609 04f6 3A95 dec r19
610 04f8 01F4 brne 1b
611 04fa E050 subi r30,lo8(-(Motor))
612 04fc F040 sbci r31,hi8(-(Motor))
613 04fe 8681 ldd r24,Z+6
614 0500 8A3F cpi r24,lo8(-6)
615 0502 01F4 brne .L73
616 0504 E091 0000 lds r30,motor_read
617 0508 F0E0 ldi r31,lo8(0)
618 050a 23E0 ldi r18,3
619 050c EE0F 1: lsl r30
620 050e FF1F rol r31
621 0510 2A95 dec r18
622 0512 01F4 brne 1b
623 0514 E050 subi r30,lo8(-(Motor))
624 0516 F040 sbci r31,hi8(-(Motor))
625 0518 8081 ld r24,Z
626 051a 8160 ori r24,lo8(1)
627 051c 8083 st Z,r24
628 051e 00C0 rjmp .L71
629 .L73:
630 0520 E091 0000 lds r30,motor_read
631 0524 F0E0 ldi r31,lo8(0)
632 0526 93E0 ldi r25,3
633 0528 EE0F 1: lsl r30
634 052a FF1F rol r31
635 052c 9A95 dec r25
636 052e 01F4 brne 1b
637 0530 E050 subi r30,lo8(-(Motor))
638 0532 F040 sbci r31,hi8(-(Motor))
639 0534 1082 st Z,__zero_reg__
640 .L71:
641 0536 8091 0000 lds r24,motor_read
642 053a 8F5F subi r24,lo8(-(1))
643 053c 8093 0000 sts motor_read,r24
644 0540 8091 0000 lds r24,motor_read
645 0544 8C30 cpi r24,lo8(12)
646 0546 00F0 brlo .L76
647 0548 1092 0000 sts motor_read,__zero_reg__
648 054c 1092 0000 sts (BLConfig_ReadMask)+1,__zero_reg__
649 0550 1092 0000 sts BLConfig_ReadMask,__zero_reg__
650 0554 8091 0000 lds r24,motor_read_temperature.1960
651 0558 8F5F subi r24,lo8(-(1))
652 055a 8093 0000 sts motor_read_temperature.1960,r24
653 055e 8C30 cpi r24,lo8(12)
654 0560 00F0 brlo .L76
655 0562 1092 0000 sts motor_read_temperature.1960,__zero_reg__
656 0566 8091 0000 lds r24,BLFlags
657 056a 8D7F andi r24,lo8(-3)
658 056c 8093 0000 sts BLFlags,r24
659 .L76:
660 0570 1092 0000 sts twi_state,__zero_reg__
661 0574 84E9 ldi r24,lo8(-108)
662 0576 8093 BC00 sts 188,r24
663 057a 8091 0000 lds r24,BLFlags
664 057e 8160 ori r24,lo8(1)
665 0580 8093 0000 sts BLFlags,r24
666 0584 00C0 rjmp .L91
667 .L87:
668 0586 8093 BC00 sts 188,r24
669 058a 86E0 ldi r24,lo8(6)
670 .L90:
671 058c 8093 0000 sts twi_state,r24
672 0590 00C0 rjmp .L84
673 .L18:
674 0592 88E9 ldi r24,lo8(-104)
675 0594 00C0 rjmp .L92
676 .L19:
677 0596 8091 0000 lds r24,dac_channel
678 059a 880F lsl r24
679 059c 805F subi r24,lo8(-(16))
680 059e 00C0 rjmp .L92
681 .L20:
682 05a0 8091 0000 lds r24,dac_channel
683 05a4 8130 cpi r24,lo8(1)
684 05a6 01F0 breq .L80
685 05a8 8130 cpi r24,lo8(1)
686 05aa 00F0 brlo .L79
687 05ac 8230 cpi r24,lo8(2)
688 05ae 01F0 breq .+2
689 05b0 00C0 rjmp .L84
690 05b2 00C0 rjmp .L81
691 .L79:
692 05b4 8091 0000 lds r24,AnalogOffsetNick
693 05b8 00C0 rjmp .L92
694 .L80:
695 05ba 8091 0000 lds r24,AnalogOffsetRoll
696 05be 00C0 rjmp .L92
697 .L81:
698 05c0 8091 0000 lds r24,AnalogOffsetGier
699 05c4 00C0 rjmp .L92
700 .L21:
701 05c6 80E8 ldi r24,lo8(-128)
702 05c8 00C0 rjmp .L92
703 .L22:
704 05ca 1092 0000 sts twi_state,__zero_reg__
705 05ce 84E9 ldi r24,lo8(-108)
706 05d0 8093 BC00 sts 188,r24
707 05d4 1092 0000 sts I2C_TransferActive,__zero_reg__
708 05d8 8AE0 ldi r24,lo8(10)
709 05da 90E0 ldi r25,hi8(10)
710 05dc 9093 0000 sts (I2CTimeout)+1,r25
711 05e0 8093 0000 sts I2CTimeout,r24
712 05e4 8091 0000 lds r24,dac_channel
713 05e8 8230 cpi r24,lo8(2)
714 05ea 00F4 brsh .L82
715 05ec 8091 0000 lds r24,dac_channel
716 05f0 8F5F subi r24,lo8(-(1))
717 05f2 8093 0000 sts dac_channel,r24
718 05f6 82E1 ldi r24,lo8(18)
719 05f8 8093 0000 sts twi_state,r24
720 .L93:
721 05fc 8091 0000 lds r24,BLFlags
722 0600 8E7F andi r24,lo8(-2)
723 0602 8093 0000 sts BLFlags,r24
724 0606 85EA ldi r24,lo8(-91)
725 .L88:
726 0608 8093 BC00 sts 188,r24
727 060c 00C0 rjmp .L84
728 .L82:
729 060e 1092 0000 sts dac_channel,__zero_reg__
730 0612 8091 0000 lds r24,BLFlags
731 0616 8160 ori r24,lo8(1)
732 0618 8093 0000 sts BLFlags,r24
733 061c 00C0 rjmp .L84
734 .L10:
735 061e 1092 0000 sts twi_state,__zero_reg__
736 0622 84E9 ldi r24,lo8(-108)
737 0624 8093 BC00 sts 188,r24
738 0628 8091 0000 lds r24,BLFlags
739 062c 8160 ori r24,lo8(1)
740 062e 8093 0000 sts BLFlags,r24
741 0632 8AE0 ldi r24,lo8(10)
742 0634 90E0 ldi r25,hi8(10)
743 0636 9093 0000 sts (I2CTimeout)+1,r25
744 063a 8093 0000 sts I2CTimeout,r24
745 063e 1092 0000 sts motor_write,__zero_reg__
746 0642 1092 0000 sts motor_read,__zero_reg__
747 .L91:
748 0646 1092 0000 sts I2C_TransferActive,__zero_reg__
749 .L84:
750 /* epilogue: frame size=0 */
751 064a FF91 pop r31
752 064c EF91 pop r30
753 064e BF91 pop r27
754 0650 AF91 pop r26
755 0652 9F91 pop r25
756 0654 8F91 pop r24
757 0656 4F91 pop r20
758 0658 3F91 pop r19
759 065a 2F91 pop r18
760 065c 0F90 pop __tmp_reg__
761 065e 0FBE out __SREG__,__tmp_reg__
762 0660 0F90 pop __tmp_reg__
763 0662 1F90 pop __zero_reg__
764 0664 1895 reti
765 /* epilogue end (size=14) */
766 /* function __vector_26 size 757 (729) */
768 .global I2C_ReadBLConfig
770 I2C_ReadBLConfig:
771 /* prologue: frame size=0 */
772 0666 0F93 push r16
773 0668 1F93 push r17
774 066a CF93 push r28
775 066c DF93 push r29
776 /* prologue end (size=4) */
777 066e 982F mov r25,r24
778 0670 8091 0000 lds r24,MotorenEin
779 0674 8823 tst r24
780 0676 01F0 breq .+2
781 0678 00C0 rjmp .L95
782 067a 8091 0000 lds r24,PC_MotortestActive
783 067e 8823 tst r24
784 0680 01F0 breq .+2
785 0682 00C0 rjmp .L95
786 0684 9D30 cpi r25,lo8(13)
787 0686 00F0 brlo .+2
788 0688 00C0 rjmp .L98
789 068a 9923 tst r25
790 068c 01F4 brne .L100
791 068e 86E0 ldi r24,lo8(6)
792 0690 90E0 ldi r25,hi8(6)
793 0692 00C0 rjmp .L102
794 .L100:
795 0694 C92F mov r28,r25
796 0696 D0E0 ldi r29,lo8(0)
797 0698 2197 sbiw r28,1
798 069a FE01 movw r30,r28
799 069c 13E0 ldi r17,3
800 069e EE0F 1: lsl r30
801 06a0 FF1F rol r31
802 06a2 1A95 dec r17
803 06a4 01F4 brne 1b
804 06a6 E050 subi r30,lo8(-(Motor))
805 06a8 F040 sbci r31,hi8(-(Motor))
806 06aa 8381 ldd r24,Z+3
807 06ac 87FF sbrs r24,7
808 06ae 00C0 rjmp .L98
809 06b0 8081 ld r24,Z
810 06b2 80FD sbrc r24,0
811 06b4 00C0 rjmp .L104
812 06b6 83E0 ldi r24,lo8(3)
813 06b8 90E0 ldi r25,hi8(3)
814 06ba 00C0 rjmp .L102
815 .L104:
816 06bc 80ED ldi r24,lo8(2000)
817 06be 97E0 ldi r25,hi8(2000)
818 06c0 0E94 0000 call SetDelay
819 06c4 8C01 movw r16,r24
820 .L106:
821 06c6 8091 0000 lds r24,BLFlags
822 06ca 80FD sbrc r24,0
823 06cc 00C0 rjmp .L107
824 06ce C801 movw r24,r16
825 06d0 0E94 0000 call CheckDelay
826 06d4 8823 tst r24
827 06d6 01F0 breq .L106
828 .L107:
829 06d8 81E0 ldi r24,lo8(1)
830 06da 90E0 ldi r25,hi8(1)
831 06dc 00C0 rjmp 2f
832 06de 880F 1: lsl r24
833 06e0 991F rol r25
834 06e2 CA95 2: dec r28
835 06e4 02F4 brpl 1b
836 06e6 9093 0000 sts (BLConfig_ReadMask)+1,r25
837 06ea 8093 0000 sts BLConfig_ReadMask,r24
838 06ee E0E0 ldi r30,lo8(Motor+1)
839 06f0 F0E0 ldi r31,hi8(Motor+1)
840 06f2 40E0 ldi r20,lo8(0)
841 06f4 50E0 ldi r21,hi8(0)
842 .L109:
843 06f6 2091 0000 lds r18,BLConfig_ReadMask
844 06fa 3091 0000 lds r19,(BLConfig_ReadMask)+1
845 06fe 81E0 ldi r24,lo8(1)
846 0700 90E0 ldi r25,hi8(1)
847 0702 042E mov r0,r20
848 0704 00C0 rjmp 2f
849 0706 880F 1: lsl r24
850 0708 991F rol r25
851 070a 0A94 2: dec r0
852 070c 02F4 brpl 1b
853 070e 8223 and r24,r18
854 0710 9323 and r25,r19
855 0712 892B or r24,r25
856 0714 01F0 breq .L110
857 0716 1082 st Z,__zero_reg__
858 0718 1182 std Z+1,__zero_reg__
859 .L110:
860 071a 4F5F subi r20,lo8(-(1))
861 071c 5F4F sbci r21,hi8(-(1))
862 071e 3896 adiw r30,8
863 0720 4C30 cpi r20,12
864 0722 5105 cpc r21,__zero_reg__
865 0724 01F4 brne .L109
866 0726 1092 0000 sts motor_read,__zero_reg__
867 072a 1092 0000 sts BLConfig,__zero_reg__
868 072e 1092 0000 sts BLConfig+7,__zero_reg__
869 .L113:
870 0732 1092 0000 sts twi_state,__zero_reg__
871 0736 8091 0000 lds r24,BLFlags
872 073a 8E7F andi r24,lo8(-2)
873 073c 8093 0000 sts BLFlags,r24
874 0740 85EA ldi r24,lo8(-91)
875 0742 8093 BC00 sts 188,r24
876 .L114:
877 0746 8091 0000 lds r24,BLFlags
878 074a 80FD sbrc r24,0
879 074c 00C0 rjmp .L115
880 074e C801 movw r24,r16
881 0750 0E94 0000 call CheckDelay
882 0754 8823 tst r24
883 0756 01F0 breq .L114
884 .L115:
885 0758 8091 0000 lds r24,BLConfig_ReadMask
886 075c 9091 0000 lds r25,(BLConfig_ReadMask)+1
887 0760 892B or r24,r25
888 0762 01F0 breq .L117
889 0764 C801 movw r24,r16
890 0766 0E94 0000 call CheckDelay
891 076a 8823 tst r24
892 076c 01F0 breq .L113
893 .L117:
894 076e 8091 0000 lds r24,BLConfig
895 0772 8230 cpi r24,lo8(2)
896 0774 01F0 breq .L119
897 0776 84E0 ldi r24,lo8(4)
898 0778 90E0 ldi r25,hi8(4)
899 077a 00C0 rjmp .L102
900 .L119:
901 077c 67E0 ldi r22,lo8(7)
902 077e 70E0 ldi r23,hi8(7)
903 0780 80E0 ldi r24,lo8(BLConfig)
904 0782 90E0 ldi r25,hi8(BLConfig)
905 0784 0E94 0000 call RAM_Checksum
906 0788 9091 0000 lds r25,BLConfig+7
907 078c 8917 cp r24,r25
908 078e 01F0 breq .L121
909 0790 85E0 ldi r24,lo8(5)
910 0792 90E0 ldi r25,hi8(5)
911 0794 00C0 rjmp .L102
912 .L121:
913 0796 80E0 ldi r24,lo8(0)
914 0798 90E0 ldi r25,hi8(0)
915 079a 00C0 rjmp .L102
916 .L95:
917 079c 81E0 ldi r24,lo8(1)
918 079e 90E0 ldi r25,hi8(1)
919 07a0 00C0 rjmp .L102
920 .L98:
921 07a2 82E0 ldi r24,lo8(2)
922 07a4 90E0 ldi r25,hi8(2)
923 .L102:
924 /* epilogue: frame size=0 */
925 07a6 DF91 pop r29
926 07a8 CF91 pop r28
927 07aa 1F91 pop r17
928 07ac 0F91 pop r16
929 07ae 0895 ret
930 /* epilogue end (size=5) */
931 /* function I2C_ReadBLConfig size 166 (157) */
933 .global I2C_WriteBLConfig
935 I2C_WriteBLConfig:
936 /* prologue: frame size=0 */
937 07b0 1F93 push r17
938 07b2 CF93 push r28
939 07b4 DF93 push r29
940 /* prologue end (size=3) */
941 07b6 182F mov r17,r24
942 07b8 8091 0000 lds r24,MotorenEin
943 07bc 8823 tst r24
944 07be 01F0 breq .+2
945 07c0 00C0 rjmp .L130
946 07c2 8091 0000 lds r24,PC_MotortestActive
947 07c6 8823 tst r24
948 07c8 01F0 breq .+2
949 07ca 00C0 rjmp .L130
950 07cc 1D30 cpi r17,lo8(13)
951 07ce 00F0 brlo .+2
952 07d0 00C0 rjmp .L133
953 07d2 1123 tst r17
954 07d4 01F0 breq .L135
955 07d6 E12F mov r30,r17
956 07d8 F0E0 ldi r31,lo8(0)
957 07da 83E0 ldi r24,3
958 07dc EE0F 1: lsl r30
959 07de FF1F rol r31
960 07e0 8A95 dec r24
961 07e2 01F4 brne 1b
962 07e4 E050 subi r30,lo8(-(Motor-8))
963 07e6 F040 sbci r31,hi8(-(Motor-8))
964 07e8 8381 ldd r24,Z+3
965 07ea 87FF sbrs r24,7
966 07ec 00C0 rjmp .L133
967 07ee 8081 ld r24,Z
968 07f0 80FD sbrc r24,0
969 07f2 00C0 rjmp .L135
970 07f4 83E0 ldi r24,lo8(3)
971 07f6 90E0 ldi r25,hi8(3)
972 07f8 00C0 rjmp .L139
973 .L135:
974 07fa 8091 0000 lds r24,BLConfig
975 07fe 8230 cpi r24,lo8(2)
976 0800 01F0 breq .L140
977 0802 84E0 ldi r24,lo8(4)
978 0804 90E0 ldi r25,hi8(4)
979 0806 00C0 rjmp .L139
980 .L140:
981 0808 67E0 ldi r22,lo8(7)
982 080a 70E0 ldi r23,hi8(7)
983 080c 80E0 ldi r24,lo8(BLConfig)
984 080e 90E0 ldi r25,hi8(BLConfig)
985 0810 0E94 0000 call RAM_Checksum
986 0814 9091 0000 lds r25,BLConfig+7
987 0818 8917 cp r24,r25
988 081a 01F0 breq .L142
989 081c 85E0 ldi r24,lo8(5)
990 081e 90E0 ldi r25,hi8(5)
991 0820 00C0 rjmp .L139
992 .L142:
993 0822 80ED ldi r24,lo8(2000)
994 0824 97E0 ldi r25,hi8(2000)
995 0826 0E94 0000 call SetDelay
996 082a EC01 movw r28,r24
997 .L144:
998 082c 8091 0000 lds r24,BLFlags
999 0830 80FD sbrc r24,0
1000 0832 00C0 rjmp .L145
1001 0834 CE01 movw r24,r28
1002 0836 0E94 0000 call CheckDelay
1003 083a 8823 tst r24
1004 083c 01F0 breq .L144
1005 .L145:
1006 083e 1123 tst r17
1007 0840 01F4 brne .L147
1008 0842 8FEF ldi r24,lo8(255)
1009 0844 90E0 ldi r25,hi8(255)
1010 0846 00C0 rjmp .L167
1011 .L147:
1012 0848 212F mov r18,r17
1013 084a 30E0 ldi r19,lo8(0)
1014 084c 2150 subi r18,lo8(-(-1))
1015 084e 3040 sbci r19,hi8(-(-1))
1016 0850 81E0 ldi r24,lo8(1)
1017 0852 90E0 ldi r25,hi8(1)
1018 0854 00C0 rjmp 2f
1019 0856 880F 1: lsl r24
1020 0858 991F rol r25
1021 085a 2A95 2: dec r18
1022 085c 02F4 brpl 1b
1023 .L167:
1024 085e 9093 0000 sts (BLConfig_WriteMask)+1,r25
1025 0862 8093 0000 sts BLConfig_WriteMask,r24
1026 0866 E0E0 ldi r30,lo8(Motor+1)
1027 0868 F0E0 ldi r31,hi8(Motor+1)
1028 086a 40E0 ldi r20,lo8(0)
1029 086c 50E0 ldi r21,hi8(0)
1030 .L150:
1031 086e 2091 0000 lds r18,BLConfig_WriteMask
1032 0872 3091 0000 lds r19,(BLConfig_WriteMask)+1
1033 0876 81E0 ldi r24,lo8(1)
1034 0878 90E0 ldi r25,hi8(1)
1035 087a 042E mov r0,r20
1036 087c 00C0 rjmp 2f
1037 087e 880F 1: lsl r24
1038 0880 991F rol r25
1039 0882 0A94 2: dec r0
1040 0884 02F4 brpl 1b
1041 0886 8223 and r24,r18
1042 0888 9323 and r25,r19
1043 088a 892B or r24,r25
1044 088c 01F0 breq .L151
1045 088e 1082 st Z,__zero_reg__
1046 0890 1182 std Z+1,__zero_reg__
1047 .L151:
1048 0892 4F5F subi r20,lo8(-(1))
1049 0894 5F4F sbci r21,hi8(-(1))
1050 0896 3896 adiw r30,8
1051 0898 4C30 cpi r20,12
1052 089a 5105 cpc r21,__zero_reg__
1053 089c 01F4 brne .L150
1054 089e 1092 0000 sts motor_write,__zero_reg__
1055 .L154:
1056 08a2 1092 0000 sts twi_state,__zero_reg__
1057 08a6 8091 0000 lds r24,BLFlags
1058 08aa 8E7F andi r24,lo8(-2)
1059 08ac 8093 0000 sts BLFlags,r24
1060 08b0 85EA ldi r24,lo8(-91)
1061 08b2 8093 BC00 sts 188,r24
1062 .L155:
1063 08b6 8091 0000 lds r24,BLFlags
1064 08ba 80FD sbrc r24,0
1065 08bc 00C0 rjmp .L156
1066 08be CE01 movw r24,r28
1067 08c0 0E94 0000 call CheckDelay
1068 08c4 8823 tst r24
1069 08c6 01F0 breq .L155
1070 .L156:
1071 08c8 8091 0000 lds r24,BLConfig_WriteMask
1072 08cc 9091 0000 lds r25,(BLConfig_WriteMask)+1
1073 08d0 892B or r24,r25
1074 08d2 01F0 breq .L158
1075 08d4 CE01 movw r24,r28
1076 08d6 0E94 0000 call CheckDelay
1077 08da 8823 tst r24
1078 08dc 01F0 breq .L154
1079 .L158:
1080 08de 8091 0000 lds r24,BLConfig_WriteMask
1081 08e2 9091 0000 lds r25,(BLConfig_WriteMask)+1
1082 08e6 892B or r24,r25
1083 08e8 01F4 brne .L133
1084 08ea 80E0 ldi r24,lo8(0)
1085 08ec 90E0 ldi r25,hi8(0)
1086 08ee 00C0 rjmp .L139
1087 .L130:
1088 08f0 81E0 ldi r24,lo8(1)
1089 08f2 90E0 ldi r25,hi8(1)
1090 08f4 00C0 rjmp .L139
1091 .L133:
1092 08f6 82E0 ldi r24,lo8(2)
1093 08f8 90E0 ldi r25,hi8(2)
1094 .L139:
1095 /* epilogue: frame size=0 */
1096 08fa DF91 pop r29
1097 08fc CF91 pop r28
1098 08fe 1F91 pop r17
1099 0900 0895 ret
1100 /* epilogue end (size=4) */
1101 /* function I2C_WriteBLConfig size 170 (163) */
1103 .global twi_state
1104 .global twi_state
1105 .section .bss
1108 twi_state:
1109 0000 00 .skip 1,0
1110 .global dac_channel
1111 .global dac_channel
1114 dac_channel:
1115 0001 00 .skip 1,0
1116 .global motor_write
1117 .global motor_write
1120 motor_write:
1121 0002 00 .skip 1,0
1122 .global motor_read
1123 .global motor_read
1126 motor_read:
1127 0003 00 .skip 1,0
1128 .global I2C_TransferActive
1129 .global I2C_TransferActive
1132 I2C_TransferActive:
1133 0004 00 .skip 1,0
1134 .global I2CTimeout
1135 .data
1138 I2CTimeout:
1139 0000 6400 .word 100
1140 .global MissingMotor
1141 .global MissingMotor
1142 .section .bss
1145 MissingMotor:
1146 0005 00 .skip 1,0
1147 .global BLFlags
1148 .global BLFlags
1151 BLFlags:
1152 0006 00 .skip 1,0
1153 .global BLConfig_WriteMask
1154 .global BLConfig_WriteMask
1157 BLConfig_WriteMask:
1158 0007 0000 .skip 2,0
1159 .global BLConfig_ReadMask
1160 .global BLConfig_ReadMask
1163 BLConfig_ReadMask:
1164 0009 0000 .skip 2,0
1165 .lcomm BuffLen.1962,1
1166 .lcomm pBuff.1961,2
1167 .lcomm motor_read_temperature.1960,1
1168 .lcomm missing_motor.1959,1
1169 .comm Motor,96,1
1170 .comm BLConfig,8,1
1171 /* File "twimaster.c": code 1182 = 0x049e (1128), prologues 25, epilogues 29 */
DEFINED SYMBOLS
*ABS*:00000000 twimaster.c
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:2 *ABS*:0000003f __SREG__
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:3 *ABS*:0000003e __SP_H__
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:4 *ABS*:0000003d __SP_L__
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:5 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:6 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:12 .text:00000000 I2C_Init
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:1108 .bss:00000000 twi_state
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:1120 .bss:00000002 motor_write
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:1126 .bss:00000003 motor_read
*COM*:00000060 Motor
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:62 .text:00000052 I2C_Reset
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:1132 .bss:00000004 I2C_TransferActive
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:1151 .bss:00000006 BLFlags
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:108 .text:000000ae __vector_26
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:1157 .bss:00000007 BLConfig_WriteMask
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:1163 .bss:00000009 BLConfig_ReadMask
*COM*:00000008 BLConfig
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:1165 .bss:0000000c pBuff.1961
.bss:0000000b BuffLen.1962
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:1167 .bss:0000000f missing_motor.1959
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:1138 .data:00000000 I2CTimeout
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:1166 .bss:0000000e motor_read_temperature.1960
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:1145 .bss:00000005 MissingMotor
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:1114 .bss:00000001 dac_channel
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:770 .text:00000666 I2C_ReadBLConfig
C:\DOCUME~1\Owner\LOCALS~1\Temp/ccShu0uf.s:935 .text:000007b0 I2C_WriteBLConfig
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__tablejump2__
Mixer
RequiredMotors
FC_StatusFlags
AnalogOffsetNick
AnalogOffsetRoll
AnalogOffsetGier
MotorenEin
PC_MotortestActive
SetDelay
CheckDelay
RAM_Checksum