Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

   1                            .file   "eeprom.c"
   2                            .arch atmega644p
   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                            .text
  11                    .global RAM_Checksum
  13                    RAM_Checksum:
  14                    /* prologue: frame size=0 */
  15                    /* prologue end (size=0) */
  16 0000 4AEA                  ldi r20,lo8(-86)
  17 0002 20E0                  ldi r18,lo8(0)
  18 0004 30E0                  ldi r19,hi8(0)
  19 0006 2617                  cp r18,r22
  20 0008 3707                  cpc r19,r23
  21 000a 40F4                  brsh .L7
  22 000c FC01                  movw r30,r24
  23                    .L5:
  24 000e 8191                  ld r24,Z+
  25 0010 480F                  add r20,r24
  26 0012 2F5F                  subi r18,lo8(-(1))
  27 0014 3F4F                  sbci r19,hi8(-(1))
  28 0016 2617                  cp r18,r22
  29 0018 3707                  cpc r19,r23
  30 001a C8F3                  brlo .L5
  31                    .L7:
  32 001c 842F                  mov r24,r20
  33 001e 9927                  clr r25
  34                    /* epilogue: frame size=0 */
  35 0020 0895                  ret
  36                    /* epilogue end (size=1) */
  37                    /* function RAM_Checksum size 17 (16) */
  39                    .global EEProm_Checksum
  41                    EEProm_Checksum:
  42                    /* prologue: frame size=0 */
  43                    /* prologue end (size=0) */
  44 0022 AC01                  movw r20,r24
  45 0024 9AEA                  ldi r25,lo8(-86)
  46 0026 20E0                  ldi r18,lo8(0)
  47 0028 30E0                  ldi r19,hi8(0)
  48                    .L16:
  49 002a 2617                  cp r18,r22
  50 002c 3707                  cpc r19,r23
  51 002e 50F4                  brsh .L15
  52 0030 DA01                  movw r26,r20
  53 0032 A20F                  add r26,r18
  54 0034 B31F                  adc r27,r19
  55                    /* #APP */
  56 0036 0E94 0000             call __eeprom_read_byte_1F2021
  57 003a 802D                  mov r24,__tmp_reg__
  58                    /* #NOAPP */
  59 003c 980F                  add r25,r24
  60 003e 2F5F                  subi r18,lo8(-(1))
  61 0040 3F4F                  sbci r19,hi8(-(1))
  62 0042 F3CF                  rjmp .L16
  63                    .L15:
  64 0044 892F                  mov r24,r25
  65 0046 9927                  clr r25
  66                    /* epilogue: frame size=0 */
  67 0048 0895                  ret
  68                    /* epilogue end (size=1) */
  69                    /* function EEProm_Checksum size 21 (20) */
  71                    .global ParamSet_DefaultStickMapping
  73                    ParamSet_DefaultStickMapping:
  74                    /* prologue: frame size=0 */
  75                    /* prologue end (size=0) */
  76 004a 81E0                  ldi r24,lo8(1)
  77 004c 8093 0000             sts EE_Parameter+3,r24
  78 0050 82E0                  ldi r24,lo8(2)
  79 0052 8093 0000             sts EE_Parameter+2,r24
  80 0056 83E0                  ldi r24,lo8(3)
  81 0058 8093 0000             sts EE_Parameter+1,r24
  82 005c 84E0                  ldi r24,lo8(4)
  83 005e 8093 0000             sts EE_Parameter+4,r24
  84 0062 85E0                  ldi r24,lo8(5)
  85 0064 8093 0000             sts EE_Parameter+5,r24
  86 0068 86E0                  ldi r24,lo8(6)
  87 006a 8093 0000             sts EE_Parameter+6,r24
  88 006e 87E0                  ldi r24,lo8(7)
  89 0070 8093 0000             sts EE_Parameter+7,r24
  90 0074 88E0                  ldi r24,lo8(8)
  91 0076 8093 0000             sts EE_Parameter+8,r24
  92 007a 89E0                  ldi r24,lo8(9)
  93 007c 8093 0000             sts EE_Parameter+9,r24
  94 0080 8AE0                  ldi r24,lo8(10)
  95 0082 8093 0000             sts EE_Parameter+10,r24
  96 0086 8BE0                  ldi r24,lo8(11)
  97 0088 8093 0000             sts EE_Parameter+11,r24
  98 008c 8CE0                  ldi r24,lo8(12)
  99 008e 8093 0000             sts EE_Parameter+12,r24
 100                    /* epilogue: frame size=0 */
 101 0092 0895                  ret
 102                    /* epilogue end (size=1) */
 103                    /* function ParamSet_DefaultStickMapping size 37 (36) */
 105                    .global CommonDefaults
 107                    CommonDefaults:
 108                    /* prologue: frame size=0 */
 109                    /* prologue end (size=0) */
 110 0094 95E5                  ldi r25,lo8(85)
 111 0096 9093 0000             sts EE_Parameter,r25
 112 009a 8091 0000             lds r24,PlatinenVersion
 113 009e 8431                  cpi r24,lo8(20)
 114 00a0 70F0                  brlo .L19
 115 00a2 8AE0                  ldi r24,lo8(10)
 116 00a4 8093 0000             sts EE_Parameter+32,r24
 117 00a8 1092 0000             sts EE_Parameter+68,__zero_reg__
 118 00ac 8BE1                  ldi r24,lo8(27)
 119 00ae 8093 0000             sts EE_Parameter+28,r24
 120 00b2 8EE4                  ldi r24,lo8(78)
 121 00b4 8093 0000             sts EE_Parameter+65,r24
 122 00b8 8093 0000             sts EE_Parameter+66,r24
 123 00bc 0DC0                  rjmp .L20
 124                    .L19:
 125 00be 83E0                  ldi r24,lo8(3)
 126 00c0 8093 0000             sts EE_Parameter+32,r24
 127 00c4 80E2                  ldi r24,lo8(32)
 128 00c6 8093 0000             sts EE_Parameter+68,r24
 129 00ca 8EE1                  ldi r24,lo8(30)
 130 00cc 8093 0000             sts EE_Parameter+28,r24
 131 00d0 9093 0000             sts EE_Parameter+65,r25
 132 00d4 9093 0000             sts EE_Parameter+66,r25
 133                    .L20:
 134 00d8 8AE6                  ldi r24,lo8(106)
 135 00da 8093 0000             sts EE_Parameter+13,r24
 136 00de 83E0                  ldi r24,lo8(3)
 137 00e0 8093 0000             sts EE_Parameter+102,r24
 138 00e4 81E0                  ldi r24,lo8(1)
 139 00e6 8093 0000             sts EE_Parameter+39,r24
 140 00ea 1092 0000             sts EE_Parameter+99,__zero_reg__
 141 00ee 1092 0000             sts EE_Parameter+96,__zero_reg__
 142 00f2 68E0                  ldi r22,lo8(8)
 143 00f4 6093 0000             sts EE_Parameter+26,r22
 144 00f8 86EE                  ldi r24,lo8(-26)
 145 00fa 8093 0000             sts EE_Parameter+27,r24
 146 00fe 80E8                  ldi r24,lo8(-128)
 147 0100 8093 0000             sts EE_Parameter+29,r24
 148 0104 5EE1                  ldi r21,lo8(30)
 149 0106 5093 0000             sts EE_Parameter+14,r21
 150 010a 8FEF                  ldi r24,lo8(-1)
 151 010c 8093 0000             sts EE_Parameter+16,r24
 152 0110 9FE0                  ldi r25,lo8(15)
 153 0112 9093 0000             sts EE_Parameter+17,r25
 154 0116 5093 0000             sts EE_Parameter+15,r21
 155 011a 1092 0000             sts EE_Parameter+19,__zero_reg__
 156 011e 6093 0000             sts EE_Parameter+20,r22
 157 0122 80E4                  ldi r24,lo8(64)
 158 0124 8093 0000             sts EE_Parameter+21,r24
 159 0128 1092 0000             sts EE_Parameter+22,__zero_reg__
 160 012c 9093 0000             sts EE_Parameter+18,r25
 161 0130 1092 0000             sts EE_Parameter+41,__zero_reg__
 162 0134 1092 0000             sts EE_Parameter+42,__zero_reg__
 163 0138 1092 0000             sts EE_Parameter+43,__zero_reg__
 164 013c 1092 0000             sts EE_Parameter+44,__zero_reg__
 165 0140 1092 0000             sts EE_Parameter+70,__zero_reg__
 166 0144 1092 0000             sts EE_Parameter+71,__zero_reg__
 167 0148 1092 0000             sts EE_Parameter+72,__zero_reg__
 168 014c 1092 0000             sts EE_Parameter+73,__zero_reg__
 169 0150 38E7                  ldi r19,lo8(120)
 170 0152 3093 0000             sts EE_Parameter+45,r19
 171 0156 48E2                  ldi r20,lo8(40)
 172 0158 4093 0000             sts EE_Parameter+46,r20
 173 015c 72E0                  ldi r23,lo8(2)
 174 015e 7093 0000             sts EE_Parameter+101,r23
 175 0162 9093 0000             sts EE_Parameter+47,r25
 176 0166 27EF                  ldi r18,lo8(-9)
 177 0168 2093 0000             sts EE_Parameter+48,r18
 178 016c 85E0                  ldi r24,lo8(5)
 179 016e 8093 0000             sts EE_Parameter+53,r24
 180 0172 8DE7                  ldi r24,lo8(125)
 181 0174 8093 0000             sts EE_Parameter+56,r24
 182 0178 8093 0000             sts EE_Parameter+57,r24
 183 017c 8093 0000             sts EE_Parameter+58,r24
 184 0180 3093 0000             sts EE_Parameter+49,r19
 185 0184 9AE5                  ldi r25,lo8(90)
 186 0186 9093 0000             sts EE_Parameter+50,r25
 187 018a 1092 0000             sts EE_Parameter+51,__zero_reg__
 188 018e 2093 0000             sts EE_Parameter+52,r18
 189 0192 4093 0000             sts EE_Parameter+54,r20
 190 0196 1092 0000             sts EE_Parameter+55,__zero_reg__
 191 019a 8FE5                  ldi r24,lo8(95)
 192 019c 8093 0000             sts EE_Parameter+74,r24
 193 01a0 83EF                  ldi r24,lo8(-13)
 194 01a2 8093 0000             sts EE_Parameter+76,r24
 195 01a6 8AEA                  ldi r24,lo8(-86)
 196 01a8 8093 0000             sts EE_Parameter+78,r24
 197 01ac 8093 0000             sts EE_Parameter+79,r24
 198 01b0 84E1                  ldi r24,lo8(20)
 199 01b2 8093 0000             sts EE_Parameter+75,r24
 200 01b6 8093 0000             sts EE_Parameter+77,r24
 201 01ba 82E3                  ldi r24,lo8(50)
 202 01bc 8093 0000             sts EE_Parameter+59,r24
 203 01c0 9093 0000             sts EE_Parameter+60,r25
 204 01c4 8093 0000             sts EE_Parameter+61,r24
 205 01c8 1092 0000             sts EE_Parameter+100,__zero_reg__
 206 01cc 8EEF                  ldi r24,lo8(-2)
 207 01ce 8093 0000             sts EE_Parameter+80,r24
 208 01d2 24E6                  ldi r18,lo8(100)
 209 01d4 2093 0000             sts EE_Parameter+81,r18
 210 01d8 9093 0000             sts EE_Parameter+82,r25
 211 01dc 9093 0000             sts EE_Parameter+83,r25
 212 01e0 9093 0000             sts EE_Parameter+84,r25
 213 01e4 8BE4                  ldi r24,lo8(75)
 214 01e6 8093 0000             sts EE_Parameter+85,r24
 215 01ea 8093 0000             sts EE_Parameter+86,r24
 216 01ee 8093 0000             sts EE_Parameter+87,r24
 217 01f2 1092 0000             sts EE_Parameter+88,__zero_reg__
 218 01f6 86E0                  ldi r24,lo8(6)
 219 01f8 8093 0000             sts EE_Parameter+89,r24
 220 01fc 6093 0000             sts EE_Parameter+90,r22
 221 0200 9093 0000             sts EE_Parameter+91,r25
 222 0204 5093 0000             sts EE_Parameter+92,r21
 223 0208 2093 0000             sts EE_Parameter+93,r18
 224 020c 2093 0000             sts EE_Parameter+94,r18
 225 0210 7093 0000             sts EE_Parameter+95,r23
 226 0214 1092 0000             sts EE_Parameter+97,__zero_reg__
 227 0218 1092 0000             sts EE_Parameter+98,__zero_reg__
 228 021c 81E2                  ldi r24,lo8(33)
 229 021e 8093 0000             sts EE_Parameter+36,r24
 230 0222 8DE2                  ldi r24,lo8(45)
 231 0224 8093 0000             sts EE_Parameter+37,r24
 232 0228 9093 0000             sts EE_Parameter+38,r25
 233                    /* epilogue: frame size=0 */
 234 022c 0895                  ret
 235                    /* epilogue end (size=1) */
 236                    /* function CommonDefaults size 205 (204) */
 238                            .data
 239                    .LC0:
 240 0000 5370 6F72             .string "Sport"
 240      7400 
 241 0006 00                    .string ""
 242                            .text
 243                    .global ParamSet_DefaultSet1
 245                    ParamSet_DefaultSet1:
 246                    /* prologue: frame size=0 */
 247 022e CF93                  push r28
 248 0230 DF93                  push r29
 249                    /* prologue end (size=2) */
 250 0232 0E94 0000             call CommonDefaults
 251 0236 8EE0                  ldi r24,lo8(14)
 252 0238 8093 0000             sts EE_Parameter+23,r24
 253 023c 20E1                  ldi r18,lo8(16)
 254 023e 2093 0000             sts EE_Parameter+24,r18
 255 0242 3CE0                  ldi r19,lo8(12)
 256 0244 3093 0000             sts EE_Parameter+25,r19
 257 0248 90E5                  ldi r25,lo8(80)
 258 024a 9093 0000             sts EE_Parameter+30,r25
 259 024e 86E9                  ldi r24,lo8(-106)
 260 0250 8093 0000             sts EE_Parameter+31,r24
 261 0254 9093 0000             sts EE_Parameter+33,r25
 262 0258 8093 0000             sts EE_Parameter+34,r24
 263 025c 86E0                  ldi r24,lo8(6)
 264 025e 8093 0000             sts EE_Parameter+35,r24
 265 0262 80E2                  ldi r24,lo8(32)
 266 0264 8093 0000             sts EE_Parameter+40,r24
 267 0268 8AE5                  ldi r24,lo8(90)
 268 026a 8093 0000             sts EE_Parameter+62,r24
 269 026e 9093 0000             sts EE_Parameter+63,r25
 270 0272 81E0                  ldi r24,lo8(1)
 271 0274 8093 0000             sts EE_Parameter+64,r24
 272 0278 2093 0000             sts EE_Parameter+67,r18
 273 027c 84E6                  ldi r24,lo8(100)
 274 027e 8093 0000             sts EE_Parameter+69,r24
 275 0282 A0E0                  ldi r26,lo8(EE_Parameter+103)
 276 0284 B0E0                  ldi r27,hi8(EE_Parameter+103)
 277 0286 E0E0                  ldi r30,lo8(.LC0)
 278 0288 F0E0                  ldi r31,hi8(.LC0)
 279 028a ED01                  movw r28,r26
 280 028c 0190                  ld __tmp_reg__,Z+
 281 028e 0992                  st Y+,__tmp_reg__
 282 0290 3A95                  dec r19
 283 0292 E1F7                  brne .-8
 284 0294 63E7                  ldi r22,lo8(115)
 285 0296 70E0                  ldi r23,hi8(115)
 286 0298 CD01                  movw r24,r26
 287 029a 8756                  subi r24,lo8(-(-103))
 288 029c 9040                  sbci r25,hi8(-(-103))
 289 029e 0E94 0000             call RAM_Checksum
 290 02a2 8093 0000             sts EE_Parameter+115,r24
 291                    /* epilogue: frame size=0 */
 292 02a6 DF91                  pop r29
 293 02a8 CF91                  pop r28
 294 02aa 0895                  ret
 295                    /* epilogue end (size=3) */
 296                    /* function ParamSet_DefaultSet1 size 63 (58) */
 298                            .data
 299                    .LC1:
 300 0007 4E6F 726D             .string "Normal"
 300      616C 00
 301 000e 00                    .string ""
 302                            .text
 303                    .global ParamSet_DefaultSet2
 305                    ParamSet_DefaultSet2:
 306                    /* prologue: frame size=0 */
 307 02ac CF93                  push r28
 308 02ae DF93                  push r29
 309                    /* prologue end (size=2) */
 310 02b0 0E94 0000             call CommonDefaults
 311 02b4 8AE0                  ldi r24,lo8(10)
 312 02b6 8093 0000             sts EE_Parameter+23,r24
 313 02ba 80E1                  ldi r24,lo8(16)
 314 02bc 8093 0000             sts EE_Parameter+24,r24
 315 02c0 26E0                  ldi r18,lo8(6)
 316 02c2 2093 0000             sts EE_Parameter+25,r18
 317 02c6 9AE5                  ldi r25,lo8(90)
 318 02c8 9093 0000             sts EE_Parameter+30,r25
 319 02cc 88E7                  ldi r24,lo8(120)
 320 02ce 8093 0000             sts EE_Parameter+31,r24
 321 02d2 9093 0000             sts EE_Parameter+33,r25
 322 02d6 8093 0000             sts EE_Parameter+34,r24
 323 02da 2093 0000             sts EE_Parameter+35,r18
 324 02de 20E2                  ldi r18,lo8(32)
 325 02e0 2093 0000             sts EE_Parameter+40,r18
 326 02e4 9093 0000             sts EE_Parameter+62,r25
 327 02e8 80E5                  ldi r24,lo8(80)
 328 02ea 8093 0000             sts EE_Parameter+63,r24
 329 02ee 8CE3                  ldi r24,lo8(60)
 330 02f0 8093 0000             sts EE_Parameter+64,r24
 331 02f4 2093 0000             sts EE_Parameter+67,r18
 332 02f8 8BE4                  ldi r24,lo8(75)
 333 02fa 8093 0000             sts EE_Parameter+69,r24
 334 02fe A0E0                  ldi r26,lo8(EE_Parameter+103)
 335 0300 B0E0                  ldi r27,hi8(EE_Parameter+103)
 336 0302 8CE0                  ldi r24,lo8(12)
 337 0304 E0E0                  ldi r30,lo8(.LC1)
 338 0306 F0E0                  ldi r31,hi8(.LC1)
 339 0308 ED01                  movw r28,r26
 340 030a 0190                  ld __tmp_reg__,Z+
 341 030c 0992                  st Y+,__tmp_reg__
 342 030e 8A95                  dec r24
 343 0310 E1F7                  brne .-8
 344 0312 63E7                  ldi r22,lo8(115)
 345 0314 70E0                  ldi r23,hi8(115)
 346 0316 CD01                  movw r24,r26
 347 0318 8756                  subi r24,lo8(-(-103))
 348 031a 9040                  sbci r25,hi8(-(-103))
 349 031c 0E94 0000             call RAM_Checksum
 350 0320 8093 0000             sts EE_Parameter+115,r24
 351                    /* epilogue: frame size=0 */
 352 0324 DF91                  pop r29
 353 0326 CF91                  pop r28
 354 0328 0895                  ret
 355                    /* epilogue end (size=3) */
 356                    /* function ParamSet_DefaultSet2 size 63 (58) */
 358                            .data
 359                    .LC2:
 360 000f 4265 6769             .string "Beginner"
 360      6E6E 6572 
 360      00
 361 0018 00                    .string ""
 362                            .text
 363                    .global ParamSet_DefaultSet3
 365                    ParamSet_DefaultSet3:
 366                    /* prologue: frame size=0 */
 367 032a CF93                  push r28
 368 032c DF93                  push r29
 369                    /* prologue end (size=2) */
 370 032e 0E94 0000             call CommonDefaults
 371 0332 88E0                  ldi r24,lo8(8)
 372 0334 8093 0000             sts EE_Parameter+23,r24
 373 0338 30E1                  ldi r19,lo8(16)
 374 033a 3093 0000             sts EE_Parameter+24,r19
 375 033e 26E0                  ldi r18,lo8(6)
 376 0340 2093 0000             sts EE_Parameter+25,r18
 377 0344 94E6                  ldi r25,lo8(100)
 378 0346 9093 0000             sts EE_Parameter+30,r25
 379 034a 88E7                  ldi r24,lo8(120)
 380 034c 8093 0000             sts EE_Parameter+31,r24
 381 0350 9093 0000             sts EE_Parameter+33,r25
 382 0354 8093 0000             sts EE_Parameter+34,r24
 383 0358 2093 0000             sts EE_Parameter+35,r18
 384 035c 3093 0000             sts EE_Parameter+40,r19
 385 0360 8AE5                  ldi r24,lo8(90)
 386 0362 8093 0000             sts EE_Parameter+62,r24
 387 0366 80E5                  ldi r24,lo8(80)
 388 0368 8093 0000             sts EE_Parameter+63,r24
 389 036c 96E4                  ldi r25,lo8(70)
 390 036e 9093 0000             sts EE_Parameter+64,r25
 391 0372 80E2                  ldi r24,lo8(32)
 392 0374 8093 0000             sts EE_Parameter+67,r24
 393 0378 9093 0000             sts EE_Parameter+69,r25
 394 037c A0E0                  ldi r26,lo8(EE_Parameter+103)
 395 037e B0E0                  ldi r27,hi8(EE_Parameter+103)
 396 0380 8CE0                  ldi r24,lo8(12)
 397 0382 E0E0                  ldi r30,lo8(.LC2)
 398 0384 F0E0                  ldi r31,hi8(.LC2)
 399 0386 ED01                  movw r28,r26
 400 0388 0190                  ld __tmp_reg__,Z+
 401 038a 0992                  st Y+,__tmp_reg__
 402 038c 8A95                  dec r24
 403 038e E1F7                  brne .-8
 404 0390 63E7                  ldi r22,lo8(115)
 405 0392 70E0                  ldi r23,hi8(115)
 406 0394 CD01                  movw r24,r26
 407 0396 8756                  subi r24,lo8(-(-103))
 408 0398 9040                  sbci r25,hi8(-(-103))
 409 039a 0E94 0000             call RAM_Checksum
 410 039e 8093 0000             sts EE_Parameter+115,r24
 411                    /* epilogue: frame size=0 */
 412 03a2 DF91                  pop r29
 413 03a4 CF91                  pop r28
 414 03a6 0895                  ret
 415                    /* epilogue end (size=3) */
 416                    /* function ParamSet_DefaultSet3 size 63 (58) */
 418                    .global GetParamByte
 420                    GetParamByte:
 421                    /* prologue: frame size=0 */
 422                    /* prologue end (size=0) */
 423 03a8 DC01                  movw r26,r24
 424                    /* #APP */
 425 03aa 0E94 0000             call __eeprom_read_byte_1F2021
 426 03ae 802D                  mov r24,__tmp_reg__
 427                    /* #NOAPP */
 428 03b0 9927                  clr r25
 429                    /* epilogue: frame size=0 */
 430 03b2 0895                  ret
 431                    /* epilogue end (size=1) */
 432                    /* function GetParamByte size 7 (6) */
 434                    .global SetParamByte
 436                    SetParamByte:
 437                    /* prologue: frame size=0 */
 438                    /* prologue end (size=0) */
 439 03b4 DC01                  movw r26,r24
 440                    /* #APP */
 441 03b6 062E                  mov __tmp_reg__,r22
 442 03b8 0E94 0000             call __eeprom_write_byte_1F2021
 443                    /* #NOAPP */
 444                    /* epilogue: frame size=0 */
 445 03bc 0895                  ret
 446                    /* epilogue end (size=1) */
 447                    /* function SetParamByte size 6 (5) */
 449                    .global GetParamWord
 451                    GetParamWord:
 452                    /* prologue: frame size=0 */
 453                    /* prologue end (size=0) */
 454 03be DC01                  movw r26,r24
 455                    /* #APP */
 456 03c0 0E94 0000             call __eeprom_read_word_1F2021
 457                            
 458                    /* #NOAPP */
 459 03c4 CF01                  movw r24,r30
 460                    /* epilogue: frame size=0 */
 461 03c6 0895                  ret
 462                    /* epilogue end (size=1) */
 463                    /* function GetParamWord size 7 (6) */
 465                    .global SetParamWord
 467                    SetParamWord:
 468                    /* prologue: frame size=0 */
 469                    /* prologue end (size=0) */
 470 03c8 DC01                  movw r26,r24
 471                    /* #APP */
 472 03ca 0B01                  movw __tmp_reg__,r22
 473 03cc 0E94 0000             call __eeprom_write_word_1F2021
 474                            
 475                    /* #NOAPP */
 476                    /* epilogue: frame size=0 */
 477 03d0 0895                  ret
 478                    /* epilogue end (size=1) */
 479                    /* function SetParamWord size 8 (7) */
 481                    .global ParamSet_ReadFromEEProm
 483                    ParamSet_ReadFromEEProm:
 484                    /* prologue: frame size=0 */
 485 03d2 FF92                  push r15
 486 03d4 0F93                  push r16
 487 03d6 1F93                  push r17
 488 03d8 CF93                  push r28
 489 03da DF93                  push r29
 490                    /* prologue end (size=5) */
 491 03dc 982F                  mov r25,r24
 492 03de 8150                  subi r24,lo8(-(-1))
 493 03e0 8530                  cpi r24,lo8(5)
 494 03e2 08F0                  brlo .L33
 495 03e4 93E0                  ldi r25,lo8(3)
 496                    .L33:
 497 03e6 84E7                  ldi r24,lo8(116)
 498 03e8 F82E                  mov r15,r24
 499 03ea 9F9D                  mul r25,r15
 500 03ec 8001                  movw r16,r0
 501 03ee 1124                  clr r1
 502 03f0 E801                  movw r28,r16
 503 03f2 6097                  sbiw r28,16
 504 03f4 63E7                  ldi r22,lo8(115)
 505 03f6 70E0                  ldi r23,hi8(115)
 506 03f8 CE01                  movw r24,r28
 507 03fa 0E94 0000             call EEProm_Checksum
 508 03fe 982F                  mov r25,r24
 509 0400 D801                  movw r26,r16
 510 0402 AD59                  subi r26,lo8(-(99))
 511 0404 BF4F                  sbci r27,hi8(-(99))
 512                    /* #APP */
 513 0406 0E94 0000             call __eeprom_read_byte_1F2021
 514 040a 802D                  mov r24,__tmp_reg__
 515                    /* #NOAPP */
 516 040c 8917                  cp r24,r25
 517 040e 31F4                  brne .L45
 518 0410 DE01                  movw r26,r28
 519                    /* #APP */
 520 0412 0E94 0000             call __eeprom_read_byte_1F2021
 521 0416 802D                  mov r24,__tmp_reg__
 522                    /* #NOAPP */
 523 0418 8535                  cpi r24,lo8(85)
 524 041a 19F0                  breq .L36
 525                    .L45:
 526 041c 80E0                  ldi r24,lo8(0)
 527 041e 90E0                  ldi r25,hi8(0)
 528 0420 0AC0                  rjmp .L32
 529                    .L36:
 530 0422 E0E0                  ldi r30,lo8(EE_Parameter)
 531 0424 F0E0                  ldi r31,hi8(EE_Parameter)
 532 0426 DE01                  movw r26,r28
 533                    /* #APP */
 534 0428 1F2C                  mov __zero_reg__,r15
 535 042a 0E94 0000             call __eeprom_read_block_1F2021
 536                    /* #NOAPP */
 537 042e 0E94 0000             call LED_Init
 538 0432 81E0                  ldi r24,lo8(1)
 539 0434 90E0                  ldi r25,hi8(1)
 540                    .L32:
 541                    /* epilogue: frame size=0 */
 542 0436 E5E0                  ldi r30,5
 543 0438 CDB7                  in r28,__SP_L__
 544 043a DEB7                  in r29,__SP_H__
 545 043c 0C94 0000             jmp __epilogue_restores__+26
 546                    /* epilogue end (size=5) */
 547                    /* function ParamSet_ReadFromEEProm size 58 (48) */
 549                    .global SetActiveParamSet
 551                    SetActiveParamSet:
 552                    /* prologue: frame size=0 */
 553                    /* prologue end (size=0) */
 554 0440 8630                  cpi r24,lo8(6)
 555 0442 10F0                  brlo .L47
 556 0444 85E0                  ldi r24,lo8(5)
 557 0446 03C0                  rjmp .L48
 558                    .L47:
 559 0448 8823                  tst r24
 560 044a 09F4                  brne .L48
 561 044c 81E0                  ldi r24,lo8(1)
 562                    .L48:
 563 044e A2E0                  ldi r26,lo8(2)
 564 0450 B0E0                  ldi r27,hi8(2)
 565                    /* #APP */
 566 0452 082E                  mov __tmp_reg__,r24
 567 0454 0E94 0000             call __eeprom_write_byte_1F2021
 568                    /* #NOAPP */
 569                    /* epilogue: frame size=0 */
 570 0458 0895                  ret
 571                    /* epilogue end (size=1) */
 572                    /* function SetActiveParamSet size 14 (13) */
 574                    .global ParamSet_WriteToEEProm
 576                    ParamSet_WriteToEEProm:
 577                    /* prologue: frame size=0 */
 578 045a 1F93                  push r17
 579 045c CF93                  push r28
 580 045e DF93                  push r29
 581                    /* prologue end (size=3) */
 582 0460 182F                  mov r17,r24
 583 0462 C0E0                  ldi r28,lo8(EE_Parameter)
 584 0464 D0E0                  ldi r29,hi8(EE_Parameter)
 585 0466 8091 0000             lds r24,EE_Parameter
 586 046a 8535                  cpi r24,lo8(85)
 587 046c 91F5                  brne .L51
 588 046e 1630                  cpi r17,lo8(6)
 589 0470 10F0                  brlo .L52
 590 0472 15E0                  ldi r17,lo8(5)
 591 0474 02C0                  rjmp .L53
 592                    .L52:
 593 0476 1123                  tst r17
 594 0478 61F1                  breq .L51
 595                    .L53:
 596 047a 63E7                  ldi r22,lo8(115)
 597 047c 70E0                  ldi r23,hi8(115)
 598 047e 80E0                  ldi r24,lo8(EE_Parameter)
 599 0480 90E0                  ldi r25,hi8(EE_Parameter)
 600 0482 0E94 0000             call RAM_Checksum
 601 0486 8093 0000             sts EE_Parameter+115,r24
 602 048a 84E7                  ldi r24,lo8(116)
 603 048c 189F                  mul r17,r24
 604 048e D001                  movw r26,r0
 605 0490 1124                  clr r1
 606 0492 5097                  sbiw r26,16
 607 0494 FE01                  movw r30,r28
 608                    /* #APP */
 609 0496 182E                  mov __zero_reg__,r24
 610 0498 0E94 0000             call __eeprom_write_block_1F2021
 611                    /* #NOAPP */
 612 049c E0E0                  ldi r30,lo8(EE_Parameter+1)
 613 049e F0E0                  ldi r31,hi8(EE_Parameter+1)
 614 04a0 A0E5                  ldi r26,lo8(80)
 615 04a2 B0E0                  ldi r27,hi8(80)
 616 04a4 2CE0                  ldi r18,lo8(12)
 617 04a6 30E0                  ldi r19,hi8(12)
 618                    /* #APP */
 619 04a8 122E                  mov __zero_reg__,r18
 620 04aa 0E94 0000             call __eeprom_write_block_1F2021
 621                    /* #NOAPP */
 622 04ae B901                  movw r22,r18
 623 04b0 80E0                  ldi r24,lo8(EE_Parameter+1)
 624 04b2 90E0                  ldi r25,hi8(EE_Parameter+1)
 625 04b4 0E94 0000             call RAM_Checksum
 626 04b8 ACE5                  ldi r26,lo8(92)
 627 04ba B0E0                  ldi r27,hi8(92)
 628                    /* #APP */
 629 04bc 082E                  mov __tmp_reg__,r24
 630 04be 0E94 0000             call __eeprom_write_byte_1F2021
 631                    /* #NOAPP */
 632 04c2 812F                  mov r24,r17
 633 04c4 0E94 0000             call SetActiveParamSet
 634 04c8 0E94 0000             call LED_Init
 635 04cc 81E0                  ldi r24,lo8(1)
 636 04ce 90E0                  ldi r25,hi8(1)
 637 04d0 02C0                  rjmp .L50
 638                    .L51:
 639 04d2 80E0                  ldi r24,lo8(0)
 640 04d4 90E0                  ldi r25,hi8(0)
 641                    .L50:
 642                    /* epilogue: frame size=0 */
 643 04d6 DF91                  pop r29
 644 04d8 CF91                  pop r28
 645 04da 1F91                  pop r17
 646 04dc 0895                  ret
 647                    /* epilogue end (size=4) */
 648                    /* function ParamSet_WriteToEEProm size 69 (62) */
 650                    .global MixerTable_ReadFromEEProm
 652                    MixerTable_ReadFromEEProm:
 653                    /* prologue: frame size=0 */
 654                    /* prologue end (size=0) */
 655 04de 6DE4                  ldi r22,lo8(77)
 656 04e0 70E0                  ldi r23,hi8(77)
 657 04e2 88EE                  ldi r24,lo8(1000)
 658 04e4 93E0                  ldi r25,hi8(1000)
 659 04e6 0E94 0000             call EEProm_Checksum
 660 04ea A5E3                  ldi r26,lo8(1077)
 661 04ec B4E0                  ldi r27,hi8(1077)
 662                    /* #APP */
 663 04ee 0E94 0000             call __eeprom_read_byte_1F2021
 664 04f2 902D                  mov r25,__tmp_reg__
 665                    /* #NOAPP */
 666 04f4 9817                  cp r25,r24
 667 04f6 39F4                  brne .L81
 668 04f8 A8EE                  ldi r26,lo8(1000)
 669 04fa B3E0                  ldi r27,hi8(1000)
 670                    /* #APP */
 671 04fc 0E94 0000             call __eeprom_read_byte_1F2021
 672 0500 802D                  mov r24,__tmp_reg__
 673                    /* #NOAPP */
 674 0502 8130                  cpi r24,lo8(1)
 675 0504 19F0                  breq .L72
 676                    .L81:
 677 0506 80E0                  ldi r24,lo8(0)
 678 0508 90E0                  ldi r25,hi8(0)
 679 050a 0895                  ret
 680                    .L72:
 681 050c E0E0                  ldi r30,lo8(Mixer)
 682 050e F0E0                  ldi r31,hi8(Mixer)
 683 0510 A8EE                  ldi r26,lo8(1000)
 684 0512 B3E0                  ldi r27,hi8(1000)
 685 0514 8EE4                  ldi r24,lo8(78)
 686                    /* #APP */
 687 0516 182E                  mov __zero_reg__,r24
 688 0518 0E94 0000             call __eeprom_read_block_1F2021
 689                    /* #NOAPP */
 690 051c 81E0                  ldi r24,lo8(1)
 691 051e 90E0                  ldi r25,hi8(1)
 692 0520 0895                  ret
 693                    /* epilogue: frame size=0 */
 694                    /* epilogue: noreturn */
 695                    /* epilogue end (size=0) */
 696                    /* function MixerTable_ReadFromEEProm size 37 (37) */
 698                    .global MixerTable_WriteToEEProm
 700                    MixerTable_WriteToEEProm:
 701                    /* prologue: frame size=0 */
 702 0522 CF93                  push r28
 703 0524 DF93                  push r29
 704                    /* prologue end (size=2) */
 705 0526 C0E0                  ldi r28,lo8(Mixer)
 706 0528 D0E0                  ldi r29,hi8(Mixer)
 707 052a 8091 0000             lds r24,Mixer
 708 052e 8130                  cpi r24,lo8(1)
 709 0530 89F4                  brne .L83
 710 0532 6DE4                  ldi r22,lo8(77)
 711 0534 70E0                  ldi r23,hi8(77)
 712 0536 CE01                  movw r24,r28
 713 0538 0E94 0000             call RAM_Checksum
 714 053c 8093 0000             sts Mixer+77,r24
 715 0540 A8EE                  ldi r26,lo8(1000)
 716 0542 B3E0                  ldi r27,hi8(1000)
 717 0544 8EE4                  ldi r24,lo8(78)
 718 0546 FE01                  movw r30,r28
 719                    /* #APP */
 720 0548 182E                  mov __zero_reg__,r24
 721 054a 0E94 0000             call __eeprom_write_block_1F2021
 722                    /* #NOAPP */
 723 054e 81E0                  ldi r24,lo8(1)
 724 0550 90E0                  ldi r25,hi8(1)
 725 0552 02C0                  rjmp .L82
 726                    .L83:
 727 0554 80E0                  ldi r24,lo8(0)
 728 0556 90E0                  ldi r25,hi8(0)
 729                    .L82:
 730                    /* epilogue: frame size=0 */
 731 0558 DF91                  pop r29
 732 055a CF91                  pop r28
 733 055c 0895                  ret
 734                    /* epilogue end (size=3) */
 735                    /* function MixerTable_WriteToEEProm size 31 (26) */
 737                            .data
 738                    .LC3:
 739 0019 5175 6164             .string "Quadro"
 739      726F 00
 740 0020 00                    .string ""
 741                            .text
 742                    .global MixerTable_Default
 744                    MixerTable_Default:
 745                    /* prologue: frame size=0 */
 746 055e CF93                  push r28
 747 0560 DF93                  push r29
 748                    /* prologue end (size=2) */
 749 0562 81E0                  ldi r24,lo8(1)
 750 0564 8093 0000             sts Mixer,r24
 751 0568 E0E0                  ldi r30,lo8(Mixer)
 752 056a F0E0                  ldi r31,hi8(Mixer)
 753 056c 8FE0                  ldi r24,lo8(15)
 754                    .L96:
 755 056e 1586                  std Z+13,__zero_reg__
 756 0570 1686                  std Z+14,__zero_reg__
 757 0572 1786                  std Z+15,__zero_reg__
 758 0574 108A                  std Z+16,__zero_reg__
 759 0576 8150                  subi r24,lo8(-(-1))
 760 0578 3496                  adiw r30,4
 761 057a 87FF                  sbrs r24,7
 762 057c F8CF                  rjmp .L96
 763 057e 80E4                  ldi r24,lo8(64)
 764 0580 8093 0000             sts Mixer+13,r24
 765 0584 8093 0000             sts Mixer+14,r24
 766 0588 1092 0000             sts Mixer+15,__zero_reg__
 767 058c 8093 0000             sts Mixer+16,r24
 768 0590 8093 0000             sts Mixer+17,r24
 769 0594 90EC                  ldi r25,lo8(-64)
 770 0596 9093 0000             sts Mixer+18,r25
 771 059a 1092 0000             sts Mixer+19,__zero_reg__
 772 059e 8093 0000             sts Mixer+20,r24
 773 05a2 8093 0000             sts Mixer+21,r24
 774 05a6 1092 0000             sts Mixer+22,__zero_reg__
 775 05aa 9093 0000             sts Mixer+23,r25
 776 05ae 9093 0000             sts Mixer+24,r25
 777 05b2 8093 0000             sts Mixer+25,r24
 778 05b6 1092 0000             sts Mixer+26,__zero_reg__
 779 05ba 8093 0000             sts Mixer+27,r24
 780 05be 9093 0000             sts Mixer+28,r25
 781 05c2 A0E0                  ldi r26,lo8(Mixer+1)
 782 05c4 B0E0                  ldi r27,hi8(Mixer+1)
 783 05c6 87E0                  ldi r24,lo8(7)
 784 05c8 E0E0                  ldi r30,lo8(.LC3)
 785 05ca F0E0                  ldi r31,hi8(.LC3)
 786 05cc ED01                  movw r28,r26
 787 05ce 0190                  ld __tmp_reg__,Z+
 788 05d0 0992                  st Y+,__tmp_reg__
 789 05d2 8A95                  dec r24
 790 05d4 E1F7                  brne .-8
 791 05d6 6DE4                  ldi r22,lo8(77)
 792 05d8 70E0                  ldi r23,hi8(77)
 793 05da CD01                  movw r24,r26
 794 05dc 0197                  sbiw r24,1
 795 05de 0E94 0000             call RAM_Checksum
 796 05e2 8093 0000             sts Mixer+77,r24
 797                    /* epilogue: frame size=0 */
 798 05e6 DF91                  pop r29
 799 05e8 CF91                  pop r28
 800 05ea 0895                  ret
 801                    /* epilogue end (size=3) */
 802                    /* function MixerTable_Default size 71 (66) */
 804                    .global GetActiveParamSet
 806                    GetActiveParamSet:
 807                    /* prologue: frame size=0 */
 808                    /* prologue end (size=0) */
 809 05ec A2E0                  ldi r26,lo8(2)
 810 05ee B0E0                  ldi r27,hi8(2)
 811                    /* #APP */
 812 05f0 0E94 0000             call __eeprom_read_byte_1F2021
 813 05f4 802D                  mov r24,__tmp_reg__
 814                    /* #NOAPP */
 815 05f6 8630                  cpi r24,lo8(6)
 816 05f8 30F0                  brlo .L101
 817 05fa 83E0                  ldi r24,lo8(3)
 818 05fc A2E0                  ldi r26,lo8(2)
 819 05fe B0E0                  ldi r27,hi8(2)
 820                    /* #APP */
 821 0600 082E                  mov __tmp_reg__,r24
 822 0602 0E94 0000             call __eeprom_write_byte_1F2021
 823                    /* #NOAPP */
 824                    .L101:
 825 0606 9927                  clr r25
 826                    /* epilogue: frame size=0 */
 827 0608 0895                  ret
 828                    /* epilogue end (size=1) */
 829                    /* function GetActiveParamSet size 17 (16) */
 831                    .global SetDefaultParameter
 833                    SetDefaultParameter:
 834                    /* prologue: frame size=0 */
 835 060a 1F93                  push r17
 836 060c CF93                  push r28
 837                    /* prologue end (size=2) */
 838 060e C82F                  mov r28,r24
 839 0610 162F                  mov r17,r22
 840 0612 8630                  cpi r24,lo8(6)
 841 0614 10F0                  brlo .L104
 842 0616 C5E0                  ldi r28,lo8(5)
 843 0618 03C0                  rjmp .L105
 844                    .L104:
 845 061a 8823                  tst r24
 846 061c 09F4                  brne .L105
 847 061e C1E0                  ldi r28,lo8(1)
 848                    .L105:
 849 0620 8C2F                  mov r24,r28
 850 0622 9927                  clr r25
 851 0624 8230                  cpi r24,2
 852 0626 9105                  cpc r25,__zero_reg__
 853 0628 41F0                  breq .L109
 854 062a 8330                  cpi r24,3
 855 062c 9105                  cpc r25,__zero_reg__
 856 062e 44F4                  brge .L111
 857 0630 0197                  sbiw r24,1
 858 0632 31F4                  brne .L111
 859 0634 0E94 0000             call ParamSet_DefaultSet1
 860 0638 05C0                  rjmp .L107
 861                    .L109:
 862 063a 0E94 0000             call ParamSet_DefaultSet2
 863 063e 02C0                  rjmp .L107
 864                    .L111:
 865 0640 0E94 0000             call ParamSet_DefaultSet3
 866                    .L107:
 867 0644 1123                  tst r17
 868 0646 B1F0                  breq .L113
 869 0648 6CE0                  ldi r22,lo8(12)
 870 064a 70E0                  ldi r23,hi8(12)
 871 064c 80E5                  ldi r24,lo8(80)
 872 064e 90E0                  ldi r25,hi8(80)
 873 0650 0E94 0000             call EEProm_Checksum
 874 0654 ACE5                  ldi r26,lo8(92)
 875 0656 B0E0                  ldi r27,hi8(92)
 876                    /* #APP */
 877 0658 0E94 0000             call __eeprom_read_byte_1F2021
 878 065c 902D                  mov r25,__tmp_reg__
 879                    /* #NOAPP */
 880 065e 9817                  cp r25,r24
 881 0660 49F4                  brne .L113
 882 0662 E0E0                  ldi r30,lo8(EE_Parameter+1)
 883 0664 F0E0                  ldi r31,hi8(EE_Parameter+1)
 884 0666 A0E5                  ldi r26,lo8(80)
 885 0668 B0E0                  ldi r27,hi8(80)
 886 066a 8CE0                  ldi r24,lo8(12)
 887                    /* #APP */
 888 066c 182E                  mov __zero_reg__,r24
 889 066e 0E94 0000             call __eeprom_read_block_1F2021
 890                    /* #NOAPP */
 891 0672 02C0                  rjmp .L124
 892                    .L113:
 893 0674 0E94 0000             call ParamSet_DefaultStickMapping
 894                    .L124:
 895 0678 8C2F                  mov r24,r28
 896 067a 0E94 0000             call ParamSet_WriteToEEProm
 897                    /* epilogue: frame size=0 */
 898 067e CF91                  pop r28
 899 0680 1F91                  pop r17
 900 0682 0895                  ret
 901                    /* epilogue end (size=3) */
 902                    /* function SetDefaultParameter size 64 (59) */
 904                            .section        .progmem.data,"a",@progbits
 907                    __c.0:
 908 0000 0A0D 4765             .string "\n\rGenerating default Parameter Set %d"
 908      6E65 7261 
 908      7469 6E67 
 908      2064 6566 
 908      6175 6C74 
 911                    __c.1:
 912 0026 0A0D 5573             .string "\n\rUsing Parameter Set %d"
 912      696E 6720 
 912      5061 7261 
 912      6D65 7465 
 912      7220 5365 
 915                    __c.2:
 916 003f 0A0D 4765             .string "\n\rGenerating default Mixer Table"
 916      6E65 7261 
 916      7469 6E67 
 916      2064 6566 
 916      6175 6C74 
 919                    __c.3:
 920 0060 0A0D 4D69             .string "\n\rMixer-Config: '%s' (%u Motors)"
 920      7865 722D 
 920      436F 6E66 
 920      6967 3A20 
 920      2725 7327 
 923                    __c.4:
 924 0081 0A0D 3D3D             .string "\n\r=============================="
 924      3D3D 3D3D 
 924      3D3D 3D3D 
 924      3D3D 3D3D 
 924      3D3D 3D3D 
 925                            .text
 926                    .global ParamSet_Init
 928                    ParamSet_Init:
 929                    /* prologue: frame size=0 */
 930 0684 DF92                  push r13
 931 0686 EF92                  push r14
 932 0688 FF92                  push r15
 933 068a 0F93                  push r16
 934 068c 1F93                  push r17
 935 068e CF93                  push r28
 936                    /* prologue end (size=6) */
 937 0690 FF24                  clr r15
 938 0692 DF2C                  mov r13,r15
 939 0694 EF2C                  mov r14,r15
 940 0696 81E0                  ldi r24,lo8(1)
 941 0698 90E0                  ldi r25,hi8(1)
 942 069a 0E94 0000             call GetParamByte
 943 069e 8535                  cpi r24,lo8(85)
 944 06a0 39F0                  breq .L126
 945 06a2 31E0                  ldi r19,lo8(1)
 946 06a4 E32E                  mov r14,r19
 947 06a6 65E5                  ldi r22,lo8(85)
 948 06a8 81E0                  ldi r24,lo8(1)
 949 06aa 90E0                  ldi r25,hi8(1)
 950 06ac 0E94 0000             call SetParamByte
 951                    .L126:
 952 06b0 6CE0                  ldi r22,lo8(12)
 953 06b2 70E0                  ldi r23,hi8(12)
 954 06b4 80E5                  ldi r24,lo8(80)
 955 06b6 90E0                  ldi r25,hi8(80)
 956 06b8 0E94 0000             call EEProm_Checksum
 957 06bc C82F                  mov r28,r24
 958 06be ACE5                  ldi r26,lo8(92)
 959 06c0 B0E0                  ldi r27,hi8(92)
 960                    /* #APP */
 961 06c2 0E94 0000             call __eeprom_read_byte_1F2021
 962 06c6 802D                  mov r24,__tmp_reg__
 963                    /* #NOAPP */
 964 06c8 8C17                  cp r24,r28
 965 06ca 11F4                  brne .L127
 966 06cc 21E0                  ldi r18,lo8(1)
 967 06ce D22E                  mov r13,r18
 968                    .L127:
 969 06d0 C1E0                  ldi r28,lo8(1)
 970 06d2 01E0                  ldi r16,lo8(1)
 971 06d4 10E0                  ldi r17,hi8(1)
 972                    .L149:
 973 06d6 EE20                  tst r14
 974 06d8 29F4                  brne .L133
 975 06da 8C2F                  mov r24,r28
 976 06dc 0E94 0000             call ParamSet_ReadFromEEProm
 977 06e0 8823                  tst r24
 978 06e2 B1F5                  brne .L131
 979                    .L133:
 980 06e4 91E0                  ldi r25,lo8(1)
 981 06e6 F92E                  mov r15,r25
 982 06e8 1F93                  push r17
 983 06ea 0F93                  push r16
 984 06ec 80E0                  ldi r24,lo8(__c.0)
 985 06ee 90E0                  ldi r25,hi8(__c.0)
 986 06f0 9F93                  push r25
 987 06f2 8F93                  push r24
 988 06f4 80E0                  ldi r24,lo8(pm(uart_putchar))
 989 06f6 90E0                  ldi r25,hi8(pm(uart_putchar))
 990 06f8 9F93                  push r25
 991 06fa 8F93                  push r24
 992 06fc E091 0000             lds r30,_printf_P
 993 0700 F091 0000             lds r31,(_printf_P)+1
 994 0704 0995                  icall
 995 0706 8DB7                  in r24,__SP_L__
 996 0708 9EB7                  in r25,__SP_H__
 997 070a 0696                  adiw r24,6
 998 070c 8DBF                  out __SP_L__,r24
 999 070e 0230                  cpi r16,2
 1000 0710 1105                 cpc r17,__zero_reg__
 1001 0712 49F0                 breq .L136
 1002 0714 0330                 cpi r16,3
 1003 0716 1105                 cpc r17,__zero_reg__
 1004 0718 4CF4                 brge .L138
 1005 071a 0130                 cpi r16,1
 1006 071c 1105                 cpc r17,__zero_reg__
 1007 071e 31F4                 brne .L138
 1008 0720 0E94 0000            call ParamSet_DefaultSet1
 1009 0724 05C0                 rjmp .L134
 1010                   .L136:
 1011 0726 0E94 0000            call ParamSet_DefaultSet2
 1012 072a 02C0                 rjmp .L134
 1013                   .L138:
 1014 072c 0E94 0000            call ParamSet_DefaultSet3
 1015                   .L134:
 1016 0730 DD20                 tst r13
 1017 0732 49F0                 breq .L140
 1018 0734 E0E0                 ldi r30,lo8(EE_Parameter+1)
 1019 0736 F0E0                 ldi r31,hi8(EE_Parameter+1)
 1020 0738 A0E5                 ldi r26,lo8(80)
 1021 073a B0E0                 ldi r27,hi8(80)
 1022 073c 8CE0                 ldi r24,lo8(12)
 1023                   /* #APP */
 1024 073e 182E                 mov __zero_reg__,r24
 1025 0740 0E94 0000            call __eeprom_read_block_1F2021
 1026                   /* #NOAPP */
 1027 0744 02C0                 rjmp .L148
 1028                   .L140:
 1029 0746 0E94 0000            call ParamSet_DefaultStickMapping
 1030                   .L148:
 1031 074a 8C2F                 mov r24,r28
 1032 074c 0E94 0000            call ParamSet_WriteToEEProm
 1033                   .L131:
 1034 0750 CF5F                 subi r28,lo8(-(1))
 1035 0752 0F5F                 subi r16,lo8(-(1))
 1036 0754 1F4F                 sbci r17,hi8(-(1))
 1037 0756 C630                 cpi r28,lo8(6)
 1038 0758 08F4                 brsh .+2
 1039 075a BDCF                 rjmp .L149
 1040 075c FF20                 tst r15
 1041 075e 19F0                 breq .L150
 1042 0760 83E0                 ldi r24,lo8(3)
 1043 0762 0E94 0000            call SetActiveParamSet
 1044                   .L150:
 1045 0766 0E94 0000            call GetActiveParamSet
 1046 076a C82F                 mov r28,r24
 1047 076c 0E94 0000            call ParamSet_ReadFromEEProm
 1048 0770 8C2F                 mov r24,r28
 1049 0772 9927                 clr r25
 1050 0774 9F93                 push r25
 1051 0776 8F93                 push r24
 1052 0778 80E0                 ldi r24,lo8(__c.1)
 1053 077a 90E0                 ldi r25,hi8(__c.1)
 1054 077c 9F93                 push r25
 1055 077e 8F93                 push r24
 1056 0780 00E0                 ldi r16,lo8(pm(uart_putchar))
 1057 0782 10E0                 ldi r17,hi8(pm(uart_putchar))
 1058 0784 1F93                 push r17
 1059 0786 0F93                 push r16
 1060 0788 E091 0000            lds r30,_printf_P
 1061 078c F091 0000            lds r31,(_printf_P)+1
 1062 0790 0995                 icall
 1063 0792 8DB7                 in r24,__SP_L__
 1064 0794 9EB7                 in r25,__SP_H__
 1065 0796 0696                 adiw r24,6
 1066 0798 8DBF                 out __SP_L__,r24
 1067 079a EE20                 tst r14
 1068 079c 21F4                 brne .L152
 1069 079e 0E94 0000            call MixerTable_ReadFromEEProm
 1070 07a2 8823                 tst r24
 1071 07a4 99F4                 brne .L151
 1072                   .L152:
 1073 07a6 80E0                 ldi r24,lo8(__c.2)
 1074 07a8 90E0                 ldi r25,hi8(__c.2)
 1075 07aa 9F93                 push r25
 1076 07ac 8F93                 push r24
 1077 07ae 1F93                 push r17
 1078 07b0 0F93                 push r16
 1079 07b2 E091 0000            lds r30,_printf_P
 1080 07b6 F091 0000            lds r31,(_printf_P)+1
 1081 07ba 0995                 icall
 1082 07bc 0E94 0000            call MixerTable_Default
 1083 07c0 0E94 0000            call MixerTable_WriteToEEProm
 1084 07c4 0F90                 pop __tmp_reg__
 1085 07c6 0F90                 pop __tmp_reg__
 1086 07c8 0F90                 pop __tmp_reg__
 1087 07ca 0F90                 pop __tmp_reg__
 1088                   .L151:
 1089 07cc 1092 0000            sts RequiredMotors,__zero_reg__
 1090 07d0 90E0                 ldi r25,lo8(0)
 1091 07d2 E0E0                 ldi r30,lo8(Mixer+13)
 1092 07d4 F0E0                 ldi r31,hi8(Mixer+13)
 1093 07d6 CFE0                 ldi r28,lo8(15)
 1094                   .L157:
 1095 07d8 8081                 ld r24,Z
 1096 07da 3496                 adiw r30,4
 1097 07dc 1816                 cp __zero_reg__,r24
 1098 07de 0CF4                 brge .L155
 1099 07e0 9F5F                 subi r25,lo8(-(1))
 1100                   .L155:
 1101 07e2 C150                 subi r28,lo8(-(-1))
 1102 07e4 C7FF                 sbrs r28,7
 1103 07e6 F8CF                 rjmp .L157
 1104 07e8 9093 0000            sts RequiredMotors,r25
 1105 07ec 892F                 mov r24,r25
 1106 07ee 9927                 clr r25
 1107 07f0 9F93                 push r25
 1108 07f2 8F93                 push r24
 1109 07f4 80E0                 ldi r24,lo8(Mixer+1)
 1110 07f6 90E0                 ldi r25,hi8(Mixer+1)
 1111 07f8 9F93                 push r25
 1112 07fa 8F93                 push r24
 1113 07fc 80E0                 ldi r24,lo8(__c.3)
 1114 07fe 90E0                 ldi r25,hi8(__c.3)
 1115 0800 9F93                 push r25
 1116 0802 8F93                 push r24
 1117 0804 1F93                 push r17
 1118 0806 0F93                 push r16
 1119 0808 E091 0000            lds r30,_printf_P
 1120 080c F091 0000            lds r31,(_printf_P)+1
 1121 0810 0995                 icall
 1122 0812 8DB7                 in r24,__SP_L__
 1123 0814 9EB7                 in r25,__SP_H__
 1124 0816 0896                 adiw r24,8
 1125 0818 8DBF                 out __SP_L__,r24
 1126 081a 80E0                 ldi r24,lo8(__c.4)
 1127 081c 90E0                 ldi r25,hi8(__c.4)
 1128 081e 9F93                 push r25
 1129 0820 8F93                 push r24
 1130 0822 1F93                 push r17
 1131 0824 0F93                 push r16
 1132 0826 E091 0000            lds r30,_printf_P
 1133 082a F091 0000            lds r31,(_printf_P)+1
 1134 082e 0995                 icall
 1135 0830 0F90                 pop __tmp_reg__
 1136 0832 0F90                 pop __tmp_reg__
 1137 0834 0F90                 pop __tmp_reg__
 1138 0836 0F90                 pop __tmp_reg__
 1139                   /* epilogue: frame size=0 */
 1140 0838 CF91                 pop r28
 1141 083a 1F91                 pop r17
 1142 083c 0F91                 pop r16
 1143 083e FF90                 pop r15
 1144 0840 EF90                 pop r14
 1145 0842 DF90                 pop r13
 1146 0844 0895                 ret
 1147                   /* epilogue end (size=7) */
 1148                   /* function ParamSet_Init size 227 (214) */
 1150                           .comm Mixer,78,1
 1151                           .comm RequiredMotors,1,1
 1152                           .comm EE_Parameter,116,1
 1153                   /* File "eeprom.c": code 1085 = 0x043d (1015), prologues  26, epilogues  44 */
