Subversion Repositories FlightCtrl

Rev

Blame | Last modification | View Log | RSS feed

   1                            .file   "spi.c"
   2                    __SREG__ = 0x3f
   3                    __SP_H__ = 0x3e
   4                    __SP_L__ = 0x3d
   5                    __CCP__  = 0x34
   6                    __tmp_reg__ = 0
   7                    __zero_reg__ = 1
   8                            .text
   9                    .global SPI_MasterInit
  11                    SPI_MasterInit:
  12                    /* prologue: function */
  13                    /* frame size = 0 */
  14 0000 84B1                  in r24,36-32
  15 0002 806A                  ori r24,lo8(-96)
  16 0004 84B9                  out 36-32,r24
  17 0006 3D9A                  sbi 39-32,5
  18 0008 82E5                  ldi r24,lo8(82)
  19 000a 8CBD                  out 76-32,r24
  20 000c 1DBC                  out 77-32,__zero_reg__
  21 000e 459A                  sbi 40-32,5
  22 0010 81E0                  ldi r24,lo8(1)
  23 0012 8093 0000             sts SPITransferCompleted,r24
  24 0016 8AEA                  ldi r24,lo8(-86)
  25 0018 8093 0000             sts ToNaviCtrl,r24
  26 001c 83E8                  ldi r24,lo8(-125)
  27 001e 8093 0000             sts ToNaviCtrl+1,r24
  28 0022 9AE0                  ldi r25,lo8(10)
  29 0024 9093 0000             sts ToNaviCtrl+2,r25
  30 0028 1092 0000             sts (ToNaviCtrl+3)+1,__zero_reg__
  31 002c 1092 0000             sts ToNaviCtrl+3,__zero_reg__
  32 0030 1092 0000             sts (ToNaviCtrl+5)+1,__zero_reg__
  33 0034 1092 0000             sts ToNaviCtrl+5,__zero_reg__
  34 0038 1092 0000             sts FromNaviCtrl_Value+3,__zero_reg__
  35 003c 1092 0000             sts SPI_RxDataValid,__zero_reg__
  36 0040 1092 0000             sts SPI_VersionInfo,__zero_reg__
  37 0044 8CE4                  ldi r24,lo8(76)
  38 0046 8093 0000             sts SPI_VersionInfo+1,r24
  39 004a 86E0                  ldi r24,lo8(6)
  40 004c 8093 0000             sts SPI_VersionInfo+2,r24
  41 0050 9093 0000             sts SPI_VersionInfo+3,r25
  42                    /* epilogue start */
  43 0054 0895                  ret
  45                    .global UpdateSPI_Buffer
  47                    UpdateSPI_Buffer:
  48 0056 EF92                  push r14
  49 0058 FF92                  push r15
  50 005a 0F93                  push r16
  51 005c 1F93                  push r17
  52                    /* prologue: function */
  53                    /* frame size = 0 */
  54 005e E090 0000             lds r14,EE_Parameter+23
  55 0062 FF24                  clr r15
  56 0064 EE0C                  lsl r14
  57 0066 FF1C                  rol r15
  58 0068 EE0C                  lsl r14
  59 006a FF1C                  rol r15
  60 006c 0027                  clr r16
  61 006e F7FC                  sbrc r15,7
  62 0070 0095                  com r16
  63 0072 102F                  mov r17,r16
  64 0074 6091 0000             lds r22,IntegralNick
  65 0078 7091 0000             lds r23,(IntegralNick)+1
  66 007c 8091 0000             lds r24,(IntegralNick)+2
  67 0080 9091 0000             lds r25,(IntegralNick)+3
  68 0084 A801                  movw r20,r16
  69 0086 9701                  movw r18,r14
  70 0088 0E94 0000             call __divmodsi4
  71 008c 3093 0000             sts (ToNaviCtrl+3)+1,r19
  72 0090 2093 0000             sts ToNaviCtrl+3,r18
  73 0094 6091 0000             lds r22,IntegralRoll
  74 0098 7091 0000             lds r23,(IntegralRoll)+1
  75 009c 8091 0000             lds r24,(IntegralRoll)+2
  76 00a0 9091 0000             lds r25,(IntegralRoll)+3
  77 00a4 A801                  movw r20,r16
  78 00a6 9701                  movw r18,r14
  79 00a8 0E94 0000             call __divmodsi4
  80 00ac 3093 0000             sts (ToNaviCtrl+5)+1,r19
  81 00b0 2093 0000             sts ToNaviCtrl+5,r18
  82 00b4 6091 0000             lds r22,ErsatzKompass
  83 00b8 7091 0000             lds r23,(ErsatzKompass)+1
  84 00bc 8091 0000             lds r24,(ErsatzKompass)+2
  85 00c0 9091 0000             lds r25,(ErsatzKompass)+3
  86 00c4 2AE0                  ldi r18,lo8(10)
  87 00c6 30E0                  ldi r19,hi8(10)
  88 00c8 40E0                  ldi r20,hlo8(10)
  89 00ca 50E0                  ldi r21,hhi8(10)
  90 00cc 0E94 0000             call __mulsi3
  91 00d0 2091 0000             lds r18,GIER_GRAD_FAKTOR
  92 00d4 3091 0000             lds r19,(GIER_GRAD_FAKTOR)+1
  93 00d8 4091 0000             lds r20,(GIER_GRAD_FAKTOR)+2
  94 00dc 5091 0000             lds r21,(GIER_GRAD_FAKTOR)+3
  95 00e0 0E94 0000             call __divmodsi4
  96 00e4 3093 0000             sts (ToNaviCtrl+11)+1,r19
  97 00e8 2093 0000             sts ToNaviCtrl+11,r18
  98 00ec E091 0000             lds r30,NaviCntAcc
  99 00f0 F091 0000             lds r31,(NaviCntAcc)+1
 100 00f4 8091 0000             lds r24,NaviAccNick
 101 00f8 9091 0000             lds r25,(NaviAccNick)+1
 102 00fc BF01                  movw r22,r30
 103 00fe 0E94 0000             call __divmodhi4
 104 0102 CB01                  movw r24,r22
 105 0104 880F                  lsl r24
 106 0106 991F                  rol r25
 107 0108 860F                  add r24,r22
 108 010a 971F                  adc r25,r23
 109 010c 9C01                  movw r18,r24
 110 010e 220F                  lsl r18
 111 0110 331F                  rol r19
 112 0112 96FD                  sbrc r25,6
 113 0114 00C0                  rjmp .L35
 114                    .L4:
 115 0116 3595                  asr r19
 116 0118 2795                  ror r18
 117 011a 3595                  asr r19
 118 011c 2795                  ror r18
 119 011e 3093 0000             sts (ToNaviCtrl+7)+1,r19
 120 0122 2093 0000             sts ToNaviCtrl+7,r18
 121 0126 8091 0000             lds r24,NaviAccRoll
 122 012a 9091 0000             lds r25,(NaviAccRoll)+1
 123 012e BF01                  movw r22,r30
 124 0130 0E94 0000             call __divmodhi4
 125 0134 CB01                  movw r24,r22
 126 0136 880F                  lsl r24
 127 0138 991F                  rol r25
 128 013a 860F                  add r24,r22
 129 013c 971F                  adc r25,r23
 130 013e 9C01                  movw r18,r24
 131 0140 220F                  lsl r18
 132 0142 331F                  rol r19
 133 0144 96FD                  sbrc r25,6
 134 0146 00C0                  rjmp .L36
 135                    .L5:
 136 0148 3595                  asr r19
 137 014a 2795                  ror r18
 138 014c 3595                  asr r19
 139 014e 2795                  ror r18
 140 0150 3093 0000             sts (ToNaviCtrl+9)+1,r19
 141 0154 2093 0000             sts ToNaviCtrl+9,r18
 142 0158 1092 0000             sts (NaviCntAcc)+1,__zero_reg__
 143 015c 1092 0000             sts NaviCntAcc,__zero_reg__
 144 0160 1092 0000             sts (NaviAccNick)+1,__zero_reg__
 145 0164 1092 0000             sts NaviAccNick,__zero_reg__
 146 0168 1092 0000             sts (NaviAccRoll)+1,__zero_reg__
 147 016c 1092 0000             sts NaviAccRoll,__zero_reg__
 148 0170 8091 0000             lds r24,ToNaviCtrl+2
 149 0174 8C30                  cpi r24,lo8(12)
 150 0176 01F4                  brne .+2
 151 0178 00C0                  rjmp .L9
 152 017a 8D30                  cpi r24,lo8(13)
 153 017c 00F4                  brsh .+2
 154 017e 00C0                  rjmp .L37
 155 0180 8E30                  cpi r24,lo8(14)
 156 0182 01F4                  brne .+2
 157 0184 00C0                  rjmp .L11
 158 0186 8E30                  cpi r24,lo8(14)
 159 0188 00F0                  brlo .+2
 160 018a 00C0                  rjmp .L38
 161 018c 8091 0000             lds r24,EE_Parameter+69
 162 0190 8093 0000             sts ToNaviCtrl+19,r24
 163 0194 8091 0000             lds r24,EE_Parameter+70
 164 0198 8093 0000             sts ToNaviCtrl+20,r24
 165 019c 8091 0000             lds r24,EE_Parameter+71
 166 01a0 8093 0000             sts ToNaviCtrl+21,r24
 167 01a4 8091 0000             lds r24,EE_Parameter+72
 168 01a8 8093 0000             sts ToNaviCtrl+22,r24
 169 01ac 8091 0000             lds r24,EE_Parameter+73
 170 01b0 8093 0000             sts ToNaviCtrl+23,r24
 171 01b4 8091 0000             lds r24,EE_Parameter+77
 172 01b8 8093 0000             sts ToNaviCtrl+24,r24
 173 01bc 8091 0000             lds r24,EE_Parameter+78
 174 01c0 8093 0000             sts ToNaviCtrl+25,r24
 175 01c4 8091 0000             lds r24,EE_Parameter+79
 176 01c8 8093 0000             sts ToNaviCtrl+26,r24
 177 01cc 8091 0000             lds r24,EE_Parameter+82
 178 01d0 8093 0000             sts ToNaviCtrl+27,r24
 179 01d4 8091 0000             lds r24,EE_Parameter+80
 180 01d8 8093 0000             sts ToNaviCtrl+28,r24
 181 01dc 8091 0000             lds r24,EE_Parameter+81
 182 01e0 8093 0000             sts ToNaviCtrl+29,r24
 183 01e4 8091 0000             lds r24,EE_Parameter+83
 184 01e8 8093 0000             sts ToNaviCtrl+30,r24
 185                    .L6:
 186 01ec 8091 0000             lds r24,SPI_RxDataValid
 187 01f0 8823                  tst r24
 188 01f2 01F4                  brne .+2
 189 01f4 00C0                  rjmp .L26
 190                    .L42:
 191 01f6 2091 0000             lds r18,FromNaviCtrl+1
 192 01fa 3091 0000             lds r19,(FromNaviCtrl+1)+1
 193 01fe C901                  movw r24,r18
 194 0200 8150                  subi r24,lo8(-(511))
 195 0202 9E4F                  sbci r25,hi8(-(511))
 196 0204 8F5F                  subi r24,lo8(1023)
 197 0206 9340                  sbci r25,hi8(1023)
 198 0208 00F4                  brsh .L27
 199 020a 4091 0000             lds r20,FromNaviCtrl+3
 200 020e 5091 0000             lds r21,(FromNaviCtrl+3)+1
 201 0212 CA01                  movw r24,r20
 202 0214 8150                  subi r24,lo8(-(511))
 203 0216 9E4F                  sbci r25,hi8(-(511))
 204 0218 8F5F                  subi r24,lo8(1023)
 205 021a 9340                  sbci r25,hi8(1023)
 206 021c 00F4                  brsh .+2
 207 021e 00C0                  rjmp .L39
 208                    .L27:
 209 0220 8091 0000             lds r24,FromNaviCtrl+7
 210 0224 9091 0000             lds r25,(FromNaviCtrl+7)+1
 211 0228 21E0                  ldi r18,hi8(361)
 212 022a 8936                  cpi r24,lo8(361)
 213 022c 9207                  cpc r25,r18
 214 022e 04F4                  brge .L28
 215 0230 9093 0000             sts (KompassValue)+1,r25
 216 0234 8093 0000             sts KompassValue,r24
 217                    .L28:
 218 0238 8091 0000             lds r24,KompassValue
 219 023c 9091 0000             lds r25,(KompassValue)+1
 220 0240 845E                  subi r24,lo8(-(540))
 221 0242 9D4F                  sbci r25,hi8(-(540))
 222 0244 2091 0000             lds r18,KompassStartwert
 223 0248 3091 0000             lds r19,(KompassStartwert)+1
 224 024c 821B                  sub r24,r18
 225 024e 930B                  sbc r25,r19
 226 0250 68E6                  ldi r22,lo8(360)
 227 0252 71E0                  ldi r23,hi8(360)
 228 0254 0E94 0000             call __divmodhi4
 229 0258 845B                  subi r24,lo8(-(-180))
 230 025a 9040                  sbci r25,hi8(-(-180))
 231 025c 9093 0000             sts (KompassRichtung)+1,r25
 232 0260 8093 0000             sts KompassRichtung,r24
 233 0264 2091 0000             lds r18,FromNaviCtrl+11
 234 0268 3091 0000             lds r19,(FromNaviCtrl+11)+1
 235 026c 8091 0000             lds r24,beeptime
 236 0270 9091 0000             lds r25,(beeptime)+1
 237 0274 8217                  cp r24,r18
 238 0276 9307                  cpc r25,r19
 239 0278 00F4                  brsh .L29
 240 027a 8091 0000             lds r24,WinkelOut+6
 241 027e 8823                  tst r24
 242 0280 01F4                  brne .+2
 243 0282 00C0                  rjmp .L40
 244                    .L29:
 245 0284 8091 0000             lds r24,FromNaviCtrl
 246 0288 8736                  cpi r24,lo8(103)
 247 028a 01F4                  brne .L32
 248 028c 8091 0000             lds r24,FromNaviCtrl+13
 249 0290 8093 0000             sts FromNaviCtrl_Value,r24
 250 0294 8091 0000             lds r24,FromNaviCtrl+14
 251 0298 8093 0000             sts FromNaviCtrl_Value+2,r24
 252 029c 8091 0000             lds r24,FromNaviCtrl+15
 253 02a0 8093 0000             sts FromNaviCtrl_Value+1,r24
 254 02a4 8091 0000             lds r24,FromNaviCtrl+16
 255 02a8 8093 0000             sts FromNaviCtrl_Value+3,r24
 256 02ac 8091 0000             lds r24,FromNaviCtrl+17
 257 02b0 8093 0000             sts FromNaviCtrl_Value+4,r24
 258                    .L32:
 259                    /* epilogue start */
 260 02b4 1F91                  pop r17
 261 02b6 0F91                  pop r16
 262 02b8 FF90                  pop r15
 263 02ba EF90                  pop r14
 264 02bc 0895                  ret
 265                    .L37:
 266 02be 8A30                  cpi r24,lo8(10)
 267 02c0 01F4                  brne .+2
 268 02c2 00C0                  rjmp .L7
 269 02c4 8B30                  cpi r24,lo8(11)
 270 02c6 01F0                  breq .+2
 271 02c8 00C0                  rjmp .L6
 272                    /* #APP */
 273                     ;  204 "spi.c" 1
 274 02ca F894                  cli
 275                     ;  0 "" 2
 276                    /* #NOAPP */
 277 02cc E091 0000             lds r30,EE_Parameter+2
 278 02d0 F0E0                  ldi r31,lo8(0)
 279 02d2 EE0F                  lsl r30
 280 02d4 FF1F                  rol r31
 281 02d6 E050                  subi r30,lo8(-(PPM_in))
 282 02d8 F040                  sbci r31,hi8(-(PPM_in))
 283 02da 0190                  ld __tmp_reg__,Z+
 284 02dc F081                  ld r31,Z
 285 02de E02D                  mov r30,__tmp_reg__
 286 02e0 2FEF                  ldi r18,hi8(-127)
 287 02e2 E138                  cpi r30,lo8(-127)
 288 02e4 F207                  cpc r31,r18
 289 02e6 04F4                  brge .L15
 290 02e8 E1E8                  ldi r30,lo8(-127)
 291 02ea FFEF                  ldi r31,hi8(-127)
 292                    .L15:
 293 02ec E038                  cpi r30,128
 294 02ee F105                  cpc r31,__zero_reg__
 295 02f0 04F0                  brlt .L16
 296 02f2 EFE7                  ldi r30,lo8(127)
 297 02f4 F0E0                  ldi r31,hi8(127)
 298                    .L16:
 299 02f6 E093 0000             sts ToNaviCtrl+19,r30
 300 02fa E091 0000             lds r30,EE_Parameter+3
 301 02fe F0E0                  ldi r31,lo8(0)
 302 0300 EE0F                  lsl r30
 303 0302 FF1F                  rol r31
 304 0304 E050                  subi r30,lo8(-(PPM_in))
 305 0306 F040                  sbci r31,hi8(-(PPM_in))
 306 0308 0190                  ld __tmp_reg__,Z+
 307 030a F081                  ld r31,Z
 308 030c E02D                  mov r30,__tmp_reg__
 309 030e 4FEF                  ldi r20,hi8(-127)
 310 0310 E138                  cpi r30,lo8(-127)
 311 0312 F407                  cpc r31,r20
 312 0314 04F4                  brge .L17
 313 0316 E1E8                  ldi r30,lo8(-127)
 314 0318 FFEF                  ldi r31,hi8(-127)
 315                    .L17:
 316 031a E038                  cpi r30,128
 317 031c F105                  cpc r31,__zero_reg__
 318 031e 04F0                  brlt .L18
 319 0320 EFE7                  ldi r30,lo8(127)
 320 0322 F0E0                  ldi r31,hi8(127)
 321                    .L18:
 322 0324 E093 0000             sts ToNaviCtrl+20,r30
 323 0328 E091 0000             lds r30,EE_Parameter+1
 324 032c F0E0                  ldi r31,lo8(0)
 325 032e EE0F                  lsl r30
 326 0330 FF1F                  rol r31
 327 0332 E050                  subi r30,lo8(-(PPM_in))
 328 0334 F040                  sbci r31,hi8(-(PPM_in))
 329 0336 0190                  ld __tmp_reg__,Z+
 330 0338 F081                  ld r31,Z
 331 033a E02D                  mov r30,__tmp_reg__
 332 033c 6FEF                  ldi r22,hi8(-127)
 333 033e E138                  cpi r30,lo8(-127)
 334 0340 F607                  cpc r31,r22
 335 0342 04F4                  brge .L19
 336 0344 E1E8                  ldi r30,lo8(-127)
 337 0346 FFEF                  ldi r31,hi8(-127)
 338                    .L19:
 339 0348 E038                  cpi r30,128
 340 034a F105                  cpc r31,__zero_reg__
 341 034c 04F0                  brlt .L20
 342 034e EFE7                  ldi r30,lo8(127)
 343 0350 F0E0                  ldi r31,hi8(127)
 344                    .L20:
 345 0352 E093 0000             sts ToNaviCtrl+21,r30
 346 0356 E091 0000             lds r30,EE_Parameter
 347 035a F0E0                  ldi r31,lo8(0)
 348 035c EE0F                  lsl r30
 349 035e FF1F                  rol r31
 350 0360 E050                  subi r30,lo8(-(PPM_in))
 351 0362 F040                  sbci r31,hi8(-(PPM_in))
 352 0364 0190                  ld __tmp_reg__,Z+
 353 0366 F081                  ld r31,Z
 354 0368 E02D                  mov r30,__tmp_reg__
 355 036a 8FEF                  ldi r24,hi8(-127)
 356 036c E138                  cpi r30,lo8(-127)
 357 036e F807                  cpc r31,r24
 358 0370 04F4                  brge .L21
 359 0372 E1E8                  ldi r30,lo8(-127)
 360 0374 FFEF                  ldi r31,hi8(-127)
 361                    .L21:
 362                    /* #APP */
 363                     ;  212 "spi.c" 1
 364 0376 7894                  sei
 365                     ;  0 "" 2
 366                    /* #NOAPP */
 367 0378 E038                  cpi r30,128
 368 037a F105                  cpc r31,__zero_reg__
 369 037c 04F0                  brlt .L22
 370 037e EFE7                  ldi r30,lo8(127)
 371 0380 F0E0                  ldi r31,hi8(127)
 372                    .L22:
 373 0382 E093 0000             sts ToNaviCtrl+22,r30
 374 0386 8091 0000             lds r24,Poti1
 375 038a 8093 0000             sts ToNaviCtrl+23,r24
 376 038e 8091 0000             lds r24,Poti2
 377 0392 8093 0000             sts ToNaviCtrl+24,r24
 378 0396 8091 0000             lds r24,Poti3
 379 039a 8093 0000             sts ToNaviCtrl+25,r24
 380 039e 8091 0000             lds r24,Poti4
 381 03a2 8093 0000             sts ToNaviCtrl+26,r24
 382 03a6 8091 0000             lds r24,SenderOkay
 383 03aa 8093 0000             sts ToNaviCtrl+27,r24
 384 03ae 8091 0000             lds r24,SenderRSSI
 385 03b2 8093 0000             sts ToNaviCtrl+28,r24
 386 03b6 2091 0000             lds r18,DebugOut+16
 387 03ba 3091 0000             lds r19,DebugOut+17
 388 03be C901                  movw r24,r18
 389 03c0 97FD                  sbrc r25,7
 390 03c2 00C0                  rjmp .L41
 391                    .L23:
 392 03c4 9595                  asr r25
 393 03c6 8795                  ror r24
 394 03c8 9595                  asr r25
 395 03ca 8795                  ror r24
 396 03cc 8093 0000             sts ToNaviCtrl+29,r24
 397 03d0 8091 0000             lds r24,SPI_RxDataValid
 398 03d4 8823                  tst r24
 399 03d6 01F0                  breq .+2
 400 03d8 00C0                  rjmp .L42
 401                    .L26:
 402 03da 1092 0000             sts (GPS_Nick)+1,__zero_reg__
 403 03de 1092 0000             sts GPS_Nick,__zero_reg__
 404 03e2 1092 0000             sts (GPS_Roll)+1,__zero_reg__
 405 03e6 1092 0000             sts GPS_Roll,__zero_reg__
 406 03ea 1F91                  pop r17
 407 03ec 0F91                  pop r16
 408 03ee FF90                  pop r15
 409 03f0 EF90                  pop r14
 410 03f2 0895                  ret
 411                    .L36:
 412 03f4 2D5F                  subi r18,lo8(-(3))
 413 03f6 3F4F                  sbci r19,hi8(-(3))
 414 03f8 00C0                  rjmp .L5
 415                    .L35:
 416 03fa 2D5F                  subi r18,lo8(-(3))
 417 03fc 3F4F                  sbci r19,hi8(-(3))
 418 03fe 00C0                  rjmp .L4
 419                    .L38:
 420 0400 8F30                  cpi r24,lo8(15)
 421 0402 01F0                  breq .+2
 422 0404 00C0                  rjmp .L6
 423 0406 8091 0000             lds r24,EE_Parameter+47
 424 040a 8093 0000             sts ToNaviCtrl+19,r24
 425 040e 8091 0000             lds r24,EE_Parameter+87
 426 0412 8093 0000             sts ToNaviCtrl+20,r24
 427 0416 8091 0000             lds r24,Parameter_ServoNickControl
 428 041a 8093 0000             sts ToNaviCtrl+21,r24
 429 041e 8091 0000             lds r24,EE_Parameter+40
 430 0422 8093 0000             sts ToNaviCtrl+22,r24
 431 0426 8091 0000             lds r24,EE_Parameter+41
 432 042a 8093 0000             sts ToNaviCtrl+23,r24
 433 042e 8091 0000             lds r24,EE_Parameter+42
 434 0432 8093 0000             sts ToNaviCtrl+24,r24
 435 0436 8091 0000             lds r24,Parameter_ServoRollControl
 436 043a 8093 0000             sts ToNaviCtrl+25,r24
 437 043e 8091 0000             lds r24,EE_Parameter+44
 438 0442 8093 0000             sts ToNaviCtrl+26,r24
 439 0446 8091 0000             lds r24,EE_Parameter+45
 440 044a 8093 0000             sts ToNaviCtrl+27,r24
 441 044e 8091 0000             lds r24,EE_Parameter+46
 442 0452 8093 0000             sts ToNaviCtrl+28,r24
 443 0456 00C0                  rjmp .L6
 444                    .L39:
 445 0458 8091 0000             lds r24,EE_Parameter+8
 446 045c 85FF                  sbrs r24,5
 447 045e 00C0                  rjmp .L27
 448 0460 3093 0000             sts (GPS_Nick)+1,r19
 449 0464 2093 0000             sts GPS_Nick,r18
 450 0468 5093 0000             sts (GPS_Roll)+1,r21
 451 046c 4093 0000             sts GPS_Roll,r20
 452 0470 8AEF                  ldi r24,lo8(-6)
 453 0472 8093 0000             sts NaviDataOkay,r24
 454 0476 00C0                  rjmp .L27
 455                    .L40:
 456 0478 3093 0000             sts (beeptime)+1,r19
 457 047c 2093 0000             sts beeptime,r18
 458 0480 00C0                  rjmp .L29
 459                    .L11:
 460 0482 8091 0000             lds r24,SPI_VersionInfo
 461 0486 8093 0000             sts ToNaviCtrl+19,r24
 462 048a 8091 0000             lds r24,SPI_VersionInfo+1
 463 048e 8093 0000             sts ToNaviCtrl+20,r24
 464 0492 8091 0000             lds r24,SPI_VersionInfo+2
 465 0496 8093 0000             sts ToNaviCtrl+21,r24
 466 049a 8091 0000             lds r24,SPI_VersionInfo+3
 467 049e 8093 0000             sts ToNaviCtrl+22,r24
 468 04a2 8091 0000             lds r24,PlatinenVersion
 469 04a6 8093 0000             sts ToNaviCtrl+23,r24
 470 04aa 00C0                  rjmp .L6
 471                    .L9:
 472 04ac 8091 0000             lds r24,WinkelOut+6
 473 04b0 8630                  cpi r24,lo8(6)
 474 04b2 00F4                  brsh .+2
 475 04b4 00C0                  rjmp .L24
 476 04b6 1092 0000             sts WinkelOut+6,__zero_reg__
 477 04ba 85E0                  ldi r24,lo8(5)
 478 04bc 8093 0000             sts ToNaviCtrl+19,r24
 479                    .L25:
 480 04c0 8091 0000             lds r24,EE_Parameter+84
 481 04c4 8093 0000             sts ToNaviCtrl+20,r24
 482 04c8 8091 0000             lds r24,DebugOut+12
 483 04cc 9091 0000             lds r25,(DebugOut+12)+1
 484 04d0 9093 0000             sts (ToNaviCtrl+21)+1,r25
 485 04d4 8093 0000             sts ToNaviCtrl+21,r24
 486 04d8 6091 0000             lds r22,SollHoehe
 487 04dc 7091 0000             lds r23,(SollHoehe)+1
 488 04e0 8091 0000             lds r24,(SollHoehe)+2
 489 04e4 9091 0000             lds r25,(SollHoehe)+3
 490 04e8 25E0                  ldi r18,lo8(5)
 491 04ea 30E0                  ldi r19,hi8(5)
 492 04ec 40E0                  ldi r20,hlo8(5)
 493 04ee 50E0                  ldi r21,hhi8(5)
 494 04f0 0E94 0000             call __divmodsi4
 495 04f4 3093 0000             sts (ToNaviCtrl+23)+1,r19
 496 04f8 2093 0000             sts ToNaviCtrl+23,r18
 497 04fc 8091 0000             lds r24,EE_Parameter+74
 498 0500 8093 0000             sts ToNaviCtrl+25,r24
 499 0504 8091 0000             lds r24,EE_Parameter+75
 500 0508 8093 0000             sts ToNaviCtrl+26,r24
 501 050c 8091 0000             lds r24,EE_Parameter+76
 502 0510 8093 0000             sts ToNaviCtrl+27,r24
 503 0514 00C0                  rjmp .L6
 504                    .L7:
 505 0516 8091 0000             lds r24,Parameter_UserParam1
 506 051a 8093 0000             sts ToNaviCtrl+19,r24
 507 051e 8091 0000             lds r24,Parameter_UserParam2
 508 0522 8093 0000             sts ToNaviCtrl+20,r24
 509 0526 8091 0000             lds r24,Parameter_UserParam3
 510 052a 8093 0000             sts ToNaviCtrl+21,r24
 511 052e 8091 0000             lds r24,Parameter_UserParam4
 512 0532 8093 0000             sts ToNaviCtrl+22,r24
 513 0536 8091 0000             lds r24,Parameter_UserParam5
 514 053a 8093 0000             sts ToNaviCtrl+23,r24
 515 053e 8091 0000             lds r24,Parameter_UserParam6
 516 0542 8093 0000             sts ToNaviCtrl+24,r24
 517 0546 8091 0000             lds r24,Parameter_UserParam7
 518 054a 8093 0000             sts ToNaviCtrl+25,r24
 519 054e 8091 0000             lds r24,Parameter_UserParam8
 520 0552 8093 0000             sts ToNaviCtrl+26,r24
 521 0556 8091 0000             lds r24,MikroKopterFlags
 522 055a 8093 0000             sts ToNaviCtrl+27,r24
 523 055e 8091 0000             lds r24,MikroKopterFlags
 524 0562 837F                  andi r24,lo8(-13)
 525 0564 8093 0000             sts MikroKopterFlags,r24
 526 0568 8091 0000             lds r24,UBat
 527 056c 9091 0000             lds r25,(UBat)+1
 528 0570 8093 0000             sts ToNaviCtrl+28,r24
 529 0574 8091 0000             lds r24,BattLowVoltageWarning
 530 0578 8093 0000             sts ToNaviCtrl+29,r24
 531                    .L14:
 532 057c F999                  sbic 63-32,1
 533 057e 00C0                  rjmp .L14
 534 0580 80E0                  ldi r24,lo8(EEPromArray+2)
 535 0582 90E0                  ldi r25,hi8(EEPromArray+2)
 536 0584 92BD                  out (65)+1-32,r25
 537 0586 81BD                  out 65-32,r24
 538                    /* #APP */
 539                     ;  208 "c:/winavr-20090313/lib/gcc/../../avr/include/avr/eeprom.h" 1
 540                            /* START EEPROM READ CRITICAL SECTION */ 
 541 0588 F89A                  sbi 31, 0 
 542 058a 80B5                  in r24, 32 
 543                            /* END EEPROM READ CRITICAL SECTION */ 
 544                            
 545                     ;  0 "" 2
 546                    /* #NOAPP */
 547 058c 8093 0000             sts ToNaviCtrl+30,r24
 548 0590 00C0                  rjmp .L6
 549                    .L24:
 550 0592 8093 0000             sts ToNaviCtrl+19,r24
 551 0596 00C0                  rjmp .L25
 552                    .L41:
 553 0598 0396                  adiw r24,3
 554 059a 00C0                  rjmp .L23
 556                    .global SPI_StartTransmitPacket
 558                    SPI_StartTransmitPacket:
 559                    /* prologue: function */
 560                    /* frame size = 0 */
 561 059c 8091 0000             lds r24,SPITransferCompleted
 562 05a0 8823                  tst r24
 563 05a2 01F4                  brne .+2
 564 05a4 00C0                  rjmp .L46
 565 05a6 4598                  cbi 40-32,5
 566 05a8 80E0                  ldi r24,lo8(ToNaviCtrl)
 567 05aa 90E0                  ldi r25,hi8(ToNaviCtrl)
 568 05ac 9093 0000             sts (SPI_TX_Buffer)+1,r25
 569 05b0 8093 0000             sts SPI_TX_Buffer,r24
 570 05b4 9091 0000             lds r25,SPI_CommandCounter
 571 05b8 E92F                  mov r30,r25
 572 05ba F0E0                  ldi r31,lo8(0)
 573 05bc E050                  subi r30,lo8(-(SPI_CommandSequence))
 574 05be F040                  sbci r31,hi8(-(SPI_CommandSequence))
 575 05c0 8081                  ld r24,Z
 576 05c2 8093 0000             sts ToNaviCtrl+2,r24
 577 05c6 9F5F                  subi r25,lo8(-(1))
 578 05c8 9093 0000             sts SPI_CommandCounter,r25
 579 05cc 9730                  cpi r25,lo8(7)
 580 05ce 00F0                  brlo .L45
 581 05d0 1092 0000             sts SPI_CommandCounter,__zero_reg__
 582                    .L45:
 583 05d4 1092 0000             sts SPITransferCompleted,__zero_reg__
 584 05d8 0E94 0000             call UpdateSPI_Buffer
 585 05dc 81E0                  ldi r24,lo8(1)
 586 05de 8093 0000             sts SPI_BufferIndex,r24
 587                    /* #APP */
 588                     ;  75 "spi.c" 1
 589 05e2 0000                  nop
 590                     ;  0 "" 2
 591                     ;  75 "spi.c" 1
 592 05e4 0000                  nop
 593                     ;  0 "" 2
 594                     ;  75 "spi.c" 1
 595 05e6 0000                  nop
 596                     ;  0 "" 2
 597                     ;  75 "spi.c" 1
 598 05e8 0000                  nop
 599                     ;  0 "" 2
 600                     ;  75 "spi.c" 1
 601 05ea 0000                  nop
 602                     ;  0 "" 2
 603                     ;  75 "spi.c" 1
 604 05ec 0000                  nop
 605                     ;  0 "" 2
 606                     ;  75 "spi.c" 1
 607 05ee 0000                  nop
 608                     ;  0 "" 2
 609                     ;  75 "spi.c" 1
 610 05f0 0000                  nop
 611                     ;  0 "" 2
 612                     ;  76 "spi.c" 1
 613 05f2 0000                  nop
 614                     ;  0 "" 2
 615                     ;  76 "spi.c" 1
 616 05f4 0000                  nop
 617                     ;  0 "" 2
 618                     ;  76 "spi.c" 1
 619 05f6 0000                  nop
 620                     ;  0 "" 2
 621                     ;  76 "spi.c" 1
 622 05f8 0000                  nop
 623                     ;  0 "" 2
 624                     ;  76 "spi.c" 1
 625 05fa 0000                  nop
 626                     ;  0 "" 2
 627                     ;  76 "spi.c" 1
 628 05fc 0000                  nop
 629                     ;  0 "" 2
 630                     ;  76 "spi.c" 1
 631 05fe 0000                  nop
 632                     ;  0 "" 2
 633                     ;  76 "spi.c" 1
 634 0600 0000                  nop
 635                     ;  0 "" 2
 636                     ;  77 "spi.c" 1
 637 0602 0000                  nop
 638                     ;  0 "" 2
 639                     ;  77 "spi.c" 1
 640 0604 0000                  nop
 641                     ;  0 "" 2
 642                     ;  77 "spi.c" 1
 643 0606 0000                  nop
 644                     ;  0 "" 2
 645                     ;  77 "spi.c" 1
 646 0608 0000                  nop
 647                     ;  0 "" 2
 648                     ;  77 "spi.c" 1
 649 060a 0000                  nop
 650                     ;  0 "" 2
 651                     ;  77 "spi.c" 1
 652 060c 0000                  nop
 653                     ;  0 "" 2
 654                     ;  77 "spi.c" 1
 655 060e 0000                  nop
 656                     ;  0 "" 2
 657                     ;  77 "spi.c" 1
 658 0610 0000                  nop
 659                     ;  0 "" 2
 660                    /* #NOAPP */
 661 0612 8091 0000             lds r24,ToNaviCtrl
 662 0616 8093 0000             sts ToNaviCtrl+31,r24
 663 061a 8EBD                  out 78-32,r24
 664                    .L46:
 665 061c 0895                  ret
 667                    .global SPI_TransmitByte
 669                    SPI_TransmitByte:
 670                    /* prologue: function */
 671                    /* frame size = 0 */
 672 061e 8091 0000             lds r24,SPITransferCompleted
 673 0622 8823                  tst r24
 674 0624 01F4                  brne .L60
 675 0626 0DB4                  in __tmp_reg__,77-32
 676 0628 07FE                  sbrs __tmp_reg__,7
 677                    .L60:
 678 062a 0895                  ret
 679                    .L62:
 680 062c 84E0                  ldi r24,lo8(4)
 681 062e 8093 0000             sts SendSPI,r24
 682 0632 459A                  sbi 40-32,5
 683 0634 9EB5                  in r25,78-32
 684 0636 8091 0000             lds r24,SPI_RXState.2167
 685 063a 8130                  cpi r24,lo8(1)
 686 063c 01F4                  brne .+2
 687 063e 00C0                  rjmp .L51
 688 0640 8130                  cpi r24,lo8(1)
 689 0642 00F0                  brlo .+2
 690 0644 00C0                  rjmp .L63
 691 0646 1092 0000             sts SPI_RxBufferIndex,__zero_reg__
 692 064a 9093 0000             sts rxchksum.2169,r25
 693 064e 9138                  cpi r25,lo8(-127)
 694 0650 01F4                  brne .+2
 695 0652 00C0                  rjmp .L64
 696                    .L49:
 697 0654 2091 0000             lds r18,SPI_BufferIndex
 698 0658 2032                  cpi r18,lo8(32)
 699 065a 00F0                  brlo .+2
 700 065c 00C0                  rjmp .L58
 701 065e 4598                  cbi 40-32,5
 702                    /* #APP */
 703                     ;  143 "spi.c" 1
 704 0660 0000                  nop
 705                     ;  0 "" 2
 706                     ;  143 "spi.c" 1
 707 0662 0000                  nop
 708                     ;  0 "" 2
 709                     ;  143 "spi.c" 1
 710 0664 0000                  nop
 711                     ;  0 "" 2
 712                     ;  143 "spi.c" 1
 713 0666 0000                  nop
 714                     ;  0 "" 2
 715                     ;  143 "spi.c" 1
 716 0668 0000                  nop
 717                     ;  0 "" 2
 718                     ;  143 "spi.c" 1
 719 066a 0000                  nop
 720                     ;  0 "" 2
 721                     ;  143 "spi.c" 1
 722 066c 0000                  nop
 723                     ;  0 "" 2
 724                     ;  143 "spi.c" 1
 725 066e 0000                  nop
 726                     ;  0 "" 2
 727                     ;  144 "spi.c" 1
 728 0670 0000                  nop
 729                     ;  0 "" 2
 730                     ;  144 "spi.c" 1
 731 0672 0000                  nop
 732                     ;  0 "" 2
 733                     ;  144 "spi.c" 1
 734 0674 0000                  nop
 735                     ;  0 "" 2
 736                     ;  144 "spi.c" 1
 737 0676 0000                  nop
 738                     ;  0 "" 2
 739                     ;  144 "spi.c" 1
 740 0678 0000                  nop
 741                     ;  0 "" 2
 742                     ;  144 "spi.c" 1
 743 067a 0000                  nop
 744                     ;  0 "" 2
 745                     ;  144 "spi.c" 1
 746 067c 0000                  nop
 747                     ;  0 "" 2
 748                     ;  144 "spi.c" 1
 749 067e 0000                  nop
 750                     ;  0 "" 2
 751                     ;  145 "spi.c" 1
 752 0680 0000                  nop
 753                     ;  0 "" 2
 754                     ;  145 "spi.c" 1
 755 0682 0000                  nop
 756                     ;  0 "" 2
 757                     ;  145 "spi.c" 1
 758 0684 0000                  nop
 759                     ;  0 "" 2
 760                     ;  145 "spi.c" 1
 761 0686 0000                  nop
 762                     ;  0 "" 2
 763                     ;  145 "spi.c" 1
 764 0688 0000                  nop
 765                     ;  0 "" 2
 766                     ;  145 "spi.c" 1
 767 068a 0000                  nop
 768                     ;  0 "" 2
 769                     ;  145 "spi.c" 1
 770 068c 0000                  nop
 771                     ;  0 "" 2
 772                     ;  145 "spi.c" 1
 773 068e 0000                  nop
 774                     ;  0 "" 2
 775                    /* #NOAPP */
 776 0690 E091 0000             lds r30,SPI_TX_Buffer
 777 0694 F091 0000             lds r31,(SPI_TX_Buffer)+1
 778 0698 E20F                  add r30,r18
 779 069a F11D                  adc r31,__zero_reg__
 780 069c 8081                  ld r24,Z
 781 069e 8EBD                  out 78-32,r24
 782 06a0 9091 0000             lds r25,ToNaviCtrl+31
 783 06a4 890F                  add r24,r25
 784 06a6 8093 0000             sts ToNaviCtrl+31,r24
 785                    .L59:
 786 06aa 2F5F                  subi r18,lo8(-(1))
 787 06ac 2093 0000             sts SPI_BufferIndex,r18
 788 06b0 0895                  ret
 789                    .L58:
 790 06b2 81E0                  ldi r24,lo8(1)
 791 06b4 8093 0000             sts SPITransferCompleted,r24
 792 06b8 00C0                  rjmp .L59
 793                    .L63:
 794 06ba 8230                  cpi r24,lo8(2)
 795 06bc 01F0                  breq .+2
 796 06be 00C0                  rjmp .L49
 797 06c0 8091 0000             lds r24,SPI_RxBufferIndex
 798 06c4 E82F                  mov r30,r24
 799 06c6 F0E0                  ldi r31,lo8(0)
 800 06c8 E050                  subi r30,lo8(-(SPI_Buffer))
 801 06ca F040                  sbci r31,hi8(-(SPI_Buffer))
 802 06cc 9083                  st Z,r25
 803 06ce 8F5F                  subi r24,lo8(-(1))
 804 06d0 8093 0000             sts SPI_RxBufferIndex,r24
 805 06d4 8A31                  cpi r24,lo8(26)
 806 06d6 00F0                  brlo .L54
 807 06d8 8091 0000             lds r24,rxchksum.2169
 808 06dc 9817                  cp r25,r24
 809 06de 01F0                  breq .L65
 810 06e0 1092 0000             sts SPI_RxDataValid,__zero_reg__
 811                    .L57:
 812 06e4 1092 0000             sts SPI_RXState.2167,__zero_reg__
 813 06e8 00C0                  rjmp .L49
 814                    .L64:
 815 06ea 81E0                  ldi r24,lo8(1)
 816 06ec 8093 0000             sts SPI_RXState.2167,r24
 817 06f0 00C0                  rjmp .L49
 818                    .L51:
 819 06f2 9535                  cpi r25,lo8(85)
 820 06f4 01F4                  brne .L57
 821 06f6 8091 0000             lds r24,rxchksum.2169
 822 06fa 8B5A                  subi r24,lo8(-(85))
 823 06fc 8093 0000             sts rxchksum.2169,r24
 824 0700 82E0                  ldi r24,lo8(2)
 825 0702 8093 0000             sts SPI_RXState.2167,r24
 826 0706 00C0                  rjmp .L49
 827                    .L54:
 828 0708 8091 0000             lds r24,rxchksum.2169
 829 070c 890F                  add r24,r25
 830 070e 8093 0000             sts rxchksum.2169,r24
 831 0712 00C0                  rjmp .L49
 832                    .L65:
 833 0714 A0E0                  ldi r26,lo8(FromNaviCtrl)
 834 0716 B0E0                  ldi r27,hi8(FromNaviCtrl)
 835 0718 E0E0                  ldi r30,lo8(SPI_Buffer)
 836 071a F0E0                  ldi r31,hi8(SPI_Buffer)
 837 071c 8AE1                  ldi r24,lo8(26)
 838                    .L56:
 839 071e 0190                  ld r0,Z+
 840 0720 0D92                  st X+,r0
 841 0722 8150                  subi r24,lo8(-(-1))
 842 0724 01F4                  brne .L56
 843 0726 81E0                  ldi r24,lo8(1)
 844 0728 8093 0000             sts SPI_RxDataValid,r24
 845 072c 00C0                  rjmp .L57
 847                    .global NaviDataOkay
 848                    .global NaviDataOkay
 849                            .section .bss
 852                    NaviDataOkay:
 853 0000 00                    .skip 1,0
 854                    .global SPI_CommandSequence
 855                            .data
 858                    SPI_CommandSequence:
 859 0000 0A                    .byte   10
 860 0001 0B                    .byte   11
 861 0002 0D                    .byte   13
 862 0003 0B                    .byte   11
 863 0004 0C                    .byte   12
 864 0005 0E                    .byte   14
 865 0006 0F                    .byte   15
 866                    .global SPI_CommandCounter
 867                    .global SPI_CommandCounter
 868                            .section .bss
 871                    SPI_CommandCounter:
 872 0001 00                    .skip 1,0
 873                            .lcomm rxchksum.2169,1
 874                            .lcomm SPI_RXState.2167,1
 875                            .comm Mixer,77,1
 876                            .comm FromNaviCtrl_Value,5,1
 877                            .comm ToNaviCtrl,32,1
 878                            .comm FromNaviCtrl,26,1
 879                            .comm SPI_VersionInfo,4,1
 880                            .comm SPI_BufferIndex,1,1
 881                            .comm SPI_RxBufferIndex,1,1
 882                            .comm SPI_Buffer,26,1
 883                            .comm SPI_TX_Buffer,2,1
 884                            .comm SPITransferCompleted,1,1
 885                            .comm SPI_ChkSum,1,1
 886                            .comm SPI_RxDataValid,1,1
 887                    .global __do_copy_data
 888                    .global __do_clear_bss
