2594 lines
88 KiB
Plaintext
2594 lines
88 KiB
Plaintext
1 .file "RoboMI.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
|
|
16 .Ltext0:
|
|
17 .global initIO
|
|
19 initIO:
|
|
20 .LFB14:
|
|
21 .LM1:
|
|
22 /* prologue: frame size=0 */
|
|
23 /* prologue end (size=0) */
|
|
24 .LM2:
|
|
25 0000 82E0 ldi r24,lo8(2)
|
|
26 0002 8EBD out 78-0x20,r24
|
|
27 .LM3:
|
|
28 0004 8FEB ldi r24,lo8(-65)
|
|
29 0006 8DBD out 77-0x20,r24
|
|
30 .LM4:
|
|
31 0008 8FEF ldi r24,lo8(-1)
|
|
32 000a 8CBD out 76-0x20,r24
|
|
33 .LM5:
|
|
34 000c 8EEE ldi r24,lo8(-18)
|
|
35 000e 83BD out 67-0x20,r24
|
|
36 .LM6:
|
|
37 0010 89B7 in r24,89-0x20
|
|
38 0012 8468 ori r24,lo8(-124)
|
|
39 0014 89BF out 89-0x20,r24
|
|
40 .LM7:
|
|
41 0016 84B3 in r24,52-0x20
|
|
42 0018 8760 ori r24,lo8(7)
|
|
43 001a 84BB out 52-0x20,r24
|
|
44 .LM8:
|
|
45 001c 8AB3 in r24,58-0x20
|
|
46 001e 8F70 andi r24,lo8(15)
|
|
47 0020 8ABB out 58-0x20,r24
|
|
48 .LM9:
|
|
49 0022 8BB3 in r24,59-0x20
|
|
50 0024 806F ori r24,lo8(-16)
|
|
51 0026 8BBB out 59-0x20,r24
|
|
52 .LM10:
|
|
53 0028 1092 0000 sts progPosition,__zero_reg__
|
|
54 /* epilogue: frame size=0 */
|
|
55 002c 0895 ret
|
|
56 /* epilogue end (size=1) */
|
|
57 /* function initIO size 23 (22) */
|
|
58 .LFE14:
|
|
60 .global __vector_15
|
|
62 __vector_15:
|
|
63 .LFB15:
|
|
64 .LM11:
|
|
65 /* prologue: frame size=0 */
|
|
66 002e 1F92 push __zero_reg__
|
|
67 0030 0F92 push __tmp_reg__
|
|
68 0032 0FB6 in __tmp_reg__,__SREG__
|
|
69 0034 0F92 push __tmp_reg__
|
|
70 0036 1124 clr __zero_reg__
|
|
71 0038 8F93 push r24
|
|
72 /* prologue end (size=6) */
|
|
73 .LM12:
|
|
74 003a 8091 0000 lds r24,progCounterPPM
|
|
75 003e 8F5F subi r24,lo8(-(1))
|
|
76 0040 8093 0000 sts progCounterPPM,r24
|
|
77 0044 8230 cpi r24,lo8(2)
|
|
78 0046 00F0 brlo .L4
|
|
79 .LM13:
|
|
80 0048 1092 0000 sts servoCounter,__zero_reg__
|
|
81 .LM14:
|
|
82 004c 85B3 in r24,53-0x20
|
|
83 004e 8760 ori r24,lo8(7)
|
|
84 0050 85BB out 53-0x20,r24
|
|
85 .LM15:
|
|
86 0052 87B5 in r24,71-0x20
|
|
87 0054 8260 ori r24,lo8(2)
|
|
88 0056 87BD out 71-0x20,r24
|
|
89 .LM16:
|
|
90 0058 1092 0000 sts progCounterPPM,__zero_reg__
|
|
91 .L4:
|
|
92 .LM17:
|
|
93 005c 81E0 ldi r24,lo8(1)
|
|
94 005e 8093 0000 sts progDoUpdate,r24
|
|
95 .LM18:
|
|
96 0062 8FEB ldi r24,lo8(-65)
|
|
97 0064 8DBD out 77-0x20,r24
|
|
98 .LM19:
|
|
99 0066 8FEF ldi r24,lo8(-1)
|
|
100 0068 8CBD out 76-0x20,r24
|
|
101 /* epilogue: frame size=0 */
|
|
102 006a 8F91 pop r24
|
|
103 006c 0F90 pop __tmp_reg__
|
|
104 006e 0FBE out __SREG__,__tmp_reg__
|
|
105 0070 0F90 pop __tmp_reg__
|
|
106 0072 1F90 pop __zero_reg__
|
|
107 0074 1895 reti
|
|
108 /* epilogue end (size=6) */
|
|
109 /* function __vector_15 size 36 (24) */
|
|
110 .LFE15:
|
|
112 .global __vector_11
|
|
114 __vector_11:
|
|
115 .LFB16:
|
|
116 .LM20:
|
|
117 /* prologue: frame size=0 */
|
|
118 0076 1F92 push __zero_reg__
|
|
119 0078 0F92 push __tmp_reg__
|
|
120 007a 0FB6 in __tmp_reg__,__SREG__
|
|
121 007c 0F92 push __tmp_reg__
|
|
122 007e 1124 clr __zero_reg__
|
|
123 0080 2F93 push r18
|
|
124 0082 8F93 push r24
|
|
125 0084 9F93 push r25
|
|
126 /* prologue end (size=8) */
|
|
127 .LM21:
|
|
128 0086 9091 0000 lds r25,servoCounter
|
|
129 008a 8091 0000 lds r24,servoPing
|
|
130 008e 9817 cp r25,r24
|
|
131 0090 00F0 brlo .L8
|
|
132 .LM22:
|
|
133 0092 A998 cbi 53-0x20,1
|
|
134 0094 21E0 ldi r18,lo8(1)
|
|
135 .LVL0:
|
|
136 0096 00C0 rjmp .L10
|
|
137 .LVL1:
|
|
138 .L8:
|
|
139 .LM23:
|
|
140 /* #APP */
|
|
141 0098 0000 NOP
|
|
142 /* #NOAPP */
|
|
143 009a 20E0 ldi r18,lo8(0)
|
|
144 .LVL2:
|
|
145 .L10:
|
|
146 .LM24:
|
|
147 009c 8091 0000 lds r24,servoMotorLeft
|
|
148 00a0 9817 cp r25,r24
|
|
149 00a2 00F0 brlo .L11
|
|
150 .LM25:
|
|
151 00a4 A898 cbi 53-0x20,0
|
|
152 00a6 00C0 rjmp .L13
|
|
153 .L11:
|
|
154 .LM26:
|
|
155 /* #APP */
|
|
156 00a8 0000 NOP
|
|
157 /* #NOAPP */
|
|
158 00aa 20E0 ldi r18,lo8(0)
|
|
159 .L13:
|
|
160 .LM27:
|
|
161 00ac 8091 0000 lds r24,servoMotorRight
|
|
162 00b0 9817 cp r25,r24
|
|
163 00b2 00F0 brlo .L14
|
|
164 .LM28:
|
|
165 00b4 AA98 cbi 53-0x20,2
|
|
166 .LM29:
|
|
167 00b6 2223 tst r18
|
|
168 00b8 01F4 brne .L16
|
|
169 00ba 00C0 rjmp .L17
|
|
170 .L14:
|
|
171 .LM30:
|
|
172 /* #APP */
|
|
173 00bc 0000 NOP
|
|
174 /* #NOAPP */
|
|
175 00be 00C0 rjmp .L17
|
|
176 .L16:
|
|
177 .LM31:
|
|
178 00c0 87B5 in r24,71-0x20
|
|
179 00c2 8D7F andi r24,lo8(-3)
|
|
180 00c4 87BD out 71-0x20,r24
|
|
181 00c6 00C0 rjmp .L18
|
|
182 .L17:
|
|
183 .LM32:
|
|
184 00c8 9F5F subi r25,lo8(-(1))
|
|
185 00ca 9093 0000 sts servoCounter,r25
|
|
186 .LM33:
|
|
187 /* #APP */
|
|
188 00ce 0000 NOP
|
|
189 .LM34:
|
|
190 00d0 0000 NOP
|
|
191 /* #NOAPP */
|
|
192 .L18:
|
|
193 .LM35:
|
|
194 00d2 8EEE ldi r24,lo8(-18)
|
|
195 00d4 83BD out 67-0x20,r24
|
|
196 /* epilogue: frame size=0 */
|
|
197 00d6 9F91 pop r25
|
|
198 00d8 8F91 pop r24
|
|
199 00da 2F91 pop r18
|
|
200 00dc 0F90 pop __tmp_reg__
|
|
201 00de 0FBE out __SREG__,__tmp_reg__
|
|
202 00e0 0F90 pop __tmp_reg__
|
|
203 00e2 1F90 pop __zero_reg__
|
|
204 00e4 1895 reti
|
|
205 /* epilogue end (size=8) */
|
|
206 /* function __vector_11 size 61 (45) */
|
|
207 .LFE16:
|
|
209 .global activateRobot
|
|
211 activateRobot:
|
|
212 .LFB17:
|
|
213 .LM36:
|
|
214 /* prologue: frame size=0 */
|
|
215 00e6 1F93 push r17
|
|
216 /* prologue end (size=1) */
|
|
217 .LVL3:
|
|
218 00e8 182F mov r17,r24
|
|
219 .LM37:
|
|
220 00ea 80E0 ldi r24,lo8(0)
|
|
221 .LVL4:
|
|
222 00ec 0E94 0000 call lcdSetLayout
|
|
223 .LM38:
|
|
224 00f0 81E3 ldi r24,lo8(49)
|
|
225 00f2 189F mul r17,r24
|
|
226 00f4 C001 movw r24,r0
|
|
227 00f6 1124 clr r1
|
|
228 00f8 8050 subi r24,lo8(-(menuTable))
|
|
229 00fa 9040 sbci r25,hi8(-(menuTable))
|
|
230 00fc 0E94 0000 call lcdWriteStringP
|
|
231 .LM39:
|
|
232 0100 88EC ldi r24,lo8(-56)
|
|
233 0102 8093 0000 sts progTimer,r24
|
|
234 .LM40:
|
|
235 0106 1093 0000 sts roboActive,r17
|
|
236 /* epilogue: frame size=0 */
|
|
237 010a 1F91 pop r17
|
|
238 010c 0895 ret
|
|
239 /* epilogue end (size=2) */
|
|
240 /* function activateRobot size 20 (17) */
|
|
241 .LFE17:
|
|
243 .global deactivateRobot
|
|
245 deactivateRobot:
|
|
246 .LFB18:
|
|
247 .LM41:
|
|
248 /* prologue: frame size=0 */
|
|
249 /* prologue end (size=0) */
|
|
250 .LM42:
|
|
251 010e 1092 0000 sts roboActive,__zero_reg__
|
|
252 .LM43:
|
|
253 0112 87E7 ldi r24,lo8(119)
|
|
254 0114 8093 0000 sts servoMotorLeft,r24
|
|
255 .LM44:
|
|
256 0118 8093 0000 sts servoMotorRight,r24
|
|
257 .LM45:
|
|
258 011c 8CE8 ldi r24,lo8(-116)
|
|
259 011e 8093 0000 sts servoPing,r24
|
|
260 .LM46:
|
|
261 0122 0E94 0000 call rfIdDisable
|
|
262 /* epilogue: frame size=0 */
|
|
263 0126 0895 ret
|
|
264 /* epilogue end (size=1) */
|
|
265 /* function deactivateRobot size 13 (12) */
|
|
266 .LFE18:
|
|
268 .data
|
|
269 .LC0:
|
|
270 0000 2020 2020 .string " "
|
|
270 2020 2020
|
|
270 2020 2020
|
|
270 2020 2020
|
|
270 00
|
|
271 .LC1:
|
|
272 0011 3E20 2020 .string "> <"
|
|
272 2020 2020
|
|
272 2020 2020
|
|
272 2020 203C
|
|
272 00
|
|
273 .LC2:
|
|
274 0022 3E3E 2020 .string ">> <<"
|
|
274 2020 2020
|
|
274 2020 2020
|
|
274 2020 3C3C
|
|
274 00
|
|
275 .LC3:
|
|
276 0033 3E3E 3E20 .string ">>> <<<"
|
|
276 2020 2020
|
|
276 2020 2020
|
|
276 203C 3C3C
|
|
276 00
|
|
277 .LC4:
|
|
278 0044 3E3E 3E3E .string ">>>> <<<<"
|
|
278 2020 2020
|
|
278 2020 2020
|
|
278 3C3C 3C3C
|
|
278 00
|
|
279 .LC5:
|
|
280 0055 3E3E 3E3E .string ">>>>> <<<<<"
|
|
280 3E20 2020
|
|
280 2020 203C
|
|
280 3C3C 3C3C
|
|
280 00
|
|
281 .LC6:
|
|
282 0066 3E3E 3E3E .string ">>>>>> <<<<<<"
|
|
282 3E3E 2020
|
|
282 2020 3C3C
|
|
282 3C3C 3C3C
|
|
282 00
|
|
283 .LC7:
|
|
284 0077 3E3E 3E3E .string ">>>>>>> <<<<<<<"
|
|
284 3E3E 3E20
|
|
284 203C 3C3C
|
|
284 3C3C 3C3C
|
|
284 00
|
|
285 .LC8:
|
|
286 0088 3E3E 3E3E .string ">>>>>>>[]<<<<<<<"
|
|
286 3E3E 3E5B
|
|
286 5D3C 3C3C
|
|
286 3C3C 3C3C
|
|
286 00
|
|
287 .LC9:
|
|
288 0099 2020 2020 .string " < > "
|
|
288 2020 3C20
|
|
288 203E 2020
|
|
288 2020 2020
|
|
288 00
|
|
289 .LC10:
|
|
290 00aa 2020 2020 .string " << >> "
|
|
290 203C 3C20
|
|
290 203E 3E20
|
|
290 2020 2020
|
|
290 00
|
|
291 .LC11:
|
|
292 00bb 2020 2020 .string " <<< >>> "
|
|
292 3C3C 3C20
|
|
292 203E 3E3E
|
|
292 2020 2020
|
|
292 00
|
|
293 .LC12:
|
|
294 00cc 2020 203C .string " <<<< >>>> "
|
|
294 3C3C 3C20
|
|
294 203E 3E3E
|
|
294 3E20 2020
|
|
294 00
|
|
295 .LC13:
|
|
296 00dd 2020 3C3C .string " <<<<< >>>>> "
|
|
296 3C3C 3C20
|
|
296 203E 3E3E
|
|
296 3E3E 2020
|
|
296 00
|
|
297 .LC14:
|
|
298 00ee 203C 3C3C .string " <<<<<< >>>>>> "
|
|
298 3C3C 3C20
|
|
298 203E 3E3E
|
|
298 3E3E 3E20
|
|
298 00
|
|
299 .LC15:
|
|
300 00ff 3C3C 3C3C .string "<<<<<<< >>>>>>>"
|
|
300 3C3C 3C20
|
|
300 203E 3E3E
|
|
300 3E3E 3E3E
|
|
300 00
|
|
301 .LC16:
|
|
302 0110 3C3C 3C3C .string "<<<<<<<[]>>>>>>>"
|
|
302 3C3C 3C5B
|
|
302 5D3E 3E3E
|
|
302 3E3E 3E3E
|
|
302 00
|
|
303 .LC17:
|
|
304 0121 3C3C 3C3C .string "<<<<<<< "
|
|
304 3C3C 3C20
|
|
304 2020 2020
|
|
304 2020 2020
|
|
304 00
|
|
305 .LC18:
|
|
306 0132 203C 3C3C .string " <<<<<< "
|
|
306 3C3C 3C20
|
|
306 2020 2020
|
|
306 2020 2020
|
|
306 00
|
|
307 .LC19:
|
|
308 0143 2020 3C3C .string " <<<<< "
|
|
308 3C3C 3C20
|
|
308 2020 2020
|
|
308 2020 2020
|
|
308 00
|
|
309 .LC20:
|
|
310 0154 2020 203C .string " <<<< "
|
|
310 3C3C 3C20
|
|
310 2020 2020
|
|
310 2020 2020
|
|
310 00
|
|
311 .LC21:
|
|
312 0165 2020 2020 .string " <<< "
|
|
312 3C3C 3C20
|
|
312 2020 2020
|
|
312 2020 2020
|
|
312 00
|
|
313 .LC22:
|
|
314 0176 2020 2020 .string " << "
|
|
314 203C 3C20
|
|
314 2020 2020
|
|
314 2020 2020
|
|
314 00
|
|
315 .LC23:
|
|
316 0187 2020 2020 .string " < "
|
|
316 2020 3C20
|
|
316 2020 2020
|
|
316 2020 2020
|
|
316 00
|
|
317 .LC24:
|
|
318 0198 2020 2020 .string " [] "
|
|
318 2020 205B
|
|
318 5D20 2020
|
|
318 2020 2020
|
|
318 00
|
|
319 .LC25:
|
|
320 01a9 2020 2020 .string " >>>>>>>"
|
|
320 2020 2020
|
|
320 203E 3E3E
|
|
320 3E3E 3E3E
|
|
320 00
|
|
321 .LC26:
|
|
322 01ba 2020 2020 .string " >>>>>> "
|
|
322 2020 2020
|
|
322 203E 3E3E
|
|
322 3E3E 3E20
|
|
322 00
|
|
323 .LC27:
|
|
324 01cb 2020 2020 .string " >>>>> "
|
|
324 2020 2020
|
|
324 203E 3E3E
|
|
324 3E3E 2020
|
|
324 00
|
|
325 .LC28:
|
|
326 01dc 2020 2020 .string " >>>> "
|
|
326 2020 2020
|
|
326 203E 3E3E
|
|
326 3E20 2020
|
|
326 00
|
|
327 .LC29:
|
|
328 01ed 2020 2020 .string " >>> "
|
|
328 2020 2020
|
|
328 203E 3E3E
|
|
328 2020 2020
|
|
328 00
|
|
329 .LC30:
|
|
330 01fe 2020 2020 .string " >> "
|
|
330 2020 2020
|
|
330 203E 3E20
|
|
330 2020 2020
|
|
330 00
|
|
331 .LC31:
|
|
332 020f 2020 2020 .string " > "
|
|
332 2020 2020
|
|
332 203E 2020
|
|
332 2020 2020
|
|
332 00
|
|
333 .text
|
|
334 .global showDistanceOnLCD
|
|
336 showDistanceOnLCD:
|
|
337 .LFB20:
|
|
338 .LM47:
|
|
339 /* prologue: frame size=0 */
|
|
340 0128 1F93 push r17
|
|
341 012a CF93 push r28
|
|
342 012c DF93 push r29
|
|
343 /* prologue end (size=3) */
|
|
344 .LVL5:
|
|
345 012e EC01 movw r28,r24
|
|
346 0130 162F mov r17,r22
|
|
347 .LM48:
|
|
348 0132 4130 cpi r20,lo8(1)
|
|
349 0134 01F4 brne .L25
|
|
350 .LVL6:
|
|
351 .LM49:
|
|
352 0136 80E0 ldi r24,lo8(0)
|
|
353 0138 00C0 rjmp .L100
|
|
354 .LVL7:
|
|
355 .L25:
|
|
356 .LM50:
|
|
357 013a 4230 cpi r20,lo8(2)
|
|
358 013c 01F4 brne .L28
|
|
359 .LM51:
|
|
360 013e 80E1 ldi r24,lo8(16)
|
|
361 0140 00C0 rjmp .L100
|
|
362 .LVL8:
|
|
363 .L28:
|
|
364 .LM52:
|
|
365 0142 4330 cpi r20,lo8(3)
|
|
366 0144 01F4 brne .L27
|
|
367 .LM53:
|
|
368 0146 80E2 ldi r24,lo8(32)
|
|
369 .L100:
|
|
370 0148 0E94 0000 call lcdSetPos
|
|
371 .LVL9:
|
|
372 .L27:
|
|
373 .LM54:
|
|
374 014c 1123 tst r17
|
|
375 014e 01F4 brne .L31
|
|
376 .LM55:
|
|
377 0150 8DE7 ldi r24,hi8(32001)
|
|
378 0152 C130 cpi r28,lo8(32001)
|
|
379 0154 D807 cpc r29,r24
|
|
380 0156 00F4 brsh .L102
|
|
381 .LM56:
|
|
382 0158 8EE3 ldi r24,hi8(16001)
|
|
383 015a C138 cpi r28,lo8(16001)
|
|
384 015c D807 cpc r29,r24
|
|
385 015e 00F0 brlo .L36
|
|
386 .LM57:
|
|
387 0160 80E0 ldi r24,lo8(.LC1)
|
|
388 0162 90E0 ldi r25,hi8(.LC1)
|
|
389 0164 00C0 rjmp .L101
|
|
390 .L36:
|
|
391 .LM58:
|
|
392 0166 8FE1 ldi r24,hi8(8001)
|
|
393 0168 C134 cpi r28,lo8(8001)
|
|
394 016a D807 cpc r29,r24
|
|
395 016c 00F0 brlo .L38
|
|
396 .LM59:
|
|
397 016e 80E0 ldi r24,lo8(.LC2)
|
|
398 0170 90E0 ldi r25,hi8(.LC2)
|
|
399 0172 00C0 rjmp .L101
|
|
400 .L38:
|
|
401 .LM60:
|
|
402 0174 8FE0 ldi r24,hi8(4001)
|
|
403 0176 C13A cpi r28,lo8(4001)
|
|
404 0178 D807 cpc r29,r24
|
|
405 017a 00F0 brlo .L40
|
|
406 .LM61:
|
|
407 017c 80E0 ldi r24,lo8(.LC3)
|
|
408 017e 90E0 ldi r25,hi8(.LC3)
|
|
409 0180 00C0 rjmp .L101
|
|
410 .L40:
|
|
411 .LM62:
|
|
412 0182 87E0 ldi r24,hi8(2001)
|
|
413 0184 C13D cpi r28,lo8(2001)
|
|
414 0186 D807 cpc r29,r24
|
|
415 0188 00F0 brlo .L42
|
|
416 .LM63:
|
|
417 018a 80E0 ldi r24,lo8(.LC4)
|
|
418 018c 90E0 ldi r25,hi8(.LC4)
|
|
419 018e 00C0 rjmp .L101
|
|
420 .L42:
|
|
421 .LM64:
|
|
422 0190 83E0 ldi r24,hi8(1001)
|
|
423 0192 C93E cpi r28,lo8(1001)
|
|
424 0194 D807 cpc r29,r24
|
|
425 0196 00F0 brlo .L44
|
|
426 .LM65:
|
|
427 0198 80E0 ldi r24,lo8(.LC5)
|
|
428 019a 90E0 ldi r25,hi8(.LC5)
|
|
429 019c 00C0 rjmp .L101
|
|
430 .L44:
|
|
431 .LM66:
|
|
432 019e 81E0 ldi r24,hi8(501)
|
|
433 01a0 C53F cpi r28,lo8(501)
|
|
434 01a2 D807 cpc r29,r24
|
|
435 01a4 00F0 brlo .L46
|
|
436 .LM67:
|
|
437 01a6 80E0 ldi r24,lo8(.LC6)
|
|
438 01a8 90E0 ldi r25,hi8(.LC6)
|
|
439 01aa 00C0 rjmp .L101
|
|
440 .L46:
|
|
441 .LM68:
|
|
442 01ac C536 cpi r28,101
|
|
443 01ae D105 cpc r29,__zero_reg__
|
|
444 01b0 00F0 brlo .L48
|
|
445 .LM69:
|
|
446 01b2 80E0 ldi r24,lo8(.LC7)
|
|
447 01b4 90E0 ldi r25,hi8(.LC7)
|
|
448 01b6 00C0 rjmp .L101
|
|
449 .L48:
|
|
450 .LM70:
|
|
451 01b8 80E0 ldi r24,lo8(.LC8)
|
|
452 01ba 90E0 ldi r25,hi8(.LC8)
|
|
453 01bc 00C0 rjmp .L101
|
|
454 .LVL10:
|
|
455 .L31:
|
|
456 .LM71:
|
|
457 01be 1130 cpi r17,lo8(1)
|
|
458 01c0 01F4 brne .L50
|
|
459 .LM72:
|
|
460 01c2 8DE7 ldi r24,hi8(32001)
|
|
461 01c4 C130 cpi r28,lo8(32001)
|
|
462 01c6 D807 cpc r29,r24
|
|
463 01c8 00F0 brlo .L52
|
|
464 .L102:
|
|
465 .LM73:
|
|
466 01ca 80E0 ldi r24,lo8(.LC0)
|
|
467 01cc 90E0 ldi r25,hi8(.LC0)
|
|
468 01ce 00C0 rjmp .L101
|
|
469 .L52:
|
|
470 .LM74:
|
|
471 01d0 8EE3 ldi r24,hi8(16001)
|
|
472 01d2 C138 cpi r28,lo8(16001)
|
|
473 01d4 D807 cpc r29,r24
|
|
474 01d6 00F0 brlo .L54
|
|
475 .LM75:
|
|
476 01d8 80E0 ldi r24,lo8(.LC9)
|
|
477 01da 90E0 ldi r25,hi8(.LC9)
|
|
478 01dc 00C0 rjmp .L101
|
|
479 .L54:
|
|
480 .LM76:
|
|
481 01de 8FE1 ldi r24,hi8(8001)
|
|
482 01e0 C134 cpi r28,lo8(8001)
|
|
483 01e2 D807 cpc r29,r24
|
|
484 01e4 00F0 brlo .L56
|
|
485 .LM77:
|
|
486 01e6 80E0 ldi r24,lo8(.LC10)
|
|
487 01e8 90E0 ldi r25,hi8(.LC10)
|
|
488 01ea 00C0 rjmp .L101
|
|
489 .L56:
|
|
490 .LM78:
|
|
491 01ec 8FE0 ldi r24,hi8(4001)
|
|
492 01ee C13A cpi r28,lo8(4001)
|
|
493 01f0 D807 cpc r29,r24
|
|
494 01f2 00F0 brlo .L58
|
|
495 .LM79:
|
|
496 01f4 80E0 ldi r24,lo8(.LC11)
|
|
497 01f6 90E0 ldi r25,hi8(.LC11)
|
|
498 01f8 00C0 rjmp .L101
|
|
499 .L58:
|
|
500 .LM80:
|
|
501 01fa 87E0 ldi r24,hi8(2001)
|
|
502 01fc C13D cpi r28,lo8(2001)
|
|
503 01fe D807 cpc r29,r24
|
|
504 0200 00F0 brlo .L60
|
|
505 .LM81:
|
|
506 0202 80E0 ldi r24,lo8(.LC12)
|
|
507 0204 90E0 ldi r25,hi8(.LC12)
|
|
508 0206 00C0 rjmp .L101
|
|
509 .L60:
|
|
510 .LM82:
|
|
511 0208 83E0 ldi r24,hi8(1001)
|
|
512 020a C93E cpi r28,lo8(1001)
|
|
513 020c D807 cpc r29,r24
|
|
514 020e 00F0 brlo .L62
|
|
515 .LM83:
|
|
516 0210 80E0 ldi r24,lo8(.LC13)
|
|
517 0212 90E0 ldi r25,hi8(.LC13)
|
|
518 0214 00C0 rjmp .L101
|
|
519 .L62:
|
|
520 .LM84:
|
|
521 0216 81E0 ldi r24,hi8(501)
|
|
522 0218 C53F cpi r28,lo8(501)
|
|
523 021a D807 cpc r29,r24
|
|
524 021c 00F0 brlo .L64
|
|
525 .LM85:
|
|
526 021e 80E0 ldi r24,lo8(.LC14)
|
|
527 0220 90E0 ldi r25,hi8(.LC14)
|
|
528 0222 00C0 rjmp .L101
|
|
529 .L64:
|
|
530 .LM86:
|
|
531 0224 C536 cpi r28,101
|
|
532 0226 D105 cpc r29,__zero_reg__
|
|
533 0228 00F0 brlo .L66
|
|
534 .LM87:
|
|
535 022a 80E0 ldi r24,lo8(.LC15)
|
|
536 022c 90E0 ldi r25,hi8(.LC15)
|
|
537 022e 00C0 rjmp .L101
|
|
538 .L66:
|
|
539 .LM88:
|
|
540 0230 80E0 ldi r24,lo8(.LC16)
|
|
541 0232 90E0 ldi r25,hi8(.LC16)
|
|
542 0234 00C0 rjmp .L101
|
|
543 .LVL11:
|
|
544 .L50:
|
|
545 .LM89:
|
|
546 0236 1230 cpi r17,lo8(2)
|
|
547 0238 01F4 brne .L68
|
|
548 .LM90:
|
|
549 023a 89E1 ldi r24,hi8(6401)
|
|
550 023c C130 cpi r28,lo8(6401)
|
|
551 023e D807 cpc r29,r24
|
|
552 0240 00F0 brlo .L70
|
|
553 .LM91:
|
|
554 0242 80E0 ldi r24,lo8(.LC17)
|
|
555 0244 90E0 ldi r25,hi8(.LC17)
|
|
556 0246 00C0 rjmp .L101
|
|
557 .L70:
|
|
558 .LM92:
|
|
559 0248 8CE0 ldi r24,hi8(3201)
|
|
560 024a C138 cpi r28,lo8(3201)
|
|
561 024c D807 cpc r29,r24
|
|
562 024e 00F0 brlo .L72
|
|
563 .LM93:
|
|
564 0250 80E0 ldi r24,lo8(.LC18)
|
|
565 0252 90E0 ldi r25,hi8(.LC18)
|
|
566 0254 00C0 rjmp .L101
|
|
567 .L72:
|
|
568 .LM94:
|
|
569 0256 86E0 ldi r24,hi8(1601)
|
|
570 0258 C134 cpi r28,lo8(1601)
|
|
571 025a D807 cpc r29,r24
|
|
572 025c 00F0 brlo .L74
|
|
573 .LM95:
|
|
574 025e 80E0 ldi r24,lo8(.LC19)
|
|
575 0260 90E0 ldi r25,hi8(.LC19)
|
|
576 0262 00C0 rjmp .L101
|
|
577 .L74:
|
|
578 .LM96:
|
|
579 0264 83E0 ldi r24,hi8(801)
|
|
580 0266 C132 cpi r28,lo8(801)
|
|
581 0268 D807 cpc r29,r24
|
|
582 026a 00F0 brlo .L76
|
|
583 .LM97:
|
|
584 026c 80E0 ldi r24,lo8(.LC20)
|
|
585 026e 90E0 ldi r25,hi8(.LC20)
|
|
586 0270 00C0 rjmp .L101
|
|
587 .L76:
|
|
588 .LM98:
|
|
589 0272 81E0 ldi r24,hi8(401)
|
|
590 0274 C139 cpi r28,lo8(401)
|
|
591 0276 D807 cpc r29,r24
|
|
592 0278 00F0 brlo .L78
|
|
593 .LM99:
|
|
594 027a 80E0 ldi r24,lo8(.LC21)
|
|
595 027c 90E0 ldi r25,hi8(.LC21)
|
|
596 027e 00C0 rjmp .L101
|
|
597 .L78:
|
|
598 .LM100:
|
|
599 0280 C93C cpi r28,201
|
|
600 0282 D105 cpc r29,__zero_reg__
|
|
601 0284 00F0 brlo .L80
|
|
602 .LM101:
|
|
603 0286 80E0 ldi r24,lo8(.LC22)
|
|
604 0288 90E0 ldi r25,hi8(.LC22)
|
|
605 028a 00C0 rjmp .L101
|
|
606 .L80:
|
|
607 .LM102:
|
|
608 028c 6F97 sbiw r28,31
|
|
609 028e 00F0 brlo .L97
|
|
610 .LM103:
|
|
611 0290 80E0 ldi r24,lo8(.LC23)
|
|
612 0292 90E0 ldi r25,hi8(.LC23)
|
|
613 0294 00C0 rjmp .L101
|
|
614 .LVL12:
|
|
615 .L68:
|
|
616 .LM104:
|
|
617 0296 1330 cpi r17,lo8(3)
|
|
618 0298 01F4 brne .L99
|
|
619 .LM105:
|
|
620 029a 89E1 ldi r24,hi8(6401)
|
|
621 029c C130 cpi r28,lo8(6401)
|
|
622 029e D807 cpc r29,r24
|
|
623 02a0 00F0 brlo .L85
|
|
624 .LM106:
|
|
625 02a2 80E0 ldi r24,lo8(.LC25)
|
|
626 02a4 90E0 ldi r25,hi8(.LC25)
|
|
627 02a6 00C0 rjmp .L101
|
|
628 .L85:
|
|
629 .LM107:
|
|
630 02a8 8CE0 ldi r24,hi8(3201)
|
|
631 02aa C138 cpi r28,lo8(3201)
|
|
632 02ac D807 cpc r29,r24
|
|
633 02ae 00F0 brlo .L87
|
|
634 .LM108:
|
|
635 02b0 80E0 ldi r24,lo8(.LC26)
|
|
636 02b2 90E0 ldi r25,hi8(.LC26)
|
|
637 02b4 00C0 rjmp .L101
|
|
638 .L87:
|
|
639 .LM109:
|
|
640 02b6 86E0 ldi r24,hi8(1601)
|
|
641 02b8 C134 cpi r28,lo8(1601)
|
|
642 02ba D807 cpc r29,r24
|
|
643 02bc 00F0 brlo .L89
|
|
644 .LM110:
|
|
645 02be 80E0 ldi r24,lo8(.LC27)
|
|
646 02c0 90E0 ldi r25,hi8(.LC27)
|
|
647 02c2 00C0 rjmp .L101
|
|
648 .L89:
|
|
649 .LM111:
|
|
650 02c4 83E0 ldi r24,hi8(801)
|
|
651 02c6 C132 cpi r28,lo8(801)
|
|
652 02c8 D807 cpc r29,r24
|
|
653 02ca 00F0 brlo .L91
|
|
654 .LM112:
|
|
655 02cc 80E0 ldi r24,lo8(.LC28)
|
|
656 02ce 90E0 ldi r25,hi8(.LC28)
|
|
657 02d0 00C0 rjmp .L101
|
|
658 .L91:
|
|
659 .LM113:
|
|
660 02d2 81E0 ldi r24,hi8(401)
|
|
661 02d4 C139 cpi r28,lo8(401)
|
|
662 02d6 D807 cpc r29,r24
|
|
663 02d8 00F0 brlo .L93
|
|
664 .LM114:
|
|
665 02da 80E0 ldi r24,lo8(.LC29)
|
|
666 02dc 90E0 ldi r25,hi8(.LC29)
|
|
667 02de 00C0 rjmp .L101
|
|
668 .L93:
|
|
669 .LM115:
|
|
670 02e0 C93C cpi r28,201
|
|
671 02e2 D105 cpc r29,__zero_reg__
|
|
672 02e4 00F0 brlo .L95
|
|
673 .LM116:
|
|
674 02e6 80E0 ldi r24,lo8(.LC30)
|
|
675 02e8 90E0 ldi r25,hi8(.LC30)
|
|
676 02ea 00C0 rjmp .L101
|
|
677 .L95:
|
|
678 .LM117:
|
|
679 02ec 6F97 sbiw r28,31
|
|
680 02ee 00F0 brlo .L97
|
|
681 .LM118:
|
|
682 02f0 80E0 ldi r24,lo8(.LC31)
|
|
683 02f2 90E0 ldi r25,hi8(.LC31)
|
|
684 02f4 00C0 rjmp .L101
|
|
685 .L97:
|
|
686 .LM119:
|
|
687 02f6 80E0 ldi r24,lo8(.LC24)
|
|
688 02f8 90E0 ldi r25,hi8(.LC24)
|
|
689 .L101:
|
|
690 02fa 0E94 0000 call lcdWriteString
|
|
691 .LVL13:
|
|
692 .LVL14:
|
|
693 .L99:
|
|
694 /* epilogue: frame size=0 */
|
|
695 02fe DF91 pop r29
|
|
696 0300 CF91 pop r28
|
|
697 0302 1F91 pop r17
|
|
698 0304 0895 ret
|
|
699 /* epilogue end (size=4) */
|
|
700 /* function showDistanceOnLCD size 241 (234) */
|
|
701 .LFE20:
|
|
703 .global checkCommunication
|
|
705 checkCommunication:
|
|
706 .LFB21:
|
|
707 .LM120:
|
|
708 /* prologue: frame size=0 */
|
|
709 0306 0F93 push r16
|
|
710 0308 1F93 push r17
|
|
711 /* prologue end (size=2) */
|
|
712 .LM121:
|
|
713 030a 0E94 0000 call rfIdGetTagPresent
|
|
714 030e 8823 tst r24
|
|
715 0310 01F0 breq .L104
|
|
716 .LBB2:
|
|
717 .LM122:
|
|
718 0312 0E94 0000 call rfIdGetTag
|
|
719 0316 8C01 movw r16,r24
|
|
720 .LVL15:
|
|
721 .LM123:
|
|
722 0318 83E1 ldi r24,lo8(19)
|
|
723 031a 0E94 0000 call lcdSetPos
|
|
724 .LM124:
|
|
725 031e C801 movw r24,r16
|
|
726 0320 0E94 0000 call lcdWriteString
|
|
727 .LM125:
|
|
728 0324 C801 movw r24,r16
|
|
729 0326 0E94 0000 call roboMSPSetData
|
|
730 .L104:
|
|
731 .LBE2:
|
|
732 .LM126:
|
|
733 032a 0E94 0000 call roboMSPGetActiveStatus
|
|
734 032e 8330 cpi r24,lo8(3)
|
|
735 0330 01F0 breq .L108
|
|
736 0332 8430 cpi r24,lo8(4)
|
|
737 0334 00F4 brsh .L111
|
|
738 0336 8230 cpi r24,lo8(2)
|
|
739 0338 01F4 brne .L112
|
|
740 033a 00C0 rjmp .L107
|
|
741 .L111:
|
|
742 033c 8430 cpi r24,lo8(4)
|
|
743 033e 01F0 breq .L109
|
|
744 0340 8530 cpi r24,lo8(5)
|
|
745 0342 01F4 brne .L112
|
|
746 0344 00C0 rjmp .L110
|
|
747 .L107:
|
|
748 .LM127:
|
|
749 0346 81E0 ldi r24,lo8(1)
|
|
750 0348 00C0 rjmp .L113
|
|
751 .L108:
|
|
752 .LM128:
|
|
753 034a 82E0 ldi r24,lo8(2)
|
|
754 .L113:
|
|
755 034c 0E94 0000 call activateRobot
|
|
756 .LM129:
|
|
757 0350 0E94 0000 call rfIdEnable
|
|
758 0354 00C0 rjmp .L112
|
|
759 .L109:
|
|
760 .LM130:
|
|
761 0356 0E94 0000 call deactivateRobot
|
|
762 035a 00C0 rjmp .L112
|
|
763 .L110:
|
|
764 .LM131:
|
|
765 035c 0E94 0000 call rfIdClearBuffer
|
|
766 .L112:
|
|
767 /* epilogue: frame size=0 */
|
|
768 0360 1F91 pop r17
|
|
769 0362 0F91 pop r16
|
|
770 0364 0895 ret
|
|
771 /* epilogue end (size=3) */
|
|
772 /* function checkCommunication size 48 (43) */
|
|
773 .LFE21:
|
|
775 .data
|
|
776 .LC32:
|
|
777 0220 4472 6976 .string "Drive: FORWARD "
|
|
777 653A 2046
|
|
777 4F52 5741
|
|
777 5244 2020
|
|
777 00
|
|
778 .LC33:
|
|
779 0231 4472 6976 .string "Drive: STOP "
|
|
779 653A 2053
|
|
779 544F 5020
|
|
779 2020 2020
|
|
779 00
|
|
780 .LC34:
|
|
781 0242 416C 6967 .string "Align to wall "
|
|
781 6E20 746F
|
|
781 2077 616C
|
|
781 6C20 2020
|
|
781 00
|
|
782 .LC35:
|
|
783 0253 2020 5E2D .string " ^-- (1m) --^ "
|
|
783 2D20 2831
|
|
783 6D29 202D
|
|
783 2D5E 2020
|
|
783 00
|
|
784 .LC36:
|
|
785 0264 506F 7369 .string "Posistion locked"
|
|
785 7374 696F
|
|
785 6E20 6C6F
|
|
785 636B 6564
|
|
785 00
|
|
786 .LC37:
|
|
787 0275 4472 6976 .string "Drive: Turn < "
|
|
787 653A 2054
|
|
787 7572 6E20
|
|
787 3C20 00
|
|
788 .LC38:
|
|
789 0284 4472 6976 .string "Drive: Turn > "
|
|
789 653A 2054
|
|
789 7572 6E20
|
|
789 3E20 00
|
|
790 .LC39:
|
|
791 0293 205D 2D2D .string " ]--- (1m) --->|"
|
|
791 2D20 2831
|
|
791 6D29 202D
|
|
791 2D2D 3E7C
|
|
791 00
|
|
792 .LC40:
|
|
793 02a4 7C3C 2D2D .string "|<--- (1m) ---[ "
|
|
793 2D20 2831
|
|
793 6D29 202D
|
|
793 2D2D 5B20
|
|
793 00
|
|
794 .LC41:
|
|
795 02b5 4472 6976 .string "Drive: Turn <<< "
|
|
795 653A 2054
|
|
795 7572 6E20
|
|
795 3C3C 3C20
|
|
795 00
|
|
796 .LC42:
|
|
797 02c6 4472 6976 .string "Drive: Turn < "
|
|
797 653A 2054
|
|
797 7572 6E20
|
|
797 3C20 2020
|
|
797 00
|
|
798 .LC43:
|
|
799 02d7 4472 6976 .string "Drive: Turn > "
|
|
799 653A 2054
|
|
799 7572 6E20
|
|
799 3E20 2020
|
|
799 00
|
|
800 .LC44:
|
|
801 02e8 5365 7276 .string "Servo: forward "
|
|
801 6F3A 2066
|
|
801 6F72 7761
|
|
801 7264 2000
|
|
802 .LC45:
|
|
803 02f8 4469 7374 .string "Distance: "
|
|
803 616E 6365
|
|
803 3A20 00
|
|
804 .text
|
|
805 .global updateProgram
|
|
807 updateProgram:
|
|
808 .LFB19:
|
|
809 .LM132:
|
|
810 /* prologue: frame size=0 */
|
|
811 0366 1F93 push r17
|
|
812 /* prologue end (size=1) */
|
|
813 .LM133:
|
|
814 0368 8091 0000 lds r24,rfEnable
|
|
815 036c 8823 tst r24
|
|
816 036e 01F0 breq .L115
|
|
817 .LM134:
|
|
818 0370 0E94 0000 call checkCommunication
|
|
819 .L115:
|
|
820 .LM135:
|
|
821 0374 8091 0000 lds r24,roboActive
|
|
822 0378 8130 cpi r24,lo8(1)
|
|
823 037a 01F0 breq .+2
|
|
824 037c 00C0 rjmp .L117
|
|
825 .LM136:
|
|
826 037e 8091 0000 lds r24,progCounter
|
|
827 0382 8F5F subi r24,lo8(-(1))
|
|
828 0384 8093 0000 sts progCounter,r24
|
|
829 0388 9091 0000 lds r25,progTimer
|
|
830 038c 8917 cp r24,r25
|
|
831 038e 00F4 brsh .+2
|
|
832 0390 00C0 rjmp .L117
|
|
833 .LM137:
|
|
834 0392 8091 0000 lds r24,progPosition
|
|
835 0396 E82F mov r30,r24
|
|
836 0398 F0E0 ldi r31,lo8(0)
|
|
837 039a E631 cpi r30,22
|
|
838 039c F105 cpc r31,__zero_reg__
|
|
839 039e 00F0 brlo .+2
|
|
840 03a0 00C0 rjmp .L120
|
|
841 03a2 E050 subi r30,lo8(-(gs(.L143)))
|
|
**** Warning:expression dangerous with linker stubs
|
|
842 03a4 F040 sbci r31,hi8(-(gs(.L143)))
|
|
**** Warning:expression dangerous with linker stubs
|
|
843 03a6 EE0F lsl r30
|
|
844 03a8 FF1F rol r31
|
|
845 03aa 0590 lpm __tmp_reg__,Z+
|
|
846 03ac F491 lpm r31,Z
|
|
847 03ae E02D mov r30,__tmp_reg__
|
|
848 03b0 0994 ijmp
|
|
849 .data
|
|
850 .section .progmem.gcc_sw_table, "a", @progbits
|
|
851 .p2align 1
|
|
852 .L143:
|
|
853 .data
|
|
854 .section .progmem.gcc_sw_table, "a", @progbits
|
|
855 .p2align 1
|
|
856 0000 0000 .word gs(.L121)
|
|
857 0002 0000 .word gs(.L122)
|
|
858 0004 0000 .word gs(.L123)
|
|
859 0006 0000 .word gs(.L124)
|
|
860 0008 0000 .word gs(.L125)
|
|
861 000a 0000 .word gs(.L126)
|
|
862 000c 0000 .word gs(.L127)
|
|
863 000e 0000 .word gs(.L128)
|
|
864 0010 0000 .word gs(.L129)
|
|
865 0012 0000 .word gs(.L130)
|
|
866 0014 0000 .word gs(.L131)
|
|
867 0016 0000 .word gs(.L132)
|
|
868 0018 0000 .word gs(.L133)
|
|
869 001a 0000 .word gs(.L134)
|
|
870 001c 0000 .word gs(.L135)
|
|
871 001e 0000 .word gs(.L136)
|
|
872 0020 0000 .word gs(.L137)
|
|
873 0022 0000 .word gs(.L138)
|
|
874 0024 0000 .word gs(.L139)
|
|
875 0026 0000 .word gs(.L140)
|
|
876 0028 0000 .word gs(.L141)
|
|
877 002a 0000 .word gs(.L142)
|
|
878 .text
|
|
879 .L121:
|
|
880 .LM138:
|
|
881 03b2 0E94 0000 call lcdClearDisplay
|
|
882 .LM139:
|
|
883 03b6 81E0 ldi r24,lo8(1)
|
|
884 03b8 0E94 0000 call lcdSetLayout
|
|
885 03bc 00C0 rjmp .L136
|
|
886 .L122:
|
|
887 .LM140:
|
|
888 03be 8FE7 ldi r24,lo8(127)
|
|
889 03c0 8093 0000 sts servoMotorLeft,r24
|
|
890 .LM141:
|
|
891 03c4 8093 0000 sts servoMotorRight,r24
|
|
892 .LM142:
|
|
893 03c8 0E94 0000 call pingSendPing
|
|
894 .LM143:
|
|
895 03cc 84E0 ldi r24,lo8(4)
|
|
896 03ce 8093 0000 sts progTimer,r24
|
|
897 .LM144:
|
|
898 03d2 0E94 0000 call pingGetReady
|
|
899 03d6 8823 tst r24
|
|
900 03d8 01F4 brne .+2
|
|
901 03da 00C0 rjmp .L120
|
|
902 .LM145:
|
|
903 03dc 0E94 0000 call pingGetDistance
|
|
904 03e0 9093 0000 sts (tempDistance)+1,r25
|
|
905 03e4 8093 0000 sts tempDistance,r24
|
|
906 .LM146:
|
|
907 03e8 27E1 ldi r18,hi8(6000)
|
|
908 03ea 8037 cpi r24,lo8(6000)
|
|
909 03ec 9207 cpc r25,r18
|
|
910 03ee 00F4 brsh .L145
|
|
911 .LM147:
|
|
912 03f0 42E0 ldi r20,lo8(2)
|
|
913 03f2 60E0 ldi r22,lo8(0)
|
|
914 03f4 80E0 ldi r24,lo8(0)
|
|
915 03f6 90E0 ldi r25,hi8(0)
|
|
916 03f8 0E94 0000 call showDistanceOnLCD
|
|
917 03fc 00C0 rjmp .L283
|
|
918 .L145:
|
|
919 .LM148:
|
|
920 03fe 42E0 ldi r20,lo8(2)
|
|
921 0400 60E0 ldi r22,lo8(0)
|
|
922 0402 8057 subi r24,lo8(-(-6000))
|
|
923 0404 9741 sbci r25,hi8(-(-6000))
|
|
924 0406 0E94 0000 call showDistanceOnLCD
|
|
925 040a 00C0 rjmp .L120
|
|
926 .L123:
|
|
927 .LM149:
|
|
928 040c 80E0 ldi r24,lo8(0)
|
|
929 040e 0E94 0000 call lcdSetPos
|
|
930 .LM150:
|
|
931 0412 80E0 ldi r24,lo8(.LC33)
|
|
932 0414 90E0 ldi r25,hi8(.LC33)
|
|
933 0416 0E94 0000 call lcdWriteString
|
|
934 .LM151:
|
|
935 041a 8CE6 ldi r24,lo8(108)
|
|
936 041c 8093 0000 sts servoMotorLeft,r24
|
|
937 .LM152:
|
|
938 0420 8093 0000 sts servoMotorRight,r24
|
|
939 .LM153:
|
|
940 0424 88E2 ldi r24,lo8(40)
|
|
941 0426 00C0 rjmp .L280
|
|
942 .L124:
|
|
943 .LM154:
|
|
944 0428 87E7 ldi r24,lo8(119)
|
|
945 042a 8093 0000 sts servoMotorLeft,r24
|
|
946 .LM155:
|
|
947 042e 8093 0000 sts servoMotorRight,r24
|
|
948 .LM156:
|
|
949 0432 81E0 ldi r24,lo8(1)
|
|
950 0434 8093 0000 sts progTimer,r24
|
|
951 .LM157:
|
|
952 0438 1092 0000 sts regulatorMeasureCounter,__zero_reg__
|
|
953 .LM158:
|
|
954 043c 84E0 ldi r24,lo8(4)
|
|
955 043e 00C0 rjmp .L266
|
|
956 .L125:
|
|
957 .LM159:
|
|
958 0440 8EEA ldi r24,lo8(-82)
|
|
959 0442 8093 0000 sts servoPing,r24
|
|
960 .LM160:
|
|
961 0446 84E1 ldi r24,lo8(20)
|
|
962 0448 8093 0000 sts progTimer,r24
|
|
963 .LM161:
|
|
964 044c 85E0 ldi r24,lo8(5)
|
|
965 044e 00C0 rjmp .L266
|
|
966 .L126:
|
|
967 .LM162:
|
|
968 0450 0E94 0000 call pingSendPing
|
|
969 .LM163:
|
|
970 0454 84E0 ldi r24,lo8(4)
|
|
971 0456 8093 0000 sts progTimer,r24
|
|
972 .LM164:
|
|
973 045a 0E94 0000 call pingGetReady
|
|
974 045e 8823 tst r24
|
|
975 0460 01F4 brne .+2
|
|
976 0462 00C0 rjmp .L120
|
|
977 .LM165:
|
|
978 0464 0E94 0000 call pingGetDistance
|
|
979 0468 9093 0000 sts (tempLeftDistance)+1,r25
|
|
980 046c 8093 0000 sts tempLeftDistance,r24
|
|
981 0470 00C0 rjmp .L283
|
|
982 .L127:
|
|
983 .LM166:
|
|
984 0472 87E6 ldi r24,lo8(103)
|
|
985 0474 8093 0000 sts servoPing,r24
|
|
986 .LM167:
|
|
987 0478 88E2 ldi r24,lo8(40)
|
|
988 047a 8093 0000 sts progTimer,r24
|
|
989 .LM168:
|
|
990 047e 87E0 ldi r24,lo8(7)
|
|
991 0480 00C0 rjmp .L266
|
|
992 .L128:
|
|
993 .LM169:
|
|
994 0482 0E94 0000 call pingSendPing
|
|
995 .LM170:
|
|
996 0486 84E0 ldi r24,lo8(4)
|
|
997 0488 8093 0000 sts progTimer,r24
|
|
998 .LM171:
|
|
999 048c 0E94 0000 call pingGetReady
|
|
1000 0490 8823 tst r24
|
|
1001 0492 01F4 brne .+2
|
|
1002 0494 00C0 rjmp .L120
|
|
1003 .LM172:
|
|
1004 0496 0E94 0000 call pingGetDistance
|
|
1005 049a 9093 0000 sts (tempRightDistance)+1,r25
|
|
1006 049e 8093 0000 sts tempRightDistance,r24
|
|
1007 04a2 00C0 rjmp .L283
|
|
1008 .L129:
|
|
1009 .LM173:
|
|
1010 04a4 8CE8 ldi r24,lo8(-116)
|
|
1011 04a6 8093 0000 sts servoPing,r24
|
|
1012 .LM174:
|
|
1013 04aa 2091 0000 lds r18,tempLeftDistance
|
|
1014 04ae 3091 0000 lds r19,(tempLeftDistance)+1
|
|
1015 04b2 8091 0000 lds r24,tempRightDistance
|
|
1016 04b6 9091 0000 lds r25,(tempRightDistance)+1
|
|
1017 04ba 8217 cp r24,r18
|
|
1018 04bc 9307 cpc r25,r19
|
|
1019 04be 00F4 brsh .L149
|
|
1020 .LM175:
|
|
1021 04c0 1092 0000 sts regulatorMode,__zero_reg__
|
|
1022 04c4 00C0 rjmp .L151
|
|
1023 .L149:
|
|
1024 .LM176:
|
|
1025 04c6 81E0 ldi r24,lo8(1)
|
|
1026 04c8 8093 0000 sts regulatorMode,r24
|
|
1027 .L151:
|
|
1028 .LM177:
|
|
1029 04cc 82E3 ldi r24,lo8(50)
|
|
1030 04ce 8093 0000 sts progTimer,r24
|
|
1031 .LM178:
|
|
1032 04d2 89E0 ldi r24,lo8(9)
|
|
1033 04d4 00C0 rjmp .L266
|
|
1034 .L130:
|
|
1035 .LM179:
|
|
1036 04d6 0E94 0000 call pingSendPing
|
|
1037 .LM180:
|
|
1038 04da 84E0 ldi r24,lo8(4)
|
|
1039 04dc 8093 0000 sts progTimer,r24
|
|
1040 .LM181:
|
|
1041 04e0 0E94 0000 call pingGetReady
|
|
1042 04e4 8823 tst r24
|
|
1043 04e6 01F4 brne .+2
|
|
1044 04e8 00C0 rjmp .L120
|
|
1045 .LM182:
|
|
1046 04ea 80E0 ldi r24,lo8(0)
|
|
1047 04ec 0E94 0000 call lcdSetPos
|
|
1048 .LM183:
|
|
1049 04f0 80E0 ldi r24,lo8(.LC34)
|
|
1050 04f2 90E0 ldi r25,hi8(.LC34)
|
|
1051 04f4 0E94 0000 call lcdWriteString
|
|
1052 .LM184:
|
|
1053 04f8 0E94 0000 call pingGetDistance
|
|
1054 04fc 9093 0000 sts (tempLastDistanceToWall)+1,r25
|
|
1055 0500 8093 0000 sts tempLastDistanceToWall,r24
|
|
1056 .LM185:
|
|
1057 0504 9093 0000 sts (tempDistanceToWall)+1,r25
|
|
1058 0508 8093 0000 sts tempDistanceToWall,r24
|
|
1059 050c 00C0 rjmp .L283
|
|
1060 .L131:
|
|
1061 .LM186:
|
|
1062 050e 8091 0000 lds r24,regulatorMode
|
|
1063 0512 8823 tst r24
|
|
1064 0514 01F4 brne .L153
|
|
1065 .LM187:
|
|
1066 0516 86E8 ldi r24,lo8(-122)
|
|
1067 0518 8093 0000 sts servoMotorLeft,r24
|
|
1068 .LM188:
|
|
1069 051c 88E6 ldi r24,lo8(104)
|
|
1070 051e 00C0 rjmp .L257
|
|
1071 .L153:
|
|
1072 .LM189:
|
|
1073 0520 8130 cpi r24,lo8(1)
|
|
1074 0522 01F4 brne .L155
|
|
1075 .LM190:
|
|
1076 0524 88E6 ldi r24,lo8(104)
|
|
1077 0526 8093 0000 sts servoMotorLeft,r24
|
|
1078 .LM191:
|
|
1079 052a 86E8 ldi r24,lo8(-122)
|
|
1080 .L257:
|
|
1081 052c 8093 0000 sts servoMotorRight,r24
|
|
1082 .LM192:
|
|
1083 0530 87E0 ldi r24,lo8(7)
|
|
1084 0532 8093 0000 sts progTimer,r24
|
|
1085 .L155:
|
|
1086 .LM193:
|
|
1087 0536 8BE0 ldi r24,lo8(11)
|
|
1088 0538 00C0 rjmp .L266
|
|
1089 .L132:
|
|
1090 .LM194:
|
|
1091 053a 0E94 0000 call pingSendPing
|
|
1092 .LM195:
|
|
1093 053e 84E0 ldi r24,lo8(4)
|
|
1094 0540 8093 0000 sts progTimer,r24
|
|
1095 .LM196:
|
|
1096 0544 87E7 ldi r24,lo8(119)
|
|
1097 0546 8093 0000 sts servoMotorLeft,r24
|
|
1098 .LM197:
|
|
1099 054a 8093 0000 sts servoMotorRight,r24
|
|
1100 .LM198:
|
|
1101 054e 0E94 0000 call pingGetReady
|
|
1102 0552 8823 tst r24
|
|
1103 0554 01F4 brne .+2
|
|
1104 0556 00C0 rjmp .L120
|
|
1105 .LM199:
|
|
1106 0558 0E94 0000 call pingGetDistance
|
|
1107 055c 9093 0000 sts (tempDistance)+1,r25
|
|
1108 0560 8093 0000 sts tempDistance,r24
|
|
1109 .LM200:
|
|
1110 0564 2091 0000 lds r18,tempLastDistanceToWall
|
|
1111 0568 3091 0000 lds r19,(tempLastDistanceToWall)+1
|
|
1112 056c 2817 cp r18,r24
|
|
1113 056e 3907 cpc r19,r25
|
|
1114 0570 00F4 brsh .L158
|
|
1115 .LM201:
|
|
1116 0572 80E0 ldi r24,lo8(0)
|
|
1117 0574 0E94 0000 call lcdSetPos
|
|
1118 .LM202:
|
|
1119 0578 80E0 ldi r24,lo8(.LC35)
|
|
1120 057a 90E0 ldi r25,hi8(.LC35)
|
|
1121 057c 0E94 0000 call lcdWriteString
|
|
1122 .LM203:
|
|
1123 0580 81E0 ldi r24,lo8(1)
|
|
1124 0582 8093 0000 sts progTimer,r24
|
|
1125 .LM204:
|
|
1126 0586 8091 0000 lds r24,progPosition
|
|
1127 058a 8F5F subi r24,lo8(-(1))
|
|
1128 058c 00C0 rjmp .L258
|
|
1129 .L158:
|
|
1130 .LM205:
|
|
1131 058e 8091 0000 lds r24,progPosition
|
|
1132 0592 8150 subi r24,lo8(-(-1))
|
|
1133 .L258:
|
|
1134 0594 8093 0000 sts progPosition,r24
|
|
1135 .LM206:
|
|
1136 0598 8091 0000 lds r24,tempDistance
|
|
1137 059c 9091 0000 lds r25,(tempDistance)+1
|
|
1138 05a0 9093 0000 sts (tempLastDistanceToWall)+1,r25
|
|
1139 05a4 8093 0000 sts tempLastDistanceToWall,r24
|
|
1140 05a8 00C0 rjmp .L120
|
|
1141 .L133:
|
|
1142 .LM207:
|
|
1143 05aa 0E94 0000 call pingSendPing
|
|
1144 .LM208:
|
|
1145 05ae 84E0 ldi r24,lo8(4)
|
|
1146 05b0 8093 0000 sts progTimer,r24
|
|
1147 .LM209:
|
|
1148 05b4 0E94 0000 call pingGetReady
|
|
1149 05b8 8823 tst r24
|
|
1150 05ba 01F4 brne .+2
|
|
1151 05bc 00C0 rjmp .L120
|
|
1152 .LM210:
|
|
1153 05be 0E94 0000 call pingGetDistance
|
|
1154 05c2 9C01 movw r18,r24
|
|
1155 05c4 9093 0000 sts (tempDistance)+1,r25
|
|
1156 05c8 8093 0000 sts tempDistance,r24
|
|
1157 .LM211:
|
|
1158 05cc 47E1 ldi r20,hi8(6001)
|
|
1159 05ce 8137 cpi r24,lo8(6001)
|
|
1160 05d0 9407 cpc r25,r20
|
|
1161 05d2 00F0 brlo .L162
|
|
1162 .LM212:
|
|
1163 05d4 42E0 ldi r20,lo8(2)
|
|
1164 05d6 60E0 ldi r22,lo8(0)
|
|
1165 05d8 8057 subi r24,lo8(-(-6000))
|
|
1166 05da 9741 sbci r25,hi8(-(-6000))
|
|
1167 05dc 00C0 rjmp .L259
|
|
1168 .L162:
|
|
1169 .LM213:
|
|
1170 05de 42E0 ldi r20,lo8(2)
|
|
1171 05e0 61E0 ldi r22,lo8(1)
|
|
1172 05e2 80E7 ldi r24,lo8(6000)
|
|
1173 05e4 97E1 ldi r25,hi8(6000)
|
|
1174 05e6 821B sub r24,r18
|
|
1175 05e8 930B sbc r25,r19
|
|
1176 .L259:
|
|
1177 05ea 0E94 0000 call showDistanceOnLCD
|
|
1178 .LM214:
|
|
1179 05ee 8091 0000 lds r24,tempDistance
|
|
1180 05f2 9091 0000 lds r25,(tempDistance)+1
|
|
1181 05f6 26E1 ldi r18,hi8(5800)
|
|
1182 05f8 883A cpi r24,lo8(5800)
|
|
1183 05fa 9207 cpc r25,r18
|
|
1184 05fc 00F4 brsh .L165
|
|
1185 .LM215:
|
|
1186 05fe 8091 0000 lds r24,servoMotorLeft
|
|
1187 0602 8337 cpi r24,lo8(115)
|
|
1188 0604 00F0 brlo .L171
|
|
1189 .LM216:
|
|
1190 0606 8150 subi r24,lo8(-(-1))
|
|
1191 0608 8093 0000 sts servoMotorLeft,r24
|
|
1192 .LM217:
|
|
1193 060c 8091 0000 lds r24,servoMotorRight
|
|
1194 0610 8150 subi r24,lo8(-(-1))
|
|
1195 0612 00C0 rjmp .L269
|
|
1196 .L165:
|
|
1197 .LM218:
|
|
1198 0614 8953 subi r24,lo8(6201)
|
|
1199 0616 9841 sbci r25,hi8(6201)
|
|
1200 0618 00F0 brlo .L169
|
|
1201 .LM219:
|
|
1202 061a 8091 0000 lds r24,servoMotorLeft
|
|
1203 061e 8F37 cpi r24,lo8(127)
|
|
1204 0620 00F4 brsh .L171
|
|
1205 .LM220:
|
|
1206 0622 8F5F subi r24,lo8(-(1))
|
|
1207 0624 8093 0000 sts servoMotorLeft,r24
|
|
1208 .LM221:
|
|
1209 0628 8091 0000 lds r24,servoMotorRight
|
|
1210 062c 8F5F subi r24,lo8(-(1))
|
|
1211 .L269:
|
|
1212 062e 8093 0000 sts servoMotorRight,r24
|
|
1213 .L171:
|
|
1214 .LM222:
|
|
1215 0632 1092 0000 sts regulatorMeasureCounter,__zero_reg__
|
|
1216 0636 00C0 rjmp .L120
|
|
1217 .L169:
|
|
1218 .LM223:
|
|
1219 0638 17E7 ldi r17,lo8(119)
|
|
1220 063a 1093 0000 sts servoMotorLeft,r17
|
|
1221 .LM224:
|
|
1222 063e 1093 0000 sts servoMotorRight,r17
|
|
1223 .LM225:
|
|
1224 0642 8091 0000 lds r24,regulatorMeasureCounter
|
|
1225 0646 8F5F subi r24,lo8(-(1))
|
|
1226 0648 8093 0000 sts regulatorMeasureCounter,r24
|
|
1227 064c 8530 cpi r24,lo8(5)
|
|
1228 064e 01F0 breq .+2
|
|
1229 0650 00C0 rjmp .L120
|
|
1230 .LM226:
|
|
1231 0652 80E0 ldi r24,lo8(0)
|
|
1232 0654 0E94 0000 call lcdSetPos
|
|
1233 .LM227:
|
|
1234 0658 80E0 ldi r24,lo8(.LC36)
|
|
1235 065a 90E0 ldi r25,hi8(.LC36)
|
|
1236 065c 0E94 0000 call lcdWriteString
|
|
1237 .LM228:
|
|
1238 0660 1093 0000 sts servoMotorLeft,r17
|
|
1239 .LM229:
|
|
1240 0664 1093 0000 sts servoMotorRight,r17
|
|
1241 .LM230:
|
|
1242 0668 8091 0000 lds r24,tempDistance
|
|
1243 066c 9091 0000 lds r25,(tempDistance)+1
|
|
1244 0670 9093 0000 sts (tempDistanceToWall)+1,r25
|
|
1245 0674 8093 0000 sts tempDistanceToWall,r24
|
|
1246 .LM231:
|
|
1247 0678 82E3 ldi r24,lo8(50)
|
|
1248 067a 8093 0000 sts progTimer,r24
|
|
1249 .LM232:
|
|
1250 067e 1092 0000 sts regulatorMeasureCounter,__zero_reg__
|
|
1251 0682 00C0 rjmp .L272
|
|
1252 .L134:
|
|
1253 .LM233:
|
|
1254 0684 8CE8 ldi r24,lo8(-116)
|
|
1255 0686 8093 0000 sts servoPing,r24
|
|
1256 .LM234:
|
|
1257 068a 2091 0000 lds r18,tempLeftDistance
|
|
1258 068e 3091 0000 lds r19,(tempLeftDistance)+1
|
|
1259 0692 8091 0000 lds r24,tempRightDistance
|
|
1260 0696 9091 0000 lds r25,(tempRightDistance)+1
|
|
1261 069a 8217 cp r24,r18
|
|
1262 069c 9307 cpc r25,r19
|
|
1263 069e 00F4 brsh .L174
|
|
1264 .LM235:
|
|
1265 06a0 80E0 ldi r24,lo8(0)
|
|
1266 06a2 0E94 0000 call lcdSetPos
|
|
1267 .LM236:
|
|
1268 06a6 80E0 ldi r24,lo8(.LC37)
|
|
1269 06a8 90E0 ldi r25,hi8(.LC37)
|
|
1270 06aa 0E94 0000 call lcdWriteString
|
|
1271 .LM237:
|
|
1272 06ae 88E6 ldi r24,lo8(104)
|
|
1273 06b0 8093 0000 sts servoMotorLeft,r24
|
|
1274 .LM238:
|
|
1275 06b4 86E8 ldi r24,lo8(-122)
|
|
1276 06b6 8093 0000 sts servoMotorRight,r24
|
|
1277 .LM239:
|
|
1278 06ba 83E4 ldi r24,lo8(67)
|
|
1279 06bc 8093 0000 sts servoPing,r24
|
|
1280 .LM240:
|
|
1281 06c0 1092 0000 sts regulatorMode,__zero_reg__
|
|
1282 06c4 00C0 rjmp .L260
|
|
1283 .L174:
|
|
1284 .LM241:
|
|
1285 06c6 80E0 ldi r24,lo8(0)
|
|
1286 06c8 0E94 0000 call lcdSetPos
|
|
1287 .LM242:
|
|
1288 06cc 80E0 ldi r24,lo8(.LC38)
|
|
1289 06ce 90E0 ldi r25,hi8(.LC38)
|
|
1290 06d0 0E94 0000 call lcdWriteString
|
|
1291 .LM243:
|
|
1292 06d4 86E8 ldi r24,lo8(-122)
|
|
1293 06d6 8093 0000 sts servoMotorLeft,r24
|
|
1294 .LM244:
|
|
1295 06da 88E6 ldi r24,lo8(104)
|
|
1296 06dc 8093 0000 sts servoMotorRight,r24
|
|
1297 .LM245:
|
|
1298 06e0 80ED ldi r24,lo8(-48)
|
|
1299 06e2 8093 0000 sts servoPing,r24
|
|
1300 .LM246:
|
|
1301 06e6 81E0 ldi r24,lo8(1)
|
|
1302 06e8 8093 0000 sts regulatorMode,r24
|
|
1303 .L260:
|
|
1304 .LM247:
|
|
1305 06ec 82E3 ldi r24,lo8(50)
|
|
1306 06ee 00C0 rjmp .L280
|
|
1307 .L135:
|
|
1308 .LM248:
|
|
1309 06f0 87E7 ldi r24,lo8(119)
|
|
1310 06f2 8093 0000 sts servoMotorLeft,r24
|
|
1311 .LM249:
|
|
1312 06f6 8093 0000 sts servoMotorRight,r24
|
|
1313 .LM250:
|
|
1314 06fa 8AE0 ldi r24,lo8(10)
|
|
1315 06fc 8093 0000 sts progTimer,r24
|
|
1316 .LM251:
|
|
1317 0700 82E0 ldi r24,lo8(2)
|
|
1318 0702 8093 0000 sts regulatorTimer,r24
|
|
1319 0706 00C0 rjmp .L273
|
|
1320 .L136:
|
|
1321 .LM252:
|
|
1322 0708 80E0 ldi r24,lo8(0)
|
|
1323 070a 0E94 0000 call lcdSetPos
|
|
1324 .LM253:
|
|
1325 070e 80E0 ldi r24,lo8(.LC32)
|
|
1326 0710 90E0 ldi r25,hi8(.LC32)
|
|
1327 0712 0E94 0000 call lcdWriteString
|
|
1328 .LM254:
|
|
1329 0716 86E8 ldi r24,lo8(-122)
|
|
1330 0718 8093 0000 sts servoMotorLeft,r24
|
|
1331 .LM255:
|
|
1332 071c 8093 0000 sts servoMotorRight,r24
|
|
1333 .LM256:
|
|
1334 0720 84E1 ldi r24,lo8(20)
|
|
1335 .L280:
|
|
1336 0722 8093 0000 sts progTimer,r24
|
|
1337 0726 00C0 rjmp .L272
|
|
1338 .L137:
|
|
1339 .LM257:
|
|
1340 0728 8FE7 ldi r24,lo8(127)
|
|
1341 072a 8093 0000 sts servoMotorLeft,r24
|
|
1342 .LM258:
|
|
1343 072e 8093 0000 sts servoMotorRight,r24
|
|
1344 .LM259:
|
|
1345 0732 8AE0 ldi r24,lo8(10)
|
|
1346 0734 8093 0000 sts progTimer,r24
|
|
1347 .L273:
|
|
1348 .LM260:
|
|
1349 0738 81E1 ldi r24,lo8(17)
|
|
1350 073a 00C0 rjmp .L266
|
|
1351 .L138:
|
|
1352 .LM261:
|
|
1353 073c 0E94 0000 call pingSendPing
|
|
1354 .LM262:
|
|
1355 0740 83E0 ldi r24,lo8(3)
|
|
1356 0742 8093 0000 sts progTimer,r24
|
|
1357 .LM263:
|
|
1358 0746 0E94 0000 call pingGetReady
|
|
1359 074a 8823 tst r24
|
|
1360 074c 01F4 brne .+2
|
|
1361 074e 00C0 rjmp .L120
|
|
1362 .LM264:
|
|
1363 0750 0E94 0000 call pingGetDistance
|
|
1364 0754 9093 0000 sts (tempDistance)+1,r25
|
|
1365 0758 8093 0000 sts tempDistance,r24
|
|
1366 .L283:
|
|
1367 .LM265:
|
|
1368 075c 81E0 ldi r24,lo8(1)
|
|
1369 075e 00C0 rjmp .L280
|
|
1370 .L139:
|
|
1371 .LM266:
|
|
1372 0760 8091 0000 lds r24,regulatorCounter
|
|
1373 0764 8F5F subi r24,lo8(-(1))
|
|
1374 0766 8093 0000 sts regulatorCounter,r24
|
|
1375 076a 9091 0000 lds r25,regulatorTimer
|
|
1376 076e 8917 cp r24,r25
|
|
1377 0770 00F0 brlo .L178
|
|
1378 .LM267:
|
|
1379 0772 83E1 ldi r24,lo8(19)
|
|
1380 0774 8093 0000 sts progPosition,r24
|
|
1381 .LM268:
|
|
1382 0778 81E0 ldi r24,lo8(1)
|
|
1383 077a 8093 0000 sts progTimer,r24
|
|
1384 .LM269:
|
|
1385 077e 1092 0000 sts regulatorCounter,__zero_reg__
|
|
1386 0782 00C0 rjmp .L120
|
|
1387 .L178:
|
|
1388 .LBB3:
|
|
1389 .LM270:
|
|
1390 0784 8091 0000 lds r24,regulatorMode
|
|
1391 0788 8823 tst r24
|
|
1392 078a 01F0 breq .+2
|
|
1393 078c 00C0 rjmp .L180
|
|
1394 .LM271:
|
|
1395 078e 0E94 0000 call lcdSetPos
|
|
1396 .LM272:
|
|
1397 0792 80E0 ldi r24,lo8(.LC39)
|
|
1398 0794 90E0 ldi r25,hi8(.LC39)
|
|
1399 0796 0E94 0000 call lcdWriteString
|
|
1400 .LM273:
|
|
1401 079a 2091 0000 lds r18,tempDistance
|
|
1402 079e 3091 0000 lds r19,(tempDistance)+1
|
|
1403 07a2 87E1 ldi r24,hi8(6001)
|
|
1404 07a4 2137 cpi r18,lo8(6001)
|
|
1405 07a6 3807 cpc r19,r24
|
|
1406 07a8 00F0 brlo .L182
|
|
1407 .LM274:
|
|
1408 07aa 42E0 ldi r20,lo8(2)
|
|
1409 07ac 63E0 ldi r22,lo8(3)
|
|
1410 07ae C901 movw r24,r18
|
|
1411 07b0 8057 subi r24,lo8(-(-6000))
|
|
1412 07b2 9741 sbci r25,hi8(-(-6000))
|
|
1413 07b4 00C0 rjmp .L261
|
|
1414 .L182:
|
|
1415 .LM275:
|
|
1416 07b6 42E0 ldi r20,lo8(2)
|
|
1417 07b8 62E0 ldi r22,lo8(2)
|
|
1418 07ba 80E7 ldi r24,lo8(6000)
|
|
1419 07bc 97E1 ldi r25,hi8(6000)
|
|
1420 07be 821B sub r24,r18
|
|
1421 07c0 930B sbc r25,r19
|
|
1422 .L261:
|
|
1423 07c2 0E94 0000 call showDistanceOnLCD
|
|
1424 .LM276:
|
|
1425 07c6 6091 0000 lds r22,tempDistance
|
|
1426 07ca 7091 0000 lds r23,(tempDistance)+1
|
|
1427 07ce 8091 0000 lds r24,tempLastDistanceToWall
|
|
1428 07d2 9091 0000 lds r25,(tempLastDistanceToWall)+1
|
|
1429 07d6 6817 cp r22,r24
|
|
1430 07d8 7907 cpc r23,r25
|
|
1431 07da 00F4 brsh .L185
|
|
1432 07dc 23E1 ldi r18,hi8(5000)
|
|
1433 07de 6838 cpi r22,lo8(5000)
|
|
1434 07e0 7207 cpc r23,r18
|
|
1435 07e2 00F4 brsh .L187
|
|
1436 .LM277:
|
|
1437 07e4 88E6 ldi r24,lo8(104)
|
|
1438 07e6 8093 0000 sts servoMotorLeft,r24
|
|
1439 .LM278:
|
|
1440 07ea 86E8 ldi r24,lo8(-122)
|
|
1441 07ec 00C0 rjmp .L277
|
|
1442 .L187:
|
|
1443 .LM279:
|
|
1444 07ee 6656 subi r22,lo8(5990)
|
|
1445 07f0 7741 sbci r23,hi8(5990)
|
|
1446 07f2 00F0 brlo .+2
|
|
1447 07f4 00C0 rjmp .L206
|
|
1448 07f6 00C0 rjmp .L278
|
|
1449 .L185:
|
|
1450 .LM280:
|
|
1451 07f8 8617 cp r24,r22
|
|
1452 07fa 9707 cpc r25,r23
|
|
1453 07fc 00F0 brlo .+2
|
|
1454 07fe 00C0 rjmp .L206
|
|
1455 0800 8BE1 ldi r24,hi8(7001)
|
|
1456 0802 6935 cpi r22,lo8(7001)
|
|
1457 0804 7807 cpc r23,r24
|
|
1458 0806 00F0 brlo .L193
|
|
1459 .LM281:
|
|
1460 0808 86E8 ldi r24,lo8(-122)
|
|
1461 080a 8093 0000 sts servoMotorLeft,r24
|
|
1462 .LM282:
|
|
1463 080e 88E6 ldi r24,lo8(104)
|
|
1464 0810 00C0 rjmp .L276
|
|
1465 .L193:
|
|
1466 .LM283:
|
|
1467 0812 6B57 subi r22,lo8(6011)
|
|
1468 0814 7741 sbci r23,hi8(6011)
|
|
1469 0816 00F4 brsh .+2
|
|
1470 0818 00C0 rjmp .L206
|
|
1471 081a 00C0 rjmp .L279
|
|
1472 .L180:
|
|
1473 .LM284:
|
|
1474 081c 8130 cpi r24,lo8(1)
|
|
1475 081e 01F0 breq .+2
|
|
1476 0820 00C0 rjmp .L189
|
|
1477 .LM285:
|
|
1478 0822 80E0 ldi r24,lo8(0)
|
|
1479 0824 0E94 0000 call lcdSetPos
|
|
1480 .LM286:
|
|
1481 0828 80E0 ldi r24,lo8(.LC40)
|
|
1482 082a 90E0 ldi r25,hi8(.LC40)
|
|
1483 082c 0E94 0000 call lcdWriteString
|
|
1484 .LM287:
|
|
1485 0830 2091 0000 lds r18,tempDistance
|
|
1486 0834 3091 0000 lds r19,(tempDistance)+1
|
|
1487 0838 47E1 ldi r20,hi8(6001)
|
|
1488 083a 2137 cpi r18,lo8(6001)
|
|
1489 083c 3407 cpc r19,r20
|
|
1490 083e 00F0 brlo .L199
|
|
1491 .LM288:
|
|
1492 0840 42E0 ldi r20,lo8(2)
|
|
1493 0842 62E0 ldi r22,lo8(2)
|
|
1494 0844 C901 movw r24,r18
|
|
1495 0846 8057 subi r24,lo8(-(-6000))
|
|
1496 0848 9741 sbci r25,hi8(-(-6000))
|
|
1497 084a 00C0 rjmp .L262
|
|
1498 .L199:
|
|
1499 .LM289:
|
|
1500 084c 42E0 ldi r20,lo8(2)
|
|
1501 084e 63E0 ldi r22,lo8(3)
|
|
1502 0850 80E7 ldi r24,lo8(6000)
|
|
1503 0852 97E1 ldi r25,hi8(6000)
|
|
1504 0854 821B sub r24,r18
|
|
1505 0856 930B sbc r25,r19
|
|
1506 .L262:
|
|
1507 0858 0E94 0000 call showDistanceOnLCD
|
|
1508 .LM290:
|
|
1509 085c 6091 0000 lds r22,tempDistance
|
|
1510 0860 7091 0000 lds r23,(tempDistance)+1
|
|
1511 0864 8091 0000 lds r24,tempLastDistanceToWall
|
|
1512 0868 9091 0000 lds r25,(tempLastDistanceToWall)+1
|
|
1513 086c 6817 cp r22,r24
|
|
1514 086e 7907 cpc r23,r25
|
|
1515 0870 00F4 brsh .L202
|
|
1516 0872 83E1 ldi r24,hi8(5000)
|
|
1517 0874 6838 cpi r22,lo8(5000)
|
|
1518 0876 7807 cpc r23,r24
|
|
1519 0878 00F4 brsh .L204
|
|
1520 .LM291:
|
|
1521 087a 86E8 ldi r24,lo8(-122)
|
|
1522 087c 8093 0000 sts servoMotorLeft,r24
|
|
1523 .LM292:
|
|
1524 0880 88E6 ldi r24,lo8(104)
|
|
1525 .L277:
|
|
1526 0882 8093 0000 sts servoMotorRight,r24
|
|
1527 0886 00C0 rjmp .L211
|
|
1528 .L204:
|
|
1529 .LM293:
|
|
1530 0888 6656 subi r22,lo8(5990)
|
|
1531 088a 7741 sbci r23,hi8(5990)
|
|
1532 088c 00F4 brsh .L206
|
|
1533 .L279:
|
|
1534 .LM294:
|
|
1535 088e 86E8 ldi r24,lo8(-122)
|
|
1536 0890 8093 0000 sts servoMotorLeft,r24
|
|
1537 .LM295:
|
|
1538 0894 88E6 ldi r24,lo8(104)
|
|
1539 0896 00C0 rjmp .L271
|
|
1540 .L202:
|
|
1541 .LM296:
|
|
1542 0898 8617 cp r24,r22
|
|
1543 089a 9707 cpc r25,r23
|
|
1544 089c 00F4 brsh .L206
|
|
1545 089e 4BE1 ldi r20,hi8(7001)
|
|
1546 08a0 6935 cpi r22,lo8(7001)
|
|
1547 08a2 7407 cpc r23,r20
|
|
1548 08a4 00F0 brlo .L209
|
|
1549 .LM297:
|
|
1550 08a6 88E6 ldi r24,lo8(104)
|
|
1551 08a8 8093 0000 sts servoMotorLeft,r24
|
|
1552 .LM298:
|
|
1553 08ac 86E8 ldi r24,lo8(-122)
|
|
1554 .L276:
|
|
1555 08ae 8093 0000 sts servoMotorRight,r24
|
|
1556 .LM299:
|
|
1557 08b2 80E0 ldi r24,lo8(0)
|
|
1558 08b4 90E0 ldi r25,hi8(0)
|
|
1559 08b6 6057 subi r22,lo8(-(-6000))
|
|
1560 08b8 7741 sbci r23,hi8(-(-6000))
|
|
1561 08ba 8040 sbci r24,hlo8(-(-6000))
|
|
1562 08bc 9040 sbci r25,hhi8(-(-6000))
|
|
1563 08be 28E2 ldi r18,lo8(40)
|
|
1564 08c0 30E0 ldi r19,hi8(40)
|
|
1565 08c2 40E0 ldi r20,hlo8(40)
|
|
1566 08c4 50E0 ldi r21,hhi8(40)
|
|
1567 08c6 0E94 0000 call __udivmodsi4
|
|
1568 .LM300:
|
|
1569 08ca 2F30 cpi r18,lo8(15)
|
|
1570 08cc 00F4 brsh .L211
|
|
1571 .LM301:
|
|
1572 08ce 2093 0000 sts progTimer,r18
|
|
1573 08d2 00C0 rjmp .L189
|
|
1574 .L211:
|
|
1575 .LM302:
|
|
1576 08d4 8FE0 ldi r24,lo8(15)
|
|
1577 08d6 00C0 rjmp .L263
|
|
1578 .L209:
|
|
1579 .LM303:
|
|
1580 08d8 6B57 subi r22,lo8(6011)
|
|
1581 08da 7741 sbci r23,hi8(6011)
|
|
1582 08dc 00F0 brlo .L206
|
|
1583 .L278:
|
|
1584 .LM304:
|
|
1585 08de 88E6 ldi r24,lo8(104)
|
|
1586 08e0 8093 0000 sts servoMotorLeft,r24
|
|
1587 .LM305:
|
|
1588 08e4 86E8 ldi r24,lo8(-122)
|
|
1589 .L271:
|
|
1590 08e6 8093 0000 sts servoMotorRight,r24
|
|
1591 .LM306:
|
|
1592 08ea 85E0 ldi r24,lo8(5)
|
|
1593 08ec 00C0 rjmp .L263
|
|
1594 .L206:
|
|
1595 .LM307:
|
|
1596 08ee 8FE7 ldi r24,lo8(127)
|
|
1597 08f0 8093 0000 sts servoMotorLeft,r24
|
|
1598 .LM308:
|
|
1599 08f4 8093 0000 sts servoMotorRight,r24
|
|
1600 .LM309:
|
|
1601 08f8 84E0 ldi r24,lo8(4)
|
|
1602 .L263:
|
|
1603 08fa 8093 0000 sts progTimer,r24
|
|
1604 .L189:
|
|
1605 .LM310:
|
|
1606 08fe 8091 0000 lds r24,tempDistance
|
|
1607 0902 9091 0000 lds r25,(tempDistance)+1
|
|
1608 0906 9093 0000 sts (tempLastDistanceToWall)+1,r25
|
|
1609 090a 8093 0000 sts tempLastDistanceToWall,r24
|
|
1610 .LM311:
|
|
1611 090e 8091 0000 lds r24,progPosition
|
|
1612 .LM312:
|
|
1613 0912 8250 subi r24,lo8(-(-2))
|
|
1614 0914 00C0 rjmp .L266
|
|
1615 .L140:
|
|
1616 .LBE3:
|
|
1617 .LM313:
|
|
1618 0916 8CE8 ldi r24,lo8(-116)
|
|
1619 0918 8093 0000 sts servoPing,r24
|
|
1620 .LM314:
|
|
1621 091c 87E7 ldi r24,lo8(119)
|
|
1622 091e 8093 0000 sts servoMotorLeft,r24
|
|
1623 .LM315:
|
|
1624 0922 8093 0000 sts servoMotorRight,r24
|
|
1625 .LM316:
|
|
1626 0926 83E2 ldi r24,lo8(35)
|
|
1627 0928 8093 0000 sts progTimer,r24
|
|
1628 .LM317:
|
|
1629 092c 84E1 ldi r24,lo8(20)
|
|
1630 092e 00C0 rjmp .L266
|
|
1631 .L141:
|
|
1632 .LM318:
|
|
1633 0930 83E0 ldi r24,lo8(3)
|
|
1634 0932 8093 0000 sts progTimer,r24
|
|
1635 .LM319:
|
|
1636 0936 0E94 0000 call pingSendPing
|
|
1637 .LM320:
|
|
1638 093a 0E94 0000 call pingGetReady
|
|
1639 093e 8823 tst r24
|
|
1640 0940 01F0 breq .L120
|
|
1641 .LM321:
|
|
1642 0942 0E94 0000 call pingGetDistance
|
|
1643 0946 9093 0000 sts (tempDistance)+1,r25
|
|
1644 094a 8093 0000 sts tempDistance,r24
|
|
1645 .LM322:
|
|
1646 094e 27E1 ldi r18,hi8(6000)
|
|
1647 0950 8037 cpi r24,lo8(6000)
|
|
1648 0952 9207 cpc r25,r18
|
|
1649 0954 00F4 brsh .L215
|
|
1650 .LM323:
|
|
1651 0956 41E0 ldi r20,lo8(1)
|
|
1652 0958 60E0 ldi r22,lo8(0)
|
|
1653 095a 80E0 ldi r24,lo8(0)
|
|
1654 095c 90E0 ldi r25,hi8(0)
|
|
1655 095e 0E94 0000 call showDistanceOnLCD
|
|
1656 .LM324:
|
|
1657 0962 82E0 ldi r24,lo8(2)
|
|
1658 0964 00C0 rjmp .L266
|
|
1659 .L215:
|
|
1660 0966 9C01 movw r18,r24
|
|
1661 0968 2057 subi r18,lo8(-(-6000))
|
|
1662 096a 3741 sbci r19,hi8(-(-6000))
|
|
1663 .LM325:
|
|
1664 096c 805E subi r24,lo8(12000)
|
|
1665 096e 9E42 sbci r25,hi8(12000)
|
|
1666 0970 00F4 brsh .L217
|
|
1667 .LM326:
|
|
1668 0972 41E0 ldi r20,lo8(1)
|
|
1669 0974 60E0 ldi r22,lo8(0)
|
|
1670 0976 C901 movw r24,r18
|
|
1671 0978 0E94 0000 call showDistanceOnLCD
|
|
1672 .LM327:
|
|
1673 097c 82E0 ldi r24,lo8(2)
|
|
1674 097e 00C0 rjmp .L281
|
|
1675 .L217:
|
|
1676 .LM328:
|
|
1677 0980 41E0 ldi r20,lo8(1)
|
|
1678 0982 60E0 ldi r22,lo8(0)
|
|
1679 0984 C901 movw r24,r18
|
|
1680 0986 0E94 0000 call showDistanceOnLCD
|
|
1681 .LM329:
|
|
1682 098a 8AE0 ldi r24,lo8(10)
|
|
1683 .L281:
|
|
1684 098c 8093 0000 sts regulatorTimer,r24
|
|
1685 .L272:
|
|
1686 .LM330:
|
|
1687 0990 8091 0000 lds r24,progPosition
|
|
1688 0994 8F5F subi r24,lo8(-(1))
|
|
1689 0996 00C0 rjmp .L266
|
|
1690 .L142:
|
|
1691 .LM331:
|
|
1692 0998 8091 0000 lds r24,regulatorMode
|
|
1693 099c 8823 tst r24
|
|
1694 099e 01F4 brne .L219
|
|
1695 .LM332:
|
|
1696 09a0 83E4 ldi r24,lo8(67)
|
|
1697 09a2 00C0 rjmp .L265
|
|
1698 .L219:
|
|
1699 .LM333:
|
|
1700 09a4 80ED ldi r24,lo8(-48)
|
|
1701 .L265:
|
|
1702 09a6 8093 0000 sts servoPing,r24
|
|
1703 .LM334:
|
|
1704 09aa 85E0 ldi r24,lo8(5)
|
|
1705 09ac 8093 0000 sts progTimer,r24
|
|
1706 .LM335:
|
|
1707 09b0 8FE0 ldi r24,lo8(15)
|
|
1708 .L266:
|
|
1709 09b2 8093 0000 sts progPosition,r24
|
|
1710 .L120:
|
|
1711 .LM336:
|
|
1712 09b6 1092 0000 sts progCounter,__zero_reg__
|
|
1713 .L117:
|
|
1714 .LM337:
|
|
1715 09ba 2091 0000 lds r18,roboActive
|
|
1716 09be 2230 cpi r18,lo8(2)
|
|
1717 09c0 01F0 breq .+2
|
|
1718 09c2 00C0 rjmp .L222
|
|
1719 .LM338:
|
|
1720 09c4 8091 0000 lds r24,progCounter
|
|
1721 09c8 8F5F subi r24,lo8(-(1))
|
|
1722 09ca 8093 0000 sts progCounter,r24
|
|
1723 09ce 9091 0000 lds r25,progTimer
|
|
1724 09d2 8917 cp r24,r25
|
|
1725 09d4 00F4 brsh .+2
|
|
1726 09d6 00C0 rjmp .L222
|
|
1727 .LM339:
|
|
1728 09d8 8091 0000 lds r24,progPosition
|
|
1729 09dc 8430 cpi r24,lo8(4)
|
|
1730 09de 01F4 brne .+2
|
|
1731 09e0 00C0 rjmp .L230
|
|
1732 09e2 8530 cpi r24,lo8(5)
|
|
1733 09e4 00F4 brsh .L236
|
|
1734 09e6 8130 cpi r24,lo8(1)
|
|
1735 09e8 01F0 breq .L227
|
|
1736 09ea 8130 cpi r24,lo8(1)
|
|
1737 09ec 00F0 brlo .L226
|
|
1738 09ee 8230 cpi r24,lo8(2)
|
|
1739 09f0 01F0 breq .L228
|
|
1740 09f2 8330 cpi r24,lo8(3)
|
|
1741 09f4 01F0 breq .+2
|
|
1742 09f6 00C0 rjmp .L225
|
|
1743 09f8 00C0 rjmp .L229
|
|
1744 .L236:
|
|
1745 09fa 8730 cpi r24,lo8(7)
|
|
1746 09fc 01F4 brne .+2
|
|
1747 09fe 00C0 rjmp .L233
|
|
1748 0a00 8830 cpi r24,lo8(8)
|
|
1749 0a02 00F4 brsh .L237
|
|
1750 0a04 8530 cpi r24,lo8(5)
|
|
1751 0a06 01F4 brne .+2
|
|
1752 0a08 00C0 rjmp .L231
|
|
1753 0a0a 8630 cpi r24,lo8(6)
|
|
1754 0a0c 01F0 breq .+2
|
|
1755 0a0e 00C0 rjmp .L225
|
|
1756 0a10 00C0 rjmp .L232
|
|
1757 .L237:
|
|
1758 0a12 8830 cpi r24,lo8(8)
|
|
1759 0a14 01F4 brne .+2
|
|
1760 0a16 00C0 rjmp .L234
|
|
1761 0a18 8930 cpi r24,lo8(9)
|
|
1762 0a1a 01F0 breq .+2
|
|
1763 0a1c 00C0 rjmp .L225
|
|
1764 0a1e 00C0 rjmp .L235
|
|
1765 .L226:
|
|
1766 .LM340:
|
|
1767 0a20 0E94 0000 call lcdClearDisplay
|
|
1768 .LM341:
|
|
1769 0a24 81E0 ldi r24,lo8(1)
|
|
1770 0a26 0E94 0000 call lcdSetLayout
|
|
1771 .LM342:
|
|
1772 0a2a 81E0 ldi r24,lo8(1)
|
|
1773 0a2c 00C0 rjmp .L267
|
|
1774 .L227:
|
|
1775 .LM343:
|
|
1776 0a2e 80E0 ldi r24,lo8(0)
|
|
1777 0a30 0E94 0000 call lcdSetPos
|
|
1778 .LM344:
|
|
1779 0a34 80E0 ldi r24,lo8(.LC32)
|
|
1780 0a36 90E0 ldi r25,hi8(.LC32)
|
|
1781 0a38 0E94 0000 call lcdWriteString
|
|
1782 .LM345:
|
|
1783 0a3c 86E8 ldi r24,lo8(-122)
|
|
1784 0a3e 8093 0000 sts servoMotorLeft,r24
|
|
1785 .LM346:
|
|
1786 0a42 8093 0000 sts servoMotorRight,r24
|
|
1787 0a46 00C0 rjmp .L282
|
|
1788 .L228:
|
|
1789 .LM347:
|
|
1790 0a48 8FE7 ldi r24,lo8(127)
|
|
1791 0a4a 8093 0000 sts servoMotorLeft,r24
|
|
1792 .LM348:
|
|
1793 0a4e 8093 0000 sts servoMotorRight,r24
|
|
1794 .LM349:
|
|
1795 0a52 0E94 0000 call pingSendPing
|
|
1796 .LM350:
|
|
1797 0a56 83E0 ldi r24,lo8(3)
|
|
1798 0a58 8093 0000 sts progTimer,r24
|
|
1799 .LM351:
|
|
1800 0a5c 0E94 0000 call pingGetReady
|
|
1801 0a60 8823 tst r24
|
|
1802 0a62 01F4 brne .+2
|
|
1803 0a64 00C0 rjmp .L225
|
|
1804 .LM352:
|
|
1805 0a66 0E94 0000 call pingGetDistance
|
|
1806 0a6a 9093 0000 sts (tempDistance)+1,r25
|
|
1807 0a6e 8093 0000 sts tempDistance,r24
|
|
1808 .LM353:
|
|
1809 0a72 25E1 ldi r18,hi8(5500)
|
|
1810 0a74 8C37 cpi r24,lo8(5500)
|
|
1811 0a76 9207 cpc r25,r18
|
|
1812 0a78 00F4 brsh .L239
|
|
1813 .LM354:
|
|
1814 0a7a 42E0 ldi r20,lo8(2)
|
|
1815 0a7c 60E0 ldi r22,lo8(0)
|
|
1816 0a7e 80E0 ldi r24,lo8(0)
|
|
1817 0a80 90E0 ldi r25,hi8(0)
|
|
1818 0a82 0E94 0000 call showDistanceOnLCD
|
|
1819 0a86 00C0 rjmp .L275
|
|
1820 .L239:
|
|
1821 .LM355:
|
|
1822 0a88 42E0 ldi r20,lo8(2)
|
|
1823 0a8a 60E0 ldi r22,lo8(0)
|
|
1824 0a8c 8C57 subi r24,lo8(-(-5500))
|
|
1825 0a8e 9541 sbci r25,hi8(-(-5500))
|
|
1826 0a90 0E94 0000 call showDistanceOnLCD
|
|
1827 0a94 00C0 rjmp .L225
|
|
1828 .L229:
|
|
1829 .LM356:
|
|
1830 0a96 80E0 ldi r24,lo8(0)
|
|
1831 0a98 0E94 0000 call lcdSetPos
|
|
1832 .LM357:
|
|
1833 0a9c 80E0 ldi r24,lo8(.LC33)
|
|
1834 0a9e 90E0 ldi r25,hi8(.LC33)
|
|
1835 0aa0 0E94 0000 call lcdWriteString
|
|
1836 .LM358:
|
|
1837 0aa4 8CE6 ldi r24,lo8(108)
|
|
1838 0aa6 8093 0000 sts servoMotorLeft,r24
|
|
1839 .LM359:
|
|
1840 0aaa 8093 0000 sts servoMotorRight,r24
|
|
1841 .LM360:
|
|
1842 0aae 82E3 ldi r24,lo8(50)
|
|
1843 0ab0 00C0 rjmp .L267
|
|
1844 .L230:
|
|
1845 .LM361:
|
|
1846 0ab2 87E7 ldi r24,lo8(119)
|
|
1847 0ab4 8093 0000 sts servoMotorLeft,r24
|
|
1848 .LM362:
|
|
1849 0ab8 8093 0000 sts servoMotorRight,r24
|
|
1850 .LM363:
|
|
1851 0abc 2093 0000 sts progTimer,r18
|
|
1852 .LM364:
|
|
1853 0ac0 85E0 ldi r24,lo8(5)
|
|
1854 0ac2 00C0 rjmp .L268
|
|
1855 .L231:
|
|
1856 .LM365:
|
|
1857 0ac4 8EEA ldi r24,lo8(-82)
|
|
1858 0ac6 8093 0000 sts servoPing,r24
|
|
1859 .LM366:
|
|
1860 0aca 84E1 ldi r24,lo8(20)
|
|
1861 0acc 8093 0000 sts progTimer,r24
|
|
1862 .LM367:
|
|
1863 0ad0 86E0 ldi r24,lo8(6)
|
|
1864 0ad2 00C0 rjmp .L268
|
|
1865 .L232:
|
|
1866 .LM368:
|
|
1867 0ad4 0E94 0000 call pingSendPing
|
|
1868 .LM369:
|
|
1869 0ad8 84E0 ldi r24,lo8(4)
|
|
1870 0ada 8093 0000 sts progTimer,r24
|
|
1871 .LM370:
|
|
1872 0ade 0E94 0000 call pingGetReady
|
|
1873 0ae2 8823 tst r24
|
|
1874 0ae4 01F4 brne .+2
|
|
1875 0ae6 00C0 rjmp .L225
|
|
1876 .LM371:
|
|
1877 0ae8 0E94 0000 call pingGetDistance
|
|
1878 0aec 9093 0000 sts (tempLeftDistance)+1,r25
|
|
1879 0af0 8093 0000 sts tempLeftDistance,r24
|
|
1880 .L282:
|
|
1881 .LM372:
|
|
1882 0af4 84E1 ldi r24,lo8(20)
|
|
1883 0af6 00C0 rjmp .L267
|
|
1884 .L233:
|
|
1885 .LM373:
|
|
1886 0af8 87E6 ldi r24,lo8(103)
|
|
1887 0afa 8093 0000 sts servoPing,r24
|
|
1888 .LM374:
|
|
1889 0afe 88E2 ldi r24,lo8(40)
|
|
1890 0b00 8093 0000 sts progTimer,r24
|
|
1891 .LM375:
|
|
1892 0b04 88E0 ldi r24,lo8(8)
|
|
1893 0b06 00C0 rjmp .L268
|
|
1894 .L234:
|
|
1895 .LM376:
|
|
1896 0b08 0E94 0000 call pingSendPing
|
|
1897 .LM377:
|
|
1898 0b0c 84E0 ldi r24,lo8(4)
|
|
1899 0b0e 8093 0000 sts progTimer,r24
|
|
1900 .LM378:
|
|
1901 0b12 0E94 0000 call pingGetReady
|
|
1902 0b16 8823 tst r24
|
|
1903 0b18 01F4 brne .+2
|
|
1904 0b1a 00C0 rjmp .L225
|
|
1905 .LM379:
|
|
1906 0b1c 0E94 0000 call pingGetDistance
|
|
1907 0b20 9C01 movw r18,r24
|
|
1908 0b22 9093 0000 sts (tempRightDistance)+1,r25
|
|
1909 0b26 8093 0000 sts tempRightDistance,r24
|
|
1910 .LM380:
|
|
1911 0b2a 8CE8 ldi r24,lo8(-116)
|
|
1912 0b2c 8093 0000 sts servoPing,r24
|
|
1913 .LM381:
|
|
1914 0b30 8091 0000 lds r24,tempLeftDistance
|
|
1915 0b34 9091 0000 lds r25,(tempLeftDistance)+1
|
|
1916 0b38 45E1 ldi r20,hi8(5500)
|
|
1917 0b3a 8C37 cpi r24,lo8(5500)
|
|
1918 0b3c 9407 cpc r25,r20
|
|
1919 0b3e 00F4 brsh .L243
|
|
1920 0b40 45E1 ldi r20,hi8(5500)
|
|
1921 0b42 2C37 cpi r18,lo8(5500)
|
|
1922 0b44 3407 cpc r19,r20
|
|
1923 0b46 00F4 brsh .L243
|
|
1924 .LM382:
|
|
1925 0b48 80E0 ldi r24,lo8(0)
|
|
1926 0b4a 0E94 0000 call lcdSetPos
|
|
1927 .LM383:
|
|
1928 0b4e 80E0 ldi r24,lo8(.LC41)
|
|
1929 0b50 90E0 ldi r25,hi8(.LC41)
|
|
1930 0b52 0E94 0000 call lcdWriteString
|
|
1931 .LM384:
|
|
1932 0b56 88E6 ldi r24,lo8(104)
|
|
1933 0b58 8093 0000 sts servoMotorLeft,r24
|
|
1934 .LM385:
|
|
1935 0b5c 86E8 ldi r24,lo8(-122)
|
|
1936 0b5e 8093 0000 sts servoMotorRight,r24
|
|
1937 .LM386:
|
|
1938 0b62 86E4 ldi r24,lo8(70)
|
|
1939 0b64 00C0 rjmp .L267
|
|
1940 .L243:
|
|
1941 .LM387:
|
|
1942 0b66 2817 cp r18,r24
|
|
1943 0b68 3907 cpc r19,r25
|
|
1944 0b6a 00F4 brsh .L247
|
|
1945 .LM388:
|
|
1946 0b6c 80E0 ldi r24,lo8(0)
|
|
1947 0b6e 0E94 0000 call lcdSetPos
|
|
1948 .LM389:
|
|
1949 0b72 80E0 ldi r24,lo8(.LC42)
|
|
1950 0b74 90E0 ldi r25,hi8(.LC42)
|
|
1951 0b76 0E94 0000 call lcdWriteString
|
|
1952 .LM390:
|
|
1953 0b7a 88E6 ldi r24,lo8(104)
|
|
1954 0b7c 8093 0000 sts servoMotorLeft,r24
|
|
1955 .LM391:
|
|
1956 0b80 86E8 ldi r24,lo8(-122)
|
|
1957 0b82 00C0 rjmp .L274
|
|
1958 .L247:
|
|
1959 .LM392:
|
|
1960 0b84 80E0 ldi r24,lo8(0)
|
|
1961 0b86 0E94 0000 call lcdSetPos
|
|
1962 .LM393:
|
|
1963 0b8a 80E0 ldi r24,lo8(.LC43)
|
|
1964 0b8c 90E0 ldi r25,hi8(.LC43)
|
|
1965 0b8e 0E94 0000 call lcdWriteString
|
|
1966 .LM394:
|
|
1967 0b92 86E8 ldi r24,lo8(-122)
|
|
1968 0b94 8093 0000 sts servoMotorLeft,r24
|
|
1969 .LM395:
|
|
1970 0b98 88E6 ldi r24,lo8(104)
|
|
1971 .L274:
|
|
1972 0b9a 8093 0000 sts servoMotorRight,r24
|
|
1973 .LM396:
|
|
1974 0b9e 88E2 ldi r24,lo8(40)
|
|
1975 .L267:
|
|
1976 0ba0 8093 0000 sts progTimer,r24
|
|
1977 .L275:
|
|
1978 .LM397:
|
|
1979 0ba4 8091 0000 lds r24,progPosition
|
|
1980 0ba8 8F5F subi r24,lo8(-(1))
|
|
1981 0baa 00C0 rjmp .L268
|
|
1982 .L235:
|
|
1983 .LM398:
|
|
1984 0bac 87E7 ldi r24,lo8(119)
|
|
1985 0bae 8093 0000 sts servoMotorLeft,r24
|
|
1986 .LM399:
|
|
1987 0bb2 8093 0000 sts servoMotorRight,r24
|
|
1988 .LM400:
|
|
1989 0bb6 8AE0 ldi r24,lo8(10)
|
|
1990 0bb8 8093 0000 sts progTimer,r24
|
|
1991 .LM401:
|
|
1992 0bbc 81E0 ldi r24,lo8(1)
|
|
1993 .L268:
|
|
1994 0bbe 8093 0000 sts progPosition,r24
|
|
1995 .L225:
|
|
1996 .LM402:
|
|
1997 0bc2 1092 0000 sts progCounter,__zero_reg__
|
|
1998 .L222:
|
|
1999 .LM403:
|
|
2000 0bc6 8091 0000 lds r24,roboActive
|
|
2001 0bca 8330 cpi r24,lo8(3)
|
|
2002 0bcc 01F0 breq .+2
|
|
2003 0bce 00C0 rjmp .L256
|
|
2004 .LM404:
|
|
2005 0bd0 8091 0000 lds r24,progCounter
|
|
2006 0bd4 8F5F subi r24,lo8(-(1))
|
|
2007 0bd6 8093 0000 sts progCounter,r24
|
|
2008 0bda 9091 0000 lds r25,progTimer
|
|
2009 0bde 8917 cp r24,r25
|
|
2010 0be0 00F0 brlo .L256
|
|
2011 .LM405:
|
|
2012 0be2 8091 0000 lds r24,progPosition
|
|
2013 0be6 8823 tst r24
|
|
2014 0be8 01F0 breq .L253
|
|
2015 0bea 8130 cpi r24,lo8(1)
|
|
2016 0bec 01F4 brne .L252
|
|
2017 0bee 00C0 rjmp .L254
|
|
2018 .L253:
|
|
2019 .LM406:
|
|
2020 0bf0 0E94 0000 call lcdClearDisplay
|
|
2021 .LM407:
|
|
2022 0bf4 81E0 ldi r24,lo8(1)
|
|
2023 0bf6 0E94 0000 call lcdSetLayout
|
|
2024 .LM408:
|
|
2025 0bfa 80E0 ldi r24,lo8(0)
|
|
2026 0bfc 0E94 0000 call lcdSetPos
|
|
2027 .LM409:
|
|
2028 0c00 80E0 ldi r24,lo8(.LC44)
|
|
2029 0c02 90E0 ldi r25,hi8(.LC44)
|
|
2030 0c04 0E94 0000 call lcdWriteString
|
|
2031 .LM410:
|
|
2032 0c08 80E1 ldi r24,lo8(16)
|
|
2033 0c0a 0E94 0000 call lcdSetPos
|
|
2034 .LM411:
|
|
2035 0c0e 80E0 ldi r24,lo8(.LC45)
|
|
2036 0c10 90E0 ldi r25,hi8(.LC45)
|
|
2037 0c12 0E94 0000 call lcdWriteString
|
|
2038 .LM412:
|
|
2039 0c16 81E0 ldi r24,lo8(1)
|
|
2040 0c18 8093 0000 sts progTimer,r24
|
|
2041 .LM413:
|
|
2042 0c1c 8091 0000 lds r24,progPosition
|
|
2043 0c20 8F5F subi r24,lo8(-(1))
|
|
2044 0c22 8093 0000 sts progPosition,r24
|
|
2045 0c26 00C0 rjmp .L252
|
|
2046 .L254:
|
|
2047 .LM414:
|
|
2048 0c28 0E94 0000 call pingSendPing
|
|
2049 .LM415:
|
|
2050 0c2c 8AE0 ldi r24,lo8(10)
|
|
2051 0c2e 8093 0000 sts progTimer,r24
|
|
2052 .LM416:
|
|
2053 0c32 0E94 0000 call pingGetReady
|
|
2054 0c36 8823 tst r24
|
|
2055 0c38 01F0 breq .L252
|
|
2056 .LM417:
|
|
2057 0c3a 0E94 0000 call pingGetDistance
|
|
2058 0c3e 9093 0000 sts (tempDistance)+1,r25
|
|
2059 0c42 8093 0000 sts tempDistance,r24
|
|
2060 .LM418:
|
|
2061 0c46 8AE1 ldi r24,lo8(26)
|
|
2062 0c48 0E94 0000 call lcdSetPos
|
|
2063 .LM419:
|
|
2064 0c4c 8091 0000 lds r24,tempDistance
|
|
2065 0c50 9091 0000 lds r25,(tempDistance)+1
|
|
2066 0c54 0E94 0000 call lcdWriteHexAsDecimal
|
|
2067 .L252:
|
|
2068 .LM420:
|
|
2069 0c58 1092 0000 sts progCounter,__zero_reg__
|
|
2070 .L256:
|
|
2071 /* epilogue: frame size=0 */
|
|
2072 0c5c 1F91 pop r17
|
|
2073 0c5e 0895 ret
|
|
2074 /* epilogue end (size=2) */
|
|
2075 /* function updateProgram size 1177 (1174) */
|
|
2076 .LFE19:
|
|
2078 .global main
|
|
2080 main:
|
|
2081 .LFB22:
|
|
2082 .LM421:
|
|
2083 /* prologue: frame size=0 */
|
|
2084 0c60 CF93 push r28
|
|
2085 0c62 DF93 push r29
|
|
2086 /* prologue end (size=2) */
|
|
2087 .LM422:
|
|
2088 /* #APP */
|
|
2089 0c64 F894 cli
|
|
2090 .LM423:
|
|
2091 /* #NOAPP */
|
|
2092 0c66 0E94 0000 call initIO
|
|
2093 .LM424:
|
|
2094 0c6a 0E94 0000 call lcdInit
|
|
2095 .LM425:
|
|
2096 0c6e 0E94 0000 call rfIdInit
|
|
2097 .LM426:
|
|
2098 0c72 0E94 0000 call roboMSPInit
|
|
2099 .LM427:
|
|
2100 0c76 0E94 0000 call pingInit
|
|
2101 .LM428:
|
|
2102 0c7a 82E3 ldi r24,lo8(50)
|
|
2103 0c7c 0E94 0000 call lcdSetIntensity
|
|
2104 .LM429:
|
|
2105 0c80 82E0 ldi r24,lo8(2)
|
|
2106 0c82 0E94 0000 call lcdSetLayout
|
|
2107 .LM430:
|
|
2108 0c86 80E0 ldi r24,lo8(menuTable)
|
|
2109 0c88 90E0 ldi r25,hi8(menuTable)
|
|
2110 0c8a 0E94 0000 call lcdWriteStringP
|
|
2111 .LM431:
|
|
2112 0c8e 0E94 0000 call rfIdDisable
|
|
2113 .LM432:
|
|
2114 0c92 0E94 0000 call roboMSPDisable
|
|
2115 .LM433:
|
|
2116 /* #APP */
|
|
2117 0c96 7894 sei
|
|
2118 /* #NOAPP */
|
|
2119 0c98 C0E0 ldi r28,lo8(menuTable+196)
|
|
2120 0c9a D0E0 ldi r29,hi8(menuTable+196)
|
|
2121 .L313:
|
|
2122 .LM434:
|
|
2123 0c9c 8091 0000 lds r24,progDoUpdate
|
|
2124 0ca0 8823 tst r24
|
|
2125 0ca2 01F0 breq .L286
|
|
2126 .LM435:
|
|
2127 0ca4 1092 0000 sts progDoUpdate,__zero_reg__
|
|
2128 .LM436:
|
|
2129 0ca8 0E94 0000 call updateProgram
|
|
2130 .L286:
|
|
2131 .LM437:
|
|
2132 0cac CC99 sbic 57-0x20,4
|
|
2133 0cae 00C0 rjmp .L288
|
|
2134 .LM438:
|
|
2135 0cb0 8091 0000 lds r24,switchOneCheck
|
|
2136 0cb4 8823 tst r24
|
|
2137 0cb6 01F0 breq .L290
|
|
2138 .LM439:
|
|
2139 0cb8 83E0 ldi r24,lo8(3)
|
|
2140 0cba 0E94 0000 call activateRobot
|
|
2141 0cbe 00C0 rjmp .L312
|
|
2142 .L288:
|
|
2143 .LM440:
|
|
2144 0cc0 CD9B sbis 57-0x20,5
|
|
2145 0cc2 00C0 rjmp .L292
|
|
2146 0cc4 CC9B sbis 57-0x20,4
|
|
2147 0cc6 00C0 rjmp .L292
|
|
2148 .LM441:
|
|
2149 0cc8 8091 0000 lds r24,switchOneCheck
|
|
2150 0ccc 8823 tst r24
|
|
2151 0cce 01F4 brne .L290
|
|
2152 .LM442:
|
|
2153 0cd0 0E94 0000 call deactivateRobot
|
|
2154 .LM443:
|
|
2155 0cd4 1092 0000 sts rfEnable,__zero_reg__
|
|
2156 .LM444:
|
|
2157 0cd8 81E0 ldi r24,lo8(1)
|
|
2158 0cda 8093 0000 sts switchOneCheck,r24
|
|
2159 .LM445:
|
|
2160 0cde 0E94 0000 call main
|
|
2161 0ce2 00C0 rjmp .L290
|
|
2162 .L292:
|
|
2163 .LM446:
|
|
2164 0ce4 CD99 sbic 57-0x20,5
|
|
2165 0ce6 00C0 rjmp .L290
|
|
2166 .LM447:
|
|
2167 0ce8 8091 0000 lds r24,switchOneCheck
|
|
2168 0cec 8823 tst r24
|
|
2169 0cee 01F0 breq .L290
|
|
2170 .LM448:
|
|
2171 0cf0 80E0 ldi r24,lo8(0)
|
|
2172 0cf2 0E94 0000 call lcdSetLayout
|
|
2173 .LM449:
|
|
2174 0cf6 CE01 movw r24,r28
|
|
2175 0cf8 0E94 0000 call lcdWriteStringP
|
|
2176 .LM450:
|
|
2177 0cfc 81E0 ldi r24,lo8(1)
|
|
2178 0cfe 8093 0000 sts rfEnable,r24
|
|
2179 .LM451:
|
|
2180 0d02 0E94 0000 call rfIdEnable
|
|
2181 .LM452:
|
|
2182 0d06 0E94 0000 call roboMSPEnable
|
|
2183 .L312:
|
|
2184 .LM453:
|
|
2185 0d0a 1092 0000 sts switchOneCheck,__zero_reg__
|
|
2186 .L290:
|
|
2187 .LM454:
|
|
2188 0d0e CE99 sbic 57-0x20,6
|
|
2189 0d10 00C0 rjmp .L298
|
|
2190 .LM455:
|
|
2191 0d12 8091 0000 lds r24,switchTwoCheck
|
|
2192 0d16 8823 tst r24
|
|
2193 0d18 01F0 breq .L313
|
|
2194 .LM456:
|
|
2195 0d1a 81E0 ldi r24,lo8(1)
|
|
2196 0d1c 00C0 rjmp .L311
|
|
2197 .L298:
|
|
2198 .LM457:
|
|
2199 0d1e CF9B sbis 57-0x20,7
|
|
2200 0d20 00C0 rjmp .L301
|
|
2201 0d22 CE9B sbis 57-0x20,6
|
|
2202 0d24 00C0 rjmp .L301
|
|
2203 .LM458:
|
|
2204 0d26 8091 0000 lds r24,switchTwoCheck
|
|
2205 0d2a 8823 tst r24
|
|
2206 0d2c 01F0 breq .+2
|
|
2207 0d2e 00C0 rjmp .L313
|
|
2208 .LM459:
|
|
2209 0d30 0E94 0000 call deactivateRobot
|
|
2210 .LM460:
|
|
2211 0d34 1092 0000 sts rfEnable,__zero_reg__
|
|
2212 .LM461:
|
|
2213 0d38 81E0 ldi r24,lo8(1)
|
|
2214 0d3a 8093 0000 sts switchTwoCheck,r24
|
|
2215 .LM462:
|
|
2216 0d3e 0E94 0000 call main
|
|
2217 0d42 00C0 rjmp .L313
|
|
2218 .L301:
|
|
2219 .LM463:
|
|
2220 0d44 CF99 sbic 57-0x20,7
|
|
2221 0d46 00C0 rjmp .L313
|
|
2222 .LM464:
|
|
2223 0d48 8091 0000 lds r24,switchTwoCheck
|
|
2224 0d4c 8823 tst r24
|
|
2225 0d4e 01F4 brne .+2
|
|
2226 0d50 00C0 rjmp .L313
|
|
2227 .LM465:
|
|
2228 0d52 82E0 ldi r24,lo8(2)
|
|
2229 .L311:
|
|
2230 0d54 0E94 0000 call activateRobot
|
|
2231 .LM466:
|
|
2232 0d58 1092 0000 sts switchTwoCheck,__zero_reg__
|
|
2233 0d5c 00C0 rjmp .L313
|
|
2234 /* epilogue: frame size=0 */
|
|
2235 /* epilogue: noreturn */
|
|
2236 /* epilogue end (size=0) */
|
|
2237 /* function main size 129 (127) */
|
|
2238 .LFE22:
|
|
2240 .global servoPing
|
|
2241 .data
|
|
2244 servoPing:
|
|
2245 0303 8C .byte -116
|
|
2246 .global servoMotorLeft
|
|
2249 servoMotorLeft:
|
|
2250 0304 77 .byte 119
|
|
2251 .global servoMotorRight
|
|
2254 servoMotorRight:
|
|
2255 0305 77 .byte 119
|
|
2256 .global servoCounter
|
|
2257 .global servoCounter
|
|
2258 .section .bss
|
|
2261 servoCounter:
|
|
2262 0000 00 .skip 1,0
|
|
2263 .global servoMotorLeftReg
|
|
2264 .data
|
|
2267 servoMotorLeftReg:
|
|
2268 0306 77 .byte 119
|
|
2269 .global servoMotorRightReg
|
|
2272 servoMotorRightReg:
|
|
2273 0307 77 .byte 119
|
|
2274 .global progCounterPing
|
|
2275 .global progCounterPing
|
|
2276 .section .bss
|
|
2279 progCounterPing:
|
|
2280 0001 00 .skip 1,0
|
|
2281 .global progCounterPPM
|
|
2282 .global progCounterPPM
|
|
2285 progCounterPPM:
|
|
2286 0002 00 .skip 1,0
|
|
2287 .global progCounter
|
|
2288 .global progCounter
|
|
2291 progCounter:
|
|
2292 0003 00 .skip 1,0
|
|
2293 .global progTimer
|
|
2294 .global progTimer
|
|
2297 progTimer:
|
|
2298 0004 00 .skip 1,0
|
|
2299 .global progPosition
|
|
2300 .global progPosition
|
|
2303 progPosition:
|
|
2304 0005 00 .skip 1,0
|
|
2305 .global progDoUpdate
|
|
2306 .global progDoUpdate
|
|
2309 progDoUpdate:
|
|
2310 0006 00 .skip 1,0
|
|
2311 .global tempDistance
|
|
2312 .global tempDistance
|
|
2315 tempDistance:
|
|
2316 0007 0000 .skip 2,0
|
|
2317 .global tempDistanceToWall
|
|
2318 .global tempDistanceToWall
|
|
2321 tempDistanceToWall:
|
|
2322 0009 0000 .skip 2,0
|
|
2323 .global tempLastDistanceToWall
|
|
2324 .global tempLastDistanceToWall
|
|
2327 tempLastDistanceToWall:
|
|
2328 000b 0000 .skip 2,0
|
|
2329 .global tempLeftDistance
|
|
2330 .global tempLeftDistance
|
|
2333 tempLeftDistance:
|
|
2334 000d 0000 .skip 2,0
|
|
2335 .global tempRightDistance
|
|
2336 .global tempRightDistance
|
|
2339 tempRightDistance:
|
|
2340 000f 0000 .skip 2,0
|
|
2341 .global roboActive
|
|
2342 .global roboActive
|
|
2345 roboActive:
|
|
2346 0011 00 .skip 1,0
|
|
2347 .global rfEnable
|
|
2348 .global rfEnable
|
|
2351 rfEnable:
|
|
2352 0012 00 .skip 1,0
|
|
2353 .global switchOneCheck
|
|
2354 .global switchOneCheck
|
|
2357 switchOneCheck:
|
|
2358 0013 00 .skip 1,0
|
|
2359 .global switchTwoCheck
|
|
2360 .global switchTwoCheck
|
|
2363 switchTwoCheck:
|
|
2364 0014 00 .skip 1,0
|
|
2365 .global regulatorMode
|
|
2366 .global regulatorMode
|
|
2369 regulatorMode:
|
|
2370 0015 00 .skip 1,0
|
|
2371 .global regulatorTimer
|
|
2372 .global regulatorTimer
|
|
2375 regulatorTimer:
|
|
2376 0016 00 .skip 1,0
|
|
2377 .global regulatorCounter
|
|
2378 .global regulatorCounter
|
|
2381 regulatorCounter:
|
|
2382 0017 00 .skip 1,0
|
|
2383 .global regulatorMeasureCounter
|
|
2384 .global regulatorMeasureCounter
|
|
2387 regulatorMeasureCounter:
|
|
2388 0018 00 .skip 1,0
|
|
2389 .global menuTable
|
|
2390 .section .progmem.data,"a",@progbits
|
|
2393 menuTable:
|
|
2394 0000 2020 2020 .string " CMtec roboCrawler v1.1 "
|
|
2394 2043 4D74
|
|
2394 6563 2020
|
|
2394 2020 2020
|
|
2394 726F 626F
|
|
2395 0031 2020 2020 .string " mode 1: Follow wall at a distance(1m) "
|
|
2395 206D 6F64
|
|
2395 6520 313A
|
|
2395 2020 2020
|
|
2395 2046 6F6C
|
|
2396 0062 2020 2020 .string " mode 2: Drive and void any walls "
|
|
2396 206D 6F64
|
|
2396 6520 323A
|
|
2396 2020 2020
|
|
2396 2044 7269
|
|
2397 0093 2020 2020 .string " mode 3: Measure distance forward "
|
|
2397 206D 6F64
|
|
2397 6520 333A
|
|
2397 2020 2020
|
|
2397 4D65 6173
|
|
2398 00c4 2020 2020 .string " mode RF: RF actived and waiting for com."
|
|
2398 6D6F 6465
|
|
2398 2052 463A
|
|
2398 2020 2020
|
|
2398 2052 4620
|
|
2487 .Letext0:
|
|
DEFINED SYMBOLS
|
|
*ABS*:00000000 RoboMI.c
|
|
/tmp/ccgaOObN.s:2 *ABS*:0000003f __SREG__
|
|
/tmp/ccgaOObN.s:3 *ABS*:0000003e __SP_H__
|
|
/tmp/ccgaOObN.s:4 *ABS*:0000003d __SP_L__
|
|
/tmp/ccgaOObN.s:5 *ABS*:00000000 __tmp_reg__
|
|
/tmp/ccgaOObN.s:6 *ABS*:00000001 __zero_reg__
|
|
/tmp/ccgaOObN.s:19 .text:00000000 initIO
|
|
/tmp/ccgaOObN.s:2303 .bss:00000005 progPosition
|
|
/tmp/ccgaOObN.s:62 .text:0000002e __vector_15
|
|
/tmp/ccgaOObN.s:2285 .bss:00000002 progCounterPPM
|
|
/tmp/ccgaOObN.s:2261 .bss:00000000 servoCounter
|
|
/tmp/ccgaOObN.s:2309 .bss:00000006 progDoUpdate
|
|
/tmp/ccgaOObN.s:114 .text:00000076 __vector_11
|
|
/tmp/ccgaOObN.s:2244 .data:00000303 servoPing
|
|
/tmp/ccgaOObN.s:2249 .data:00000304 servoMotorLeft
|
|
/tmp/ccgaOObN.s:2254 .data:00000305 servoMotorRight
|
|
/tmp/ccgaOObN.s:211 .text:000000e6 activateRobot
|
|
/tmp/ccgaOObN.s:2393 .progmem.data:00000000 menuTable
|
|
/tmp/ccgaOObN.s:2297 .bss:00000004 progTimer
|
|
/tmp/ccgaOObN.s:2345 .bss:00000011 roboActive
|
|
/tmp/ccgaOObN.s:245 .text:0000010e deactivateRobot
|
|
/tmp/ccgaOObN.s:336 .text:00000128 showDistanceOnLCD
|
|
/tmp/ccgaOObN.s:705 .text:00000306 checkCommunication
|
|
/tmp/ccgaOObN.s:807 .text:00000366 updateProgram
|
|
/tmp/ccgaOObN.s:2351 .bss:00000012 rfEnable
|
|
/tmp/ccgaOObN.s:2291 .bss:00000003 progCounter
|
|
/tmp/ccgaOObN.s:2315 .bss:00000007 tempDistance
|
|
/tmp/ccgaOObN.s:2387 .bss:00000018 regulatorMeasureCounter
|
|
/tmp/ccgaOObN.s:2333 .bss:0000000d tempLeftDistance
|
|
/tmp/ccgaOObN.s:2339 .bss:0000000f tempRightDistance
|
|
/tmp/ccgaOObN.s:2369 .bss:00000015 regulatorMode
|
|
/tmp/ccgaOObN.s:2327 .bss:0000000b tempLastDistanceToWall
|
|
/tmp/ccgaOObN.s:2321 .bss:00000009 tempDistanceToWall
|
|
/tmp/ccgaOObN.s:2375 .bss:00000016 regulatorTimer
|
|
/tmp/ccgaOObN.s:2381 .bss:00000017 regulatorCounter
|
|
/tmp/ccgaOObN.s:2080 .text:00000c60 main
|
|
/tmp/ccgaOObN.s:2357 .bss:00000013 switchOneCheck
|
|
/tmp/ccgaOObN.s:2363 .bss:00000014 switchTwoCheck
|
|
/tmp/ccgaOObN.s:2267 .data:00000306 servoMotorLeftReg
|
|
/tmp/ccgaOObN.s:2272 .data:00000307 servoMotorRightReg
|
|
/tmp/ccgaOObN.s:2279 .bss:00000001 progCounterPing
|
|
|
|
UNDEFINED SYMBOLS
|
|
__do_copy_data
|
|
__do_clear_bss
|
|
lcdSetLayout
|
|
lcdWriteStringP
|
|
rfIdDisable
|
|
lcdSetPos
|
|
lcdWriteString
|
|
rfIdGetTagPresent
|
|
rfIdGetTag
|
|
roboMSPSetData
|
|
roboMSPGetActiveStatus
|
|
rfIdEnable
|
|
rfIdClearBuffer
|
|
lcdClearDisplay
|
|
pingSendPing
|
|
pingGetReady
|
|
pingGetDistance
|
|
__udivmodsi4
|
|
lcdWriteHexAsDecimal
|
|
lcdInit
|
|
rfIdInit
|
|
roboMSPInit
|
|
pingInit
|
|
lcdSetIntensity
|
|
roboMSPDisable
|
|
roboMSPEnable
|