DEFINED SYMBOLS
                            *ABS*:00000000 eeprom.c
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:3      *ABS*:0000003f __SREG__
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:4      *ABS*:0000003e __SP_H__
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:5      *ABS*:0000003d __SP_L__
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:6      *ABS*:00000000 __tmp_reg__
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:7      *ABS*:00000001 __zero_reg__
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:13     .text:00000000 RAM_Checksum
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:41     .text:00000022 EEProm_Checksum
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:73     .text:0000004a ParamSet_DefaultStickMapping
                            *COM*:00000074 EE_Parameter
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:107    .text:00000094 CommonDefaults
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:245    .text:0000022e ParamSet_DefaultSet1
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:305    .text:000002ac ParamSet_DefaultSet2
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:365    .text:0000032a ParamSet_DefaultSet3
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:420    .text:000003a8 GetParamByte
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:436    .text:000003b4 SetParamByte
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:451    .text:000003be GetParamWord
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:467    .text:000003c8 SetParamWord
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:483    .text:000003d2 ParamSet_ReadFromEEProm
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:551    .text:00000440 SetActiveParamSet
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:576    .text:0000045a ParamSet_WriteToEEProm
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:652    .text:000004de MixerTable_ReadFromEEProm
                            *COM*:0000004e Mixer
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:700    .text:00000522 MixerTable_WriteToEEProm
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:744    .text:0000055e MixerTable_Default
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:806    .text:000005ec GetActiveParamSet
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:833    .text:0000060a SetDefaultParameter
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:907    .progmem.data:00000000 __c.0
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:911    .progmem.data:00000026 __c.1
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:915    .progmem.data:0000003f __c.2
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:919    .progmem.data:00000060 __c.3
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:923    .progmem.data:00000081 __c.4
C:\Users\Thomas\AppData\Local\Temp/ccSSbaaa.s:928    .text:00000684 ParamSet_Init
                            *COM*:00000001 RequiredMotors

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__eeprom_read_byte_1F2021
PlatinenVersion
__eeprom_write_byte_1F2021
__eeprom_read_word_1F2021
__eeprom_write_word_1F2021
__eeprom_read_block_1F2021
LED_Init
__epilogue_restores__
__eeprom_write_block_1F2021
uart_putchar
_printf_P