1 .file "jeti_ex.c" 2 .arch atmega1284p 3 __SREG__ = 0x3f 4 __SP_H__ = 0x3e 5 __SP_L__ = 0x3d 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 8 .global __do_copy_data 9 .global __do_clear_bss 10 .global JetiExData 11 .data 14 JetiExData: 15 0000 2D3D 2E4D .string "-=.M_K.=-" 15 5F4B 2E3D 15 2D00 16 000a 2020 20 .ascii " " 17 000d 01 .byte 1 18 000e 0000 0000 .long 0 19 0012 00 .byte 0 20 0013 566F 6C74 .ascii "Voltage " 20 6167 6520 20 2020 21 001d 5620 20 .ascii "V " 22 0020 01 .byte 1 23 0021 0000 0000 .long 0 24 0025 01 .byte 1 25 0026 4375 7272 .ascii "Current " 25 656E 7420 25 2020 26 0030 4120 20 .ascii "A " 27 0033 01 .byte 1 28 0034 0000 0000 .long 0 29 0038 01 .byte 1 30 0039 4361 7061 .ascii "Capacity " 30 6369 7479 30 2020 31 0043 4168 20 .ascii "Ah " 32 0046 01 .byte 1 33 0047 0000 0000 .long 0 34 004b 02 .byte 2 35 004c 416C 7469 .ascii "Altitude " 35 7475 6465 35 2020 36 0056 6D20 20 .ascii "m " 37 0059 01 .byte 1 38 005a 0000 0000 .long 0 39 005e 00 .byte 0 40 005f 436F 6D70 .ascii "Compass " 40 6173 7320 40 2020 41 0069 B020 20 .ascii "\260 " 42 006c 01 .byte 1 43 006d 0000 0000 .long 0 44 0071 00 .byte 0 45 0072 5361 7473 .ascii "Sats " 45 2020 2020 45 2020 46 007c 2020 20 .ascii " " 47 007f 01 .byte 1 48 0080 0000 0000 .long 0 49 0084 00 .byte 0 50 0085 5370 6565 .ascii "Speed " 50 6420 2020 50 2020 51 008f 6D2F 73 .ascii "m/s" 52 0092 01 .byte 1 53 0093 0000 0000 .long 0 54 0097 00 .byte 0 55 0098 4469 7374 .ascii "Distance " 55 616E 6365 55 2020 56 00a2 6D20 20 .ascii "m " 57 00a5 01 .byte 1 58 00a6 0000 0000 .long 0 59 00aa 00 .byte 0 60 00ab 486F 6D65 .ascii "Home-Dir " 60 2D44 6972 60 2020 61 00b5 B020 20 .ascii "\260 " 62 00b8 01 .byte 1 63 00b9 0000 0000 .long 0 64 00bd 00 .byte 0 65 00be 6D61 782E .ascii "max.Temp. " 65 5465 6D70 65 2E20 66 00c8 B043 20 .ascii "\260C " 67 00cb 01 .byte 1 68 00cc 0000 0000 .long 0 69 00d0 00 .byte 0 70 00d1 4D61 676E .ascii "Magn.field" 70 2E66 6965 70 6C64 71 00db 2520 20 .ascii "% " 72 00de 01 .byte 1 73 00df 0000 0000 .long 0 74 00e3 00 .byte 0 75 00e4 5661 7269 .ascii "Vario " 75 6F20 2020 75 2020 76 00ee 2020 20 .ascii " " 77 00f1 01 .byte 1 78 00f2 0000 0000 .long 0 79 00f6 00 .byte 0 80 00f7 4572 726F .ascii "ErrorCode " 80 7243 6F64 80 6520 81 0101 2020 20 .ascii " " 82 0104 01 .byte 1 83 0105 0000 0000 .long 0 84 0109 00 .byte 0 85 010a 6672 6569 .ascii "frei " 85 2020 2020 85 2020 86 0114 2020 20 .ascii " " 87 0117 01 .byte 1 88 0118 0000 0000 .long 0 89 011c 03 .byte 3 90 011d 6672 6569 .ascii "frei " 90 2020 2020 90 2020 91 0127 2020 20 .ascii " " 92 012a 01 .byte 1 93 012b 0000 0000 .long 0 94 012f 03 .byte 3 95 .global JETI_CODE 96 .section .progmem.data,"a",@progbits 99 JETI_CODE: 100 0000 00 .byte 0 101 0001 4F .byte 79 102 0002 50 .byte 80 103 0003 51 .byte 81 104 0004 52 .byte 82 105 0005 53 .byte 83 106 0006 54 .byte 84 107 0007 53 .byte 83 108 0008 56 .byte 86 109 0009 57 .byte 87 110 000a 48 .byte 72 111 000b 00 .byte 0 112 000c 58 .byte 88 113 000d 59 .byte 89 114 000e 00 .byte 0 115 000f 5A .byte 90 116 0010 55 .byte 85 117 0011 45 .byte 69 118 0012 46 .byte 70 119 0013 47 .byte 71 120 0014 48 .byte 72 121 0015 41 .byte 65 122 0016 00 .byte 0 123 0017 49 .byte 73 124 0018 42 .byte 66 125 0019 4A .byte 74 126 001a 4A .byte 74 127 001b 00 .byte 0 128 001c 00 .byte 0 129 001d 00 .byte 0 130 001e 00 .byte 0 131 001f 00 .byte 0 132 0020 00 .byte 0 133 0021 00 .byte 0 134 0022 00 .byte 0 135 0023 00 .byte 0 136 0024 00 .byte 0 137 0025 00 .byte 0 138 0026 44 .byte 68 139 0027 4C .byte 76 140 0028 4D .byte 77 141 0029 00 .byte 0 142 002a 00 .byte 0 143 002b 00 .byte 0 144 002c 00 .byte 0 145 002d 00 .byte 0 146 002e 4E .byte 78 147 002f 00 .byte 0 148 0030 00 .byte 0 149 0031 00 .byte 0 150 0032 4B .byte 75 151 0033 00 .byte 0 152 0034 43 .byte 67 153 .lcomm JetiVarioMeter.0,2 154 .text 155 .global BuildJeti_Vario 157 BuildJeti_Vario: 158 /* prologue: frame size=0 */ 159 /* prologue end (size=0) */ 160 0000 40E0 ldi r20,lo8(0) 161 0002 50E0 ldi r21,hi8(0) 162 0004 8091 0000 lds r24,JetiVarioMeter.0 163 0008 9091 0000 lds r25,(JetiVarioMeter.0)+1 164 000c 9C01 movw r18,r24 165 000e 220F lsl r18 166 0010 331F rol r19 167 0012 280F add r18,r24 168 0014 391F adc r19,r25 169 0016 8091 0000 lds r24,VarioMeter 170 001a 9091 0000 lds r25,(VarioMeter)+1 171 001e 280F add r18,r24 172 0020 391F adc r19,r25 173 0022 37FF sbrs r19,7 174 0024 00C0 rjmp .L2 175 0026 2D5F subi r18,lo8(-(3)) 176 0028 3F4F sbci r19,hi8(-(3)) 177 .L2: 178 002a 3595 asr r19 179 002c 2795 ror r18 180 002e 3595 asr r19 181 0030 2795 ror r18 182 0032 3093 0000 sts (JetiVarioMeter.0)+1,r19 183 0036 2093 0000 sts JetiVarioMeter.0,r18 184 003a 8091 0000 lds r24,VarioCharacter 185 003e 8B32 cpi r24,lo8(43) 186 0040 01F4 brne .L3 187 0042 8091 0000 lds r24,EE_Parameter+18 188 0046 282F mov r18,r24 189 0048 3327 clr r19 190 004a 8091 0000 lds r24,AltitudeSetpointTrimming 191 004e 9091 0000 lds r25,(AltitudeSetpointTrimming)+1 192 0052 829F mul r24,r18 193 0054 A001 movw r20,r0 194 0056 839F mul r24,r19 195 0058 500D add r21,r0 196 005a 929F mul r25,r18 197 005c 500D add r21,r0 198 005e 1124 clr r1 199 0060 CA01 movw r24,r20 200 0062 57FD sbrc r21,7 201 0064 4F96 adiw r24,31 202 .L4: 203 0066 AC01 movw r20,r24 204 0068 25E0 ldi r18,5 205 006a 5595 1: asr r21 206 006c 4795 ror r20 207 006e 2A95 dec r18 208 0070 01F4 brne 1b 209 0072 4B5F subi r20,lo8(-(5)) 210 0074 5F4F sbci r21,hi8(-(5)) 211 0076 00C0 rjmp .L5 212 .L3: 213 0078 8D32 cpi r24,lo8(45) 214 007a 01F4 brne .L6 215 007c 8091 0000 lds r24,EE_Parameter+18 216 0080 282F mov r18,r24 217 0082 3327 clr r19 218 0084 8091 0000 lds r24,AltitudeSetpointTrimming 219 0088 9091 0000 lds r25,(AltitudeSetpointTrimming)+1 220 008c 829F mul r24,r18 221 008e A001 movw r20,r0 222 0090 839F mul r24,r19 223 0092 500D add r21,r0 224 0094 929F mul r25,r18 225 0096 500D add r21,r0 226 0098 1124 clr r1 227 009a CA01 movw r24,r20 228 009c 57FD sbrc r21,7 229 009e 4F96 adiw r24,31 230 .L7: 231 00a0 AC01 movw r20,r24 232 00a2 95E0 ldi r25,5 233 00a4 5595 1: asr r21 234 00a6 4795 ror r20 235 00a8 9A95 dec r25 236 00aa 01F4 brne 1b 237 00ac 4550 subi r20,lo8(-(-5)) 238 00ae 5040 sbci r21,hi8(-(-5)) 239 00b0 00C0 rjmp .L5 240 .L6: 241 00b2 8032 cpi r24,lo8(32) 242 00b4 01F4 brne .L9 243 00b6 8091 0000 lds r24,FC_StatusFlags 244 00ba 81FF sbrs r24,1 245 00bc 00C0 rjmp .L5 246 00be C901 movw r24,r18 247 00c0 37FD sbrc r19,7 248 00c2 4F96 adiw r24,31 249 .L10: 250 00c4 AC01 movw r20,r24 251 00c6 85E0 ldi r24,5 252 00c8 5595 1: asr r21 253 00ca 4795 ror r20 254 00cc 8A95 dec r24 255 00ce 01F4 brne 1b 256 00d0 00C0 rjmp .L5 257 .L9: 258 00d2 8E35 cpi r24,lo8(94) 259 00d4 01F4 brne .L12 260 00d6 8091 0000 lds r24,FromNC_AltitudeSpeed 261 00da 482F mov r20,r24 262 00dc 5527 clr r21 263 00de 00C0 rjmp .L5 264 .L12: 265 00e0 8637 cpi r24,lo8(118) 266 00e2 01F4 brne .L5 267 00e4 8091 0000 lds r24,FromNC_AltitudeSpeed 268 00e8 9927 clr r25 269 00ea 4427 clr r20 270 00ec 5527 clr r21 271 00ee 481B sub r20,r24 272 00f0 590B sbc r21,r25 273 .L5: 274 00f2 CA01 movw r24,r20 275 00f4 AA27 clr r26 276 00f6 97FD sbrc r25,7 277 00f8 A095 com r26 278 00fa BA2F mov r27,r26 279 00fc 8093 0000 sts JetiExData+242,r24 280 0100 9093 0000 sts (JetiExData+242)+1,r25 281 0104 A093 0000 sts (JetiExData+242)+2,r26 282 0108 B093 0000 sts (JetiExData+242)+3,r27 283 /* epilogue: frame size=0 */ 284 010c 0895 ret 285 /* epilogue end (size=1) */ 286 /* function BuildJeti_Vario size 138 (137) */ 288 .global JetiEX_Update 290 JetiEX_Update: 291 /* prologue: frame size=0 */ 292 010e 0F93 push r16 293 0110 1F93 push r17 294 /* prologue end (size=2) */ 295 0112 0E94 0000 call GetHottestBl 296 0116 8091 0000 lds r24,UBat 297 011a 9091 0000 lds r25,(UBat)+1 298 011e AA27 clr r26 299 0120 97FD sbrc r25,7 300 0122 A095 com r26 301 0124 BA2F mov r27,r26 302 0126 8093 0000 sts JetiExData+33,r24 303 012a 9093 0000 sts (JetiExData+33)+1,r25 304 012e A093 0000 sts (JetiExData+33)+2,r26 305 0132 B093 0000 sts (JetiExData+33)+3,r27 306 0136 8091 0000 lds r24,Capacity 307 013a 9091 0000 lds r25,(Capacity)+1 308 013e AA27 clr r26 309 0140 BB27 clr r27 310 0142 8093 0000 sts JetiExData+52,r24 311 0146 9093 0000 sts (JetiExData+52)+1,r25 312 014a A093 0000 sts (JetiExData+52)+2,r26 313 014e B093 0000 sts (JetiExData+52)+3,r27 314 0152 0AE0 ldi r16,lo8(10) 315 0154 10E0 ldi r17,hi8(10) 316 0156 8091 0000 lds r24,Capacity+4 317 015a 9091 0000 lds r25,(Capacity+4)+1 318 015e B801 movw r22,r16 319 0160 0E94 0000 call __udivmodhi4 320 0164 CB01 movw r24,r22 321 0166 AA27 clr r26 322 0168 BB27 clr r27 323 016a 8093 0000 sts JetiExData+71,r24 324 016e 9093 0000 sts (JetiExData+71)+1,r25 325 0172 A093 0000 sts (JetiExData+71)+2,r26 326 0176 B093 0000 sts (JetiExData+71)+3,r27 327 017a 8091 0000 lds r24,HoehenWert 328 017e 9091 0000 lds r25,(HoehenWert)+1 329 0182 A091 0000 lds r26,(HoehenWert)+2 330 0186 B091 0000 lds r27,(HoehenWert)+3 331 018a BC01 movw r22,r24 332 018c CD01 movw r24,r26 333 018e 24E6 ldi r18,lo8(100) 334 0190 30E0 ldi r19,hi8(100) 335 0192 40E0 ldi r20,hlo8(100) 336 0194 50E0 ldi r21,hhi8(100) 337 0196 0E94 0000 call __divmodsi4 338 019a 2093 0000 sts JetiExData+90,r18 339 019e 3093 0000 sts (JetiExData+90)+1,r19 340 01a2 4093 0000 sts (JetiExData+90)+2,r20 341 01a6 5093 0000 sts (JetiExData+90)+3,r21 342 01aa 8091 0000 lds r24,KompassValue 343 01ae 9091 0000 lds r25,(KompassValue)+1 344 01b2 AA27 clr r26 345 01b4 97FD sbrc r25,7 346 01b6 A095 com r26 347 01b8 BA2F mov r27,r26 348 01ba 8093 0000 sts JetiExData+109,r24 349 01be 9093 0000 sts (JetiExData+109)+1,r25 350 01c2 A093 0000 sts (JetiExData+109)+2,r26 351 01c6 B093 0000 sts (JetiExData+109)+3,r27 352 01ca 8091 0000 lds r24,GPSInfo+1 353 01ce 9927 clr r25 354 01d0 AA27 clr r26 355 01d2 BB27 clr r27 356 01d4 8093 0000 sts JetiExData+128,r24 357 01d8 9093 0000 sts (JetiExData+128)+1,r25 358 01dc A093 0000 sts (JetiExData+128)+2,r26 359 01e0 B093 0000 sts (JetiExData+128)+3,r27 360 01e4 8091 0000 lds r24,GPSInfo+3 361 01e8 9927 clr r25 362 01ea AA27 clr r26 363 01ec BB27 clr r27 364 01ee 8093 0000 sts JetiExData+147,r24 365 01f2 9093 0000 sts (JetiExData+147)+1,r25 366 01f6 A093 0000 sts (JetiExData+147)+2,r26 367 01fa B093 0000 sts (JetiExData+147)+3,r27 368 01fe 8091 0000 lds r24,GPSInfo+4 369 0202 9091 0000 lds r25,(GPSInfo+4)+1 370 0206 B801 movw r22,r16 371 0208 0E94 0000 call __udivmodhi4 372 020c CB01 movw r24,r22 373 020e AA27 clr r26 374 0210 BB27 clr r27 375 0212 8093 0000 sts JetiExData+166,r24 376 0216 9093 0000 sts (JetiExData+166)+1,r25 377 021a A093 0000 sts (JetiExData+166)+2,r26 378 021e B093 0000 sts (JetiExData+166)+3,r27 379 0222 8091 0000 lds r24,GPSInfo+6 380 0226 9091 0000 lds r25,(GPSInfo+6)+1 381 022a AA27 clr r26 382 022c 97FD sbrc r25,7 383 022e A095 com r26 384 0230 BA2F mov r27,r26 385 0232 8093 0000 sts JetiExData+185,r24 386 0236 9093 0000 sts (JetiExData+185)+1,r25 387 023a A093 0000 sts (JetiExData+185)+2,r26 388 023e B093 0000 sts (JetiExData+185)+3,r27 389 0242 8091 0000 lds r24,MaxBlTempertaure 390 0246 9927 clr r25 391 0248 AA27 clr r26 392 024a BB27 clr r27 393 024c 8093 0000 sts JetiExData+204,r24 394 0250 9093 0000 sts (JetiExData+204)+1,r25 395 0254 A093 0000 sts (JetiExData+204)+2,r26 396 0258 B093 0000 sts (JetiExData+204)+3,r27 397 025c 8091 0000 lds r24,EarthMagneticField 398 0260 9927 clr r25 399 0262 AA27 clr r26 400 0264 BB27 clr r27 401 0266 8093 0000 sts JetiExData+223,r24 402 026a 9093 0000 sts (JetiExData+223)+1,r25 403 026e A093 0000 sts (JetiExData+223)+2,r26 404 0272 B093 0000 sts (JetiExData+223)+3,r27 405 0276 8091 0000 lds r24,NC_ErrorCode 406 027a 9927 clr r25 407 027c AA27 clr r26 408 027e BB27 clr r27 409 0280 8093 0000 sts JetiExData+261,r24 410 0284 9093 0000 sts (JetiExData+261)+1,r25 411 0288 A093 0000 sts (JetiExData+261)+2,r26 412 028c B093 0000 sts (JetiExData+261)+3,r27 413 /* epilogue: frame size=0 */ 414 0290 1F91 pop r17 415 0292 0F91 pop r16 416 0294 0895 ret 417 /* epilogue end (size=3) */ 418 /* function JetiEX_Update size 196 (191) */ 420 /* File "jeti_ex.c": code 334 = 0x014e ( 328), prologues 2, epilogues 4 */ DEFINED SYMBOLS *ABS*:00000000 jeti_ex.c C:\Temp/ccP42c6U.s:3 *ABS*:0000003f __SREG__ C:\Temp/ccP42c6U.s:4 *ABS*:0000003e __SP_H__ C:\Temp/ccP42c6U.s:5 *ABS*:0000003d __SP_L__ C:\Temp/ccP42c6U.s:6 *ABS*:00000000 __tmp_reg__ C:\Temp/ccP42c6U.s:7 *ABS*:00000001 __zero_reg__ C:\Temp/ccP42c6U.s:14 .data:00000000 JetiExData C:\Temp/ccP42c6U.s:99 .progmem.data:00000000 JETI_CODE .bss:00000000 JetiVarioMeter.0 C:\Temp/ccP42c6U.s:157 .text:00000000 BuildJeti_Vario C:\Temp/ccP42c6U.s:290 .text:0000010e JetiEX_Update UNDEFINED SYMBOLS __do_copy_data __do_clear_bss VarioMeter VarioCharacter EE_Parameter AltitudeSetpointTrimming FC_StatusFlags FromNC_AltitudeSpeed GetHottestBl UBat Capacity __udivmodhi4 HoehenWert __divmodsi4 KompassValue GPSInfo MaxBlTempertaure EarthMagneticField NC_ErrorCode