1 .file "RelayContorl.c"
|
2 __SREG__ = 0x3f
|
3 __SP_H__ = 0x3e
|
4 __SP_L__ = 0x3d
|
5 __CCP__ = 0x34
|
6 __tmp_reg__ = 0
|
7 __zero_reg__ = 1
|
15 .Ltext0:
|
16 .global SetCommError
|
18 SetCommError:
|
19 .LFB7:
|
20 .LM1:
|
21 .LVL0:
|
22 /* prologue: function */
|
23 /* frame size = 0 */
|
24 .LM2:
|
25 0000 8093 0000 sts CommError,r24
|
26 /* epilogue start */
|
27 .LM3:
|
28 0004 0895 ret
|
29 .LFE7:
|
31 .global GetCommError
|
33 GetCommError:
|
34 .LFB8:
|
35 .LM4:
|
36 /* prologue: function */
|
37 /* frame size = 0 */
|
38 .LM5:
|
39 0006 8091 0000 lds r24,CommError
|
40 /* epilogue start */
|
41 000a 0895 ret
|
42 .LFE8:
|
44 .global SetCMDenable
|
46 SetCMDenable:
|
47 .LFB10:
|
48 .LM6:
|
49 .LVL1:
|
50 /* prologue: function */
|
51 /* frame size = 0 */
|
52 .LM7:
|
53 000c 8093 0000 sts CMDinf,r24
|
54 /* epilogue start */
|
55 .LM8:
|
56 0010 0895 ret
|
57 .LFE10:
|
59 .global GetCMDinf
|
61 GetCMDinf:
|
62 .LFB11:
|
63 .LM9:
|
64 /* prologue: function */
|
65 /* frame size = 0 */
|
66 .LM10:
|
67 0012 8091 0000 lds r24,CMDinf
|
68 /* epilogue start */
|
69 0016 0895 ret
|
70 .LFE11:
|
72 .global CommWithRelays
|
74 CommWithRelays:
|
75 .LFB14:
|
76 .LM11:
|
77 .LVL2:
|
78 0018 CF92 push r12
|
79 001a DF92 push r13
|
80 001c EF92 push r14
|
81 001e FF92 push r15
|
82 0020 0F93 push r16
|
83 0022 1F93 push r17
|
84 0024 DF93 push r29
|
85 0026 CF93 push r28
|
86 0028 00D0 rcall .
|
87 002a 00D0 rcall .
|
88 002c CDB7 in r28,__SP_L__
|
89 002e DEB7 in r29,__SP_H__
|
90 /* prologue: function */
|
91 /* frame size = 4 */
|
92 0030 7C01 movw r14,r24
|
93 0032 8B01 movw r16,r22
|
94 0034 D42E mov r13,r20
|
95 0036 C52E mov r12,r21
|
96 .LVL3:
|
97 .LM12:
|
98 0038 8BEA ldi r24,lo8(-85)
|
99 .LVL4:
|
100 003a 8983 std Y+1,r24
|
101 003c 8DEC ldi r24,lo8(-51)
|
102 003e 8A83 std Y+2,r24
|
103 0040 8EEE ldi r24,lo8(-18)
|
104 0042 8B83 std Y+3,r24
|
105 0044 81EF ldi r24,lo8(-15)
|
106 0046 8C83 std Y+4,r24
|
107 0048 20E0 ldi r18,lo8(0)
|
108 004a 30E0 ldi r19,hi8(0)
|
109 .LBB52:
|
110 .LM13:
|
111 004c AE01 movw r20,r28
|
112 .LVL5:
|
113 004e 4F5F subi r20,lo8(-(1))
|
114 0050 5F4F sbci r21,hi8(-(1))
|
115 .LVL6:
|
116 .L10:
|
117 0052 F801 movw r30,r16
|
118 0054 E20F add r30,r18
|
119 0056 F31F adc r31,r19
|
120 0058 DA01 movw r26,r20
|
121 005a A20F add r26,r18
|
122 005c B31F adc r27,r19
|
123 005e 8C91 ld r24,X
|
124 0060 8083 st Z,r24
|
125 0062 2F5F subi r18,lo8(-(1))
|
126 0064 3F4F sbci r19,hi8(-(1))
|
127 .LM14:
|
128 0066 2430 cpi r18,4
|
129 0068 3105 cpc r19,__zero_reg__
|
130 006a 01F4 brne .L10
|
131 .LBE52:
|
132 .LM15:
|
133 006c F801 movw r30,r16
|
134 006e F582 std Z+5,r15
|
135 0070 E482 std Z+4,r14
|
136 .LM16:
|
137 0072 C801 movw r24,r16
|
138 0074 6EE0 ldi r22,lo8(14)
|
139 0076 70E0 ldi r23,hi8(14)
|
140 0078 0E94 0000 call CalCRC16
|
141 007c F801 movw r30,r16
|
142 007e 9787 std Z+15,r25
|
143 0080 8687 std Z+14,r24
|
144 .LM17:
|
145 0082 9598 cbi 50-32,5
|
146 .LBB53:
|
147 .LM18:
|
148 0084 8AEA ldi r24,lo8(-86)
|
149 0086 0E94 0000 call SpiWrite
|
150 008a 8AEA ldi r24,lo8(-86)
|
151 008c 0E94 0000 call SpiWrite
|
152 0090 8AEA ldi r24,lo8(-86)
|
153 0092 0E94 0000 call SpiWrite
|
154 0096 8AEA ldi r24,lo8(-86)
|
155 0098 0E94 0000 call SpiWrite
|
156 .LBE53:
|
157 .LBB54:
|
158 .LM19:
|
159 009c 20E1 ldi r18,lo8(16)
|
160 009e E22E mov r14,r18
|
161 00a0 F12C mov r15,__zero_reg__
|
162 .LVL7:
|
163 00a2 E00E add r14,r16
|
164 00a4 F11E adc r15,r17
|
165 .LVL8:
|
166 .L11:
|
167 .LM20:
|
168 00a6 F801 movw r30,r16
|
169 00a8 8191 ld r24,Z+
|
170 00aa 8F01 movw r16,r30
|
171 .LVL9:
|
172 00ac 0E94 0000 call SpiWrite
|
173 .LM21:
|
174 00b0 0E15 cp r16,r14
|
175 00b2 1F05 cpc r17,r15
|
176 00b4 01F4 brne .L11
|
177 .LBE54:
|
178 .LM22:
|
179 00b6 8D2D mov r24,r13
|
180 .LVL10:
|
181 00b8 9C2D mov r25,r12
|
182 .LVL11:
|
183 .LBB55:
|
184 .LBB56:
|
185 .LBB57:
|
186 .LBB58:
|
187 .LM23:
|
188 00ba E0E0 ldi r30,lo8(18432)
|
189 00bc F8E4 ldi r31,hi8(18432)
|
190 .LVL12:
|
191 /* #APP */
|
192 ; 105 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
|
193 00be 3197 1: sbiw r30,1
|
194 00c0 01F4 brne 1b
|
195 ; 0 "" 2
|
196 /* #NOAPP */
|
197 00c2 9C01 movw r18,r24
|
198 .LVL13:
|
199 00c4 8901 movw r16,r18
|
200 .LVL14:
|
201 .LBE58:
|
202 .LBE57:
|
203 .LBE56:
|
204 .LBE55:
|
205 .LBB59:
|
206 .LBB60:
|
207 .LBB61:
|
208 .LBB62:
|
209 .LBB63:
|
210 .LM24:
|
211 00c6 98E1 ldi r25,lo8(24)
|
212 00c8 D92E mov r13,r25
|
213 .LVL15:
|
214 .LBE63:
|
215 .LBE62:
|
216 .LBE61:
|
217 .LBE60:
|
218 .LM25:
|
219 00ca 80E1 ldi r24,lo8(16)
|
220 00cc E82E mov r14,r24
|
221 00ce F12C mov r15,__zero_reg__
|
222 00d0 E20E add r14,r18
|
223 00d2 F31E adc r15,r19
|
224 .L12:
|
225 .LM26:
|
226 00d4 0E94 0000 call SpiRead
|
227 .LVL16:
|
228 00d8 F801 movw r30,r16
|
229 00da 8193 st Z+,r24
|
230 00dc 8F01 movw r16,r30
|
231 .LBB67:
|
232 .LBB66:
|
233 .LBB65:
|
234 .LBB64:
|
235 .LM27:
|
236 00de 8D2D mov r24,r13
|
237 .LVL17:
|
238 /* #APP */
|
239 ; 83 "c:/winavr-20100110/lib/gcc/../../avr/include/util/delay_basic.h" 1
|
240 00e0 8A95 1: dec r24
|
241 00e2 01F4 brne 1b
|
242 ; 0 "" 2
|
243 /* #NOAPP */
|
244 .LBE64:
|
245 .LBE65:
|
246 .LBE66:
|
247 .LBE67:
|
248 .LM28:
|
249 00e4 EE15 cp r30,r14
|
250 00e6 FF05 cpc r31,r15
|
251 00e8 01F4 brne .L12
|
252 .LVL18:
|
253 .LBE59:
|
254 .LM29:
|
255 00ea 959A sbi 50-32,5
|
256 /* epilogue start */
|
257 .LM30:
|
258 00ec 0F90 pop __tmp_reg__
|
259 00ee 0F90 pop __tmp_reg__
|
260 00f0 0F90 pop __tmp_reg__
|
261 00f2 0F90 pop __tmp_reg__
|
262 00f4 CF91 pop r28
|
263 00f6 DF91 pop r29
|
264 00f8 1F91 pop r17
|
265 00fa 0F91 pop r16
|
266 00fc FF90 pop r15
|
267 00fe EF90 pop r14
|
268 0100 DF90 pop r13
|
269 0102 CF90 pop r12
|
270 .LVL19:
|
271 0104 0895 ret
|
272 .LFE14:
|
274 .global SendStopCMD
|
276 SendStopCMD:
|
277 .LFB13:
|
278 .LM31:
|
279 /* prologue: function */
|
280 /* frame size = 0 */
|
281 .LBB68:
|
282 .LBB69:
|
283 .LM32:
|
284 0106 8DEC ldi r24,lo8(-51)
|
285 0108 8093 0000 sts CMDinf,r24
|
286 .LBE69:
|
287 .LBE68:
|
288 .LM33:
|
289 010c 83EF ldi r24,lo8(243)
|
290 010e 90E0 ldi r25,hi8(243)
|
291 0110 60E0 ldi r22,lo8(m_SendCommData)
|
292 0112 70E0 ldi r23,hi8(m_SendCommData)
|
293 0114 40E0 ldi r20,lo8(m_RecCommData)
|
294 0116 50E0 ldi r21,hi8(m_RecCommData)
|
295 0118 0E94 0000 call CommWithRelays
|
296 .LM34:
|
297 011c 80E0 ldi r24,lo8(m_RecCommData)
|
298 011e 90E0 ldi r25,hi8(m_RecCommData)
|
299 0120 6EE0 ldi r22,lo8(14)
|
300 0122 70E0 ldi r23,hi8(14)
|
301 0124 0E94 0000 call CalCRC16
|
302 .LM35:
|
303 0128 2091 0000 lds r18,m_RecCommData+14
|
304 012c 3091 0000 lds r19,(m_RecCommData+14)+1
|
305 0130 8217 cp r24,r18
|
306 0132 9307 cpc r25,r19
|
307 0134 01F4 brne .L19
|
308 .LM36:
|
309 0136 8091 0000 lds r24,m_RecCommData+12
|
310 013a 9091 0000 lds r25,(m_RecCommData+12)+1
|
311 013e 843E cpi r24,228
|
312 0140 9105 cpc r25,__zero_reg__
|
313 0142 01F4 brne .L19
|
314 .LBB70:
|
315 .LBB71:
|
316 .LM37:
|
317 0144 1092 0000 sts CMDinf,__zero_reg__
|
318 .L19:
|
319 0148 0895 ret
|
320 .LBE71:
|
321 .LBE70:
|
322 .LFE13:
|
324 .global GetStepOut
|
326 GetStepOut:
|
327 .LFB9:
|
328 .LM38:
|
329 014a 0F93 push r16
|
330 014c 1F93 push r17
|
331 014e CF93 push r28
|
332 0150 DF93 push r29
|
333 /* prologue: function */
|
334 /* frame size = 0 */
|
335 .LM39:
|
336 0152 8091 0000 lds r24,TimeUP
|
337 0156 9091 0000 lds r25,(TimeUP)+1
|
338 015a A091 0000 lds r26,(TimeUP)+2
|
339 015e B091 0000 lds r27,(TimeUP)+3
|
340 0162 0196 adiw r24,1
|
341 0164 A11D adc r26,__zero_reg__
|
342 0166 B11D adc r27,__zero_reg__
|
343 0168 8093 0000 sts TimeUP,r24
|
344 016c 9093 0000 sts (TimeUP)+1,r25
|
345 0170 A093 0000 sts (TimeUP)+2,r26
|
346 0174 B093 0000 sts (TimeUP)+3,r27
|
347 .LM40:
|
348 0178 81EF ldi r24,lo8(241)
|
349 017a 90E0 ldi r25,hi8(241)
|
350 017c 60E0 ldi r22,lo8(m_SendCommData)
|
351 017e 70E0 ldi r23,hi8(m_SendCommData)
|
352 0180 40E0 ldi r20,lo8(m_RecCommData)
|
353 0182 50E0 ldi r21,hi8(m_RecCommData)
|
354 0184 0E94 0000 call CommWithRelays
|
355 .LM41:
|
356 0188 8091 0000 lds r24,TimeUP
|
357 018c 9091 0000 lds r25,(TimeUP)+1
|
358 0190 A091 0000 lds r26,(TimeUP)+2
|
359 0194 B091 0000 lds r27,(TimeUP)+3
|
360 0198 0597 sbiw r24,5
|
361 019a A105 cpc r26,__zero_reg__
|
362 019c B105 cpc r27,__zero_reg__
|
363 019e 00F0 brlo .L21
|
364 .LBB72:
|
365 .LBB73:
|
366 .LM42:
|
367 01a0 81E0 ldi r24,lo8(1)
|
368 01a2 8093 0000 sts CommError,r24
|
369 .LBE73:
|
370 .LBE72:
|
371 .LM43:
|
372 01a6 1092 0000 sts TimeUP,__zero_reg__
|
373 01aa 1092 0000 sts (TimeUP)+1,__zero_reg__
|
374 01ae 1092 0000 sts (TimeUP)+2,__zero_reg__
|
375 01b2 1092 0000 sts (TimeUP)+3,__zero_reg__
|
376 .L21:
|
377 .LM44:
|
378 01b6 0091 0000 lds r16,m_RecCommData+14
|
379 01ba 1091 0000 lds r17,(m_RecCommData+14)+1
|
380 .LVL20:
|
381 .LM45:
|
382 01be C091 0000 lds r28,m_RecCommData+4
|
383 01c2 D091 0000 lds r29,(m_RecCommData+4)+1
|
384 .LVL21:
|
385 .LM46:
|
386 01c6 80E0 ldi r24,lo8(m_RecCommData)
|
387 01c8 90E0 ldi r25,hi8(m_RecCommData)
|
388 01ca 6EE0 ldi r22,lo8(14)
|
389 01cc 70E0 ldi r23,hi8(14)
|
390 01ce 0E94 0000 call CalCRC16
|
391 01d2 0817 cp r16,r24
|
392 01d4 1907 cpc r17,r25
|
393 01d6 01F4 brne .L22
|
394 01d8 C13F cpi r28,241
|
395 01da D105 cpc r29,__zero_reg__
|
396 01dc 01F0 breq .L23
|
397 .L22:
|
398 .LM47:
|
399 01de 8091 0000 lds r24,StepOutValue
|
400 01e2 9091 0000 lds r25,StepOutValue+1
|
401 01e6 00C0 rjmp .L24
|
402 .L23:
|
403 .LM48:
|
404 01e8 1092 0000 sts TimeUP,__zero_reg__
|
405 01ec 1092 0000 sts (TimeUP)+1,__zero_reg__
|
406 01f0 1092 0000 sts (TimeUP)+2,__zero_reg__
|
407 01f4 1092 0000 sts (TimeUP)+3,__zero_reg__
|
408 .LBB74:
|
409 .LBB75:
|
410 .LM49:
|
411 01f8 1092 0000 sts CommError,__zero_reg__
|
412 .LBE75:
|
413 .LBE74:
|
414 .LM50:
|
415 01fc 8091 0000 lds r24,m_RecCommData+8
|
416 0200 9091 0000 lds r25,m_RecCommData+9
|
417 0204 8093 0000 sts StepOutValue,r24
|
418 0208 9093 0000 sts StepOutValue+1,r25
|
419 .L24:
|
420 /* epilogue start */
|
421 .LM51:
|
422 020c DF91 pop r29
|
423 020e CF91 pop r28
|
424 .LVL22:
|
425 0210 1F91 pop r17
|
426 0212 0F91 pop r16
|
427 .LVL23:
|
428 0214 0895 ret
|
429 .LFE9:
|
431 .global SendVoltage
|
433 SendVoltage:
|
434 .LFB12:
|
435 .LM52:
|
436 /* prologue: function */
|
437 /* frame size = 0 */
|
438 .LM53:
|
439 0216 0E94 0000 call GetInnerSumVol
|
440 021a 9093 0000 sts (m_SendCommData+6)+1,r25
|
441 021e 8093 0000 sts m_SendCommData+6,r24
|
442 .LBB76:
|
443 .LBB77:
|
444 .LM54:
|
445 0222 8BEA ldi r24,lo8(-85)
|
446 0224 8093 0000 sts CMDinf,r24
|
447 .LBE77:
|
448 .LBE76:
|
449 .LM55:
|
450 0228 82EF ldi r24,lo8(242)
|
451 022a 90E0 ldi r25,hi8(242)
|
452 022c 60E0 ldi r22,lo8(m_SendCommData)
|
453 022e 70E0 ldi r23,hi8(m_SendCommData)
|
454 0230 40E0 ldi r20,lo8(m_RecCommData)
|
455 0232 50E0 ldi r21,hi8(m_RecCommData)
|
456 0234 0E94 0000 call CommWithRelays
|
457 .LM56:
|
458 0238 80E0 ldi r24,lo8(m_RecCommData)
|
459 023a 90E0 ldi r25,hi8(m_RecCommData)
|
460 023c 6EE0 ldi r22,lo8(14)
|
461 023e 70E0 ldi r23,hi8(14)
|
462 0240 0E94 0000 call CalCRC16
|
463 .LM57:
|
464 0244 2091 0000 lds r18,m_RecCommData+14
|
465 0248 3091 0000 lds r19,(m_RecCommData+14)+1
|
466 024c 8217 cp r24,r18
|
467 024e 9307 cpc r25,r19
|
468 0250 01F4 brne .L28
|
469 .LM58:
|
470 0252 8091 0000 lds r24,m_RecCommData+10
|
471 0256 9091 0000 lds r25,(m_RecCommData+10)+1
|
472 025a 833E cpi r24,227
|
473 025c 9105 cpc r25,__zero_reg__
|
474 025e 01F4 brne .L28
|
475 .LBB78:
|
476 .LBB79:
|
477 .LM59:
|
478 0260 1092 0000 sts CMDinf,__zero_reg__
|
479 .L28:
|
480 0264 0895 ret
|
481 .LBE79:
|
482 .LBE78:
|
483 .LFE12:
|
485 .global ControlRelays
|
487 ControlRelays:
|
488 .LFB15:
|
489 .LM60:
|
490 /* prologue: function */
|
491 /* frame size = 0 */
|
492 .LBB80:
|
493 .LBB81:
|
494 .LM61:
|
495 0266 2091 0000 lds r18,CMDinf
|
496 .LBE81:
|
497 .LBE80:
|
498 .LM62:
|
499 026a 2223 tst r18
|
500 026c 01F0 breq .L32
|
501 .LM63:
|
502 026e 8091 0000 lds r24,i.2201
|
503 0272 9091 0000 lds r25,(i.2201)+1
|
504 0276 0196 adiw r24,1
|
505 0278 9093 0000 sts (i.2201)+1,r25
|
506 027c 8093 0000 sts i.2201,r24
|
507 .LM64:
|
508 0280 C097 sbiw r24,48
|
509 0282 01F4 brne .L32
|
510 .LM65:
|
511 0284 1092 0000 sts (i.2201)+1,__zero_reg__
|
512 0288 1092 0000 sts i.2201,__zero_reg__
|
513 .LM66:
|
514 028c 2B3A cpi r18,lo8(-85)
|
515 028e 01F4 brne .L31
|
516 .LM67:
|
517 0290 0E94 0000 call SendVoltage
|
518 0294 0895 ret
|
519 .L31:
|
520 .LM68:
|
521 0296 2D3C cpi r18,lo8(-51)
|
522 0298 01F4 brne .L32
|
523 .LM69:
|
524 029a 0E94 0000 call SendStopCMD
|
525 .L32:
|
526 029e 0895 ret
|
527 .LFE15:
|
529 .lcomm i.2201,2
|
530 .lcomm CMDinf,1
|
531 .lcomm TimeUP,4
|
532 .lcomm StepOutValue,2
|
533 .data
|
536 CommError:
|
537 0000 01 .byte 1
|
538 .comm m_SendCommData,16,1
|
539 .comm m_RecCommData,16,1
|
628 .Letext0:
|
DEFINED SYMBOLS
|
*ABS*:00000000 RelayContorl.c
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:2 *ABS*:0000003f __SREG__
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:3 *ABS*:0000003e __SP_H__
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:4 *ABS*:0000003d __SP_L__
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:5 *ABS*:00000034 __CCP__
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:6 *ABS*:00000000 __tmp_reg__
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:7 *ABS*:00000001 __zero_reg__
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:18 .text:00000000 SetCommError
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:536 .data:00000000 CommError
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:33 .text:00000006 GetCommError
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:46 .text:0000000c SetCMDenable
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:529 .bss:00000002 CMDinf
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:61 .text:00000012 GetCMDinf
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:74 .text:00000018 CommWithRelays
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:276 .text:00000106 SendStopCMD
|
*COM*:00000010 m_SendCommData
|
*COM*:00000010 m_RecCommData
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:326 .text:0000014a GetStepOut
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:530 .bss:00000003 TimeUP
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:531 .bss:00000007 StepOutValue
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:433 .text:00000216 SendVoltage
|
C:\Users\ADMINI~1\AppData\Local\Temp/ccwM4sG8.s:487 .text:00000266 ControlRelays
|
.bss:00000000 i.2201
|
|
UNDEFINED SYMBOLS
|
CalCRC16
|
SpiWrite
|
SpiRead
|
GetInnerSumVol
|
__do_copy_data
|
__do_clear_bss
|