DEFINED SYMBOLS
                            *ABS*:00000000 spi.c
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:2      *ABS*:0000003f __SREG__
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:3      *ABS*:0000003e __SP_H__
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:4      *ABS*:0000003d __SP_L__
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:5      *ABS*:00000034 __CCP__
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:6      *ABS*:00000000 __tmp_reg__
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:7      *ABS*:00000001 __zero_reg__
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:11     .text:00000000 SPI_MasterInit
                            *COM*:00000001 SPITransferCompleted
                            *COM*:00000020 ToNaviCtrl
                            *COM*:00000005 FromNaviCtrl_Value
                            *COM*:00000001 SPI_RxDataValid
                            *COM*:00000004 SPI_VersionInfo
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:47     .text:00000056 UpdateSPI_Buffer
                            *COM*:0000001a FromNaviCtrl
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:852    .bss:00000000 NaviDataOkay
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:558    .text:0000059c SPI_StartTransmitPacket
                            *COM*:00000002 SPI_TX_Buffer
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:871    .bss:00000001 SPI_CommandCounter
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:858    .data:00000000 SPI_CommandSequence
                            *COM*:00000001 SPI_BufferIndex
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:669    .text:0000061e SPI_TransmitByte
C:\Users\Arthur\AppData\Local\Temp/ccpqxFQf.s:873    .bss:00000003 SPI_RXState.2167
                            *COM*:00000001 SPI_RxBufferIndex
                             .bss:00000002 rxchksum.2169
                            *COM*:0000001a SPI_Buffer
                            *COM*:0000004d Mixer
                            *COM*:00000001 SPI_ChkSum

UNDEFINED SYMBOLS
EE_Parameter
IntegralNick
__divmodsi4
IntegralRoll
ErsatzKompass
__mulsi3
GIER_GRAD_FAKTOR
NaviCntAcc
NaviAccNick
__divmodhi4
NaviAccRoll
KompassValue
KompassStartwert
KompassRichtung
beeptime
WinkelOut
PPM_in
Poti1
Poti2
Poti3
Poti4
SenderOkay
SenderRSSI
DebugOut
GPS_Nick
GPS_Roll
Parameter_ServoNickControl
Parameter_ServoRollControl
PlatinenVersion
SollHoehe
Parameter_UserParam1
Parameter_UserParam2
Parameter_UserParam3
Parameter_UserParam4
Parameter_UserParam5
Parameter_UserParam6
Parameter_UserParam7
Parameter_UserParam8
MikroKopterFlags
UBat
BattLowVoltageWarning
EEPromArray
SendSPI
__do_copy_data
__do_clear_bss