Subversion Repositories FlightCtrl

Rev

Blame | Last modification | View Log | RSS feed


FlightCtrl.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         000001ea  00800100  000164ce  00016562  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         000164ce  00000000  00000000  00000094  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          000009ef  008002ea  008002ea  0001674c  2**0
                  ALLOC
  3 .comment      00000030  00000000  00000000  0001674c  2**0
                  CONTENTS, READONLY
  4 .debug_aranges 00000580  00000000  00000000  00016780  2**3
                  CONTENTS, READONLY, DEBUGGING
  5 .debug_info   00011ffe  00000000  00000000  00016d00  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_abbrev 00002459  00000000  00000000  00028cfe  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_line   0000a084  00000000  00000000  0002b157  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_frame  00001cc8  00000000  00000000  000351dc  2**2
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_str    000030b7  00000000  00000000  00036ea4  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_loc    000082f5  00000000  00000000  00039f5b  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_ranges 00000468  00000000  00000000  00042250  2**0
                  CONTENTS, READONLY, DEBUGGING

Disassembly of section .text:

00000000 <__vectors>:
       0:       0c 94 f0 0c     jmp     0x19e0  ; 0x19e0 <__ctors_end>
       4:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
       8:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
       c:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      10:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      14:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      18:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      1c:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      20:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      24:       0c 94 6d 9f     jmp     0x13eda ; 0x13eda <__vector_9>
      28:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      2c:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      30:       0c 94 b3 91     jmp     0x12366 ; 0x12366 <__vector_12>
      34:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      38:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      3c:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      40:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      44:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      48:       0c 94 64 9b     jmp     0x136c8 ; 0x136c8 <__vector_18>
      4c:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      50:       0c 94 da a5     jmp     0x14bb4 ; 0x14bb4 <__vector_20>
      54:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      58:       0c 94 9e a5     jmp     0x14b3c ; 0x14b3c <__vector_22>
      5c:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      60:       0c 94 05 1c     jmp     0x380a  ; 0x380a <__vector_24>
      64:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      68:       0c 94 33 a1     jmp     0x14266 ; 0x14266 <__vector_26>
      6c:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      70:       0c 94 a1 1a     jmp     0x3542  ; 0x3542 <__vector_28>
      74:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      78:       0c 94 f6 0f     jmp     0x1fec  ; 0x1fec <__vector_30>
      7c:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      80:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      84:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      88:       0c 94 4a 0d     jmp     0x1a94  ; 0x1a94 <__bad_interrupt>
      8c:       32 1c           adc     r3, r2
      8e:       3e 1c           adc     r3, r14
      90:       49 1c           adc     r4, r9
      92:       56 1c           adc     r5, r6
      94:       71 1c           adc     r7, r1
      96:       8b 1c           adc     r8, r11
      98:       9d 1c           adc     r9, r13
      9a:       af 1c           adc     r10, r15
      9c:       33 1d           adc     r19, r3
      9e:       bc 1f           adc     r27, r28
      a0:       5b 1e           adc     r5, r27
      a2:       6d 1e           adc     r6, r29
      a4:       7e 1e           adc     r7, r30
      a6:       95 1e           adc     r9, r21
      a8:       b6 1e           adc     r11, r22
      aa:       d6 1e           adc     r13, r22
      ac:       27 1f           adc     r18, r23
      ae:       78 1f           adc     r23, r24
      b0:       62 66           ori     r22, 0x62       ; 98
      b2:       a8 6a           ori     r26, 0xA8       ; 168
      b4:       a0 70           andi    r26, 0x00       ; 0
      b6:       13 74           andi    r17, 0x43       ; 67
      b8:       cf 75           andi    r28, 0x5F       ; 95
      ba:       71 77           andi    r23, 0x71       ; 113
      bc:       4c 79           andi    r20, 0x9C       ; 156
      be:       72 66           ori     r23, 0x62       ; 98
      c0:       3c 67           ori     r19, 0x7C       ; 124
      c2:       0b 68           ori     r16, 0x8B       ; 139
      c4:       8a 68           ori     r24, 0x8A       ; 138
      c6:       d9 68           ori     r29, 0x89       ; 137
      c8:       71 69           ori     r23, 0x91       ; 145
      ca:       99 7b           andi    r25, 0xB9       ; 185
      cc:       fa 69           ori     r31, 0x9A       ; 154
      ce:       7e 6a           ori     r23, 0xAE       ; 174
      d0:       7e 6a           ori     r23, 0xAE       ; 174
      d2:       7e 6a           ori     r23, 0xAE       ; 174
      d4:       7e 6a           ori     r23, 0xAE       ; 174
      d6:       7e 6a           ori     r23, 0xAE       ; 174
      d8:       7e 6a           ori     r23, 0xAE       ; 174
      da:       7e 6a           ori     r23, 0xAE       ; 174
      dc:       7e 6a           ori     r23, 0xAE       ; 174
      de:       7e 6a           ori     r23, 0xAE       ; 174
      e0:       b8 6a           ori     r27, 0xA8       ; 168
      e2:       76 6b           ori     r23, 0xB6       ; 182
      e4:       1a 6c           ori     r17, 0xCA       ; 202
      e6:       57 6c           ori     r21, 0xC7       ; 199
      e8:       cd 6c           ori     r28, 0xCD       ; 205
      ea:       4e 6d           ori     r20, 0xDE       ; 222
      ec:       43 6e           ori     r20, 0xE3       ; 227
      ee:       ed 6f           ori     r30, 0xFD       ; 253
      f0:       71 70           andi    r23, 0x01       ; 1
      f2:       71 70           andi    r23, 0x01       ; 1
      f4:       71 70           andi    r23, 0x01       ; 1
      f6:       71 70           andi    r23, 0x01       ; 1
      f8:       71 70           andi    r23, 0x01       ; 1
      fa:       71 70           andi    r23, 0x01       ; 1
      fc:       71 70           andi    r23, 0x01       ; 1
      fe:       71 70           andi    r23, 0x01       ; 1
     100:       71 70           andi    r23, 0x01       ; 1
     102:       b0 70           andi    r27, 0x00       ; 0
     104:       cf 70           andi    r28, 0x0F       ; 15
     106:       fe 70           andi    r31, 0x0E       ; 14
     108:       a3 71           andi    r26, 0x13       ; 19
     10a:       0e 72           andi    r16, 0x2E       ; 46
     10c:       ad 72           andi    r26, 0x2D       ; 45
     10e:       ef 72           andi    r30, 0x2F       ; 47
     110:       87 73           andi    r24, 0x37       ; 55
     112:       99 7b           andi    r25, 0xB9       ; 185
     114:       e5 73           andi    r30, 0x35       ; 53
     116:       e5 73           andi    r30, 0x35       ; 53
     118:       e5 73           andi    r30, 0x35       ; 53
     11a:       e5 73           andi    r30, 0x35       ; 53
     11c:       e5 73           andi    r30, 0x35       ; 53
     11e:       e5 73           andi    r30, 0x35       ; 53
     120:       e5 73           andi    r30, 0x35       ; 53
     122:       e5 73           andi    r30, 0x35       ; 53
     124:       9f 87           std     Y+15, r25       ; 0x0f
     126:       d4 88           ldd     r13, Z+20       ; 0x14
     128:       71 89           ldd     r23, Z+17       ; 0x11
     12a:       f4 89           ldd     r31, Z+20       ; 0x14
     12c:       36 8a           std     Z+22, r3        ; 0x16
     12e:       da 8a           std     Y+18, r13       ; 0x12
     130:       64 8b           std     Z+20, r22       ; 0x14
     132:       cb 8b           std     Y+19, r28       ; 0x13
     134:       5a 8c           ldd     r5, Y+26        ; 0x1a
     136:       98 8c           ldd     r9, Y+24        ; 0x18
     138:       15 8d           ldd     r17, Z+29       ; 0x1d
     13a:       43 8d           ldd     r20, Z+27       ; 0x1b
     13c:       71 8d           ldd     r23, Z+25       ; 0x19
     13e:       cd 8d           ldd     r28, Y+29       ; 0x1d
     140:       21 8e           std     Z+25, r2        ; 0x19
     142:       7f 8e           std     Y+31, r7        ; 0x1f
     144:       cd 8e           std     Y+29, r12       ; 0x1d
     146:       17 8f           std     Z+31, r17       ; 0x1f
     148:       8a 8f           std     Y+26, r24       ; 0x1a
     14a:       a6 90           elpm    r10, Z
     14c:       19 97           sbiw    r26, 0x09       ; 9
     14e:       7f 98           cbi     0x0f, 7 ; 15
     150:       fa 98           cbi     0x1f, 2 ; 31
     152:       b5 99           sbic    0x16, 5 ; 22
     154:       53 99           sbic    0x0a, 3 ; 10
     156:       85 99           sbic    0x10, 5 ; 16
     158:       58 97           sbiw    r26, 0x18       ; 24
     15a:       27 98           cbi     0x04, 7 ; 4
     15c:       b5 99           sbic    0x16, 5 ; 22
     15e:       b9 97           sbiw    r30, 0x29       ; 41
     160:       53 a1           ldd     r21, Z+35       ; 0x23
     162:       b2 a1           ldd     r27, Z+34       ; 0x22
     164:       f1 a1           ldd     r31, Z+33       ; 0x21
     166:       51 a2           std     Z+33, r5        ; 0x21
     168:       70 a2           std     Z+32, r7        ; 0x20
     16a:       b1 a2           std     Z+33, r11       ; 0x21
     16c:       6a a3           std     Y+34, r22       ; 0x22
     16e:       7d a8           ldd     r7, Y+53        ; 0x35
     170:       73 ab           std     Z+51, r23       ; 0x33
     172:       73 ab           std     Z+51, r23       ; 0x33
     174:       73 ab           std     Z+51, r23       ; 0x33
     176:       73 ab           std     Z+51, r23       ; 0x33
     178:       73 ab           std     Z+51, r23       ; 0x33
     17a:       73 ab           std     Z+51, r23       ; 0x33
     17c:       73 ab           std     Z+51, r23       ; 0x33
     17e:       73 ab           std     Z+51, r23       ; 0x33
     180:       73 ab           std     Z+51, r23       ; 0x33
     182:       73 ab           std     Z+51, r23       ; 0x33
     184:       73 ab           std     Z+51, r23       ; 0x33
     186:       73 ab           std     Z+51, r23       ; 0x33
     188:       73 ab           std     Z+51, r23       ; 0x33
     18a:       73 ab           std     Z+51, r23       ; 0x33
     18c:       73 ab           std     Z+51, r23       ; 0x33
     18e:       73 ab           std     Z+51, r23       ; 0x33
     190:       73 ab           std     Z+51, r23       ; 0x33
     192:       73 ab           std     Z+51, r23       ; 0x33
     194:       73 ab           std     Z+51, r23       ; 0x33
     196:       73 ab           std     Z+51, r23       ; 0x33
     198:       73 ab           std     Z+51, r23       ; 0x33
     19a:       73 ab           std     Z+51, r23       ; 0x33
     19c:       73 ab           std     Z+51, r23       ; 0x33
     19e:       73 ab           std     Z+51, r23       ; 0x33
     1a0:       73 ab           std     Z+51, r23       ; 0x33
     1a2:       73 ab           std     Z+51, r23       ; 0x33
     1a4:       ea a9           ldd     r30, Y+50       ; 0x32
     1a6:       73 ab           std     Z+51, r23       ; 0x33
     1a8:       73 ab           std     Z+51, r23       ; 0x33
     1aa:       73 ab           std     Z+51, r23       ; 0x33
     1ac:       e8 aa           std     Y+48, r14       ; 0x30
     1ae:       73 ab           std     Z+51, r23       ; 0x33
     1b0:       73 ab           std     Z+51, r23       ; 0x33
     1b2:       d6 a8           ldd     r13, Z+54       ; 0x36
     1b4:       af a8           ldd     r10, Y+55       ; 0x37
     1b6:       73 ab           std     Z+51, r23       ; 0x33
     1b8:       05 a9           ldd     r16, Z+53       ; 0x35
     1ba:       0c a9           ldd     r16, Y+52       ; 0x34
     1bc:       73 ab           std     Z+51, r23       ; 0x33
     1be:       88 a9           ldd     r24, Y+48       ; 0x30
     1c0:       88 a8           ldd     r8, Y+48        ; 0x30
     1c2:       3e aa           std     Y+54, r3        ; 0x36
     1c4:       73 ab           std     Z+51, r23       ; 0x33
     1c6:       93 aa           std     Z+51, r9        ; 0x33
     1c8:       73 ab           std     Z+51, r23       ; 0x33
     1ca:       22 aa           std     Z+50, r2        ; 0x32
     1cc:       bd ab           std     Y+53, r27       ; 0x35
     1ce:       aa ac           ldd     r10, Y+58       ; 0x3a
     1d0:       aa ac           ldd     r10, Y+58       ; 0x3a
     1d2:       aa ac           ldd     r10, Y+58       ; 0x3a
     1d4:       aa ac           ldd     r10, Y+58       ; 0x3a
     1d6:       aa ac           ldd     r10, Y+58       ; 0x3a
     1d8:       aa ac           ldd     r10, Y+58       ; 0x3a
     1da:       aa ac           ldd     r10, Y+58       ; 0x3a
     1dc:       aa ac           ldd     r10, Y+58       ; 0x3a
     1de:       aa ac           ldd     r10, Y+58       ; 0x3a
     1e0:       aa ac           ldd     r10, Y+58       ; 0x3a
     1e2:       aa ac           ldd     r10, Y+58       ; 0x3a
     1e4:       aa ac           ldd     r10, Y+58       ; 0x3a
     1e6:       aa ac           ldd     r10, Y+58       ; 0x3a
     1e8:       aa ac           ldd     r10, Y+58       ; 0x3a
     1ea:       aa ac           ldd     r10, Y+58       ; 0x3a
     1ec:       aa ac           ldd     r10, Y+58       ; 0x3a
     1ee:       aa ac           ldd     r10, Y+58       ; 0x3a
     1f0:       aa ac           ldd     r10, Y+58       ; 0x3a
     1f2:       aa ac           ldd     r10, Y+58       ; 0x3a
     1f4:       aa ac           ldd     r10, Y+58       ; 0x3a
     1f6:       aa ac           ldd     r10, Y+58       ; 0x3a
     1f8:       c8 ab           std     Y+48, r28       ; 0x30
     1fa:       d9 ab           std     Y+49, r29       ; 0x31
     1fc:       ec ab           std     Y+52, r30       ; 0x34
     1fe:       29 ac           ldd     r2, Y+57        ; 0x39
     200:       aa ac           ldd     r10, Y+58       ; 0x3a
     202:       aa ac           ldd     r10, Y+58       ; 0x3a
     204:       a7 ac           ldd     r10, Z+63       ; 0x3f
     206:       4f ac           ldd     r4, Y+63        ; 0x3f
     208:       aa ac           ldd     r10, Y+58       ; 0x3a
     20a:       aa ac           ldd     r10, Y+58       ; 0x3a
     20c:       aa ac           ldd     r10, Y+58       ; 0x3a
     20e:       87 ac           ldd     r8, Z+63        ; 0x3f
     210:       aa ac           ldd     r10, Y+58       ; 0x3a
     212:       aa ac           ldd     r10, Y+58       ; 0x3a
     214:       aa ac           ldd     r10, Y+58       ; 0x3a
     216:       aa ac           ldd     r10, Y+58       ; 0x3a
     218:       aa ac           ldd     r10, Y+58       ; 0x3a
     21a:       aa ac           ldd     r10, Y+58       ; 0x3a
     21c:       aa ac           ldd     r10, Y+58       ; 0x3a
     21e:       80 ab           std     Z+48, r24       ; 0x30
     220:       aa ac           ldd     r10, Y+58       ; 0x3a
     222:       95 ac           ldd     r9, Z+61        ; 0x3d
     224:       a3 18           sub     r10, r3
     226:       a6 18           sub     r10, r6
     228:       a6 18           sub     r10, r6
     22a:       a6 18           sub     r10, r6
     22c:       af 18           sub     r10, r15
     22e:       b2 18           sub     r11, r2
     230:       b5 18           sub     r11, r5
     232:       c7 18           sub     r12, r7
     234:       c4 18           sub     r12, r4

00000236 <__trampolines_end>:
     236:       2e 00           .word   0x002e  ; ????

00000238 <__c.3073>:
     238:       0a 0d 4d 69 78 65 72 2d 43 6f 6e 66 69 67 3a 20     ..Mixer-Config: 
     248:       27 25 73 27 20 28 25 75 20 4d 6f 74 6f 72 73 29     '%s' (%u Motors)
        ...

00000259 <__c.3068>:
     259:       0a 0d 47 65 6e 65 72 61 74 69 6e 67 20 64 65 66     ..Generating def
     269:       61 75 6c 74 20 4d 69 78 65 72 20 54 61 62 6c 65     ault Mixer Table
        ...

0000027a <__c.3066>:
     27a:       0a 0d 55 73 69 6e 67 20 50 61 72 61 6d 65 74 65     ..Using Paramete
     28a:       72 20 53 65 74 20 25 64 00                          r Set %d.

00000293 <__c.3057>:
     293:       0a 0d 47 65 6e 65 72 61 74 69 6e 67 20 64 65 66     ..Generating def
     2a3:       61 75 6c 74 20 50 61 72 61 6d 65 74 65 72 20 53     ault Parameter S
     2b3:       65 74 20 25 64 00                                   et %d.

000002b9 <__c.3054>:
     2b9:       0a 0d 2d 2d 3e 20 48 61 72 64 77 61 72 65 20 56     ..--> Hardware V
     2c9:       65 72 73 69 6f 6e 20 42 79 74 65 20 43 68 61 6e     ersion Byte Chan
     2d9:       67 65 64 20 3c 2d 2d 00                             ged <--.

000002e1 <__c.3166>:
     2e1:       0a 0d 47 79 72 6f 20 63 61 6c 69 62 72 61 74 69     ..Gyro calibrati
     2f1:       6f 6e 20 64 61 74 61 20 6e 6f 74 20 76 61 6c 69     on data not vali
     301:       64 0d 0a 00                                         d...

00000305 <__c.3161>:
     305:       0a 0d 41 43 43 20 6e 6f 74 20 63 61 6c 69 62 72     ..ACC not calibr
     315:       61 74 65 64 21 0d 0a 00                             ated!...

0000031d <__c.3040>:
     31d:       1b 5b 32 4a 46 43 2d 53 74 61 72 74 21 0a 0d 46     .[2JFC-Start!..F
     32d:       6c 75 67 7a 65 69 74 3a 20 25 64 20 6d 69 6e 00     lugzeit: %d min.

0000033d <__c.3038>:
     33d:       0a 0d 46 6c 69 67 68 74 2d 74 69 6d 65 20 25 75     ..Flight-time %u
     34d:       20 6d 69 6e 20 54 6f 74 61 6c 3a 25 75 20 6d 69      min Total:%u mi
     35d:       6e 00                                               n.

0000035f <__c.3036>:
     35f:       4f 4b 0a 0d 00                                      OK...

00000364 <__c.3031>:
     364:       0a 0d 43 61 6c 69 62 72 61 74 69 6e 67 20 70 72     ..Calibrating pr
     374:       65 73 73 75 72 65 20 73 65 6e 73 6f 72 2e 2e 00     essure sensor...

00000384 <__c.3029>:
     384:       3c 2d 2d 20 77 61 72 6e 69 6e 67 20 6f 6c 64 20     <-- warning old 
     394:       56 65 72 73 69 6f 6e 21 00                          Version!.

0000039d <__c.3027>:
     39d:       0a 0d 42 4c 2d 46 69 72 6d 77 61 72 65 20 25 64     ..BL-Firmware %d
     3ad:       2e 25 30 32 64 00                                   .%02d.

000003b3 <__c.3022>:
     3b3:       0a 0d 0a 0d 21 21 20 4d 49 53 53 49 4e 47 20 42     ....!! MISSING B
     3c3:       4c 2d 43 54 52 4c 3a 20 25 64 20 21 21 00           L-CTRL: %d !!.

000003d1 <__c.3017>:
     3d1:       25 64 00                                            %d.

000003d4 <__c.3008>:
     3d4:       0a 0d 46 6f 75 6e 64 20 42 4c 2d 43 74 72 6c 3a     ..Found BL-Ctrl:
     3e4:       20 00                                                .

000003e6 <__c.2999>:
     3e6:       0a 0d 4f 6c 64 20 46 43 20 48 61 72 64 77 61 72     ..Old FC Hardwar
     3f6:       65 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20     e not supported 
     406:       62 79 20 74 68 69 73 20 46 69 72 6d 77 61 72 65     by this Firmware
     416:       21 00                                               !.

00000418 <__c.2985>:
     418:       20 20 41 75 74 6f 6c 61 6e 64 69 6e 67 3a 20 25       Autolanding: %
     428:       64 2e 25 64 56 00                                   d.%dV.

0000042e <__c.2983>:
     42e:       20 20 41 75 74 6f 2d 43 48 3a 20 25 64 2e 25 64       Auto-CH: %d.%d
     43e:       56 00                                               V.

00000440 <__c.2981>:
     440:       20 4c 6f 77 20 77 61 72 6e 69 6e 67 3a 20 25 64      Low warning: %d
     450:       2e 25 64 56 00                                      .%dV.

00000455 <__c.2979>:
     455:       20 25 64 20 43 65 6c 6c 73 20 00                     %d Cells .

00000460 <__c.2977>:
     460:       0a 0d 42 61 74 74 3a 00                             ..Batt:.

00000468 <__c.2968>:
     468:       0a 0d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d     ..==============
     478:       3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d     ================
     488:       3d 3d 3d 3d 3d 00                                   =====.

0000048e <__c.3496>:
     48e:       25 73 00                                            %s.

00000491 <__c.3494>:
     491:       28 53 65 74 20 2d 3e 20 4c 6f 61 64 29 00           (Set -> Load).

0000049f <__c.3492>:
     49f:       4e 6f 20 53 44 2d 43 61 72 64 20 20 20 00           No SD-Card   .

000004ad <__c.3490>:
     4ad:       2d 2d 00                                            --.

000004b0 <__c.3488>:
     4b0:       25 32 64 00                                         %2d.

000004b4 <__c.3486>:
     4b4:       20 20 20 00                                            .

000004b8 <__c.3484>:
     4b8:       6c 6f 61 64 20 70 6f 69 6e 74 3a 00                 load point:.

000004c4 <__c.3479>:
     4c4:       43 61 6d 3a 20 25 33 69 00                          Cam: %3i.

000004cd <__c.3477>:
     4cd:       44 49 52 3a 20 25 33 64 25 63 00                    DIR: %3d%c.

000004d8 <__c.3475>:
     4d8:       41 4c 54 3a 25 34 69 6d 20 20 20 20 00              ALT:%4im    .

000004e5 <__c.3473>:
     4e5:       41 4c 54 3a 25 34 69 2f 25 69 6d 20 00              ALT:%4i/%im .

000004f2 <__c.3470>:
     4f2:       57 50 3a 25 32 64 2f 25 64 20 44 69 73 74 3a 25     WP:%2d/%d Dist:%
     502:       33 64 6d 20 00                                      3dm .

00000507 <__c.3468>:
     507:       20 25 32 69 3a 25 30 32 69 20 00                     %2i:%02i .

00000512 <__c.3466>:
     512:       20 25 32 69 2e 25 31 69 56 20 00                     %2i.%1iV .

0000051d <__c.3462>:
     51d:       4c 6f 61 64 20 73 69 6e 67 6c 65 20 50 6f 73 69     Load single Posi
     52d:       74 69 6f 6e 00                                      tion.

00000532 <__c.3455>:
     532:       21 4e 6f 20 47 50 53 2d 46 69 78 21 20 00           !No GPS-Fix! .

00000540 <__c.3453>:
     540:       28 53 65 74 20 2d 3e 20 53 74 6f 72 65 29 00        (Set -> Store).

0000054f <__c.3451>:
     54f:       4e 6f 20 53 44 2d 43 61 72 64 20 20 20 00           No SD-Card   .

0000055d <__c.3449>:
     55d:       2d 2d 00                                            --.

00000560 <__c.3447>:
     560:       25 32 64 20 00                                      %2d .

00000565 <__c.3445>:
     565:       20 20 20 00                                            .

00000569 <__c.3443>:
     569:       53 74 6f 72 65 20 70 6f 69 6e 74 3a 00              Store point:.

00000576 <__c.3438>:
     576:       43 61 6d 3a 20 25 33 69 00                          Cam: %3i.

0000057f <__c.3436>:
     57f:       44 49 52 3a 20 25 33 64 25 63 00                    DIR: %3d%c.

0000058a <__c.3434>:
     58a:       41 4c 54 3a 25 34 69 6d 00                          ALT:%4im.

00000593 <__c.3431>:
     593:       20 25 32 69 3a 25 30 32 69 20 00                     %2i:%02i .

0000059e <__c.3429>:
     59e:       20 25 32 69 2e 25 31 69 56 20 00                     %2i.%1iV .

000005a9 <__c.3425>:
     5a9:       53 74 6f 72 65 20 73 69 6e 67 6c 65 20 50 6f 73     Store single Pos
     5b9:       69 74 69 6f 6e 00                                   ition.

000005bf <__c.3418>:
     5bf:       20 20 20 20 20 20 20 20 20 20 20 20 20 00                        .

000005cd <__c.3416>:
     5cd:       28 53 65 74 20 2d 3e 20 4c 6f 61 64 29 00           (Set -> Load).

000005db <__c.3414>:
     5db:       4e 6f 20 53 44 2d 43 61 72 64 20 20 20 00           No SD-Card   .

000005e9 <__c.3412>:
     5e9:       20 2d 2d 00                                          --.

000005ed <__c.3410>:
     5ed:       25 32 64 20 28 46 49 58 29 00                       %2d (FIX).

000005f7 <__c.3408>:
     5f7:       20 20 20 00                                            .

000005fb <__c.3406>:
     5fb:       4c 6f 61 64 20 6c 69 73 74 3a 00                    Load list:.

00000606 <__c.3401>:
     606:       25 73 00                                            %s.

00000609 <__c.3399>:
     609:       25 32 69 2e 25 31 69 56 20 00                       %2i.%1iV .

00000613 <__c.3396>:
     613:       4e 6f 20 57 50 73 20 61 63 74 69 76 65 20 20 20     No WPs active   
     623:       20 00                                                .

00000625 <__c.3394>:
     625:       41 63 74 69 76 65 20 57 50 3a 25 32 64 2f 25 64     Active WP:%2d/%d
     635:       20 00                                                .

00000637 <__c.3390>:
     637:       28 46 69 78 65 64 20 50 6f 73 69 74 69 6f 6e 73     (Fixed Positions
     647:       29 00                                               ).

00000649 <__c.3388>:
     649:       4c 6f 61 64 20 57 61 79 70 6f 69 6e 74 73 00        Load Waypoints.

00000658 <__c.3381>:
     658:       21 4e 6f 20 47 50 53 2d 46 69 78 21 20 00           !No GPS-Fix! .

00000666 <__c.3379>:
     666:       20 20 20 20 20 20 20 20 20 20 20 20 20 00                        .

00000674 <__c.3377>:
     674:       28 53 65 74 20 2d 3e 20 4c 6f 61 64 29 00           (Set -> Load).

00000682 <__c.3375>:
     682:       4e 6f 20 53 44 2d 43 61 72 64 20 20 20 00           No SD-Card   .

00000690 <__c.3373>:
     690:       4c 6f 61 64 20 6c 69 73 74 3a 20 2d 2d 20 00        Load list: -- .

0000069f <__c.3371>:
     69f:       4c 6f 61 64 20 6c 69 73 74 3a 00                    Load list:.

000006aa <__c.3369>:
     6aa:       25 32 69 20 20 20 00                                %2i   .

000006b1 <__c.3367>:
     6b1:       20 20 20 00                                            .

000006b5 <__c.3362>:
     6b5:       25 73 00                                            %s.

000006b8 <__c.3360>:
     6b8:       25 32 69 2e 25 31 69 56 20 00                       %2i.%1iV .

000006c2 <__c.3357>:
     6c2:       4e 6f 20 57 50 73 20 61 63 74 69 76 65 20 20 20     No WPs active   
     6d2:       20 20 00                                              .

000006d5 <__c.3355>:
     6d5:       41 63 74 69 76 65 20 57 50 3a 25 32 64 2f 25 64     Active WP:%2d/%d
     6e5:       20 00                                                .

000006e7 <__c.3351>:
     6e7:       28 52 65 6c 61 74 69 76 65 20 50 6f 73 69 74 69     (Relative Positi
     6f7:       6f 6e 73 29 00                                      ons).

000006fc <__c.3349>:
     6fc:       4c 6f 61 64 20 57 61 79 70 6f 69 6e 74 73 00        Load Waypoints.

0000070b <__c.3333>:
     70b:       43 4f 4d 50 41 53 53 20 4f 46 46 21 20 00           COMPASS OFF! .

00000719 <__c.3331>:
     719:       48 48 21 20 00                                      HH! .

0000071e <__c.3329>:
     71e:       4c 4f 4f 50 49 4e 47 21 20 00                       LOOPING! .

00000728 <__c.3327>:
     728:       43 4f 55 50 4c 49 4e 47 20 4f 46 46 21 20 00        COUPLING OFF! .

00000737 <__c.3324>:
     737:       50 34 3a 25 34 69 20 50 35 3a 25 34 69 20 36 3a     P4:%4i P5:%4i 6:
     747:       25 33 69 00                                         %3i.

0000074b <__c.3322>:
     74b:       50 31 3a 25 34 69 20 50 32 3a 25 34 69 20 33 3a     P1:%4i P2:%4i 3:
     75b:       25 33 69 00                                         %3i.

0000075f <__c.3320>:
     75f:       47 73 3a 25 34 69 20 59 61 3a 25 34 69 20 00        Gs:%4i Ya:%4i .

0000076e <__c.3318>:
     76e:       4e 69 3a 25 34 69 20 52 6f 3a 25 34 69 20 43 3a     Ni:%4i Ro:%4i C:
     77e:       25 33 69 00                                         %3i.

00000782 <__c.3315>:
     782:       48 4f 4c 44 20 00                                   HOLD .

00000788 <__c.3313>:
     788:       25 75 6d 00                                         %um.

0000078c <__c.3311>:
     78c:       48 4f 4d 45 20 41 4c 54 3a 00                       HOME ALT:.

00000796 <__c.3308>:
     796:       20 46 53 3a 25 75 73 65 6b 20 00                     FS:%usek .

000007a1 <__c.3306>:
     7a1:       28 48 4f 4c 44 29 00                                (HOLD).

000007a8 <__c.3304>:
     7a8:       28 41 49 44 29 20 00                                (AID) .

000007af <__c.3302>:
     7af:       28 48 4f 4d 45 29 00                                (HOME).

000007b6 <__c.3300>:
     7b6:       28 46 52 45 45 29 00                                (FREE).

000007bd <__c.3298>:
     7bd:       44 49 53 41 42 4c 45 44 00                          DISABLED.

000007c6 <__c.3296>:
     7c6:       47 50 53 3a 00                                      GPS:.

000007cb <__c.3293>:
     7cb:       20 54 45 41 43 48 00                                 TEACH.

000007d2 <__c.3291>:
     7d2:       20 28 4f 46 46 29 00                                 (OFF).

000007d9 <__c.3289>:
     7d9:       20 28 4f 4e 29 20 00                                 (ON) .

000007e0 <__c.3287>:
     7e0:       44 49 53 41 42 4c 45 44 00                          DISABLED.

000007e9 <__c.3285>:
     7e9:       43 46 3a 00                                         CF:.

000007ed <__c.3282>:
     7ed:       44 49 53 41 42 4c 45 44 00                          DISABLED.

000007f6 <__c.3280>:
     7f6:       56 41 52 49 4f 00                                   VARIO.

000007fc <__c.3278>:
     7fc:       4c 49 4d 49 54 00                                   LIMIT.

00000802 <__c.3276>:
     802:       28 4f 46 46 29 20 00                                (OFF) .

00000809 <__c.3274>:
     809:       28 4f 4e 29 20 20 00                                (ON)  .

00000810 <__c.3272>:
     810:       50 4f 54 49 3a 25 33 75 20 00                       POTI:%3u .

0000081a <__c.3270>:
     81a:       41 4c 54 3a 00                                      ALT:.

0000081f <__c.3267>:
     81f:       4d 69 6e 3a 25 32 69 2e 25 31 69 56 20 25 73 20     Min:%2i.%1iV %s 
        ...

00000830 <__c.3263>:
     830:       53 65 74 74 69 6e 67 3a 25 75 20 25 73 20 00        Setting:%u %s .

0000083f <__c.3249>:
     83f:       20 77 77 77 2e 4d 69 6b 72 6f 4b 6f 70 74 65 72      www.MikroKopter
     84f:       2e 64 65 20 20 00                                   .de  .

00000855 <__c.3247>:
     855:       21 21 20 4c 69 50 6f 20 76 6f 6c 74 61 67 65 20     !! LiPo voltage 
     865:       21 21 00                                            !!.

00000868 <__c.3245>:
     868:       45 52 52 3a 20 00                                   ERR: .

0000086e <__c.3243>:
     86e:       45 52 52 3a 20 25 32 64 20 21 00                    ERR: %2d !.

00000879 <__c.3240>:
     879:       25 33 69 20 25 33 69 20 25 33 69 20 25 33 69 25     %3i %3i %3i %3i%
     889:       63 43 00                                            cC.

0000088c <__c.3238>:
     88c:       25 33 69 20 25 33 69 25 63 43 20 20 20 20 20 20     %3i %3i%cC      
     89c:       20 20 00                                              .

0000089f <__c.3236>:
     89f:       25 32 69 2e 25 69 20 25 32 69 2e 25 69 20 25 32     %2i.%i %2i.%i %2
     8af:       69 2e 25 69 20 25 32 69 2e 25 69 41 00              i.%i %2i.%iA.

000008bc <__c.3234>:
     8bc:       25 32 69 2e 25 69 20 25 32 69 2e 25 69 41 00        %2i.%i %2i.%iA.

000008cb <__c.3231>:
     8cb:       25 33 69 20 25 33 69 20 25 33 69 20 25 33 69 25     %3i %3i %3i %3i%
     8db:       63 43 00                                            cC.

000008de <__c.3229>:
     8de:       25 32 69 2e 25 69 20 25 32 69 2e 25 69 20 25 32     %2i.%i %2i.%i %2
     8ee:       69 2e 25 69 20 25 32 69 2e 25 69 41 00              i.%i %2i.%iA.

000008fb <__c.3226>:
     8fb:       20 20 20 4e 6f 20 4e 61 76 69 43 74 72 6c 20 20        No NaviCtrl  
     90b:       20 20 20 20 20 00                                        .

00000911 <__c.3224>:
     911:       44 47 50 53 20 00                                   DGPS .

00000917 <__c.3222>:
     917:       4e 4f 46 49 58 00                                   NOFIX.

0000091d <__c.3218>:
     91d:       20 20 33 44 20 00                                     3D .

00000923 <__c.3215>:
     923:       47 50 53 3a 25 32 75 6d 2f 73 20 53 41 54 3a 25     GPS:%2um/s SAT:%
     933:       64 20 00                                            d .

00000936 <__c.3212>:
     936:       20 20 00                                              .

00000939 <__c.3210>:
     939:       43 46 00                                            CF.

0000093c <__c.3208>:
     93c:       50 57 52 3a 25 32 69 2e 25 31 69 41 20 28 25 69     PWR:%2i.%1iA (%i
     94c:       57 29 20 00                                         W) .

00000950 <__c.3205>:
     950:       48 4d 3a 25 33 64 25 63 20 20 44 49 53 54 3a 25     HM:%3d%c  DIST:%
     960:       33 64 6d 20 25 63 00                                3dm %c.

00000967 <__c.3202>:
     967:       25 63 00                                            %c.

0000096a <__c.3200>:
     96a:       41 4c 54 3a 2d 2d 2d 2d 20 00                       ALT:---- .

00000974 <__c.3198>:
     974:       41 4c 54 3a 25 34 69 6d 00                          ALT:%4im.

0000097d <__c.3196>:
     97d:       41 4c 54 3a 25 34 69 6d 00                          ALT:%4im.

00000986 <__c.3194>:
     986:       44 49 52 3a 25 33 64 25 63 00                       DIR:%3d%c.

00000990 <__c.3190>:
     990:       20 25 32 69 3a 25 30 32 69 20 20 25 32 69 2e 25      %2i:%02i  %2i.%
     9a0:       31 69 56 20 25 34 69 6d 41 68 00                    1iV %4imAh.

000009ab <__c.3188>:
     9ab:       20 25 32 69 3a 25 30 32 69 20 20 25 32 69 2e 25      %2i:%02i  %2i.%
     9bb:       31 69 56 20 25 34 69 6d 41 68 00                    1iV %4imAh.

000009c6 <__c.3173>:
     9c6:       20 77 77 77 2e 4d 69 6b 72 6f 4b 6f 70 74 65 72      www.MikroKopter
     9d6:       2e 64 65 20 20 00                                   .de  .

000009dc <__c.3171>:
     9dc:       21 21 20 4c 69 50 6f 20 76 6f 6c 74 61 67 65 20     !! LiPo voltage 
     9ec:       21 21 00                                            !!.

000009ef <__c.3169>:
     9ef:       45 52 52 3a 20 00                                   ERR: .

000009f5 <__c.3167>:
     9f5:       45 52 52 3a 20 25 32 64 20 21 00                    ERR: %2d !.

00000a00 <__c.3163>:
     a00:       20 20 20 20 25 32 75 6d 2f 73 3a 20 20 48 4d 3a         %2um/s:  HM:
     a10:       25 33 64 25 63 20 25 63 00                          %3d%c %c.

00000a19 <__c.3161>:
     a19:       69 6e 63 6c 3a 25 32 64 25 63 28 25 32 69 29 00     incl:%2d%c(%2i).

00000a29 <__c.3159>:
     a29:       48 4d 3a 25 33 64 25 63 20 25 63 00                 HM:%3d%c %c.

00000a35 <__c.3157>:
     a35:       4d 41 47 3a 25 33 75 25 25 20 00                    MAG:%3u%% .

00000a40 <__c.3154>:
     a40:       21 21 00                                            !!.

00000a43 <__c.3150>:
     a43:       33 44 00                                            3D.

00000a46 <__c.3148>:
     a46:       44 20 00                                            D .

00000a49 <__c.3145>:
     a49:       44 49 53 54 3a 25 33 64 6d 00                       DIST:%3dm.

00000a53 <__c.3143>:
     a53:       53 41 54 3a 25 32 64 20 00                          SAT:%2d .

00000a5c <__c.3141>:
     a5c:       3a 00                                               :.

00000a5e <__c.3138>:
     a5e:       2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d     ----------------
     a6e:       2d 2d 2d 2d 2d 00                                   -----.

00000a74 <__c.3136>:
     a74:       2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 2d 2d 2d 2d 2d 2d     ---------+------
     a84:       2d 2d 2d 2d 2d 00                                   -----.

00000a8a <__c.3134>:
     a8a:       3a 00                                               :.

00000a8c <__c.3132>:
     a8c:       3a 00                                               :.

00000a8e <__c.3130>:
     a8e:       3a 00                                               :.

00000a90 <__c.3127>:
     a90:       49 3a 25 32 69 2e 25 31 69 41 20 00                 I:%2i.%1iA .

00000a9c <__c.3125>:
     a9c:       20 20 25 35 69 20 20 00                               %5i  .

00000aa4 <__c.3123>:
     aa4:       20 20 25 35 69 20 20 00                               %5i  .

00000aac <__c.3120>:
     aac:       20 00                                                .

00000aae <__c.3118>:
     aae:       43 00                                               C.

00000ab0 <__c.3116>:
     ab0:       44 49 52 3a 20 25 33 64 25 63 00                    DIR: %3d%c.

00000abb <__c.3114>:
     abb:       20 20 25 32 69 3a 25 30 32 69 20 20 00                %2i:%02i  .

00000ac8 <__c.3112>:
     ac8:       20 20 25 32 69 3a 25 30 32 69 20 20 00                %2i:%02i  .

00000ad5 <__c.3108>:
     ad5:       41 4c 54 3a 2d 2d 2d 2d 20 00                       ALT:---- .

00000adf <__c.3106>:
     adf:       41 4c 54 3a 25 34 69 6d 20 20 00                    ALT:%4im  .

00000aea <__c.3104>:
     aea:       41 4c 54 3a 25 34 69 6d 20 25 63 00                 ALT:%4im %c.

00000af6 <__c.3102>:
     af6:       20 20 25 32 69 2e 25 31 69 56 20 20 00                %2i.%1iV  .

00000b03 <__c.3100>:
     b03:       20 20 25 32 69 2e 25 31 69 56 20 20 00                %2i.%1iV  .

00000b10 <__c.2991>:
     b10:       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                     
     b20:       20 20 20 20 20 00                                        .

00000b26 <HOTT_ERROR>:
     b26:       00 00 05 00 05 00 04 01 06 01 08 00 06 01 02 00     ................
     b36:       04 00 04 00 07 00 07 00 07 00 07 00 07 00 07 00     ................
     b46:       07 00 03 01 03 01 05 00 17 01 0f 01 06 00 09 01     ................
     b56:       0a 01 19 01 05 01 05 01 19 01 1a 01 0f 01 01 00     ................
     b66:       09 00 06 00 06 00                                   ......

00000b6c <NC_ERROR_TEXT>:
     b6c:       4e 6f 20 45 72 72 6f 72 20 20 20 20 20 20 20 20     No Error        
     b7c:       00 4e 6f 74 20 63 6f 6d 70 61 74 69 62 6c 65 20     .Not compatible 
     b8c:       20 00 4d 4b 33 4d 61 67 20 6e 6f 74 20 63 6f 6d      .MK3Mag not com
     b9c:       70 61 00 4e 6f 20 46 43 20 63 6f 6d 6d 75 6e 69     pa.No FC communi
     bac:       63 61 74 00 43 6f 6d 70 61 73 73 20 63 6f 6d 6d     cat.Compass comm
     bbc:       75 6e 69 63 00 47 50 53 20 63 6f 6d 6d 75 6e 69     unic.GPS communi
     bcc:       63 61 74 69 6f 00 63 6f 6d 70 61 73 73 20 76 61     catio.compass va
     bdc:       6c 75 65 20 20 20 00 52 43 20 53 69 67 6e 61 6c     lue   .RC Signal
     bec:       20 6c 6f 73 74 20 20 00 46 43 20 73 70 69 20 72      lost  .FC spi r
     bfc:       78 20 65 72 72 6f 72 20 00 4e 6f 20 4e 43 20 63     x error .No NC c
     c0c:       6f 6d 6d 75 6e 69 63 61 74 00 46 43 20 4e 69 63     ommunicat.FC Nic
     c1c:       6b 20 47 79 72 6f 20 20 20 20 00 46 43 20 52 6f     k Gyro    .FC Ro
     c2c:       6c 6c 20 47 79 72 6f 20 20 20 20 00 46 43 20 59     ll Gyro    .FC Y
     c3c:       61 77 20 47 79 72 6f 20 20 20 20 20 00 46 43 20     aw Gyro     .FC 
     c4c:       4e 69 63 6b 20 41 43 43 20 20 20 20 20 00 46 43     Nick ACC     .FC
     c5c:       20 52 6f 6c 6c 20 41 43 43 20 20 20 20 20 00 46      Roll ACC     .F
     c6c:       43 20 5a 2d 41 43 43 20 20 20 20 20 20 20 20 00     C Z-ACC        .
     c7c:       50 72 65 73 73 75 72 65 20 73 65 6e 73 6f 72 20     Pressure sensor 
     c8c:       00 49 32 43 20 46 43 2d 3e 42 4c 2d 43 74 72 6c     .I2C FC->BL-Ctrl
     c9c:       20 00 42 6c 20 4d 69 73 73 69 6e 67 20 20 20 20      .Bl Missing    
     cac:       20 20 00 4d 69 78 65 72 20 45 72 72 6f 72 20 20       .Mixer Error  
     cbc:       20 20 20 00 43 61 72 65 66 72 65 65 20 45 72 72        .Carefree Err
     ccc:       6f 72 20 20 00 47 50 53 20 46 69 78 20 6c 6f 73     or  .GPS Fix los
     cdc:       74 20 20 20 20 00 4d 61 67 6e 65 74 20 45 72 72     t    .Magnet Err
     cec:       6f 72 20 20 20 20 00 4d 6f 74 6f 72 20 72 65 73     or    .Motor res
     cfc:       74 61 72 74 20 20 20 00 42 4c 20 4c 69 6d 69 74     tart   .BL Limit
     d0c:       61 74 69 6f 6e 20 20 20 00 47 50 53 20 52 61 6e     ation   .GPS Ran
     d1c:       67 65 20 20 20 20 20 20 20 00 4e 6f 20 53 44 2d     ge       .No SD-
     d2c:       43 61 72 64 20 20 20 20 20 20 00 53 44 2d 4c 6f     Card      .SD-Lo
     d3c:       67 67 69 6e 67 20 65 72 72 6f 72 00 46 6c 79 69     gging error.Flyi
     d4c:       6e 67 20 72 61 6e 67 65 21 20 20 20 00 4d 61 78     ng range!   .Max
     d5c:       20 41 6c 74 69 74 75 64 65 21 20 20 20 00 4e 6f      Altitude!   .No
     d6c:       20 47 50 53 20 66 69 78 20 20 20 20 20 20 00 63      GPS fix      .c
     d7c:       6f 6d 70 61 73 73 20 6e 6f 74 20 63 61 6c 2e 00     ompass not cal..
     d8c:       42 4c 2d 53 65 6c 66 74 65 73 74 20 20 20 20 20     BL-Selftest     
     d9c:       00 6e 6f 20 65 78 74 2e 20 63 6f 6d 70 61 73 73     .no ext. compass
     dac:       20 00 63 6f 6d 70 61 73 73 20 73 65 6e 73 6f 72      .compass sensor
     dbc:       20 20 00                                              .

00000dbf <SETTING>:
     dbf:       53 65 74 20 20 3a 00                                Set  :.

00000dc6 <BOAT_MODE>:
     dc6:       20 4d 69 6b 72 6f 4b 6f 70 74 65 72 20 28 42 6f      MikroKopter (Bo
     dd6:       61 74 29 20 20 00                                   at)  .

00000ddc <SIMULATION>:
     ddc:       20 20 53 49 4d 55 4c 41 54 49 4f 4e 20 61 63 74       SIMULATION act
     dec:       69 76 65 20 20 00                                   ive  .

00000df2 <LANDING>:
     df2:       20 21 21 20 20 20 4c 41 4e 44 49 4e 47 20 20 20      !!   LANDING   
     e02:       20 21 21 20 20 00                                    !!  .

00000e08 <UNDERVOLTAGE>:
     e08:       20 21 21 20 4c 69 50 6f 20 76 6f 6c 74 61 67 65      !! LiPo voltage
     e18:       20 21 21 20 20 00                                    !!  .

00000e1e <MIKROKOPTER>:
     e1e:       20 20 20 20 20 4d 69 6b 72 6f 4b 6f 70 74 65 72          MikroKopter
     e2e:       20 20 20 20 20 00                                        .

00000e34 <__c.3126>:
     e34:       4e 6f 20 4e 61 76 69 43 74 72 6c 21 00              No NaviCtrl!.

00000e41 <__c.3124>:
     e41:       48 6f 6d 65 3a 25 33 64 6d 20 25 33 64 25 63 20     Home:%3dm %3d%c 
     e51:       25 63 00                                            %c.

00000e54 <__c.3122>:
     e54:       44 47 50 53 00                                      DGPS.

00000e59 <__c.3120>:
     e59:       4e 6f 46 78 00                                      NoFx.

00000e5e <__c.3116>:
     e5e:       20 20 33 44 00                                        3D.

00000e63 <__c.3113>:
     e63:       25 32 75 6d 2f 73 20 53 61 74 3a 25 64 20 00        %2um/s Sat:%d .

00000e72 <__c.3108>:
     e72:       20 20 00                                              .

00000e75 <__c.3106>:
     e75:       2d 3e 00                                            ->.

00000e78 <__c.3104>:
     e78:       2d 2d 2f 2d 2d 00                                   --/--.

00000e7e <__c.3102>:
     e7e:       25 32 64 2f 25 64 20 00                             %2d/%d .

00000e86 <__c.3100>:
     e86:       23 25 32 64 20 57 50 73 3a 00                       #%2d WPs:.

00000e90 <__c.3098>:
     e90:       6e 6f 20 47 50 53 2d 46 69 78 00                    no GPS-Fix.

00000e9b <__c.3096>:
     e9b:       6e 6f 20 53 44 2d 43 61 72 64 00                    no SD-Card.

00000ea6 <__c.3094>:
     ea6:       52 65 6c 3a 25 73 00                                Rel:%s.

00000ead <__c.3092>:
     ead:       52 65 6c 61 74 69 76 65 20 57 50 73 20 00           Relative WPs .

00000ebb <__c.3085>:
     ebb:       20 20 00                                              .

00000ebe <__c.3083>:
     ebe:       2d 3e 00                                            ->.

00000ec1 <__c.3081>:
     ec1:       2d 2d 2f 2d 2d 00                                   --/--.

00000ec7 <__c.3079>:
     ec7:       25 32 64 2f 25 64 20 00                             %2d/%d .

00000ecf <__c.3077>:
     ecf:       23 25 32 64 20 57 50 3a 00                          #%2d WP:.

00000ed8 <__c.3075>:
     ed8:       6e 6f 20 53 44 2d 43 61 72 64 00                    no SD-Card.

00000ee3 <__c.3073>:
     ee3:       46 49 58 3a 25 73 00                                FIX:%s.

00000eea <__c.3071>:
     eea:       46 49 58 20 57 61 79 70 6f 69 6e 74 73 00           FIX Waypoints.

00000ef8 <__c.3064>:
     ef8:       20 20 00                                              .

00000efb <__c.3062>:
     efb:       2d 3e 00                                            ->.

00000efe <__c.3060>:
     efe:       20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                     
        ...

00000f0f <__c.3058>:
     f0f:       44 69 73 74 3a 25 33 64 20 41 6c 74 3a 25 33 64     Dist:%3d Alt:%3d
     f1f:       20 00                                                .

00000f21 <__c.3056>:
     f21:       25 32 64 00                                         %2d.

00000f25 <__c.3054>:
     f25:       6e 6f 20 53 44 2d 43 61 72 64 00                    no SD-Card.

00000f30 <__c.3052>:
     f30:       4c 6f 61 64 20 50 6f 69 6e 74 00                    Load Point.

00000f3b <__c.3045>:
     f3b:       20 20 00                                              .

00000f3e <__c.3043>:
     f3e:       2d 3e 00                                            ->.

00000f41 <__c.3041>:
     f41:       44 69 72 3a 25 33 64 20 41 6c 74 3a 25 33 64 6d     Dir:%3d Alt:%3dm
        ...

00000f52 <__c.3039>:
     f52:       25 32 64 00                                         %2d.

00000f56 <__c.3037>:
     f56:       6e 6f 20 47 50 53 2d 46 69 78 00                    no GPS-Fix.

00000f61 <__c.3035>:
     f61:       6e 6f 20 53 44 2d 43 61 72 64 00                    no SD-Card.

00000f6c <__c.3033>:
     f6c:       53 61 76 65 20 50 6f 69 6e 74 3a 00                 Save Point:.

00000f78 <__c.3026>:
     f78:       53 61 76 65 20 73 69 6e 67 6c 2e 50 6f 69 6e 74     Save singl.Point
        ...

00000f89 <__c.3021>:
     f89:       4c 6f 61 64 20 73 69 6e 67 6c 2e 50 6f 69 6e 74     Load singl.Point
        ...

00000f9a <__c.3016>:
     f9a:       28 52 65 6c 61 74 69 76 65 29 20 20 20 00           (Relative)   .

00000fa8 <__c.3014>:
     fa8:       4c 6f 61 64 20 57 61 79 70 6f 69 6e 74 73 00        Load Waypoints.

00000fb7 <__c.3009>:
     fb7:       28 46 69 78 65 64 29 20 20 20 20 20 20 00           (Fixed)      .

00000fc5 <__c.3007>:
     fc5:       4c 6f 61 64 20 57 61 79 70 6f 69 6e 74 73 00        Load Waypoints.

00000fd4 <__c.3002>:
     fd4:       49 6e 63 6c 69 2e 3a 25 33 69 25 63 20 28 25 69     Incli.:%3i%c (%i
     fe4:       29 20 00                                            ) .

00000fe7 <__c.3000>:
     fe7:       4d 61 67 6e 65 74 3a 25 33 69 25 25 20 25 33 69     Magnet:%3i%% %3i
     ff7:       25 63 00                                            %c.

00000ffa <__c.2995>:
     ffa:       25 34 69 57 20 25 36 69 6d 41 68 00                 %4iW %6imAh.

00001006 <__c.2993>:
    1006:       25 32 69 2e 25 31 69 56 20 25 33 69 2e 25 31 69     %2i.%1iV %3i.%1i
    1016:       41 00                                               A.

00001018 <__c.2988>:
    1018:       25 63 43 20 20 20 20 20 00                          %cC     .

00001021 <__c.2986>:
    1021:       54 65 6d 70 65 72 61 74 75 72 65 73 20 20 20 20     Temperatures    
        ...

00001032 <__c.2984>:
    1032:       25 33 69 20 25 33 69 20 25 33 69 20 25 33 69 00     %3i %3i %3i %3i.

00001042 <__c.2982>:
    1042:       25 33 69 20 25 33 69 20 25 33 69 20 25 33 69 00     %3i %3i %3i %3i.

00001052 <__c.2977>:
    1052:       52 00                                               R.

00001054 <__c.2975>:
    1054:       25 34 69 6d 25 63 00                                %4im%c.

0000105b <__c.2973>:
    105b:       25 34 69 20 25 32 69 3a 25 30 32 69 00              %4i %2i:%02i.

00001068 <__c.2971>:
    1068:       28 42 6f 61 74 2d 4d 6f 64 65 29 00                 (Boat-Mode).

00001074 <__c.2969>:
    1074:       53 65 74 25 64 3a 25 73 00                          Set%d:%s.

0000107d <__c.2967>:
    107d:       53 49 4d 55 4c 41 54 49 4f 4e 00                    SIMULATION.

00001088 <__c.2965>:
    1088:       45 52 52 4f 52 3a 20 25 32 64 20 00                 ERROR: %2d .

00001094 <__c.2961>:
    1094:       53 74 61 74 75 73 20 20 20 20 00                    Status    .

0000109f <__c.2959>:
    109f:       25 33 64 25 63 20 25 33 64 6d 25 63 00              %3d%c %3dm%c.

000010ac <__c.2957>:
    10ac:       25 32 69 2e 25 31 69 56 00                          %2i.%1iV.

000010b5 <JetiBox_Menu>:
    10b5:       08 01 00 00 ea 81 00 02 01 01 b0 7b 01 03 02 02     ...........{....
    10c5:       2f 7c 02 04 03 03 35 81 03 05 04 09 ec 7c 04 06     /|....5......|..
    10d5:       05 0a 17 7d 05 07 06 0b 42 7d 06 08 07 0c 57 7d     ...}....B}....W}
    10e5:       07 00 08 06 a8 7c 04 09 09 09 31 7f 05 0a 0a 0a     .....|....1.....
    10f5:       26 80 06 0b 0b 0b 4c 7e 07 0c 0c 0c 6c 7d           &.....L~....l}

00001103 <JETI_CODE>:
    1103:       00 4f 50 51 52 53 54 53 56 57 48 00 58 59 00 5a     .OPQRSTSVWH.XY.Z
    1113:       55 45 46 47 48 41 00 49 42 4a 4a 00 00 00 00 00     UEFGHA.IBJJ.....
    1123:       00 00 00 00 00 00 44 4c 4d 00 00 00 00 00 4e 00     ......DLM.....N.
    1133:       00 00 4b 00 43                                      ..K.C

00001138 <__c.3160>:
    1138:       25 31 64 2e 25 30 32 64 20 25 31 64 2e 25 30 32     %1d.%02d %1d.%02
    1148:       64 20 25 31 64 2e 25 30 32 64 20 25 31 64 2e 25     d %1d.%02d %1d.%
    1158:       30 32 64 00                                         02d.

0000115c <__c.3158>:
    115c:       42 4c 20 56 65 72 73 69 6f 6e 73 00                 BL Versions.

00001168 <__c.3155>:
    1168:       31 32 00                                            12.

0000116b <__c.3153>:
    116b:       31 31 00                                            11.

0000116e <__c.3151>:
    116e:       31 30 00                                            10.

00001171 <__c.3149>:
    1171:       20 25 63 20 20 20 2d 20 20 20 2d 20 20 20 2d 20      %c   -   -   - 
        ...

00001182 <__c.3147>:
    1182:       20 25 63 20 20 20 25 63 20 20 20 25 63 20 20 20      %c   %c   %c   
    1192:       25 63 20 00                                         %c .

00001196 <__c.3145>:
    1196:       20 25 63 20 20 20 25 63 20 20 20 25 63 20 20 20      %c   %c   %c   
    11a6:       25 63 20 00                                         %c .

000011aa <__c.3143>:
    11aa:       42 4c 2d 43 74 72 6c 20 66 6f 75 6e 64 20 00        BL-Ctrl found .

000011b9 <__c.3137>:
    11b9:       25 33 64 20 25 33 64 20 25 33 64 20 25 33 64 20     %3d %3d %3d %3d 
        ...

000011ca <__c.3135>:
    11ca:       28 69 6e 20 30 2e 31 41 29 00                       (in 0.1A).

000011d4 <__c.3133>:
    11d4:       42 4c 20 43 75 72 72 65 6e 74 00                    BL Current.

000011df <__c.3127>:
    11df:       25 33 64 20 25 33 64 20 25 33 64 20 25 33 64 20     %3d %3d %3d %3d 
        ...

000011f0 <__c.3125>:
    11f0:       42 4c 20 54 65 6d 70 65 72 61 74 75 72 65 00        BL Temperature.

000011ff <__c.3119>:
    11ff:       25 33 64 20 25 33 64 20 25 33 64 20 25 33 64 20     %3d %3d %3d %3d 
        ...

00001210 <__c.3117>:
    1210:       42 4c 2d 43 74 72 6c 20 45 72 72 6f 72 73 20 00     BL-Ctrl Errors .

00001220 <__c.3114>:
    1220:       52 61 6e 67 65 3a 25 33 69 2d 25 33 69 00           Range:%3i-%3i.

0000122e <__c.3112>:
    122e:       50 6f 73 69 74 69 6f 6e 3a 20 25 33 69 00           Position: %3i.

0000123c <__c.3110>:
    123c:       53 65 74 70 6f 69 6e 74 20 20 25 33 69 00           Setpoint  %3i.

0000124a <__c.3108>:
    124a:       53 65 72 76 6f 20 20 00                             Servo  .

00001252 <__c.3105>:
    1252:       54 72 75 65 3a 20 20 20 20 20 25 35 69 00           True:     %5i.

00001260 <__c.3103>:
    1260:       47 79 72 6f 3a 20 20 20 20 20 25 35 69 00           Gyro:     %5i.

0000126e <__c.3101>:
    126e:       4d 61 67 6e 65 74 3a 20 20 20 25 35 69 00           Magnet:   %5i.

0000127c <__c.3099>:
    127c:       43 6f 6d 70 61 73 73 00                             Compass.

00001284 <__c.3096>:
    1284:       28 72 65 73 65 74 29 00                             (reset).

0000128c <__c.3094>:
    128c:       41 63 74 3a 20 20 25 35 75 6d 69 6e 00              Act:  %5umin.

00001299 <__c.3092>:
    1299:       54 6f 74 61 6c 3a 25 35 75 6d 69 6e 00              Total:%5umin.

000012a6 <__c.3090>:
    12a6:       46 6c 69 67 68 74 2d 54 69 6d 65 20 20 00           Flight-Time  .

000012b4 <__c.3084>:
    12b4:       50 6f 74 69 25 69 3a 20 20 25 33 69 00              Poti%i:  %3i.

000012c1 <__c.3078>:
    12c1:       50 6f 74 69 25 69 3a 20 20 25 33 69 00              Poti%i:  %3i.

000012ce <__c.3075>:
    12ce:       4c 61 6e 64 3a 20 25 32 64 2e 25 64 56 00           Land: %2d.%dV.

000012dc <__c.3073>:
    12dc:       48 6f 6d 65 3a 20 25 32 64 2e 25 64 56 00           Home: %2d.%dV.

000012ea <__c.3071>:
    12ea:       57 61 72 6e 3a 20 25 32 64 2e 25 64 56 00           Warn: %2d.%dV.

000012f8 <__c.3069>:
    12f8:       55 6e 64 65 72 76 6f 6c 74 61 67 65 73 20 20 00     Undervoltages  .

00001308 <__c.3066>:
    1308:       52 43 2d 43 68 61 6e 6e 65 6c 73 3a 25 34 69 00     RC-Channels:%4i.

00001318 <__c.3064>:
    1318:       52 43 2d 51 75 61 6c 69 74 79 3a 20 25 34 69 00     RC-Quality: %4i.

00001328 <__c.3062>:
    1328:       52 65 63 65 69 76 65 72 00                          Receiver.

00001331 <__c.3059>:
    1331:       44 69 73 63 68 61 72 67 65 3a 20 25 35 69 6d 41     Discharge: %5imA
    1341:       68 00                                               h.

00001343 <__c.3057>:
    1343:       50 6f 77 65 72 3a 20 20 20 20 20 25 34 69 57 00     Power:     %4iW.

00001353 <__c.3055>:
    1353:       43 75 72 72 65 6e 74 3a 20 20 20 25 33 69 2e 25     Current:   %3i.%
    1363:       31 69 41 00                                         1iA.

00001367 <__c.3053>:
    1367:       56 6f 6c 74 61 67 65 3a 20 20 20 25 33 69 2e 25     Voltage:   %3i.%
    1377:       31 69 56 00                                         1iV.

0000137b <__c.3050>:
    137b:       5a 20 20 20 20 25 34 69 20 28 25 33 69 29 00        Z    %4i (%3i).

0000138a <__c.3048>:
    138a:       52 6f 6c 6c 20 25 34 69 20 28 25 33 69 29 00        Roll %4i (%3i).

00001399 <__c.3046>:
    1399:       4e 69 63 6b 20 25 34 69 20 28 25 33 69 29 00        Nick %4i (%3i).

000013a8 <__c.3044>:
    13a8:       41 43 43 20 2d 20 53 65 6e 73 6f 72 00              ACC - Sensor.

000013b5 <__c.3041>:
    13b5:       59 61 77 20 20 25 34 69 20 28 25 34 69 29 00        Yaw  %4i (%4i).

000013c4 <__c.3039>:
    13c4:       52 6f 6c 6c 20 25 34 69 20 28 25 34 69 29 00        Roll %4i (%4i).

000013d3 <__c.3037>:
    13d3:       4e 69 63 6b 20 25 34 69 20 28 25 34 69 29 00        Nick %4i (%4i).

000013e2 <__c.3035>:
    13e2:       47 79 72 6f 20 2d 20 53 65 6e 73 6f 72 00           Gyro - Sensor.

000013f0 <__c.3032>:
    13f0:       50 33 3a 25 34 69 20 20 50 34 3a 25 34 69 20 00     P3:%4i  P4:%4i .

00001400 <__c.3030>:
    1400:       50 31 3a 25 34 69 20 20 50 32 3a 25 34 69 20 00     P1:%4i  P2:%4i .

00001410 <__c.3028>:
    1410:       47 73 3a 25 34 69 20 20 47 69 3a 25 34 69 20 00     Gs:%4i  Gi:%4i .

00001420 <__c.3026>:
    1420:       4e 69 3a 25 34 69 20 20 52 6f 3a 25 34 69 20 00     Ni:%4i  Ro:%4i .

00001430 <__c.3020>:
    1430:       4b 25 69 3a 25 34 69 20 20 4b 25 69 3a 25 34 69     K%i:%4i  K%i:%4i
    1440:       20 00                                                .

00001442 <__c.3017>:
    1442:       43 6f 6d 70 61 73 73 3a 20 20 20 25 35 69 00        Compass:   %5i.

00001451 <__c.3015>:
    1451:       52 6f 6c 6c 3a 20 20 20 20 20 20 25 35 69 00        Roll:      %5i.

00001460 <__c.3013>:
    1460:       4e 69 63 6b 3a 20 20 20 20 20 20 25 35 69 00        Nick:      %5i.

0000146f <__c.3011>:
    146f:       61 63 74 2e 20 62 65 61 72 69 6e 67 00              act. bearing.

0000147c <__c.3008>:
    147c:       25 69 00                                            %i.

0000147f <__c.3006>:
    147f:       28 41 29 00                                         (A).

00001483 <__c.3004>:
    1483:       4f 66 66 73 65 74 3a 20 20 25 35 69 00              Offset:  %5i.

00001490 <__c.3002>:
    1490:       50 72 65 73 73 75 72 65 3a 25 35 69 00              Pressure:%5i.

0000149d <__c.3000>:
    149d:       53 65 74 70 6f 69 6e 74 3a 25 35 69 00              Setpoint:%5i.

000014aa <__c.2998>:
    14aa:       48 65 69 67 68 74 3a 20 20 25 35 69 00              Height:  %5i.

000014b7 <__c.2994>:
    14b7:       42 4c 2d 53 65 6c 66 74 65 73 74 20 45 72 72 3a     BL-Selftest Err:
    14c7:       25 32 64 00                                         %2d.

000014cb <__c.2992>:
    14cb:       49 32 43 20 45 52 52 4f 52 21 21 21 00              I2C ERROR!!!.

000014d8 <__c.2990>:
    14d8:       4d 69 73 73 69 6e 67 20 42 4c 2d 43 74 72 6c 3a     Missing BL-Ctrl:
    14e8:       25 64 20 21 21 00                                   %d !!.

000014ee <__c.2988>:
    14ee:       48 61 72 64 77 61 72 65 20 45 72 72 6f 72 20 31     Hardware Error 1
    14fe:       3a 25 64 20 21 21 00                                :%d !!.

00001505 <__c.2986>:
    1505:       45 52 52 25 32 64 3a 00                             ERR%2d:.

0000150d <__c.2984>:
    150d:       4d 69 78 65 72 20 45 72 72 6f 72 21 00              Mixer Error!.

0000151a <__c.2982>:
    151a:       42 4f 41 54 00                                      BOAT.

0000151f <__c.2980>:
    151f:       53 65 74 3a 25 64 20 25 73 00                       Set:%d %s.

00001529 <__c.2978>:
    1529:       48 57 3a 56 25 64 2e 25 64 20 53 57 3a 25 64 2e     HW:V%d.%d SW:%d.
    1539:       25 30 32 64 25 63 20 00                             %02d%c .

00001541 <__c.2976>:
    1541:       2b 20 4d 69 6b 72 6f 4b 6f 70 74 65 72 20 2b 00     + MikroKopter +.

00001551 <__c.2973>:
    1551:       5b 25 69 5d 00                                      [%i].

00001556 <__c.2971>:
    1556:       5b 25 69 5d 00                                      [%i].

0000155b <pgm_sinlookup>:
    155b:       00 00 8f 00 1e 01 ad 01 3b 02 ca 02 58 03 e6 03     ........;...X...
    156b:       74 04 02 05 8f 05 1b 06 a7 06 33 07 be 07 48 08     t.........3...H.
    157b:       d2 08 5b 09 e3 09 6b 0a f2 0a 78 0b fd 0b 81 0c     ..[...k...x.....
    158b:       04 0d 86 0d 07 0e 87 0e 06 0f 84 0f 00 10 7b 10     ..............{.
    159b:       f5 10 6e 11 e5 11 5b 12 cf 12 42 13 b3 13 23 14     ..n...[...B...#.
    15ab:       92 14 fe 14 6a 15 d3 15 3b 16 a1 16 05 17 67 17     ....j...;.....g.
    15bb:       c8 17 27 18 83 18 de 18 37 19 8e 19 e3 19 36 1a     ..'.....7.....6.
    15cb:       87 1a d6 1a 23 1b 6e 1b b6 1b fd 1b 41 1c 83 1c     ....#.n.....A...
    15db:       c3 1c 00 1d 3c 1d 75 1d ab 1d e0 1d 12 1e 42 1e     ....<.u.......B.
    15eb:       6f 1e 9a 1e c3 1e e9 1e 0d 1f 2e 1f 4d 1f 69 1f     o...........M.i.
    15fb:       84 1f 9b 1f b0 1f c3 1f d3 1f e1 1f ec 1f f5 1f     ................
    160b:       fb 1f ff 1f 00 20                                   ..... 

00001611 <__c.3146>:
    1611:       56 65 72 73 69 6f 6e 20 67 65 73 65 6e 64 65 74     Version gesendet
        ...

00001622 <__c.3143>:
    1622:       21 21 21 20 49 4e 43 4f 4d 50 41 54 49 42 4c 45     !!! INCOMPATIBLE
    1632:       20 21 21 21 00                                       !!!.

00001637 <__c.3101>:
    1637:       57 72 69 74 69 6e 67 20 42 4c 20 25 64 00           Writing BL %d.

00001645 <__c.3095>:
    1645:       52 65 61 64 69 6e 67 20 42 4c 20 25 64 00           Reading BL %d.

00001653 <__c.3080>:
    1653:       4c 65 73 65 20 53 65 74 74 69 6e 67 20 25 64 00     Lese Setting %d.

00001663 <__c.3069>:
    1663:       4d 69 78 65 72 20 6c 65 73 65 6e 00                 Mixer lesen.

0000166f <ANALOG_TEXT>:
    166f:       41 6e 67 6c 65 4e 69 63 6b 20 20 20 20 20 20 20     AngleNick       
    167f:       41 6e 67 6c 65 52 6f 6c 6c 20 20 20 20 20 20 20     AngleRoll       
    168f:       41 63 63 4e 69 63 6b 20 20 20 20 20 20 20 20 20     AccNick         
    169f:       41 63 63 52 6f 6c 6c 20 20 20 20 20 20 20 20 20     AccRoll         
    16af:       59 61 77 47 79 72 6f 20 20 20 20 20 20 20 20 20     YawGyro         
    16bf:       41 6c 74 69 74 75 64 65 20 5b 30 2e 31 6d 5d 20     Altitude [0.1m] 
    16cf:       41 63 63 5a 20 20 20 20 20 20 20 20 20 20 20 20     AccZ            
    16df:       47 61 73 20 20 20 20 20 20 20 20 20 20 20 20 20     Gas             
    16ef:       43 6f 6d 70 61 73 73 20 56 61 6c 75 65 20 20 20     Compass Value   
    16ff:       56 6f 6c 74 61 67 65 20 5b 30 2e 31 56 5d 20 20     Voltage [0.1V]  
    170f:       52 65 63 65 69 76 65 72 20 4c 65 76 65 6c 20 20     Receiver Level  
    171f:       47 79 72 6f 20 43 6f 6d 70 61 73 73 20 20 20 20     Gyro Compass    
    172f:       4d 6f 74 6f 72 20 31 20 20 20 20 20 20 20 20 20     Motor 1         
    173f:       4d 6f 74 6f 72 20 32 20 20 20 20 20 20 20 20 20     Motor 2         
    174f:       4d 6f 74 6f 72 20 33 20 20 20 20 20 20 20 20 20     Motor 3         
    175f:       4d 6f 74 6f 72 20 34 20 20 20 20 20 20 20 20 20     Motor 4         
    176f:       31 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20     16              
    177f:       31 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20     17              
    178f:       31 38 20 20 20 20 20 20 20 20 20 20 20 20 20 20     18              
    179f:       31 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20     19              
    17af:       53 65 72 76 6f 20 20 20 20 20 20 20 20 20 20 20     Servo           
    17bf:       48 6f 76 65 72 67 61 73 20 20 20 20 20 20 20 20     Hovergas        
    17cf:       43 75 72 72 65 6e 74 20 5b 30 2e 31 41 5d 20 20     Current [0.1A]  
    17df:       43 61 70 61 63 69 74 79 20 5b 6d 41 68 5d 20 20     Capacity [mAh]  
    17ef:       48 65 69 67 68 74 20 53 65 74 70 6f 69 6e 74 20     Height Setpoint 
    17ff:       32 35 20 20 20 20 20 20 20 20 20 20 20 20 20 20     25              
    180f:       32 36 20 20 20 20 20 20 20 20 20 20 20 20 20 20     26              
    181f:       32 37 20 20 20 20 20 20 20 20 20 20 20 20 20 20     27              
    182f:       49 32 43 2d 45 72 72 6f 72 20 20 20 20 20 20 20     I2C-Error       
    183f:       42 4c 20 4c 69 6d 69 74 20 20 20 20 20 20 20 20     BL Limit        
    184f:       47 50 53 5f 4e 69 63 6b 20 20 20 20 20 20 20 20     GPS_Nick        
    185f:       47 50 53 5f 52 6f 6c 6c 20 20 20 20 20 20 20 20     GPS_Roll        

0000186f <Msg2>:
    186f:       0a 0d 77 77 77 2e 4d 69 6b 72 6f 4b 6f 70 74 65     ..www.MikroKopte
    187f:       72 2e 64 65 20 28 63 29 20 48 69 53 79 73 74 65     r.de (c) HiSyste
    188f:       6d 73 20 47 6d 62 48 00                             ms GmbH.

00001897 <Msg1>:
    1897:       0a 0d 74 68 65 20 75 73 65 20 6f 66 20 74 68 69     ..the use of thi
    18a7:       73 20 73 6f 66 74 77 61 72 65 20 69 73 20 6f 6e     s software is on
    18b7:       6c 79 20 70 65 72 6d 69 74 74 65 64 20 0a 0d 6f     ly permitted ..o
    18c7:       6e 20 6f 72 69 67 69 6e 61 6c 20 4d 69 6b 72 6f     n original Mikro
    18d7:       4b 6f 70 74 65 72 2d 48 61 72 64 77 61 72 65 00     Kopter-Hardware.

000018e7 <Rec_USER>:
    18e7:       55 73 65 72 00                                      User.

000018ec <Rec_HoTT>:
    18ec:       48 6f 54 54 20 56 34 00                             HoTT V4.

000018f4 <Rec_ACT_DSL>:
    18f4:       41 43 54 20 44 53 4c 00                             ACT DSL.

000018fc <Rec_Jeti>:
    18fc:       4a 65 74 69 00                                      Jeti.

00001901 <Rec_Spektrum>:
    1901:       53 70 65 6b 74 72 75 6d 00                          Spektrum.

0000190a <Rec_PPM>:
    190a:       50 50 4d 00                                         PPM.

0000190e <__c.6>:
    190e:       0a 0d 52 65 63 65 69 76 65 72 3a 20 00              ..Receiver: .

0000191b <__c.7>:
    191b:       53 2e 42 75 73 00                                   S.Bus.

00001921 <__c.8>:
    1921:       75 6e 6b 6e 6f 77 6e 2e 20 55 73 69 6e 67 20 50     unknown. Using P
    1931:       50 4d 2e 2e 2e 00                                   PM....

00001937 <__c.9>:
    1937:       6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62 79     not supported by
    1947:       20 68 61 72 64 77 61 72 65 21 00                     hardware!.

00001952 <__c.3>:
    1952:       0a 0d 20 2d 20 4c 49 42 20 4e 4f 54 20 43 4f 4d     .. - LIB NOT COM
    1962:       50 41 54 49 42 4c 45 20 21 21 21 21 00              PATIBLE !!!!.

0000196f <__c.4>:
    196f:       0a 0d 0a 0d 21 21 20 42 6f 6f 74 6c 6f 61 64 65     ....!! Bootloade
    197f:       72 20 6e 6f 74 20 63 6f 6d 70 61 74 69 62 6c 65     r not compatible
    198f:       20 74 6f 20 48 61 72 64 77 61 72 65 20 3e 20 32      to Hardware > 2
    199f:       2e 32 20 21 21 0a 0d 0a 0d 00                       .2 !!.....

000019a9 <__c.5>:
    19a9:       0a 0d 46 6c 69 67 68 74 43 6f 6e 74 72 6f 6c 0a     ..FlightControl.
    19b9:       0d 48 61 72 64 77 61 72 65 3a 25 64 2e 25 64 0a     .Hardware:%d.%d.
    19c9:       0d 53 6f 66 74 77 61 72 65 3a 56 25 64 2e 25 30     .Software:V%d.%0
    19d9:       32 64 25 63 20 00 00                                2d%c ..

000019e0 <__ctors_end>:
    19e0:       11 24           eor     r1, r1
    19e2:       1f be           out     0x3f, r1        ; 63
    19e4:       cf ef           ldi     r28, 0xFF       ; 255
    19e6:       d0 e4           ldi     r29, 0x40       ; 64
    19e8:       de bf           out     0x3e, r29       ; 62
    19ea:       cd bf           out     0x3d, r28       ; 61

000019ec <__do_copy_data>:
    19ec:       12 e0           ldi     r17, 0x02       ; 2
    19ee:       a0 e0           ldi     r26, 0x00       ; 0
    19f0:       b1 e0           ldi     r27, 0x01       ; 1
    19f2:       ee ec           ldi     r30, 0xCE       ; 206
    19f4:       f4 e6           ldi     r31, 0x64       ; 100
    19f6:       01 e0           ldi     r16, 0x01       ; 1
    19f8:       0b bf           out     0x3b, r16       ; 59
    19fa:       02 c0           rjmp    .+4             ; 0x1a00 <__do_copy_data+0x14>
    19fc:       07 90           elpm    r0, Z+
    19fe:       0d 92           st      X+, r0
    1a00:       aa 3e           cpi     r26, 0xEA       ; 234
    1a02:       b1 07           cpc     r27, r17
    1a04:       d9 f7           brne    .-10            ; 0x19fc <__do_copy_data+0x10>

00001a06 <__do_clear_bss>:
    1a06:       2c e0           ldi     r18, 0x0C       ; 12
    1a08:       aa ee           ldi     r26, 0xEA       ; 234
    1a0a:       b2 e0           ldi     r27, 0x02       ; 2
    1a0c:       01 c0           rjmp    .+2             ; 0x1a10 <.do_clear_bss_start>

00001a0e <.do_clear_bss_loop>:
    1a0e:       1d 92           st      X+, r1

00001a10 <.do_clear_bss_start>:
    1a10:       a9 3d           cpi     r26, 0xD9       ; 217
    1a12:       b2 07           cpc     r27, r18
    1a14:       e1 f7           brne    .-8             ; 0x1a0e <.do_clear_bss_loop>

00001a16 <ndfcvbghs>:
    1a16:       7a ea           ldi     r23, 0xAA       ; 170
    1a18:       e2 e0           ldi     r30, 0x02       ; 2
    1a1a:       f0 e0           ldi     r31, 0x00       ; 0
    1a1c:       81 e2           ldi     r24, 0x21       ; 33
    1a1e:       80 93 57 00     sts     0x0057, r24
    1a22:       14 91           lpm     r17, Z
    1a24:       20 ef           ldi     r18, 0xF0       ; 240
    1a26:       37 ef           ldi     r19, 0xF7       ; 247
    1a28:       41 e0           ldi     r20, 0x01       ; 1
    1a2a:       50 e0           ldi     r21, 0x00       ; 0
    1a2c:       c6 e1           ldi     r28, 0x16       ; 22
    1a2e:       d3 e0           ldi     r29, 0x03       ; 3
    1a30:       6f e0           ldi     r22, 0x0F       ; 15
    1a32:       da 01           movw    r26, r20
    1a34:       c9 01           movw    r24, r18
    1a36:       2f 5f           subi    r18, 0xFF       ; 255
    1a38:       3f 4f           sbci    r19, 0xFF       ; 255
    1a3a:       4f 4f           sbci    r20, 0xFF       ; 255
    1a3c:       5f 4f           sbci    r21, 0xFF       ; 255
    1a3e:       ab bf           out     0x3b, r26       ; 59
    1a40:       fc 01           movw    r30, r24
    1a42:       87 91           elpm    r24, Z+
    1a44:       89 93           st      Y+, r24
    1a46:       61 50           subi    r22, 0x01       ; 1
    1a48:       67 ff           sbrs    r22, 7
    1a4a:       f3 cf           rjmp    .-26            ; 0x1a32 <ndfcvbghs+0x1c>
    1a4c:       84 ee           ldi     r24, 0xE4       ; 228
    1a4e:       8a bd           out     0x2a, r24       ; 42
    1a50:       80 91 1e 03     lds     r24, 0x031E
    1a54:       80 93 ea 02     sts     0x02EA, r24
    1a58:       89 31           cpi     r24, 0x19       ; 25
    1a5a:       38 f0           brcs    .+14            ; 0x1a6a <ndfcvbghs+0x54>
    1a5c:       86 e0           ldi     r24, 0x06       ; 6
    1a5e:       80 93 0b 01     sts     0x010B, r24
    1a62:       87 e0           ldi     r24, 0x07       ; 7
    1a64:       80 93 0a 01     sts     0x010A, r24
    1a68:       7b ea           ldi     r23, 0xAB       ; 171
    1a6a:       e6 e1           ldi     r30, 0x16       ; 22
    1a6c:       f3 e0           ldi     r31, 0x03       ; 3
    1a6e:       6e e0           ldi     r22, 0x0E       ; 14
    1a70:       81 91           ld      r24, Z+
    1a72:       78 27           eor     r23, r24
    1a74:       70 95           com     r23
    1a76:       61 50           subi    r22, 0x01       ; 1
    1a78:       67 ff           sbrs    r22, 7
    1a7a:       fa cf           rjmp    .-12            ; 0x1a70 <ndfcvbghs+0x5a>
    1a7c:       80 91 25 03     lds     r24, 0x0325
    1a80:       78 17           cp      r23, r24
    1a82:       21 f0           breq    .+8             ; 0x1a8c <ndfcvbghs+0x76>
    1a84:       17 39           cpi     r17, 0x97       ; 151
    1a86:       11 f4           brne    .+4             ; 0x1a8c <ndfcvbghs+0x76>
    1a88:       00 00           nop
    1a8a:       fe cf           rjmp    .-4             ; 0x1a88 <ndfcvbghs+0x72>
    1a8c:       0e 94 9e 5a     call    0xb53c  ; 0xb53c <main>
    1a90:       0c 94 65 b2     jmp     0x164ca ; 0x164ca <_exit>

00001a94 <__bad_interrupt>:
    1a94:       0c 94 00 00     jmp     0        ; 0x0 <__vectors>

00001a98 <isqrt32>:

.global isqrt32
.func isqrt32

isqrt32:
        clr     r0
    1a98:       00 24           eor     r0, r0
        clr     r18
    1a9a:       22 27           eor     r18, r18
        clr     r19
    1a9c:       33 27           eor     r19, r19
        clr     r20
    1a9e:       44 27           eor     r20, r20
        ldi     r21, 1
    1aa0:       51 e0           ldi     r21, 0x01       ; 1
        clr     r27
    1aa2:       bb 27           eor     r27, r27
        clr     r30
    1aa4:       ee 27           eor     r30, r30
        clr     r31
    1aa6:       ff 27           eor     r31, r31
        ldi     r26, 16
    1aa8:       a0 e1           ldi     r26, 0x10       ; 16
1:      lsl     r22
    1aaa:       66 0f           add     r22, r22
        rol     r23
    1aac:       77 1f           adc     r23, r23
        rol     r24
    1aae:       88 1f           adc     r24, r24
        rol     r25
    1ab0:       99 1f           adc     r25, r25
        rol     r0
    1ab2:       00 1c           adc     r0, r0
        rol     r18
    1ab4:       22 1f           adc     r18, r18
        rol     r19
    1ab6:       33 1f           adc     r19, r19
        rol     r20
    1ab8:       44 1f           adc     r20, r20
        lsl     r22
    1aba:       66 0f           add     r22, r22
        rol     r23
    1abc:       77 1f           adc     r23, r23
        rol     r24
    1abe:       88 1f           adc     r24, r24
        rol     r25
    1ac0:       99 1f           adc     r25, r25
        rol     r0
    1ac2:       00 1c           adc     r0, r0
        rol     r18
    1ac4:       22 1f           adc     r18, r18
        rol     r19
    1ac6:       33 1f           adc     r19, r19
        rol     r20
    1ac8:       44 1f           adc     r20, r20
        brpl    2f
    1aca:       2a f4           brpl    .+10            ; 0x1ad6 <isqrt32+0x3e>
        add     r0, r21
    1acc:       05 0e           add     r0, r21
        adc     r18, r27
    1ace:       2b 1f           adc     r18, r27
        adc     r19, r30
    1ad0:       3e 1f           adc     r19, r30
        adc     r20, r31
    1ad2:       4f 1f           adc     r20, r31
        rjmp    3f
    1ad4:       04 c0           rjmp    .+8             ; 0x1ade <isqrt32+0x46>
2:      sub     r0, r21
    1ad6:       05 1a           sub     r0, r21
        sbc     r18, r27
    1ad8:       2b 0b           sbc     r18, r27
        sbc     r19, r30
    1ada:       3e 0b           sbc     r19, r30
        sbc     r20, r31
    1adc:       4f 0b           sbc     r20, r31
3:      lsl     r21
    1ade:       55 0f           add     r21, r21
        rol     r27
    1ae0:       bb 1f           adc     r27, r27
        rol     r30
    1ae2:       ee 1f           adc     r30, r30
        andi    r21, 0b11111000
    1ae4:       58 7f           andi    r21, 0xF8       ; 248
        ori     r21, 0b00000101
    1ae6:       55 60           ori     r21, 0x05       ; 5
        sbrc    r20, 7
    1ae8:       47 fd           sbrc    r20, 7
        subi    r21, 2
    1aea:       52 50           subi    r21, 0x02       ; 2
        dec     r26
    1aec:       aa 95           dec     r26
        brne    1b
    1aee:       e9 f6           brne    .-70            ; 0x1aaa <isqrt32+0x12>
        lsr     r30
    1af0:       e6 95           lsr     r30
        ror     r27
    1af2:       b7 95           ror     r27
        ror     r21
    1af4:       57 95           ror     r21
        lsr     r30
    1af6:       e6 95           lsr     r30
        ror     r27
    1af8:       b7 95           ror     r27
        ror     r21
    1afa:       57 95           ror     r21
        mov     r24, r21
    1afc:       85 2f           mov     r24, r21
        mov     r25, r27
    1afe:       9b 2f           mov     r25, r27
        ret
    1b00:       08 95           ret

00001b02 <isqrt16>:

.global isqrt16
.func isqrt16

isqrt16:
        clr     r18
    1b02:       22 27           eor     r18, r18
        clr     r19
    1b04:       33 27           eor     r19, r19
        ldi     r20, 1
    1b06:       41 e0           ldi     r20, 0x01       ; 1
        clr     r21
    1b08:       55 27           eor     r21, r21
        ldi     r22, 8
    1b0a:       68 e0           ldi     r22, 0x08       ; 8
1:      lsl     r24
    1b0c:       88 0f           add     r24, r24
        rol     r25
    1b0e:       99 1f           adc     r25, r25
        rol     r18
    1b10:       22 1f           adc     r18, r18
        rol     r19
    1b12:       33 1f           adc     r19, r19
        lsl     r24
    1b14:       88 0f           add     r24, r24
        rol     r25
    1b16:       99 1f           adc     r25, r25
        rol     r18
    1b18:       22 1f           adc     r18, r18
        rol     r19
    1b1a:       33 1f           adc     r19, r19
        brpl    2f
    1b1c:       1a f4           brpl    .+6             ; 0x1b24 <isqrt16+0x22>
        add     r18, r20
    1b1e:       24 0f           add     r18, r20
        adc     r19, r21
    1b20:       35 1f           adc     r19, r21
        rjmp    3f
    1b22:       02 c0           rjmp    .+4             ; 0x1b28 <isqrt16+0x26>
2:      sub     r18, r20
    1b24:       24 1b           sub     r18, r20
        sbc     r19, r21
    1b26:       35 0b           sbc     r19, r21
3:      lsl     r20
    1b28:       44 0f           add     r20, r20
        rol     r21
    1b2a:       55 1f           adc     r21, r21
        andi    r20, 0b11111000
    1b2c:       48 7f           andi    r20, 0xF8       ; 248
        ori     r20, 0b00000101
    1b2e:       45 60           ori     r20, 0x05       ; 5
        sbrc    r19, 7
    1b30:       37 fd           sbrc    r19, 7
        subi    r20, 2
    1b32:       42 50           subi    r20, 0x02       ; 2
        dec     r22
    1b34:       6a 95           dec     r22
        brne    1b
    1b36:       51 f7           brne    .-44            ; 0x1b0c <isqrt16+0xa>
        lsr     r21
    1b38:       56 95           lsr     r21
        ror     r20
    1b3a:       47 95           ror     r20
        lsr     r21
    1b3c:       56 95           lsr     r21
        ror     r20
    1b3e:       47 95           ror     r20
        mov     r24, r20
    1b40:       84 2f           mov     r24, r20
        ret
    1b42:       08 95           ret

00001b44 <ihypot>:

.global ihypot
.func ihypot

ihypot:
        clr     r26
    1b44:       aa 27           eor     r26, r26
        sbrs    r25, 7
    1b46:       97 ff           sbrs    r25, 7
        rjmp    1f
    1b48:       04 c0           rjmp    .+8             ; 0x1b52 <ihypot+0xe>
        com     r24
    1b4a:       80 95           com     r24
        com     r25
    1b4c:       90 95           com     r25
        adc     r24, r26
    1b4e:       8a 1f           adc     r24, r26
        adc     r25, r26
    1b50:       9a 1f           adc     r25, r26
1:      sbrs    r23, 7
    1b52:       77 ff           sbrs    r23, 7
        rjmp    2f
    1b54:       04 c0           rjmp    .+8             ; 0x1b5e <ihypot+0x1a>
        com     r22
    1b56:       60 95           com     r22
        com     r23
    1b58:       70 95           com     r23
        adc     r22, r26
    1b5a:       6a 1f           adc     r22, r26
        adc     r23, r26
    1b5c:       7a 1f           adc     r23, r26
2:      mul     r22, r22
    1b5e:       66 9f           mul     r22, r22
        movw    r18, r0
    1b60:       90 01           movw    r18, r0
        mul     r23, r23
    1b62:       77 9f           mul     r23, r23
        movw    r20, r0
    1b64:       a0 01           movw    r20, r0
        mul     r22, r23
    1b66:       67 9f           mul     r22, r23
        add     r19, r0
    1b68:       30 0d           add     r19, r0
        adc     r20, r1
    1b6a:       41 1d           adc     r20, r1
        adc     r21, r26
    1b6c:       5a 1f           adc     r21, r26
        add     r19, r0
    1b6e:       30 0d           add     r19, r0
        adc     r20, r1
    1b70:       41 1d           adc     r20, r1
        adc     r21, r26
    1b72:       5a 1f           adc     r21, r26
        mul     r24, r24
    1b74:       88 9f           mul     r24, r24
        movw    r30, r0
    1b76:       f0 01           movw    r30, r0
        mul     r25, r25
    1b78:       99 9f           mul     r25, r25
        add     r18, r30
    1b7a:       2e 0f           add     r18, r30
        adc     r19, r31
    1b7c:       3f 1f           adc     r19, r31
        adc     r20, r0
    1b7e:       40 1d           adc     r20, r0
        adc     r21, r1
    1b80:       51 1d           adc     r21, r1
        mul     r24, r25
    1b82:       89 9f           mul     r24, r25
        add     r19, r0
    1b84:       30 0d           add     r19, r0
        adc     r20, r1
    1b86:       41 1d           adc     r20, r1
        adc     r21, r26
    1b88:       5a 1f           adc     r21, r26
        add     r19, r0
    1b8a:       30 0d           add     r19, r0
        adc     r20, r1
    1b8c:       41 1d           adc     r20, r1
        adc     r21, r26
    1b8e:       5a 1f           adc     r21, r26
        movw    r24, r20
    1b90:       ca 01           movw    r24, r20
        movw    r22, r18
    1b92:       b9 01           movw    r22, r18
        clr     r1
    1b94:       11 24           eor     r1, r1
        rjmp    isqrt32
    1b96:       80 cf           rjmp    .-256           ; 0x1a98 <isqrt32>

00001b98 <fomklkdtn89SFGrsgt9rf>:
    1b98:       4f b7           in      r20, 0x3f       ; 63
    1b9a:       20 e4           ldi     r18, 0x40       ; 64
    1b9c:       30 e0           ldi     r19, 0x00       ; 0
    1b9e:       f8 94           cli
    1ba0:       80 91 c9 00     lds     r24, 0x00C9
    1ba4:       8f 77           andi    r24, 0x7F       ; 127
    1ba6:       80 93 c9 00     sts     0x00C9, r24
    1baa:       80 91 c9 00     lds     r24, 0x00C9
    1bae:       8f 7b           andi    r24, 0xBF       ; 191
    1bb0:       80 93 c9 00     sts     0x00C9, r24
    1bb4:       80 91 c9 00     lds     r24, 0x00C9
    1bb8:       8f 7d           andi    r24, 0xDF       ; 223
    1bba:       80 93 c9 00     sts     0x00C9, r24
    1bbe:       83 2f           mov     r24, r19
    1bc0:       99 27           eor     r25, r25
    1bc2:       80 93 cd 00     sts     0x00CD, r24
    1bc6:       20 93 cc 00     sts     0x00CC, r18
    1bca:       80 91 c8 00     lds     r24, 0x00C8
    1bce:       82 60           ori     r24, 0x02       ; 2
    1bd0:       80 93 c8 00     sts     0x00C8, r24
    1bd4:       88 e1           ldi     r24, 0x18       ; 24
    1bd6:       80 93 c9 00     sts     0x00C9, r24
    1bda:       80 91 ca 00     lds     r24, 0x00CA
    1bde:       8f 77           andi    r24, 0x7F       ; 127
    1be0:       80 93 ca 00     sts     0x00CA, r24
    1be4:       80 91 ca 00     lds     r24, 0x00CA
    1be8:       8f 7b           andi    r24, 0xBF       ; 191
    1bea:       80 93 ca 00     sts     0x00CA, r24
    1bee:       80 91 ca 00     lds     r24, 0x00CA
    1bf2:       8f 7d           andi    r24, 0xDF       ; 223
    1bf4:       80 93 ca 00     sts     0x00CA, r24
    1bf8:       80 91 ca 00     lds     r24, 0x00CA
    1bfc:       8f 7e           andi    r24, 0xEF       ; 239
    1bfe:       80 93 ca 00     sts     0x00CA, r24
    1c02:       80 91 ca 00     lds     r24, 0x00CA
    1c06:       87 7f           andi    r24, 0xF7       ; 247
    1c08:       80 93 ca 00     sts     0x00CA, r24
    1c0c:       80 91 c9 00     lds     r24, 0x00C9
    1c10:       8b 7f           andi    r24, 0xFB       ; 251
    1c12:       80 93 c9 00     sts     0x00C9, r24
    1c16:       80 91 ca 00     lds     r24, 0x00CA
    1c1a:       84 60           ori     r24, 0x04       ; 4
    1c1c:       80 93 ca 00     sts     0x00CA, r24
    1c20:       80 91 ca 00     lds     r24, 0x00CA
    1c24:       82 60           ori     r24, 0x02       ; 2
    1c26:       80 93 ca 00     sts     0x00CA, r24
    1c2a:       80 91 c8 00     lds     r24, 0x00C8
    1c2e:       87 ff           sbrs    r24, 7
    1c30:       03 c0           rjmp    .+6             ; 0x1c38 <fomklkdtn89SFGrsgt9rf+0xa0>
    1c32:       80 91 ce 00     lds     r24, 0x00CE
    1c36:       f9 cf           rjmp    .-14            ; 0x1c2a <fomklkdtn89SFGrsgt9rf+0x92>
    1c38:       80 91 c9 00     lds     r24, 0x00C9
    1c3c:       80 68           ori     r24, 0x80       ; 128
    1c3e:       80 93 c9 00     sts     0x00C9, r24
    1c42:       4f bf           out     0x3f, r20       ; 63
    1c44:       08 95           ret

00001c46 <FGRT0589rge90gj459gg4>:
    1c46:       0f 93           push    r16
    1c48:       1f 93           push    r17
    1c4a:       cf 93           push    r28
    1c4c:       df 93           push    r29
    1c4e:       48 2f           mov     r20, r24
    1c50:       4f 5f           subi    r20, 0xFF       ; 255
    1c52:       89 31           cpi     r24, 0x19       ; 25
    1c54:       08 f0           brcs    .+2             ; 0x1c58 <FGRT0589rge90gj459gg4+0x12>
    1c56:       8b c0           rjmp    .+278           ; 0x1d6e <FGRT0589rge90gj459gg4+0x128>
    1c58:       80 91 30 08     lds     r24, 0x0830
    1c5c:       84 17           cp      r24, r20
    1c5e:       20 f4           brcc    .+8             ; 0x1c68 <FGRT0589rge90gj459gg4+0x22>
    1c60:       4f 5f           subi    r20, 0xFF       ; 255
    1c62:       40 93 30 08     sts     0x0830, r20
    1c66:       41 50           subi    r20, 0x01       ; 1
    1c68:       cb 01           movw    r24, r22
    1c6a:       83 53           subi    r24, 0x33       ; 51
    1c6c:       9b 42           sbci    r25, 0x2B       ; 43
    1c6e:       68 e1           ldi     r22, 0x18       ; 24
    1c70:       70 e0           ldi     r23, 0x00       ; 0
    1c72:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    1c76:       a4 2f           mov     r26, r20
    1c78:       bb 27           eor     r27, r27
    1c7a:       fd 01           movw    r30, r26
    1c7c:       ea 0f           add     r30, r26
    1c7e:       fb 1f           adc     r31, r27
    1c80:       ef 5c           subi    r30, 0xCF       ; 207
    1c82:       f7 4f           sbci    r31, 0xF7       ; 247
    1c84:       80 81           ld      r24, Z
    1c86:       91 81           ldd     r25, Z+1        ; 0x01
    1c88:       9b 01           movw    r18, r22
    1c8a:       28 1b           sub     r18, r24
    1c8c:       39 0b           sbc     r19, r25
    1c8e:       c9 01           movw    r24, r18
    1c90:       37 ff           sbrs    r19, 7
    1c92:       03 c0           rjmp    .+6             ; 0x1c9a <FGRT0589rge90gj459gg4+0x54>
    1c94:       90 95           com     r25
    1c96:       81 95           neg     r24
    1c98:       9f 4f           sbci    r25, 0xFF       ; 255
    1c9a:       06 97           sbiw    r24, 0x06       ; 6
    1c9c:       94 f4           brge    .+36            ; 0x1cc2 <FGRT0589rge90gj459gg4+0x7c>
    1c9e:       80 91 04 04     lds     r24, 0x0404
    1ca2:       88 3c           cpi     r24, 0xC8       ; 200
    1ca4:       30 f4           brcc    .+12            ; 0x1cb2 <FGRT0589rge90gj459gg4+0x6c>
    1ca6:       80 91 04 04     lds     r24, 0x0404
    1caa:       86 5f           subi    r24, 0xF6       ; 246
    1cac:       80 93 04 04     sts     0x0404, r24
    1cb0:       08 c0           rjmp    .+16            ; 0x1cc2 <FGRT0589rge90gj459gg4+0x7c>
    1cb2:       88 ec           ldi     r24, 0xC8       ; 200
    1cb4:       80 93 04 04     sts     0x0404, r24
    1cb8:       80 91 6f 00     lds     r24, 0x006F
    1cbc:       8f 7d           andi    r24, 0xDF       ; 223
    1cbe:       80 93 6f 00     sts     0x006F, r24
    1cc2:       fd 01           movw    r30, r26
    1cc4:       ea 0f           add     r30, r26
    1cc6:       fb 1f           adc     r31, r27
    1cc8:       ef 5c           subi    r30, 0xCF       ; 207
    1cca:       f7 4f           sbci    r31, 0xF7       ; 247
    1ccc:       80 81           ld      r24, Z
    1cce:       91 81           ldd     r25, Z+1        ; 0x01
    1cd0:       9c 01           movw    r18, r24
    1cd2:       22 0f           add     r18, r18
    1cd4:       33 1f           adc     r19, r19
    1cd6:       28 0f           add     r18, r24
    1cd8:       39 1f           adc     r19, r25
    1cda:       26 0f           add     r18, r22
    1cdc:       37 1f           adc     r19, r23
    1cde:       37 ff           sbrs    r19, 7
    1ce0:       02 c0           rjmp    .+4             ; 0x1ce6 <FGRT0589rge90gj459gg4+0xa0>
    1ce2:       2d 5f           subi    r18, 0xFD       ; 253
    1ce4:       3f 4f           sbci    r19, 0xFF       ; 255
    1ce6:       e9 01           movw    r28, r18
    1ce8:       d5 95           asr     r29
    1cea:       c7 95           ror     r28
    1cec:       d5 95           asr     r29
    1cee:       c7 95           ror     r28
    1cf0:       cb 01           movw    r24, r22
    1cf2:       01 96           adiw    r24, 0x01       ; 1
    1cf4:       8c 17           cp      r24, r28
    1cf6:       9d 07           cpc     r25, r29
    1cf8:       14 f4           brge    .+4             ; 0x1cfe <FGRT0589rge90gj459gg4+0xb8>
    1cfa:       21 97           sbiw    r28, 0x01       ; 1
    1cfc:       06 c0           rjmp    .+12            ; 0x1d0a <FGRT0589rge90gj459gg4+0xc4>
    1cfe:       61 50           subi    r22, 0x01       ; 1
    1d00:       70 40           sbci    r23, 0x00       ; 0
    1d02:       c6 17           cp      r28, r22
    1d04:       d7 07           cpc     r29, r23
    1d06:       0c f4           brge    .+2             ; 0x1d0a <FGRT0589rge90gj459gg4+0xc4>
    1d08:       21 96           adiw    r28, 0x01       ; 1
    1d0a:       80 91 04 04     lds     r24, 0x0404
    1d0e:       84 3b           cpi     r24, 0xB4       ; 180
    1d10:       d8 f0           brcs    .+54            ; 0x1d48 <FGRT0589rge90gj459gg4+0x102>
    1d12:       8d 01           movw    r16, r26
    1d14:       0a 0f           add     r16, r26
    1d16:       1b 1f           adc     r17, r27
    1d18:       f8 01           movw    r30, r16
    1d1a:       ef 5c           subi    r30, 0xCF       ; 207
    1d1c:       f7 4f           sbci    r31, 0xF7       ; 247
    1d1e:       80 81           ld      r24, Z
    1d20:       91 81           ldd     r25, Z+1        ; 0x01
    1d22:       fe 01           movw    r30, r28
    1d24:       e8 1b           sub     r30, r24
    1d26:       f9 0b           sbc     r31, r25
    1d28:       cf 01           movw    r24, r30
    1d2a:       63 e0           ldi     r22, 0x03       ; 3
    1d2c:       70 e0           ldi     r23, 0x00       ; 0
    1d2e:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    1d32:       cb 01           movw    r24, r22
    1d34:       88 0f           add     r24, r24
    1d36:       99 1f           adc     r25, r25
    1d38:       86 0f           add     r24, r22
    1d3a:       97 1f           adc     r25, r23
    1d3c:       09 58           subi    r16, 0x89       ; 137
    1d3e:       17 4f           sbci    r17, 0xF7       ; 247
    1d40:       f8 01           movw    r30, r16
    1d42:       91 83           std     Z+1, r25        ; 0x01
    1d44:       80 83           st      Z, r24
    1d46:       07 c0           rjmp    .+14            ; 0x1d56 <FGRT0589rge90gj459gg4+0x110>
    1d48:       aa 0f           add     r26, r26
    1d4a:       bb 1f           adc     r27, r27
    1d4c:       a9 58           subi    r26, 0x89       ; 137
    1d4e:       b7 4f           sbci    r27, 0xF7       ; 247
    1d50:       11 96           adiw    r26, 0x01       ; 1
    1d52:       1c 92           st      X, r1
    1d54:       1e 92           st      -X, r1
    1d56:       e4 2f           mov     r30, r20
    1d58:       ff 27           eor     r31, r31
    1d5a:       ee 0f           add     r30, r30
    1d5c:       ff 1f           adc     r31, r31
    1d5e:       ef 5c           subi    r30, 0xCF       ; 207
    1d60:       f7 4f           sbci    r31, 0xF7       ; 247
    1d62:       d1 83           std     Z+1, r29        ; 0x01
    1d64:       c0 83           st      Z, r28
    1d66:       44 30           cpi     r20, 0x04       ; 4
    1d68:       11 f4           brne    .+4             ; 0x1d6e <FGRT0589rge90gj459gg4+0x128>
    1d6a:       10 92 93 02     sts     0x0293, r1
    1d6e:       df 91           pop     r29
    1d70:       cf 91           pop     r28
    1d72:       1f 91           pop     r17
    1d74:       0f 91           pop     r16
    1d76:       08 95           ret

00001d78 <DFGeefWEF43tgt5uGreg5>:
    1d78:       cf 93           push    r28
    1d7a:       df 93           push    r29
    1d7c:       20 91 aa 0c     lds     r18, 0x0CAA
    1d80:       82 2f           mov     r24, r18
    1d82:       99 27           eor     r25, r25
    1d84:       80 7f           andi    r24, 0xF0       ; 240
    1d86:       90 70           andi    r25, 0x00       ; 0
    1d88:       40 97           sbiw    r24, 0x10       ; 16
    1d8a:       09 f0           breq    .+2             ; 0x1d8e <DFGeefWEF43tgt5uGreg5+0x16>
    1d8c:       64 c0           rjmp    .+200           ; 0x1e56 <DFGeefWEF43tgt5uGreg5+0xde>
    1d8e:       2f 31           cpi     r18, 0x1F       ; 31
    1d90:       09 f0           breq    .+2             ; 0x1d94 <DFGeefWEF43tgt5uGreg5+0x1c>
    1d92:       40 c0           rjmp    .+128           ; 0x1e14 <DFGeefWEF43tgt5uGreg5+0x9c>
    1d94:       80 91 ab 0c     lds     r24, 0x0CAB
    1d98:       80 93 f4 02     sts     0x02F4, r24
    1d9c:       90 91 ad 0c     lds     r25, 0x0CAD
    1da0:       90 93 f6 02     sts     0x02F6, r25
    1da4:       80 91 ae 0c     lds     r24, 0x0CAE
    1da8:       80 93 f5 02     sts     0x02F5, r24
    1dac:       99 23           and     r25, r25
    1dae:       09 f0           breq    .+2             ; 0x1db2 <DFGeefWEF43tgt5uGreg5+0x3a>
    1db0:       52 c0           rjmp    .+164           ; 0x1e56 <DFGeefWEF43tgt5uGreg5+0xde>
    1db2:       80 91 3f 05     lds     r24, 0x053F
    1db6:       28 2f           mov     r18, r24
    1db8:       33 27           eor     r19, r19
    1dba:       22 0f           add     r18, r18
    1dbc:       33 1f           adc     r19, r19
    1dbe:       f9 01           movw    r30, r18
    1dc0:       e9 58           subi    r30, 0x89       ; 137
    1dc2:       f7 4f           sbci    r31, 0xF7       ; 247
    1dc4:       11 82           std     Z+1, r1 ; 0x01
    1dc6:       10 82           st      Z, r1
    1dc8:       80 91 40 05     lds     r24, 0x0540
    1dcc:       a8 2f           mov     r26, r24
    1dce:       bb 27           eor     r27, r27
    1dd0:       aa 0f           add     r26, r26
    1dd2:       bb 1f           adc     r27, r27
    1dd4:       fd 01           movw    r30, r26
    1dd6:       e9 58           subi    r30, 0x89       ; 137
    1dd8:       f7 4f           sbci    r31, 0xF7       ; 247
    1dda:       11 82           std     Z+1, r1 ; 0x01
    1ddc:       10 82           st      Z, r1
    1dde:       80 91 42 05     lds     r24, 0x0542
    1de2:       e8 2f           mov     r30, r24
    1de4:       ff 27           eor     r31, r31
    1de6:       ee 0f           add     r30, r30
    1de8:       ff 1f           adc     r31, r31
    1dea:       cf 01           movw    r24, r30
    1dec:       89 58           subi    r24, 0x89       ; 137
    1dee:       97 4f           sbci    r25, 0xF7       ; 247
    1df0:       ec 01           movw    r28, r24
    1df2:       19 82           std     Y+1, r1 ; 0x01
    1df4:       18 82           st      Y, r1
    1df6:       2f 5c           subi    r18, 0xCF       ; 207
    1df8:       37 4f           sbci    r19, 0xF7       ; 247
    1dfa:       e9 01           movw    r28, r18
    1dfc:       19 82           std     Y+1, r1 ; 0x01
    1dfe:       18 82           st      Y, r1
    1e00:       af 5c           subi    r26, 0xCF       ; 207
    1e02:       b7 4f           sbci    r27, 0xF7       ; 247
    1e04:       11 96           adiw    r26, 0x01       ; 1
    1e06:       1c 92           st      X, r1
    1e08:       1e 92           st      -X, r1
    1e0a:       ef 5c           subi    r30, 0xCF       ; 207
    1e0c:       f7 4f           sbci    r31, 0xF7       ; 247
    1e0e:       11 82           std     Z+1, r1 ; 0x01
    1e10:       10 82           st      Z, r1
    1e12:       21 c0           rjmp    .+66            ; 0x1e56 <DFGeefWEF43tgt5uGreg5+0xde>
    1e14:       c2 2f           mov     r28, r18
    1e16:       cf 70           andi    r28, 0x0F       ; 15
    1e18:       ca 30           cpi     r28, 0x0A       ; 10
    1e1a:       e8 f4           brcc    .+58            ; 0x1e56 <DFGeefWEF43tgt5uGreg5+0xde>
    1e1c:       80 91 ab 0c     lds     r24, 0x0CAB
    1e20:       80 93 d6 0c     sts     0x0CD6, r24
    1e24:       80 91 ac 0c     lds     r24, 0x0CAC
    1e28:       80 93 d5 0c     sts     0x0CD5, r24
    1e2c:       80 91 ad 0c     lds     r24, 0x0CAD
    1e30:       80 93 d8 0c     sts     0x0CD8, r24
    1e34:       80 91 ae 0c     lds     r24, 0x0CAE
    1e38:       80 93 d7 0c     sts     0x0CD7, r24
    1e3c:       60 91 d5 0c     lds     r22, 0x0CD5
    1e40:       70 91 d6 0c     lds     r23, 0x0CD6
    1e44:       8c 2f           mov     r24, r28
    1e46:       ff de           rcall   .-514           ; 0x1c46 <FGRT0589rge90gj459gg4>
    1e48:       60 91 d7 0c     lds     r22, 0x0CD7
    1e4c:       70 91 d8 0c     lds     r23, 0x0CD8
    1e50:       8c 2f           mov     r24, r28
    1e52:       8f 5f           subi    r24, 0xFF       ; 255
    1e54:       f8 de           rcall   .-528           ; 0x1c46 <FGRT0589rge90gj459gg4>
    1e56:       df 91           pop     r29
    1e58:       cf 91           pop     r28
    1e5a:       08 95           ret

00001e5c <FGtj76uzh56z3grEg5t45>:
    1e5c:       cf 93           push    r28
    1e5e:       c8 2f           mov     r28, r24
    1e60:       8f 3f           cpi     r24, 0xFF       ; 255
    1e62:       49 f4           brne    .+18            ; 0x1e76 <FGtj76uzh56z3grEg5t45+0x1a>
    1e64:       80 91 f7 02     lds     r24, 0x02F7
    1e68:       8f 3f           cpi     r24, 0xFF       ; 255
    1e6a:       29 f4           brne    .+10            ; 0x1e76 <FGtj76uzh56z3grEg5t45+0x1a>
    1e6c:       10 92 f9 02     sts     0x02F9, r1
    1e70:       10 92 f8 02     sts     0x02F8, r1
    1e74:       31 c0           rjmp    .+98            ; 0x1ed8 <FGtj76uzh56z3grEg5t45+0x7c>
    1e76:       20 91 f9 02     lds     r18, 0x02F9
    1e7a:       22 23           and     r18, r18
    1e7c:       39 f4           brne    .+14            ; 0x1e8c <FGtj76uzh56z3grEg5t45+0x30>
    1e7e:       cf 31           cpi     r28, 0x1F       ; 31
    1e80:       11 f4           brne    .+4             ; 0x1e86 <FGtj76uzh56z3grEg5t45+0x2a>
    1e82:       85 e0           ldi     r24, 0x05       ; 5
    1e84:       01 c0           rjmp    .+2             ; 0x1e88 <FGtj76uzh56z3grEg5t45+0x2c>
    1e86:       84 e0           ldi     r24, 0x04       ; 4
    1e88:       80 93 fa 02     sts     0x02FA, r24
    1e8c:       80 91 fa 02     lds     r24, 0x02FA
    1e90:       90 91 f8 02     lds     r25, 0x02F8
    1e94:       82 17           cp      r24, r18
    1e96:       98 f4           brcc    .+38            ; 0x1ebe <FGtj76uzh56z3grEg5t45+0x62>
    1e98:       89 2f           mov     r24, r25
    1e9a:       80 95           com     r24
    1e9c:       80 93 f8 02     sts     0x02F8, r24
    1ea0:       8f 3f           cpi     r24, 0xFF       ; 255
    1ea2:       19 f4           brne    .+6             ; 0x1eaa <FGtj76uzh56z3grEg5t45+0x4e>
    1ea4:       8e ef           ldi     r24, 0xFE       ; 254
    1ea6:       80 93 f8 02     sts     0x02F8, r24
    1eaa:       80 91 f8 02     lds     r24, 0x02F8
    1eae:       c8 17           cp      r28, r24
    1eb0:       09 f4           brne    .+2             ; 0x1eb4 <FGtj76uzh56z3grEg5t45+0x58>
    1eb2:       62 df           rcall   .-316           ; 0x1d78 <DFGeefWEF43tgt5uGreg5>
    1eb4:       10 92 f9 02     sts     0x02F9, r1
    1eb8:       10 92 f8 02     sts     0x02F8, r1
    1ebc:       0b c0           rjmp    .+22            ; 0x1ed4 <FGtj76uzh56z3grEg5t45+0x78>
    1ebe:       e2 2f           mov     r30, r18
    1ec0:       ff 27           eor     r31, r31
    1ec2:       e6 55           subi    r30, 0x56       ; 86
    1ec4:       f3 4f           sbci    r31, 0xF3       ; 243
    1ec6:       c0 83           st      Z, r28
    1ec8:       2f 5f           subi    r18, 0xFF       ; 255
    1eca:       20 93 f9 02     sts     0x02F9, r18
    1ece:       9c 0f           add     r25, r28
    1ed0:       90 93 f8 02     sts     0x02F8, r25
    1ed4:       c0 93 f7 02     sts     0x02F7, r28
    1ed8:       cf 91           pop     r28
    1eda:       08 95           ret

00001edc <LIBFC_JetiBox_Putchar>:
    1edc:       90 91 f3 02     lds     r25, 0x02F3
    1ee0:       93 32           cpi     r25, 0x23       ; 35
    1ee2:       40 f4           brcc    .+16            ; 0x1ef4 <LIBFC_JetiBox_Putchar+0x18>
    1ee4:       e9 2f           mov     r30, r25
    1ee6:       ff 27           eor     r31, r31
    1ee8:       ee 54           subi    r30, 0x4E       ; 78
    1eea:       f3 4f           sbci    r31, 0xF3       ; 243
    1eec:       80 83           st      Z, r24
    1eee:       9f 5f           subi    r25, 0xFF       ; 255
    1ef0:       90 93 f3 02     sts     0x02F3, r25
    1ef4:       08 95           ret

00001ef6 <LIBFC_JetiBox_SetPos>:
    1ef6:       83 32           cpi     r24, 0x23       ; 35
    1ef8:       18 f4           brcc    .+6             ; 0x1f00 <LIBFC_JetiBox_SetPos+0xa>
    1efa:       8d 5f           subi    r24, 0xFD       ; 253
    1efc:       80 93 f3 02     sts     0x02F3, r24
    1f00:       08 95           ret

00001f02 <LIBFC_JetiBox_Clear>:
    1f02:       90 e2           ldi     r25, 0x20       ; 32
    1f04:       e5 eb           ldi     r30, 0xB5       ; 181
    1f06:       fc e0           ldi     r31, 0x0C       ; 12
    1f08:       8f e1           ldi     r24, 0x1F       ; 31
    1f0a:       91 93           st      Z+, r25
    1f0c:       81 50           subi    r24, 0x01       ; 1
    1f0e:       87 ff           sbrs    r24, 7
    1f10:       fc cf           rjmp    .-8             ; 0x1f0a <LIBFC_JetiBox_Clear+0x8>
    1f12:       08 95           ret

00001f14 <INiuzBtergGIBuB76T0G5>:
    1f14:       cf 93           push    r28
    1f16:       cf b7           in      r28, 0x3f       ; 63
    1f18:       23 e0           ldi     r18, 0x03       ; 3
    1f1a:       31 e0           ldi     r19, 0x01       ; 1
    1f1c:       f8 94           cli
    1f1e:       80 91 c9 00     lds     r24, 0x00C9
    1f22:       8f 77           andi    r24, 0x7F       ; 127
    1f24:       80 93 c9 00     sts     0x00C9, r24
    1f28:       80 91 c9 00     lds     r24, 0x00C9
    1f2c:       8f 7b           andi    r24, 0xBF       ; 191
    1f2e:       80 93 c9 00     sts     0x00C9, r24
    1f32:       80 91 c9 00     lds     r24, 0x00C9
    1f36:       8f 7d           andi    r24, 0xDF       ; 223
    1f38:       80 93 c9 00     sts     0x00C9, r24
    1f3c:       83 2f           mov     r24, r19
    1f3e:       99 27           eor     r25, r25
    1f40:       80 93 cd 00     sts     0x00CD, r24
    1f44:       20 93 cc 00     sts     0x00CC, r18
    1f48:       80 91 c8 00     lds     r24, 0x00C8
    1f4c:       82 60           ori     r24, 0x02       ; 2
    1f4e:       80 93 c8 00     sts     0x00C8, r24
    1f52:       88 e1           ldi     r24, 0x18       ; 24
    1f54:       80 93 c9 00     sts     0x00C9, r24
    1f58:       80 91 ca 00     lds     r24, 0x00CA
    1f5c:       8f 77           andi    r24, 0x7F       ; 127
    1f5e:       80 93 ca 00     sts     0x00CA, r24
    1f62:       80 91 ca 00     lds     r24, 0x00CA
    1f66:       8f 7b           andi    r24, 0xBF       ; 191
    1f68:       80 93 ca 00     sts     0x00CA, r24
    1f6c:       80 91 ca 00     lds     r24, 0x00CA
    1f70:       80 62           ori     r24, 0x20       ; 32
    1f72:       80 93 ca 00     sts     0x00CA, r24
    1f76:       80 91 ca 00     lds     r24, 0x00CA
    1f7a:       80 61           ori     r24, 0x10       ; 16
    1f7c:       80 93 ca 00     sts     0x00CA, r24
    1f80:       80 91 ca 00     lds     r24, 0x00CA
    1f84:       88 60           ori     r24, 0x08       ; 8
    1f86:       80 93 ca 00     sts     0x00CA, r24
    1f8a:       80 91 c9 00     lds     r24, 0x00C9
    1f8e:       84 60           ori     r24, 0x04       ; 4
    1f90:       80 93 c9 00     sts     0x00C9, r24
    1f94:       80 91 ca 00     lds     r24, 0x00CA
    1f98:       84 60           ori     r24, 0x04       ; 4
    1f9a:       80 93 ca 00     sts     0x00CA, r24
    1f9e:       80 91 ca 00     lds     r24, 0x00CA
    1fa2:       82 60           ori     r24, 0x02       ; 2
    1fa4:       80 93 ca 00     sts     0x00CA, r24
    1fa8:       80 91 c8 00     lds     r24, 0x00C8
    1fac:       87 ff           sbrs    r24, 7
    1fae:       03 c0           rjmp    .+6             ; 0x1fb6 <INiuzBtergGIBuB76T0G5+0xa2>
    1fb0:       80 91 ce 00     lds     r24, 0x00CE
    1fb4:       f9 cf           rjmp    .-14            ; 0x1fa8 <INiuzBtergGIBuB76T0G5+0x94>
    1fb6:       80 91 c9 00     lds     r24, 0x00C9
    1fba:       80 68           ori     r24, 0x80       ; 128
    1fbc:       80 93 c9 00     sts     0x00C9, r24
    1fc0:       80 91 c9 00     lds     r24, 0x00C9
    1fc4:       80 64           ori     r24, 0x40       ; 64
    1fc6:       80 93 c9 00     sts     0x00C9, r24
    1fca:       9b df           rcall   .-202           ; 0x1f02 <LIBFC_JetiBox_Clear>
    1fcc:       cf bf           out     0x3f, r28       ; 63
    1fce:       cf 91           pop     r28
    1fd0:       08 95           ret

00001fd2 <KLNMIOHMUHG76GFGr43r3>:
    1fd2:       28 2f           mov     r18, r24
    1fd4:       99 27           eor     r25, r25
    1fd6:       8f 70           andi    r24, 0x0F       ; 15
    1fd8:       90 70           andi    r25, 0x00       ; 0
    1fda:       89 2b           or      r24, r25
    1fdc:       31 f4           brne    .+12            ; 0x1fea <KLNMIOHMUHG76GFGr43r3+0x18>
    1fde:       20 95           com     r18
    1fe0:       80 91 f2 02     lds     r24, 0x02F2
    1fe4:       82 2b           or      r24, r18
    1fe6:       80 93 f2 02     sts     0x02F2, r24
    1fea:       08 95           ret

00001fec <__vector_30>:
    1fec:       1f 92           push    r1
    1fee:       0f 92           push    r0
    1ff0:       0f b6           in      r0, 0x3f        ; 63
    1ff2:       0f 92           push    r0
    1ff4:       11 24           eor     r1, r1
    1ff6:       8f 93           push    r24
    1ff8:       ef 93           push    r30
    1ffa:       ff 93           push    r31
    1ffc:       80 91 06 01     lds     r24, 0x0106
    2000:       88 23           and     r24, r24
    2002:       09 f0           breq    .+2             ; 0x2006 <__vector_30+0x1a>
    2004:       68 c0           rjmp    .+208           ; 0x20d6 <__vector_30+0xea>
    2006:       e0 91 fc 02     lds     r30, 0x02FC
    200a:       ee 23           and     r30, r30
    200c:       89 f4           brne    .+34            ; 0x2030 <__vector_30+0x44>
    200e:       80 91 fb 02     lds     r24, 0x02FB
    2012:       88 23           and     r24, r24
    2014:       69 f4           brne    .+26            ; 0x2030 <__vector_30+0x44>
    2016:       80 91 b2 0c     lds     r24, 0x0CB2
    201a:       88 23           and     r24, r24
    201c:       21 f0           breq    .+8             ; 0x2026 <__vector_30+0x3a>
    201e:       81 e0           ldi     r24, 0x01       ; 1
    2020:       80 93 fd 02     sts     0x02FD, r24
    2024:       05 c0           rjmp    .+10            ; 0x2030 <__vector_30+0x44>
    2026:       80 91 c9 00     lds     r24, 0x00C9
    202a:       81 60           ori     r24, 0x01       ; 1
    202c:       80 93 c9 00     sts     0x00C9, r24
    2030:       80 91 fd 02     lds     r24, 0x02FD
    2034:       88 23           and     r24, r24
    2036:       79 f4           brne    .+30            ; 0x2056 <__vector_30+0x6a>
    2038:       ef 5f           subi    r30, 0xFF       ; 255
    203a:       e0 93 fc 02     sts     0x02FC, r30
    203e:       80 91 89 0c     lds     r24, 0x0C89
    2042:       8e 17           cp      r24, r30
    2044:       20 f4           brcc    .+8             ; 0x204e <__vector_30+0x62>
    2046:       81 e0           ldi     r24, 0x01       ; 1
    2048:       80 93 fd 02     sts     0x02FD, r24
    204c:       1c c0           rjmp    .+56            ; 0x2086 <__vector_30+0x9a>
    204e:       ff 27           eor     r31, r31
    2050:       e7 57           subi    r30, 0x77       ; 119
    2052:       f3 4f           sbci    r31, 0xF3       ; 243
    2054:       3c c0           rjmp    .+120           ; 0x20ce <__vector_30+0xe2>
    2056:       80 91 fb 02     lds     r24, 0x02FB
    205a:       88 23           and     r24, r24
    205c:       61 f4           brne    .+24            ; 0x2076 <__vector_30+0x8a>
    205e:       80 91 b2 0c     lds     r24, 0x0CB2
    2062:       88 23           and     r24, r24
    2064:       11 f4           brne    .+4             ; 0x206a <__vector_30+0x7e>
    2066:       83 e0           ldi     r24, 0x03       ; 3
    2068:       03 c0           rjmp    .+6             ; 0x2070 <__vector_30+0x84>
    206a:       81 39           cpi     r24, 0x91       ; 145
    206c:       99 f4           brne    .+38            ; 0x2094 <__vector_30+0xa8>
    206e:       81 e0           ldi     r24, 0x01       ; 1
    2070:       80 93 fb 02     sts     0x02FB, r24
    2074:       0f c0           rjmp    .+30            ; 0x2094 <__vector_30+0xa8>
    2076:       83 30           cpi     r24, 0x03       ; 3
    2078:       99 f4           brne    .+38            ; 0x20a0 <__vector_30+0xb4>
    207a:       80 91 b2 0c     lds     r24, 0x0CB2
    207e:       88 23           and     r24, r24
    2080:       49 f0           breq    .+18            ; 0x2094 <__vector_30+0xa8>
    2082:       10 92 b2 0c     sts     0x0CB2, r1
    2086:       80 91 c9 00     lds     r24, 0x00C9
    208a:       8e 7f           andi    r24, 0xFE       ; 254
    208c:       80 93 c9 00     sts     0x00C9, r24
    2090:       8e ef           ldi     r24, 0xFE       ; 254
    2092:       1e c0           rjmp    .+60            ; 0x20d0 <__vector_30+0xe4>
    2094:       80 91 c9 00     lds     r24, 0x00C9
    2098:       81 60           ori     r24, 0x01       ; 1
    209a:       80 93 c9 00     sts     0x00C9, r24
    209e:       0e c0           rjmp    .+28            ; 0x20bc <__vector_30+0xd0>
    20a0:       83 32           cpi     r24, 0x23       ; 35
    20a2:       61 f4           brne    .+24            ; 0x20bc <__vector_30+0xd0>
    20a4:       80 91 c9 00     lds     r24, 0x00C9
    20a8:       8e 7f           andi    r24, 0xFE       ; 254
    20aa:       80 93 c9 00     sts     0x00C9, r24
    20ae:       8f ef           ldi     r24, 0xFF       ; 255
    20b0:       80 93 ce 00     sts     0x00CE, r24
    20b4:       81 e0           ldi     r24, 0x01       ; 1
    20b6:       80 93 06 01     sts     0x0106, r24
    20ba:       18 c0           rjmp    .+48            ; 0x20ec <__vector_30+0x100>
    20bc:       80 91 fb 02     lds     r24, 0x02FB
    20c0:       e8 2f           mov     r30, r24
    20c2:       ff 27           eor     r31, r31
    20c4:       ee 54           subi    r30, 0x4E       ; 78
    20c6:       f3 4f           sbci    r31, 0xF3       ; 243
    20c8:       8f 5f           subi    r24, 0xFF       ; 255
    20ca:       80 93 fb 02     sts     0x02FB, r24
    20ce:       80 81           ld      r24, Z
    20d0:       80 93 ce 00     sts     0x00CE, r24
    20d4:       0b c0           rjmp    .+22            ; 0x20ec <__vector_30+0x100>
    20d6:       10 92 fb 02     sts     0x02FB, r1
    20da:       10 92 fc 02     sts     0x02FC, r1
    20de:       10 92 fd 02     sts     0x02FD, r1
    20e2:       80 91 c9 00     lds     r24, 0x00C9
    20e6:       80 61           ori     r24, 0x10       ; 16
    20e8:       80 93 c9 00     sts     0x00C9, r24
    20ec:       ff 91           pop     r31
    20ee:       ef 91           pop     r30
    20f0:       8f 91           pop     r24
    20f2:       0f 90           pop     r0
    20f4:       0f be           out     0x3f, r0        ; 63
    20f6:       0f 90           pop     r0
    20f8:       1f 90           pop     r1
    20fa:       18 95           reti

000020fc <update_crc>:
    20fc:       68 27           eor     r22, r24
    20fe:       27 e0           ldi     r18, 0x07       ; 7
    2100:       32 2f           mov     r19, r18
    2102:       67 ff           sbrs    r22, 7
    2104:       06 c0           rjmp    .+12            ; 0x2112 <update_crc+0x16>
    2106:       86 2f           mov     r24, r22
    2108:       99 27           eor     r25, r25
    210a:       88 0f           add     r24, r24
    210c:       99 1f           adc     r25, r25
    210e:       83 27           eor     r24, r19
    2110:       02 c0           rjmp    .+4             ; 0x2116 <update_crc+0x1a>
    2112:       86 2f           mov     r24, r22
    2114:       88 0f           add     r24, r24
    2116:       68 2f           mov     r22, r24
    2118:       21 50           subi    r18, 0x01       ; 1
    211a:       27 ff           sbrs    r18, 7
    211c:       f2 cf           rjmp    .-28            ; 0x2102 <update_crc+0x6>
    211e:       99 27           eor     r25, r25
    2120:       08 95           ret

00002122 <crc8>:
    2122:       0f 93           push    r16
    2124:       1f 93           push    r17
    2126:       cf 93           push    r28
    2128:       df 93           push    r29
    212a:       06 2f           mov     r16, r22
    212c:       60 e0           ldi     r22, 0x00       ; 0
    212e:       16 2f           mov     r17, r22
    2130:       60 17           cp      r22, r16
    2132:       38 f4           brcc    .+14            ; 0x2142 <crc8+0x20>
    2134:       ec 01           movw    r28, r24
    2136:       89 91           ld      r24, Y+
    2138:       e1 df           rcall   .-62            ; 0x20fc <update_crc>
    213a:       68 2f           mov     r22, r24
    213c:       1f 5f           subi    r17, 0xFF       ; 255
    213e:       10 17           cp      r17, r16
    2140:       d0 f3           brcs    .-12            ; 0x2136 <crc8+0x14>
    2142:       86 2f           mov     r24, r22
    2144:       99 27           eor     r25, r25
    2146:       df 91           pop     r29
    2148:       cf 91           pop     r28
    214a:       1f 91           pop     r17
    214c:       0f 91           pop     r16
    214e:       08 95           ret

00002150 <JetiEX_GetLength>:
    2150:       dc 01           movw    r26, r24
    2152:       90 e0           ldi     r25, 0x00       ; 0
    2154:       96 17           cp      r25, r22
    2156:       58 f4           brcc    .+22            ; 0x216e <JetiEX_GetLength+0x1e>
    2158:       8c 91           ld      r24, X
    215a:       80 32           cpi     r24, 0x20       ; 32
    215c:       41 f0           breq    .+16            ; 0x216e <JetiEX_GetLength+0x1e>
    215e:       9f 5f           subi    r25, 0xFF       ; 255
    2160:       96 17           cp      r25, r22
    2162:       28 f4           brcc    .+10            ; 0x216e <JetiEX_GetLength+0x1e>
    2164:       fd 01           movw    r30, r26
    2166:       e9 0f           add     r30, r25
    2168:       f1 1d           adc     r31, r1
    216a:       80 81           ld      r24, Z
    216c:       f6 cf           rjmp    .-20            ; 0x215a <JetiEX_GetLength+0xa>
    216e:       89 2f           mov     r24, r25
    2170:       99 27           eor     r25, r25
    2172:       08 95           ret

00002174 <JetiEX_CreatePacket>:
    2174:       a0 e0           ldi     r26, 0x00       ; 0
    2176:       b0 e0           ldi     r27, 0x00       ; 0
    2178:       e0 ec           ldi     r30, 0xC0       ; 192
    217a:       f0 e1           ldi     r31, 0x10       ; 16
    217c:       0c 94 e1 b1     jmp     0x163c2 ; 0x163c2 <__prologue_saves__+0x12>
    2180:       8f e9           ldi     r24, 0x9F       ; 159
    2182:       80 93 8a 0c     sts     0x0C8A, r24
    2186:       80 e1           ldi     r24, 0x10       ; 16
    2188:       80 93 8c 0c     sts     0x0C8C, r24
    218c:       84 ea           ldi     r24, 0xA4       ; 164
    218e:       80 93 8d 0c     sts     0x0C8D, r24
    2192:       85 e5           ldi     r24, 0x55       ; 85
    2194:       80 93 8e 0c     sts     0x0C8E, r24
    2198:       8d e5           ldi     r24, 0x5D       ; 93
    219a:       80 93 8f 0c     sts     0x0C8F, r24
    219e:       10 92 90 0c     sts     0x0C90, r1
    21a2:       80 91 ff 02     lds     r24, 0x02FF
    21a6:       88 23           and     r24, r24
    21a8:       09 f0           breq    .+2             ; 0x21ac <JetiEX_CreatePacket+0x38>
    21aa:       67 c0           rjmp    .+206           ; 0x227a <JetiEX_CreatePacket+0x106>
    21ac:       80 91 fe 02     lds     r24, 0x02FE
    21b0:       13 e1           ldi     r17, 0x13       ; 19
    21b2:       81 9f           mul     r24, r17
    21b4:       c0 01           movw    r24, r0
    21b6:       11 24           eor     r1, r1
    21b8:       63 e0           ldi     r22, 0x03       ; 3
    21ba:       88 59           subi    r24, 0x98       ; 152
    21bc:       9e 4f           sbci    r25, 0xFE       ; 254
    21be:       c8 df           rcall   .-112           ; 0x2150 <JetiEX_GetLength>
    21c0:       08 2f           mov     r16, r24
    21c2:       80 91 fe 02     lds     r24, 0x02FE
    21c6:       81 9f           mul     r24, r17
    21c8:       c0 01           movw    r24, r0
    21ca:       11 24           eor     r1, r1
    21cc:       6a e0           ldi     r22, 0x0A       ; 10
    21ce:       82 5a           subi    r24, 0xA2       ; 162
    21d0:       9e 4f           sbci    r25, 0xFE       ; 254
    21d2:       be df           rcall   .-132           ; 0x2150 <JetiEX_GetLength>
    21d4:       98 2f           mov     r25, r24
    21d6:       80 0f           add     r24, r16
    21d8:       86 5f           subi    r24, 0xF6       ; 246
    21da:       80 93 89 0c     sts     0x0C89, r24
    21de:       2e ef           ldi     r18, 0xFE       ; 254
    21e0:       b2 2e           mov     r11, r18
    21e2:       b8 0e           add     r11, r24
    21e4:       b0 92 8b 0c     sts     0x0C8B, r11
    21e8:       20 91 fe 02     lds     r18, 0x02FE
    21ec:       20 93 91 0c     sts     0x0C91, r18
    21f0:       e9 2e           mov     r14, r25
    21f2:       ff 24           eor     r15, r15
    21f4:       c7 01           movw    r24, r14
    21f6:       13 e0           ldi     r17, 0x03       ; 3
    21f8:       88 0f           add     r24, r24
    21fa:       99 1f           adc     r25, r25
    21fc:       1a 95           dec     r17
    21fe:       e1 f7           brne    .-8             ; 0x21f8 <JetiEX_CreatePacket+0x84>
    2200:       80 2b           or      r24, r16
    2202:       80 93 92 0c     sts     0x0C92, r24
    2206:       82 2f           mov     r24, r18
    2208:       99 27           eor     r25, r25
    220a:       c3 e1           ldi     r28, 0x13       ; 19
    220c:       cc 2e           mov     r12, r28
    220e:       d1 2c           mov     r13, r1
    2210:       8c 9d           mul     r24, r12
    2212:       90 01           movw    r18, r0
    2214:       8d 9d           mul     r24, r13
    2216:       30 0d           add     r19, r0
    2218:       9c 9d           mul     r25, r12
    221a:       30 0d           add     r19, r0
    221c:       11 24           eor     r1, r1
    221e:       c9 01           movw    r24, r18
    2220:       82 5a           subi    r24, 0xA2       ; 162
    2222:       9e 4f           sbci    r25, 0xFE       ; 254
    2224:       a7 01           movw    r20, r14
    2226:       bc 01           movw    r22, r24
    2228:       83 e9           ldi     r24, 0x93       ; 147
    222a:       9c e0           ldi     r25, 0x0C       ; 12
    222c:       0e 94 25 b2     call    0x1644a ; 0x1644a <memcpy>
    2230:       11 27           eor     r17, r17
    2232:       80 91 fe 02     lds     r24, 0x02FE
    2236:       99 27           eor     r25, r25
    2238:       8c 9d           mul     r24, r12
    223a:       e0 01           movw    r28, r0
    223c:       8d 9d           mul     r24, r13
    223e:       d0 0d           add     r29, r0
    2240:       9c 9d           mul     r25, r12
    2242:       d0 0d           add     r29, r0
    2244:       11 24           eor     r1, r1
    2246:       ce 01           movw    r24, r28
    2248:       88 59           subi    r24, 0x98       ; 152
    224a:       9e 4f           sbci    r25, 0xFE       ; 254
    224c:       a8 01           movw    r20, r16
    224e:       bc 01           movw    r22, r24
    2250:       c7 01           movw    r24, r14
    2252:       8d 56           subi    r24, 0x6D       ; 109
    2254:       93 4f           sbci    r25, 0xF3       ; 243
    2256:       0e 94 25 b2     call    0x1644a ; 0x1644a <memcpy>
    225a:       07 57           subi    r16, 0x77       ; 119
    225c:       13 4f           sbci    r17, 0xF3       ; 243
    225e:       0e 0d           add     r16, r14
    2260:       1f 1d           adc     r17, r15
    2262:       6b 2d           mov     r22, r11
    2264:       8b e8           ldi     r24, 0x8B       ; 139
    2266:       9c e0           ldi     r25, 0x0C       ; 12
    2268:       5c df           rcall   .-328           ; 0x2122 <crc8>
    226a:       f8 01           movw    r30, r16
    226c:       82 87           std     Z+10, r24       ; 0x0a
    226e:       80 91 ff 02     lds     r24, 0x02FF
    2272:       8f 5f           subi    r24, 0xFF       ; 255
    2274:       80 93 ff 02     sts     0x02FF, r24
    2278:       92 c0           rjmp    .+292           ; 0x239e <JetiEX_CreatePacket+0x22a>
    227a:       c0 90 90 0c     lds     r12, 0x0C90
    227e:       1c 2d           mov     r17, r12
    2280:       0e 94 b8 84     call    0x10970 ; 0x10970 <JetiEX_Update>
    2284:       30 91 07 01     lds     r19, 0x0107
    2288:       30 31           cpi     r19, 0x10       ; 16
    228a:       08 f0           brcs    .+2             ; 0x228e <JetiEX_CreatePacket+0x11a>
    228c:       58 c0           rjmp    .+176           ; 0x233e <JetiEX_CreatePacket+0x1ca>
    228e:       b3 e1           ldi     r27, 0x13       ; 19
    2290:       eb 2e           mov     r14, r27
    2292:       f1 2c           mov     r15, r1
    2294:       63 2f           mov     r22, r19
    2296:       81 2f           mov     r24, r17
    2298:       99 27           eor     r25, r25
    229a:       fc 01           movw    r30, r24
    229c:       ee 0f           add     r30, r30
    229e:       ff 1f           adc     r31, r31
    22a0:       e8 0f           add     r30, r24
    22a2:       f9 1f           adc     r31, r25
    22a4:       ec 0d           add     r30, r12
    22a6:       f1 1d           adc     r31, r1
    22a8:       e7 57           subi    r30, 0x77       ; 119
    22aa:       f3 4f           sbci    r31, 0xF3       ; 243
    22ac:       83 2f           mov     r24, r19
    22ae:       99 27           eor     r25, r25
    22b0:       8e 9d           mul     r24, r14
    22b2:       d0 01           movw    r26, r0
    22b4:       8f 9d           mul     r24, r15
    22b6:       b0 0d           add     r27, r0
    22b8:       9e 9d           mul     r25, r14
    22ba:       b0 0d           add     r27, r0
    22bc:       11 24           eor     r1, r1
    22be:       a2 5a           subi    r26, 0xA2       ; 162
    22c0:       be 4f           sbci    r27, 0xFE       ; 254
    22c2:       ed 01           movw    r28, r26
    22c4:       2d 85           ldd     r18, Y+13       ; 0x0d
    22c6:       74 e0           ldi     r23, 0x04       ; 4
    22c8:       88 0f           add     r24, r24
    22ca:       99 1f           adc     r25, r25
    22cc:       7a 95           dec     r23
    22ce:       e1 f7           brne    .-8             ; 0x22c8 <JetiEX_CreatePacket+0x154>
    22d0:       28 2b           or      r18, r24
    22d2:       20 87           std     Z+8, r18        ; 0x08
    22d4:       3e 30           cpi     r19, 0x0E       ; 14
    22d6:       88 f4           brcc    .+34            ; 0x22fa <JetiEX_CreatePacket+0x186>
    22d8:       2e 85           ldd     r18, Y+14       ; 0x0e
    22da:       3f 85           ldd     r19, Y+15       ; 0x0f
    22dc:       3f 79           andi    r19, 0x9F       ; 159
    22de:       8a 89           ldd     r24, Y+18       ; 0x12
    22e0:       99 27           eor     r25, r25
    22e2:       98 2f           mov     r25, r24
    22e4:       88 27           eor     r24, r24
    22e6:       92 95           swap    r25
    22e8:       99 0f           add     r25, r25
    22ea:       90 7e           andi    r25, 0xE0       ; 224
    22ec:       28 2b           or      r18, r24
    22ee:       39 2b           or      r19, r25
    22f0:       21 87           std     Z+9, r18        ; 0x09
    22f2:       83 2f           mov     r24, r19
    22f4:       99 27           eor     r25, r25
    22f6:       82 87           std     Z+10, r24       ; 0x0a
    22f8:       16 c0           rjmp    .+44            ; 0x2326 <JetiEX_CreatePacket+0x1b2>
    22fa:       ed 01           movw    r28, r26
    22fc:       2e 85           ldd     r18, Y+14       ; 0x0e
    22fe:       3f 85           ldd     r19, Y+15       ; 0x0f
    2300:       48 89           ldd     r20, Y+16       ; 0x10
    2302:       59 89           ldd     r21, Y+17       ; 0x11
    2304:       21 87           std     Z+9, r18        ; 0x09
    2306:       bb 27           eor     r27, r27
    2308:       a5 2f           mov     r26, r21
    230a:       94 2f           mov     r25, r20
    230c:       83 2f           mov     r24, r19
    230e:       82 87           std     Z+10, r24       ; 0x0a
    2310:       ca 01           movw    r24, r20
    2312:       aa 27           eor     r26, r26
    2314:       bb 27           eor     r27, r27
    2316:       83 87           std     Z+11, r24       ; 0x0b
    2318:       85 2f           mov     r24, r21
    231a:       99 27           eor     r25, r25
    231c:       aa 27           eor     r26, r26
    231e:       bb 27           eor     r27, r27
    2320:       84 87           std     Z+12, r24       ; 0x0c
    2322:       e2 e0           ldi     r30, 0x02       ; 2
    2324:       ce 0e           add     r12, r30
    2326:       86 2f           mov     r24, r22
    2328:       8f 5f           subi    r24, 0xFF       ; 255
    232a:       68 2f           mov     r22, r24
    232c:       1f 5f           subi    r17, 0xFF       ; 255
    232e:       16 30           cpi     r17, 0x06       ; 6
    2330:       20 f4           brcc    .+8             ; 0x233a <JetiEX_CreatePacket+0x1c6>
    2332:       38 2f           mov     r19, r24
    2334:       80 31           cpi     r24, 0x10       ; 16
    2336:       08 f4           brcc    .+2             ; 0x233a <JetiEX_CreatePacket+0x1c6>
    2338:       ae cf           rjmp    .-164           ; 0x2296 <JetiEX_CreatePacket+0x122>
    233a:       80 93 07 01     sts     0x0107, r24
    233e:       83 e0           ldi     r24, 0x03       ; 3
    2340:       18 9f           mul     r17, r24
    2342:       c0 01           movw    r24, r0
    2344:       11 24           eor     r1, r1
    2346:       2c 2d           mov     r18, r12
    2348:       28 0f           add     r18, r24
    234a:       28 5f           subi    r18, 0xF8       ; 248
    234c:       20 93 89 0c     sts     0x0C89, r18
    2350:       22 5c           subi    r18, 0xC2       ; 194
    2352:       20 93 8b 0c     sts     0x0C8B, r18
    2356:       81 2f           mov     r24, r17
    2358:       99 27           eor     r25, r25
    235a:       8c 01           movw    r16, r24
    235c:       00 0f           add     r16, r16
    235e:       11 1f           adc     r17, r17
    2360:       08 0f           add     r16, r24
    2362:       19 1f           adc     r17, r25
    2364:       0c 0d           add     r16, r12
    2366:       11 1d           adc     r17, r1
    2368:       07 57           subi    r16, 0x77       ; 119
    236a:       13 4f           sbci    r17, 0xF3       ; 243
    236c:       20 54           subi    r18, 0x40       ; 64
    236e:       62 2f           mov     r22, r18
    2370:       8b e8           ldi     r24, 0x8B       ; 139
    2372:       9c e0           ldi     r25, 0x0C       ; 12
    2374:       d6 de           rcall   .-596           ; 0x2122 <crc8>
    2376:       e8 01           movw    r28, r16
    2378:       88 87           std     Y+8, r24        ; 0x08
    237a:       80 91 07 01     lds     r24, 0x0107
    237e:       80 31           cpi     r24, 0x10       ; 16
    2380:       70 f0           brcs    .+28            ; 0x239e <JetiEX_CreatePacket+0x22a>
    2382:       81 e0           ldi     r24, 0x01       ; 1
    2384:       80 93 07 01     sts     0x0107, r24
    2388:       10 92 ff 02     sts     0x02FF, r1
    238c:       80 91 fe 02     lds     r24, 0x02FE
    2390:       8f 5f           subi    r24, 0xFF       ; 255
    2392:       80 93 fe 02     sts     0x02FE, r24
    2396:       80 31           cpi     r24, 0x10       ; 16
    2398:       10 f0           brcs    .+4             ; 0x239e <JetiEX_CreatePacket+0x22a>
    239a:       10 92 fe 02     sts     0x02FE, r1
    239e:       e9 e0           ldi     r30, 0x09       ; 9
    23a0:       cd b7           in      r28, 0x3d       ; 61
    23a2:       de b7           in      r29, 0x3e       ; 62
    23a4:       0c 94 fd b1     jmp     0x163fa ; 0x163fa <__epilogue_restores__+0x12>

000023a8 <a48784362857632195659>:
    23a8:       80 91 06 01     lds     r24, 0x0106
    23ac:       88 23           and     r24, r24
    23ae:       09 f4           brne    .+2             ; 0x23b2 <a48784362857632195659+0xa>
    23b0:       46 c0           rjmp    .+140           ; 0x243e <a48784362857632195659+0x96>
    23b2:       80 91 cb 03     lds     r24, 0x03CB
    23b6:       85 fd           sbrc    r24, 5
    23b8:       04 c0           rjmp    .+8             ; 0x23c2 <a48784362857632195659+0x1a>
    23ba:       80 91 5c 04     lds     r24, 0x045C
    23be:       88 23           and     r24, r24
    23c0:       81 f0           breq    .+32            ; 0x23e2 <a48784362857632195659+0x3a>
    23c2:       82 e9           ldi     r24, 0x92       ; 146
    23c4:       80 93 b2 0c     sts     0x0CB2, r24
    23c8:       83 e2           ldi     r24, 0x23       ; 35
    23ca:       80 93 b3 0c     sts     0x0CB3, r24
    23ce:       80 91 5c 04     lds     r24, 0x045C
    23d2:       88 23           and     r24, r24
    23d4:       09 f4           brne    .+2             ; 0x23d8 <a48784362857632195659+0x30>
    23d6:       85 e5           ldi     r24, 0x55       ; 85
    23d8:       80 93 b4 0c     sts     0x0CB4, r24
    23dc:       10 92 5c 04     sts     0x045C, r1
    23e0:       02 c0           rjmp    .+4             ; 0x23e6 <a48784362857632195659+0x3e>
    23e2:       80 93 b2 0c     sts     0x0CB2, r24
    23e6:       80 91 08 01     lds     r24, 0x0108
    23ea:       8f 30           cpi     r24, 0x0F       ; 15
    23ec:       71 f4           brne    .+28            ; 0x240a <a48784362857632195659+0x62>
    23ee:       80 91 f2 02     lds     r24, 0x02F2
    23f2:       0e 94 ad 83     call    0x1075a ; 0x1075a <JetiBox_Update>
    23f6:       88 23           and     r24, r24
    23f8:       41 f0           breq    .+16            ; 0x240a <a48784362857632195659+0x62>
    23fa:       81 e9           ldi     r24, 0x91       ; 145
    23fc:       80 93 b2 0c     sts     0x0CB2, r24
    2400:       80 93 b3 0c     sts     0x0CB3, r24
    2404:       81 e3           ldi     r24, 0x31       ; 49
    2406:       80 93 b4 0c     sts     0x0CB4, r24
    240a:       10 92 06 01     sts     0x0106, r1
    240e:       80 91 c8 00     lds     r24, 0x00C8
    2412:       85 ff           sbrs    r24, 5
    2414:       fc cf           rjmp    .-8             ; 0x240e <a48784362857632195659+0x66>
    2416:       80 91 c9 00     lds     r24, 0x00C9
    241a:       8f 7e           andi    r24, 0xEF       ; 239
    241c:       80 93 c9 00     sts     0x00C9, r24
    2420:       80 91 c9 00     lds     r24, 0x00C9
    2424:       8e 7f           andi    r24, 0xFE       ; 254
    2426:       80 93 c9 00     sts     0x00C9, r24
    242a:       a4 de           rcall   .-696           ; 0x2174 <JetiEX_CreatePacket>
    242c:       8e e7           ldi     r24, 0x7E       ; 126
    242e:       80 93 ce 00     sts     0x00CE, r24
    2432:       80 91 f2 02     lds     r24, 0x02F2
    2436:       80 93 08 01     sts     0x0108, r24
    243a:       10 92 f2 02     sts     0x02F2, r1
    243e:       08 95           ret

00002440 <njkvnfuhgbuzrgezgf483>:
    2440:       ef 92           push    r14
    2442:       ff 92           push    r15
    2444:       0f 93           push    r16
    2446:       1f 93           push    r17
    2448:       cf 93           push    r28
    244a:       df 93           push    r29
    244c:       7c 01           movw    r14, r24
    244e:       8b 01           movw    r16, r22
    2450:       ea 01           movw    r28, r20
    2452:       45 2b           or      r20, r21
    2454:       39 f0           breq    .+14            ; 0x2464 <njkvnfuhgbuzrgezgf483+0x24>
    2456:       f8 01           movw    r30, r16
    2458:       81 91           ld      r24, Z+
    245a:       8f 01           movw    r16, r30
    245c:       f7 01           movw    r30, r14
    245e:       09 95           icall
    2460:       21 97           sbiw    r28, 0x01       ; 1
    2462:       c9 f7           brne    .-14            ; 0x2456 <njkvnfuhgbuzrgezgf483+0x16>
    2464:       e6 e0           ldi     r30, 0x06       ; 6
    2466:       cd b7           in      r28, 0x3d       ; 61
    2468:       de b7           in      r29, 0x3e       ; 62
    246a:       0c 94 00 b2     jmp     0x16400 ; 0x16400 <__epilogue_restores__+0x18>

0000246e <lkvgnfdgun57th38rgh84>:
    246e:       ef 92           push    r14
    2470:       ff 92           push    r15
    2472:       0f 93           push    r16
    2474:       1f 93           push    r17
    2476:       cf 93           push    r28
    2478:       df 93           push    r29
    247a:       7c 01           movw    r14, r24
    247c:       8b 01           movw    r16, r22
    247e:       ea 01           movw    r28, r20
    2480:       45 2b           or      r20, r21
    2482:       41 f0           breq    .+16            ; 0x2494 <lkvgnfdgun57th38rgh84+0x26>
    2484:       f8 01           movw    r30, r16
    2486:       0f 5f           subi    r16, 0xFF       ; 255
    2488:       1f 4f           sbci    r17, 0xFF       ; 255
    248a:       84 91           lpm     r24, Z
    248c:       f7 01           movw    r30, r14
    248e:       09 95           icall
    2490:       21 97           sbiw    r28, 0x01       ; 1
    2492:       c1 f7           brne    .-16            ; 0x2484 <lkvgnfdgun57th38rgh84+0x16>
    2494:       e6 e0           ldi     r30, 0x06       ; 6
    2496:       cd b7           in      r28, 0x3d       ; 61
    2498:       de b7           in      r29, 0x3e       ; 62
    249a:       0c 94 00 b2     jmp     0x16400 ; 0x16400 <__epilogue_restores__+0x18>

0000249e <fgmjgnrtuth587th9rTrw>:
    249e:       0f 93           push    r16
    24a0:       1f 93           push    r17
    24a2:       cf 93           push    r28
    24a4:       8c 01           movw    r16, r24
    24a6:       c6 2f           mov     r28, r22
    24a8:       16 16           cp      r1, r22
    24aa:       34 f4           brge    .+12            ; 0x24b8 <fgmjgnrtuth587th9rTrw+0x1a>
    24ac:       80 e2           ldi     r24, 0x20       ; 32
    24ae:       f8 01           movw    r30, r16
    24b0:       09 95           icall
    24b2:       c1 50           subi    r28, 0x01       ; 1
    24b4:       1c 16           cp      r1, r28
    24b6:       d4 f3           brlt    .-12            ; 0x24ac <fgmjgnrtuth587th9rTrw+0xe>
    24b8:       cf 91           pop     r28
    24ba:       1f 91           pop     r17
    24bc:       0f 91           pop     r16
    24be:       08 95           ret

000024c0 <wqqeRT45jth8g758735h4>:
    24c0:       0f 93           push    r16
    24c2:       1f 93           push    r17
    24c4:       cf 93           push    r28
    24c6:       8c 01           movw    r16, r24
    24c8:       c6 2f           mov     r28, r22
    24ca:       16 16           cp      r1, r22
    24cc:       34 f4           brge    .+12            ; 0x24da <wqqeRT45jth8g758735h4+0x1a>
    24ce:       80 e3           ldi     r24, 0x30       ; 48
    24d0:       f8 01           movw    r30, r16
    24d2:       09 95           icall
    24d4:       c1 50           subi    r28, 0x01       ; 1
    24d6:       1c 16           cp      r1, r28
    24d8:       d4 f3           brlt    .-12            ; 0x24ce <wqqeRT45jth8g758735h4+0xe>
    24da:       cf 91           pop     r28
    24dc:       1f 91           pop     r17
    24de:       0f 91           pop     r16
    24e0:       08 95           ret

000024e2 <IIllllIllIlllIIlllII>:
    24e2:       a5 e3           ldi     r26, 0x35       ; 53
    24e4:       b0 e0           ldi     r27, 0x00       ; 0
    24e6:       e7 e7           ldi     r30, 0x77       ; 119
    24e8:       f2 e1           ldi     r31, 0x12       ; 18
    24ea:       0c 94 d8 b1     jmp     0x163b0 ; 0x163b0 <__prologue_saves__>
    24ee:       2e 96           adiw    r28, 0x0e       ; 14
    24f0:       ee ad           ldd     r30, Y+62       ; 0x3e
    24f2:       ff ad           ldd     r31, Y+63       ; 0x3f
    24f4:       2e 97           sbiw    r28, 0x0e       ; 14
    24f6:       88 24           eor     r8, r8
    24f8:       99 24           eor     r9, r9
    24fa:       54 01           movw    r10, r8
    24fc:       80 91 ec 02     lds     r24, 0x02EC
    2500:       88 23           and     r24, r24
    2502:       21 f4           brne    .+8             ; 0x250c <IIllllIllIlllIIlllII+0x2a>
    2504:       2c 96           adiw    r28, 0x0c       ; 12
    2506:       1f ae           std     Y+63, r1        ; 0x3f
    2508:       1e ae           std     Y+62, r1        ; 0x3e
    250a:       2c 97           sbiw    r28, 0x0c       ; 12
    250c:       ae e4           ldi     r26, 0x4E       ; 78
    250e:       4a 2e           mov     r4, r26
    2510:       51 2c           mov     r5, r1
    2512:       4c 0e           add     r4, r28
    2514:       5d 1e           adc     r5, r29
    2516:       6f 01           movw    r12, r30
    2518:       b6 01           movw    r22, r12
    251a:       05 c0           rjmp    .+10            ; 0x2526 <IIllllIllIlllIIlllII+0x44>
    251c:       15 32           cpi     r17, 0x25       ; 37
    251e:       39 f0           breq    .+14            ; 0x252e <IIllllIllIlllIIlllII+0x4c>
    2520:       08 94           sec
    2522:       c1 1c           adc     r12, r1
    2524:       d1 1c           adc     r13, r1
    2526:       f6 01           movw    r30, r12
    2528:       14 91           lpm     r17, Z
    252a:       11 23           and     r17, r17
    252c:       b9 f7           brne    .-18            ; 0x251c <IIllllIllIlllIIlllII+0x3a>
    252e:       a6 01           movw    r20, r12
    2530:       46 1b           sub     r20, r22
    2532:       57 0b           sbc     r21, r23
    2534:       29 f0           breq    .+10            ; 0x2540 <IIllllIllIlllIIlllII+0x5e>
    2536:       2c 96           adiw    r28, 0x0c       ; 12
    2538:       8e ad           ldd     r24, Y+62       ; 0x3e
    253a:       9f ad           ldd     r25, Y+63       ; 0x3f
    253c:       2c 97           sbiw    r28, 0x0c       ; 12
    253e:       97 df           rcall   .-210           ; 0x246e <lkvgnfdgun57th38rgh84>
    2540:       11 23           and     r17, r17
    2542:       09 f4           brne    .+2             ; 0x2546 <IIllllIllIlllIIlllII+0x64>
    2544:       64 c2           rjmp    .+1224          ; 0x2a0e <IIllllIllIlllIIlllII+0x52c>
    2546:       08 94           sec
    2548:       c1 1c           adc     r12, r1
    254a:       d1 1c           adc     r13, r1
    254c:       ff 24           eor     r15, r15
    254e:       fd a6           std     Y+45, r15       ; 0x2d
    2550:       fc a6           std     Y+44, r15       ; 0x2c
    2552:       ef ef           ldi     r30, 0xFF       ; 255
    2554:       ee 2e           mov     r14, r30
    2556:       f9 a6           std     Y+41, r15       ; 0x29
    2558:       f6 01           movw    r30, r12
    255a:       08 94           sec
    255c:       c1 1c           adc     r12, r1
    255e:       d1 1c           adc     r13, r1
    2560:       14 91           lpm     r17, Z
    2562:       15 37           cpi     r17, 0x75       ; 117
    2564:       21 f0           breq    .+8             ; 0x256e <IIllllIllIlllIIlllII+0x8c>
    2566:       81 2f           mov     r24, r17
    2568:       80 62           ori     r24, 0x20       ; 32
    256a:       88 37           cpi     r24, 0x78       ; 120
    256c:       b1 f4           brne    .+44            ; 0x259a <IIllllIllIlllIIlllII+0xb8>
    256e:       f0 fe           sbrs    r15, 0
    2570:       0a c0           rjmp    .+20            ; 0x2586 <IIllllIllIlllIIlllII+0xa4>
    2572:       f2 01           movw    r30, r4
    2574:       24 e0           ldi     r18, 0x04       ; 4
    2576:       30 e0           ldi     r19, 0x00       ; 0
    2578:       42 0e           add     r4, r18
    257a:       53 1e           adc     r5, r19
    257c:       80 80           ld      r8, Z
    257e:       91 80           ldd     r9, Z+1 ; 0x01
    2580:       a2 80           ldd     r10, Z+2        ; 0x02
    2582:       b3 80           ldd     r11, Z+3        ; 0x03
    2584:       0a c0           rjmp    .+20            ; 0x259a <IIllllIllIlllIIlllII+0xb8>
    2586:       f2 01           movw    r30, r4
    2588:       42 e0           ldi     r20, 0x02       ; 2
    258a:       50 e0           ldi     r21, 0x00       ; 0
    258c:       44 0e           add     r4, r20
    258e:       55 1e           adc     r5, r21
    2590:       80 81           ld      r24, Z
    2592:       91 81           ldd     r25, Z+1        ; 0x01
    2594:       4c 01           movw    r8, r24
    2596:       aa 24           eor     r10, r10
    2598:       bb 24           eor     r11, r11
    259a:       10 32           cpi     r17, 0x20       ; 32
    259c:       21 f4           brne    .+8             ; 0x25a6 <IIllllIllIlllIIlllII+0xc4>
    259e:       89 a5           ldd     r24, Y+41       ; 0x29
    25a0:       88 23           and     r24, r24
    25a2:       d1 f6           brne    .-76            ; 0x2558 <IIllllIllIlllIIlllII+0x76>
    25a4:       1d c0           rjmp    .+58            ; 0x25e0 <IIllllIllIlllIIlllII+0xfe>
    25a6:       13 32           cpi     r17, 0x23       ; 35
    25a8:       19 f4           brne    .+6             ; 0x25b0 <IIllllIllIlllIIlllII+0xce>
    25aa:       58 e0           ldi     r21, 0x08       ; 8
    25ac:       f5 2a           or      r15, r21
    25ae:       d4 cf           rjmp    .-88            ; 0x2558 <IIllllIllIlllIIlllII+0x76>
    25b0:       1a 32           cpi     r17, 0x2A       ; 42
    25b2:       11 f0           breq    .+4             ; 0x25b8 <IIllllIllIlllIIlllII+0xd6>
    25b4:       1d 32           cpi     r17, 0x2D       ; 45
    25b6:       91 f4           brne    .+36            ; 0x25dc <IIllllIllIlllIIlllII+0xfa>
    25b8:       1a 32           cpi     r17, 0x2A       ; 42
    25ba:       59 f4           brne    .+22            ; 0x25d2 <IIllllIllIlllIIlllII+0xf0>
    25bc:       f2 01           movw    r30, r4
    25be:       82 e0           ldi     r24, 0x02       ; 2
    25c0:       90 e0           ldi     r25, 0x00       ; 0
    25c2:       48 0e           add     r4, r24
    25c4:       59 1e           adc     r5, r25
    25c6:       e0 81           ld      r30, Z
    25c8:       ec a7           std     Y+44, r30       ; 0x2c
    25ca:       ee 23           and     r30, r30
    25cc:       2c f6           brge    .-118           ; 0x2558 <IIllllIllIlllIIlllII+0x76>
    25ce:       e1 95           neg     r30
    25d0:       ec a7           std     Y+44, r30       ; 0x2c
    25d2:       90 e1           ldi     r25, 0x10       ; 16
    25d4:       f9 2a           or      r15, r25
    25d6:       af ed           ldi     r26, 0xDF       ; 223
    25d8:       fa 22           and     r15, r26
    25da:       be cf           rjmp    .-132           ; 0x2558 <IIllllIllIlllIIlllII+0x76>
    25dc:       1b 32           cpi     r17, 0x2B       ; 43
    25de:       11 f4           brne    .+4             ; 0x25e4 <IIllllIllIlllIIlllII+0x102>
    25e0:       19 a7           std     Y+41, r17       ; 0x29
    25e2:       ba cf           rjmp    .-140           ; 0x2558 <IIllllIllIlllIIlllII+0x76>
    25e4:       1e 32           cpi     r17, 0x2E       ; 46
    25e6:       c1 f5           brne    .+112           ; 0x2658 <IIllllIllIlllIIlllII+0x176>
    25e8:       f6 01           movw    r30, r12
    25ea:       08 94           sec
    25ec:       c1 1c           adc     r12, r1
    25ee:       d1 1c           adc     r13, r1
    25f0:       14 91           lpm     r17, Z
    25f2:       1a 32           cpi     r17, 0x2A       ; 42
    25f4:       79 f4           brne    .+30            ; 0x2614 <IIllllIllIlllIIlllII+0x132>
    25f6:       f2 01           movw    r30, r4
    25f8:       22 e0           ldi     r18, 0x02       ; 2
    25fa:       30 e0           ldi     r19, 0x00       ; 0
    25fc:       42 0e           add     r4, r18
    25fe:       53 1e           adc     r5, r19
    2600:       40 81           ld      r20, Z
    2602:       51 81           ldd     r21, Z+1        ; 0x01
    2604:       3f ef           ldi     r19, 0xFF       ; 255
    2606:       4f 3f           cpi     r20, 0xFF       ; 255
    2608:       53 07           cpc     r21, r19
    260a:       14 f4           brge    .+4             ; 0x2610 <IIllllIllIlllIIlllII+0x12e>
    260c:       4f ef           ldi     r20, 0xFF       ; 255
    260e:       5f ef           ldi     r21, 0xFF       ; 255
    2610:       e4 2e           mov     r14, r20
    2612:       a2 cf           rjmp    .-188           ; 0x2558 <IIllllIllIlllIIlllII+0x76>
    2614:       40 e0           ldi     r20, 0x00       ; 0
    2616:       50 e0           ldi     r21, 0x00       ; 0
    2618:       81 2f           mov     r24, r17
    261a:       80 53           subi    r24, 0x30       ; 48
    261c:       8a 30           cpi     r24, 0x0A       ; 10
    261e:       a0 f4           brcc    .+40            ; 0x2648 <IIllllIllIlllIIlllII+0x166>
    2620:       ca 01           movw    r24, r20
    2622:       73 e0           ldi     r23, 0x03       ; 3
    2624:       88 0f           add     r24, r24
    2626:       99 1f           adc     r25, r25
    2628:       7a 95           dec     r23
    262a:       e1 f7           brne    .-8             ; 0x2624 <IIllllIllIlllIIlllII+0x142>
    262c:       84 0f           add     r24, r20
    262e:       95 1f           adc     r25, r21
    2630:       48 0f           add     r20, r24
    2632:       59 1f           adc     r21, r25
    2634:       41 0f           add     r20, r17
    2636:       51 1d           adc     r21, r1
    2638:       40 53           subi    r20, 0x30       ; 48
    263a:       50 40           sbci    r21, 0x00       ; 0
    263c:       f6 01           movw    r30, r12
    263e:       08 94           sec
    2640:       c1 1c           adc     r12, r1
    2642:       d1 1c           adc     r13, r1
    2644:       14 91           lpm     r17, Z
    2646:       e8 cf           rjmp    .-48            ; 0x2618 <IIllllIllIlllIIlllII+0x136>
    2648:       8f ef           ldi     r24, 0xFF       ; 255
    264a:       4f 3f           cpi     r20, 0xFF       ; 255
    264c:       58 07           cpc     r21, r24
    264e:       14 f4           brge    .+4             ; 0x2654 <IIllllIllIlllIIlllII+0x172>
    2650:       4f ef           ldi     r20, 0xFF       ; 255
    2652:       5f ef           ldi     r21, 0xFF       ; 255
    2654:       e4 2e           mov     r14, r20
    2656:       85 cf           rjmp    .-246           ; 0x2562 <IIllllIllIlllIIlllII+0x80>
    2658:       10 33           cpi     r17, 0x30       ; 48
    265a:       29 f4           brne    .+10            ; 0x2666 <IIllllIllIlllIIlllII+0x184>
    265c:       f4 fc           sbrc    r15, 4
    265e:       7c cf           rjmp    .-264           ; 0x2558 <IIllllIllIlllIIlllII+0x76>
    2660:       90 e2           ldi     r25, 0x20       ; 32
    2662:       f9 2a           or      r15, r25
    2664:       79 cf           rjmp    .-270           ; 0x2558 <IIllllIllIlllIIlllII+0x76>
    2666:       81 2f           mov     r24, r17
    2668:       81 53           subi    r24, 0x31       ; 49
    266a:       89 30           cpi     r24, 0x09       ; 9
    266c:       d8 f4           brcc    .+54            ; 0x26a4 <IIllllIllIlllIIlllII+0x1c2>
    266e:       40 e0           ldi     r20, 0x00       ; 0
    2670:       50 e0           ldi     r21, 0x00       ; 0
    2672:       ca 01           movw    r24, r20
    2674:       63 e0           ldi     r22, 0x03       ; 3
    2676:       88 0f           add     r24, r24
    2678:       99 1f           adc     r25, r25
    267a:       6a 95           dec     r22
    267c:       e1 f7           brne    .-8             ; 0x2676 <IIllllIllIlllIIlllII+0x194>
    267e:       84 0f           add     r24, r20
    2680:       95 1f           adc     r25, r21
    2682:       48 0f           add     r20, r24
    2684:       59 1f           adc     r21, r25
    2686:       41 0f           add     r20, r17
    2688:       51 1d           adc     r21, r1
    268a:       40 53           subi    r20, 0x30       ; 48
    268c:       50 40           sbci    r21, 0x00       ; 0
    268e:       f6 01           movw    r30, r12
    2690:       08 94           sec
    2692:       c1 1c           adc     r12, r1
    2694:       d1 1c           adc     r13, r1
    2696:       14 91           lpm     r17, Z
    2698:       81 2f           mov     r24, r17
    269a:       80 53           subi    r24, 0x30       ; 48
    269c:       8a 30           cpi     r24, 0x0A       ; 10
    269e:       48 f3           brcs    .-46            ; 0x2672 <IIllllIllIlllIIlllII+0x190>
    26a0:       4c a7           std     Y+44, r20       ; 0x2c
    26a2:       5f cf           rjmp    .-322           ; 0x2562 <IIllllIllIlllIIlllII+0x80>
    26a4:       18 36           cpi     r17, 0x68       ; 104
    26a6:       19 f4           brne    .+6             ; 0x26ae <IIllllIllIlllIIlllII+0x1cc>
    26a8:       a4 e0           ldi     r26, 0x04       ; 4
    26aa:       fa 2a           or      r15, r26
    26ac:       55 cf           rjmp    .-342           ; 0x2558 <IIllllIllIlllIIlllII+0x76>
    26ae:       1c 36           cpi     r17, 0x6C       ; 108
    26b0:       19 f4           brne    .+6             ; 0x26b8 <IIllllIllIlllIIlllII+0x1d6>
    26b2:       b1 e0           ldi     r27, 0x01       ; 1
    26b4:       fb 2a           or      r15, r27
    26b6:       50 cf           rjmp    .-352           ; 0x2558 <IIllllIllIlllIIlllII+0x76>
    26b8:       13 36           cpi     r17, 0x63       ; 99
    26ba:       61 f4           brne    .+24            ; 0x26d4 <IIllllIllIlllIIlllII+0x1f2>
    26bc:       3e 01           movw    r6, r28
    26be:       08 94           sec
    26c0:       61 1c           adc     r6, r1
    26c2:       71 1c           adc     r7, r1
    26c4:       f2 01           movw    r30, r4
    26c6:       22 e0           ldi     r18, 0x02       ; 2
    26c8:       30 e0           ldi     r19, 0x00       ; 0
    26ca:       42 0e           add     r4, r18
    26cc:       53 1e           adc     r5, r19
    26ce:       80 81           ld      r24, Z
    26d0:       89 83           std     Y+1, r24        ; 0x01
    26d2:       3c c1           rjmp    .+632           ; 0x294c <IIllllIllIlllIIlllII+0x46a>
    26d4:       14 34           cpi     r17, 0x44       ; 68
    26d6:       21 f0           breq    .+8             ; 0x26e0 <IIllllIllIlllIIlllII+0x1fe>
    26d8:       14 36           cpi     r17, 0x64       ; 100
    26da:       11 f0           breq    .+4             ; 0x26e0 <IIllllIllIlllIIlllII+0x1fe>
    26dc:       19 36           cpi     r17, 0x69       ; 105
    26de:       51 f5           brne    .+84            ; 0x2734 <IIllllIllIlllIIlllII+0x252>
    26e0:       14 34           cpi     r17, 0x44       ; 68
    26e2:       11 f4           brne    .+4             ; 0x26e8 <IIllllIllIlllIIlllII+0x206>
    26e4:       31 e0           ldi     r19, 0x01       ; 1
    26e6:       f3 2a           or      r15, r19
    26e8:       f0 fe           sbrs    r15, 0
    26ea:       0a c0           rjmp    .+20            ; 0x2700 <IIllllIllIlllIIlllII+0x21e>
    26ec:       f2 01           movw    r30, r4
    26ee:       44 e0           ldi     r20, 0x04       ; 4
    26f0:       50 e0           ldi     r21, 0x00       ; 0
    26f2:       44 0e           add     r4, r20
    26f4:       55 1e           adc     r5, r21
    26f6:       80 80           ld      r8, Z
    26f8:       91 80           ldd     r9, Z+1 ; 0x01
    26fa:       a2 80           ldd     r10, Z+2        ; 0x02
    26fc:       b3 80           ldd     r11, Z+3        ; 0x03
    26fe:       0c c0           rjmp    .+24            ; 0x2718 <IIllllIllIlllIIlllII+0x236>
    2700:       f2 01           movw    r30, r4
    2702:       82 e0           ldi     r24, 0x02       ; 2
    2704:       90 e0           ldi     r25, 0x00       ; 0
    2706:       48 0e           add     r4, r24
    2708:       59 1e           adc     r5, r25
    270a:       80 81           ld      r24, Z
    270c:       91 81           ldd     r25, Z+1        ; 0x01
    270e:       4c 01           movw    r8, r24
    2710:       aa 24           eor     r10, r10
    2712:       97 fc           sbrc    r9, 7
    2714:       a0 94           com     r10
    2716:       ba 2c           mov     r11, r10
    2718:       b7 fe           sbrs    r11, 7
    271a:       0a c0           rjmp    .+20            ; 0x2730 <IIllllIllIlllIIlllII+0x24e>
    271c:       b0 94           com     r11
    271e:       a0 94           com     r10
    2720:       90 94           com     r9
    2722:       80 94           com     r8
    2724:       81 1c           adc     r8, r1
    2726:       91 1c           adc     r9, r1
    2728:       a1 1c           adc     r10, r1
    272a:       b1 1c           adc     r11, r1
    272c:       8d e2           ldi     r24, 0x2D       ; 45
    272e:       89 a7           std     Y+41, r24       ; 0x29
    2730:       0a e0           ldi     r16, 0x0A       ; 10
    2732:       6f c0           rjmp    .+222           ; 0x2812 <IIllllIllIlllIIlllII+0x330>
    2734:       1f 34           cpi     r17, 0x4F       ; 79
    2736:       11 f0           breq    .+4             ; 0x273c <IIllllIllIlllIIlllII+0x25a>
    2738:       1f 36           cpi     r17, 0x6F       ; 111
    273a:       31 f4           brne    .+12            ; 0x2748 <IIllllIllIlllIIlllII+0x266>
    273c:       1f 34           cpi     r17, 0x4F       ; 79
    273e:       11 f4           brne    .+4             ; 0x2744 <IIllllIllIlllIIlllII+0x262>
    2740:       91 e0           ldi     r25, 0x01       ; 1
    2742:       f9 2a           or      r15, r25
    2744:       08 e0           ldi     r16, 0x08       ; 8
    2746:       64 c0           rjmp    .+200           ; 0x2810 <IIllllIllIlllIIlllII+0x32e>
    2748:       10 37           cpi     r17, 0x70       ; 112
    274a:       79 f4           brne    .+30            ; 0x276a <IIllllIllIlllIIlllII+0x288>
    274c:       f2 01           movw    r30, r4
    274e:       a2 e0           ldi     r26, 0x02       ; 2
    2750:       b0 e0           ldi     r27, 0x00       ; 0
    2752:       4a 0e           add     r4, r26
    2754:       5b 1e           adc     r5, r27
    2756:       80 81           ld      r24, Z
    2758:       91 81           ldd     r25, Z+1        ; 0x01
    275a:       4c 01           movw    r8, r24
    275c:       aa 24           eor     r10, r10
    275e:       bb 24           eor     r11, r11
    2760:       00 e1           ldi     r16, 0x10       ; 16
    2762:       b0 e4           ldi     r27, 0x40       ; 64
    2764:       fb 2a           or      r15, r27
    2766:       18 e7           ldi     r17, 0x78       ; 120
    2768:       53 c0           rjmp    .+166           ; 0x2810 <IIllllIllIlllIIlllII+0x32e>
    276a:       13 37           cpi     r17, 0x73       ; 115
    276c:       c1 f5           brne    .+112           ; 0x27de <IIllllIllIlllIIlllII+0x2fc>
    276e:       f2 01           movw    r30, r4
    2770:       22 e0           ldi     r18, 0x02       ; 2
    2772:       30 e0           ldi     r19, 0x00       ; 0
    2774:       42 0e           add     r4, r18
    2776:       53 1e           adc     r5, r19
    2778:       60 80           ld      r6, Z
    277a:       71 80           ldd     r7, Z+1 ; 0x01
    277c:       61 14           cp      r6, r1
    277e:       71 04           cpc     r7, r1
    2780:       89 f4           brne    .+34            ; 0x27a4 <IIllllIllIlllIIlllII+0x2c2>
    2782:       3e 01           movw    r6, r28
    2784:       08 94           sec
    2786:       61 1c           adc     r6, r1
    2788:       71 1c           adc     r7, r1
    278a:       88 e2           ldi     r24, 0x28       ; 40
    278c:       89 83           std     Y+1, r24        ; 0x01
    278e:       8e e6           ldi     r24, 0x6E       ; 110
    2790:       f3 01           movw    r30, r6
    2792:       81 83           std     Z+1, r24        ; 0x01
    2794:       85 e7           ldi     r24, 0x75       ; 117
    2796:       8b 83           std     Y+3, r24        ; 0x03
    2798:       8c e6           ldi     r24, 0x6C       ; 108
    279a:       8c 83           std     Y+4, r24        ; 0x04
    279c:       8d 83           std     Y+5, r24        ; 0x05
    279e:       89 e2           ldi     r24, 0x29       ; 41
    27a0:       8e 83           std     Y+6, r24        ; 0x06
    27a2:       1f 82           std     Y+7, r1 ; 0x07
    27a4:       e7 fc           sbrc    r14, 7
    27a6:       13 c0           rjmp    .+38            ; 0x27ce <IIllllIllIlllIIlllII+0x2ec>
    27a8:       8e 2d           mov     r24, r14
    27aa:       99 27           eor     r25, r25
    27ac:       87 fd           sbrc    r24, 7
    27ae:       90 95           com     r25
    27b0:       ac 01           movw    r20, r24
    27b2:       60 e0           ldi     r22, 0x00       ; 0
    27b4:       70 e0           ldi     r23, 0x00       ; 0
    27b6:       c3 01           movw    r24, r6
    27b8:       0e 94 18 b2     call    0x16430 ; 0x16430 <memchr>
    27bc:       00 97           sbiw    r24, 0x00       ; 0
    27be:       29 f0           breq    .+10            ; 0x27ca <IIllllIllIlllIIlllII+0x2e8>
    27c0:       38 2e           mov     r3, r24
    27c2:       36 18           sub     r3, r6
    27c4:       e3 14           cp      r14, r3
    27c6:       0c f0           brlt    .+2             ; 0x27ca <IIllllIllIlllIIlllII+0x2e8>
    27c8:       c3 c0           rjmp    .+390           ; 0x2950 <IIllllIllIlllIIlllII+0x46e>
    27ca:       3e 2c           mov     r3, r14
    27cc:       c1 c0           rjmp    .+386           ; 0x2950 <IIllllIllIlllIIlllII+0x46e>
    27ce:       f3 01           movw    r30, r6
    27d0:       01 90           ld      r0, Z+
    27d2:       00 20           and     r0, r0
    27d4:       e9 f7           brne    .-6             ; 0x27d0 <IIllllIllIlllIIlllII+0x2ee>
    27d6:       31 97           sbiw    r30, 0x01       ; 1
    27d8:       3e 2e           mov     r3, r30
    27da:       36 18           sub     r3, r6
    27dc:       b9 c0           rjmp    .+370           ; 0x2950 <IIllllIllIlllIIlllII+0x46e>
    27de:       15 35           cpi     r17, 0x55       ; 85
    27e0:       11 f0           breq    .+4             ; 0x27e6 <IIllllIllIlllIIlllII+0x304>
    27e2:       15 37           cpi     r17, 0x75       ; 117
    27e4:       31 f4           brne    .+12            ; 0x27f2 <IIllllIllIlllIIlllII+0x310>
    27e6:       15 35           cpi     r17, 0x55       ; 85
    27e8:       11 f4           brne    .+4             ; 0x27ee <IIllllIllIlllIIlllII+0x30c>
    27ea:       f1 e0           ldi     r31, 0x01       ; 1
    27ec:       ff 2a           or      r15, r31
    27ee:       0a e0           ldi     r16, 0x0A       ; 10
    27f0:       0f c0           rjmp    .+30            ; 0x2810 <IIllllIllIlllIIlllII+0x32e>
    27f2:       18 35           cpi     r17, 0x58       ; 88
    27f4:       19 f0           breq    .+6             ; 0x27fc <IIllllIllIlllIIlllII+0x31a>
    27f6:       18 37           cpi     r17, 0x78       ; 120
    27f8:       09 f0           breq    .+2             ; 0x27fc <IIllllIllIlllIIlllII+0x31a>
    27fa:       a0 c0           rjmp    .+320           ; 0x293c <IIllllIllIlllIIlllII+0x45a>
    27fc:       00 e1           ldi     r16, 0x10       ; 16
    27fe:       f3 fe           sbrs    r15, 3
    2800:       07 c0           rjmp    .+14            ; 0x2810 <IIllllIllIlllIIlllII+0x32e>
    2802:       81 14           cp      r8, r1
    2804:       91 04           cpc     r9, r1
    2806:       a1 04           cpc     r10, r1
    2808:       b1 04           cpc     r11, r1
    280a:       11 f0           breq    .+4             ; 0x2810 <IIllllIllIlllIIlllII+0x32e>
    280c:       20 e4           ldi     r18, 0x40       ; 64
    280e:       f2 2a           or      r15, r18
    2810:       19 a6           std     Y+41, r1        ; 0x29
    2812:       ed a6           std     Y+45, r14       ; 0x2d
    2814:       e7 fc           sbrc    r14, 7
    2816:       02 c0           rjmp    .+4             ; 0x281c <IIllllIllIlllIIlllII+0x33a>
    2818:       3f ed           ldi     r19, 0xDF       ; 223
    281a:       f3 22           and     r15, r19
    281c:       49 e2           ldi     r20, 0x29       ; 41
    281e:       64 2e           mov     r6, r20
    2820:       71 2c           mov     r7, r1
    2822:       6c 0e           add     r6, r28
    2824:       7d 1e           adc     r7, r29
    2826:       81 14           cp      r8, r1
    2828:       91 04           cpc     r9, r1
    282a:       a1 04           cpc     r10, r1
    282c:       b1 04           cpc     r11, r1
    282e:       21 f4           brne    .+8             ; 0x2838 <IIllllIllIlllIIlllII+0x356>
    2830:       4d a5           ldd     r20, Y+45       ; 0x2d
    2832:       44 23           and     r20, r20
    2834:       09 f4           brne    .+2             ; 0x2838 <IIllllIllIlllIIlllII+0x356>
    2836:       7b c0           rjmp    .+246           ; 0x292e <IIllllIllIlllIIlllII+0x44c>
    2838:       80 2f           mov     r24, r16
    283a:       99 27           eor     r25, r25
    283c:       aa 27           eor     r26, r26
    283e:       bb 27           eor     r27, r27
    2840:       8e a7           std     Y+46, r24       ; 0x2e
    2842:       9f a7           std     Y+47, r25       ; 0x2f
    2844:       a8 ab           std     Y+48, r26       ; 0x30
    2846:       b9 ab           std     Y+49, r27       ; 0x31
    2848:       20 2e           mov     r2, r16
    284a:       33 24           eor     r3, r3
    284c:       90 e0           ldi     r25, 0x00       ; 0
    284e:       89 16           cp      r8, r25
    2850:       90 e0           ldi     r25, 0x00       ; 0
    2852:       99 06           cpc     r9, r25
    2854:       91 e0           ldi     r25, 0x01       ; 1
    2856:       a9 06           cpc     r10, r25
    2858:       90 e0           ldi     r25, 0x00       ; 0
    285a:       b9 06           cpc     r11, r25
    285c:       48 f0           brcs    .+18            ; 0x2870 <IIllllIllIlllIIlllII+0x38e>
    285e:       c5 01           movw    r24, r10
    2860:       b4 01           movw    r22, r8
    2862:       2e a5           ldd     r18, Y+46       ; 0x2e
    2864:       3f a5           ldd     r19, Y+47       ; 0x2f
    2866:       48 a9           ldd     r20, Y+48       ; 0x30
    2868:       59 a9           ldd     r21, Y+49       ; 0x31
    286a:       0e 94 69 b1     call    0x162d2 ; 0x162d2 <__udivmodsi4>
    286e:       17 c0           rjmp    .+46            ; 0x289e <IIllllIllIlllIIlllII+0x3bc>
    2870:       af ef           ldi     r26, 0xFF       ; 255
    2872:       8a 16           cp      r8, r26
    2874:       91 04           cpc     r9, r1
    2876:       a1 04           cpc     r10, r1
    2878:       b1 04           cpc     r11, r1
    287a:       49 f0           breq    .+18            ; 0x288e <IIllllIllIlllIIlllII+0x3ac>
    287c:       40 f0           brcs    .+16            ; 0x288e <IIllllIllIlllIIlllII+0x3ac>
    287e:       c4 01           movw    r24, r8
    2880:       b1 01           movw    r22, r2
    2882:       0e 94 42 b1     call    0x16284 ; 0x16284 <__udivmodhi4>
    2886:       9b 01           movw    r18, r22
    2888:       44 27           eor     r20, r20
    288a:       55 27           eor     r21, r21
    288c:       08 c0           rjmp    .+16            ; 0x289e <IIllllIllIlllIIlllII+0x3bc>
    288e:       88 2d           mov     r24, r8
    2890:       60 2f           mov     r22, r16
    2892:       0e 94 36 b1     call    0x1626c ; 0x1626c <__udivmodqi4>
    2896:       28 2f           mov     r18, r24
    2898:       33 27           eor     r19, r19
    289a:       44 27           eor     r20, r20
    289c:       55 27           eor     r21, r21
    289e:       2a ab           std     Y+50, r18       ; 0x32
    28a0:       3b ab           std     Y+51, r19       ; 0x33
    28a2:       4c ab           std     Y+52, r20       ; 0x34
    28a4:       5d ab           std     Y+53, r21       ; 0x35
    28a6:       0a 30           cpi     r16, 0x0A       ; 10
    28a8:       59 f4           brne    .+22            ; 0x28c0 <IIllllIllIlllIIlllII+0x3de>
    28aa:       8a a9           ldd     r24, Y+50       ; 0x32
    28ac:       88 0f           add     r24, r24
    28ae:       88 0f           add     r24, r24
    28b0:       88 0f           add     r24, r24
    28b2:       9a a9           ldd     r25, Y+50       ; 0x32
    28b4:       99 0f           add     r25, r25
    28b6:       89 0f           add     r24, r25
    28b8:       38 2d           mov     r19, r8
    28ba:       38 1b           sub     r19, r24
    28bc:       83 2f           mov     r24, r19
    28be:       10 c0           rjmp    .+32            ; 0x28e0 <IIllllIllIlllIIlllII+0x3fe>
    28c0:       00 31           cpi     r16, 0x10       ; 16
    28c2:       39 f4           brne    .+14            ; 0x28d2 <IIllllIllIlllIIlllII+0x3f0>
    28c4:       8a a9           ldd     r24, Y+50       ; 0x32
    28c6:       82 95           swap    r24
    28c8:       80 7f           andi    r24, 0xF0       ; 240
    28ca:       48 2d           mov     r20, r8
    28cc:       48 1b           sub     r20, r24
    28ce:       84 2f           mov     r24, r20
    28d0:       07 c0           rjmp    .+14            ; 0x28e0 <IIllllIllIlllIIlllII+0x3fe>
    28d2:       8a a9           ldd     r24, Y+50       ; 0x32
    28d4:       88 0f           add     r24, r24
    28d6:       88 0f           add     r24, r24
    28d8:       88 0f           add     r24, r24
    28da:       58 2d           mov     r21, r8
    28dc:       58 1b           sub     r21, r24
    28de:       85 2f           mov     r24, r21
    28e0:       90 e0           ldi     r25, 0x00       ; 0
    28e2:       2e a5           ldd     r18, Y+46       ; 0x2e
    28e4:       3f a5           ldd     r19, Y+47       ; 0x2f
    28e6:       48 a9           ldd     r20, Y+48       ; 0x30
    28e8:       59 a9           ldd     r21, Y+49       ; 0x31
    28ea:       82 16           cp      r8, r18
    28ec:       93 06           cpc     r9, r19
    28ee:       a4 06           cpc     r10, r20
    28f0:       b5 06           cpc     r11, r21
    28f2:       08 f0           brcs    .+2             ; 0x28f6 <IIllllIllIlllIIlllII+0x414>
    28f4:       91 e0           ldi     r25, 0x01       ; 1
    28f6:       8a a8           ldd     r8, Y+50        ; 0x32
    28f8:       9b a8           ldd     r9, Y+51        ; 0x33
    28fa:       ac a8           ldd     r10, Y+52       ; 0x34
    28fc:       bd a8           ldd     r11, Y+53       ; 0x35
    28fe:       8a 30           cpi     r24, 0x0A       ; 10
    2900:       10 f4           brcc    .+4             ; 0x2906 <IIllllIllIlllIIlllII+0x424>
    2902:       80 5d           subi    r24, 0xD0       ; 208
    2904:       04 c0           rjmp    .+8             ; 0x290e <IIllllIllIlllIIlllII+0x42c>
    2906:       89 5a           subi    r24, 0xA9       ; 169
    2908:       18 35           cpi     r17, 0x58       ; 88
    290a:       09 f4           brne    .+2             ; 0x290e <IIllllIllIlllIIlllII+0x42c>
    290c:       8f 7d           andi    r24, 0xDF       ; 223
    290e:       d3 01           movw    r26, r6
    2910:       8e 93           st      -X, r24
    2912:       3d 01           movw    r6, r26
    2914:       99 23           and     r25, r25
    2916:       09 f0           breq    .+2             ; 0x291a <IIllllIllIlllIIlllII+0x438>
    2918:       99 cf           rjmp    .-206           ; 0x284c <IIllllIllIlllIIlllII+0x36a>
    291a:       08 30           cpi     r16, 0x08       ; 8
    291c:       41 f4           brne    .+16            ; 0x292e <IIllllIllIlllIIlllII+0x44c>
    291e:       f3 fe           sbrs    r15, 3
    2920:       06 c0           rjmp    .+12            ; 0x292e <IIllllIllIlllIIlllII+0x44c>
    2922:       80 33           cpi     r24, 0x30       ; 48
    2924:       21 f0           breq    .+8             ; 0x292e <IIllllIllIlllIIlllII+0x44c>
    2926:       80 e3           ldi     r24, 0x30       ; 48
    2928:       fd 01           movw    r30, r26
    292a:       82 93           st      -Z, r24
    292c:       3f 01           movw    r6, r30
    292e:       ce 01           movw    r24, r28
    2930:       01 96           adiw    r24, 0x01       ; 1
    2932:       38 2e           mov     r3, r24
    2934:       36 18           sub     r3, r6
    2936:       f8 e2           ldi     r31, 0x28       ; 40
    2938:       3f 0e           add     r3, r31
    293a:       0b c0           rjmp    .+22            ; 0x2952 <IIllllIllIlllIIlllII+0x470>
    293c:       11 23           and     r17, r17
    293e:       09 f4           brne    .+2             ; 0x2942 <IIllllIllIlllIIlllII+0x460>
    2940:       66 c0           rjmp    .+204           ; 0x2a0e <IIllllIllIlllIIlllII+0x52c>
    2942:       3e 01           movw    r6, r28
    2944:       08 94           sec
    2946:       61 1c           adc     r6, r1
    2948:       71 1c           adc     r7, r1
    294a:       19 83           std     Y+1, r17        ; 0x01
    294c:       31 e0           ldi     r19, 0x01       ; 1
    294e:       33 2e           mov     r3, r19
    2950:       19 a6           std     Y+41, r1        ; 0x29
    2952:       03 2d           mov     r16, r3
    2954:       2d a4           ldd     r2, Y+45        ; 0x2d
    2956:       23 18           sub     r2, r3
    2958:       27 fc           sbrc    r2, 7
    295a:       22 24           eor     r2, r2
    295c:       89 a5           ldd     r24, Y+41       ; 0x29
    295e:       88 23           and     r24, r24
    2960:       11 f0           breq    .+4             ; 0x2966 <IIllllIllIlllIIlllII+0x484>
    2962:       0f 5f           subi    r16, 0xFF       ; 255
    2964:       02 c0           rjmp    .+4             ; 0x296a <IIllllIllIlllIIlllII+0x488>
    2966:       f6 fc           sbrc    r15, 6
    2968:       0e 5f           subi    r16, 0xFE       ; 254
    296a:       02 0d           add     r16, r2
    296c:       ef 2c           mov     r14, r15
    296e:       ff 24           eor     r15, r15
    2970:       c7 01           movw    r24, r14
    2972:       80 73           andi    r24, 0x30       ; 48
    2974:       90 70           andi    r25, 0x00       ; 0
    2976:       89 2b           or      r24, r25
    2978:       41 f4           brne    .+16            ; 0x298a <IIllllIllIlllIIlllII+0x4a8>
    297a:       8c a5           ldd     r24, Y+44       ; 0x2c
    297c:       80 1b           sub     r24, r16
    297e:       68 2f           mov     r22, r24
    2980:       2c 96           adiw    r28, 0x0c       ; 12
    2982:       8e ad           ldd     r24, Y+62       ; 0x3e
    2984:       9f ad           ldd     r25, Y+63       ; 0x3f
    2986:       2c 97           sbiw    r28, 0x0c       ; 12
    2988:       8a dd           rcall   .-1260          ; 0x249e <fgmjgnrtuth587th9rTrw>
    298a:       89 a5           ldd     r24, Y+41       ; 0x29
    298c:       88 23           and     r24, r24
    298e:       31 f0           breq    .+12            ; 0x299c <IIllllIllIlllIIlllII+0x4ba>
    2990:       41 e0           ldi     r20, 0x01       ; 1
    2992:       50 e0           ldi     r21, 0x00       ; 0
    2994:       be 01           movw    r22, r28
    2996:       67 5d           subi    r22, 0xD7       ; 215
    2998:       7f 4f           sbci    r23, 0xFF       ; 255
    299a:       0a c0           rjmp    .+20            ; 0x29b0 <IIllllIllIlllIIlllII+0x4ce>
    299c:       e6 fe           sbrs    r14, 6
    299e:       0d c0           rjmp    .+26            ; 0x29ba <IIllllIllIlllIIlllII+0x4d8>
    29a0:       80 e3           ldi     r24, 0x30       ; 48
    29a2:       8a a7           std     Y+42, r24       ; 0x2a
    29a4:       1b a7           std     Y+43, r17       ; 0x2b
    29a6:       42 e0           ldi     r20, 0x02       ; 2
    29a8:       50 e0           ldi     r21, 0x00       ; 0
    29aa:       be 01           movw    r22, r28
    29ac:       66 5d           subi    r22, 0xD6       ; 214
    29ae:       7f 4f           sbci    r23, 0xFF       ; 255
    29b0:       2c 96           adiw    r28, 0x0c       ; 12
    29b2:       8e ad           ldd     r24, Y+62       ; 0x3e
    29b4:       9f ad           ldd     r25, Y+63       ; 0x3f
    29b6:       2c 97           sbiw    r28, 0x0c       ; 12
    29b8:       43 dd           rcall   .-1402          ; 0x2440 <njkvnfuhgbuzrgezgf483>
    29ba:       c7 01           movw    r24, r14
    29bc:       80 73           andi    r24, 0x30       ; 48
    29be:       90 70           andi    r25, 0x00       ; 0
    29c0:       80 97           sbiw    r24, 0x20       ; 32
    29c2:       41 f4           brne    .+16            ; 0x29d4 <IIllllIllIlllIIlllII+0x4f2>
    29c4:       8c a5           ldd     r24, Y+44       ; 0x2c
    29c6:       80 1b           sub     r24, r16
    29c8:       68 2f           mov     r22, r24
    29ca:       2c 96           adiw    r28, 0x0c       ; 12
    29cc:       8e ad           ldd     r24, Y+62       ; 0x3e
    29ce:       9f ad           ldd     r25, Y+63       ; 0x3f
    29d0:       2c 97           sbiw    r28, 0x0c       ; 12
    29d2:       76 dd           rcall   .-1300          ; 0x24c0 <wqqeRT45jth8g758735h4>
    29d4:       62 2d           mov     r22, r2
    29d6:       2c 96           adiw    r28, 0x0c       ; 12
    29d8:       8e ad           ldd     r24, Y+62       ; 0x3e
    29da:       9f ad           ldd     r25, Y+63       ; 0x3f
    29dc:       2c 97           sbiw    r28, 0x0c       ; 12
    29de:       70 dd           rcall   .-1312          ; 0x24c0 <wqqeRT45jth8g758735h4>
    29e0:       83 2d           mov     r24, r3
    29e2:       99 27           eor     r25, r25
    29e4:       87 fd           sbrc    r24, 7
    29e6:       90 95           com     r25
    29e8:       ac 01           movw    r20, r24
    29ea:       b3 01           movw    r22, r6
    29ec:       2c 96           adiw    r28, 0x0c       ; 12
    29ee:       8e ad           ldd     r24, Y+62       ; 0x3e
    29f0:       9f ad           ldd     r25, Y+63       ; 0x3f
    29f2:       2c 97           sbiw    r28, 0x0c       ; 12
    29f4:       25 dd           rcall   .-1462          ; 0x2440 <njkvnfuhgbuzrgezgf483>
    29f6:       e4 fe           sbrs    r14, 4
    29f8:       8f cd           rjmp    .-1250          ; 0x2518 <IIllllIllIlllIIlllII+0x36>
    29fa:       2c a5           ldd     r18, Y+44       ; 0x2c
    29fc:       20 1b           sub     r18, r16
    29fe:       2c a7           std     Y+44, r18       ; 0x2c
    2a00:       62 2f           mov     r22, r18
    2a02:       2c 96           adiw    r28, 0x0c       ; 12
    2a04:       8e ad           ldd     r24, Y+62       ; 0x3e
    2a06:       9f ad           ldd     r25, Y+63       ; 0x3f
    2a08:       2c 97           sbiw    r28, 0x0c       ; 12
    2a0a:       49 dd           rcall   .-1390          ; 0x249e <fgmjgnrtuth587th9rTrw>
    2a0c:       85 cd           rjmp    .-1270          ; 0x2518 <IIllllIllIlllIIlllII+0x36>
    2a0e:       e2 e1           ldi     r30, 0x12       ; 18
    2a10:       cb 5c           subi    r28, 0xCB       ; 203
    2a12:       0c 94 f4 b1     jmp     0x163e8 ; 0x163e8 <__epilogue_restores__>

00002a16 <LIBFC_HoTT_Putchar>:
    2a16:       98 2f           mov     r25, r24
    2a18:       80 91 b1 0c     lds     r24, 0x0CB1
    2a1c:       88 3a           cpi     r24, 0xA8       ; 168
    2a1e:       50 f4           brcc    .+20            ; 0x2a34 <LIBFC_HoTT_Putchar+0x1e>
    2a20:       80 91 b1 0c     lds     r24, 0x0CB1
    2a24:       e8 2f           mov     r30, r24
    2a26:       ff 27           eor     r31, r31
    2a28:       e8 5f           subi    r30, 0xF8       ; 248
    2a2a:       f8 4f           sbci    r31, 0xF8       ; 248
    2a2c:       93 83           std     Z+3, r25        ; 0x03
    2a2e:       8f 5f           subi    r24, 0xFF       ; 255
    2a30:       80 93 b1 0c     sts     0x0CB1, r24
    2a34:       08 95           ret

00002a36 <LIBFC_HoTT_Putchar_INV>:
    2a36:       98 2f           mov     r25, r24
    2a38:       80 91 b1 0c     lds     r24, 0x0CB1
    2a3c:       88 3a           cpi     r24, 0xA8       ; 168
    2a3e:       58 f4           brcc    .+22            ; 0x2a56 <LIBFC_HoTT_Putchar_INV+0x20>
    2a40:       80 91 b1 0c     lds     r24, 0x0CB1
    2a44:       e8 2f           mov     r30, r24
    2a46:       ff 27           eor     r31, r31
    2a48:       e8 5f           subi    r30, 0xF8       ; 248
    2a4a:       f8 4f           sbci    r31, 0xF8       ; 248
    2a4c:       90 68           ori     r25, 0x80       ; 128
    2a4e:       93 83           std     Z+3, r25        ; 0x03
    2a50:       8f 5f           subi    r24, 0xFF       ; 255
    2a52:       80 93 b1 0c     sts     0x0CB1, r24
    2a56:       08 95           ret

00002a58 <LIBFC_HoTT_Putchar_BLINK>:
    2a58:       98 2f           mov     r25, r24
    2a5a:       80 91 ed 02     lds     r24, 0x02ED
    2a5e:       88 23           and     r24, r24
    2a60:       11 f0           breq    .+4             ; 0x2a66 <LIBFC_HoTT_Putchar_BLINK+0xe>
    2a62:       89 2f           mov     r24, r25
    2a64:       e8 cf           rjmp    .-48            ; 0x2a36 <LIBFC_HoTT_Putchar_INV>
    2a66:       89 2f           mov     r24, r25
    2a68:       d6 cf           rjmp    .-84            ; 0x2a16 <LIBFC_HoTT_Putchar>

00002a6a <LIBFC_HoTT_SetPos>:
    2a6a:       88 3a           cpi     r24, 0xA8       ; 168
    2a6c:       10 f4           brcc    .+4             ; 0x2a72 <LIBFC_HoTT_SetPos+0x8>
    2a6e:       80 93 b1 0c     sts     0x0CB1, r24
    2a72:       08 95           ret

00002a74 <LIBFC_HoTT_Clear>:
    2a74:       80 e0           ldi     r24, 0x00       ; 0
    2a76:       90 e2           ldi     r25, 0x20       ; 32
    2a78:       eb e0           ldi     r30, 0x0B       ; 11
    2a7a:       f7 e0           ldi     r31, 0x07       ; 7
    2a7c:       91 93           st      Z+, r25
    2a7e:       8f 5f           subi    r24, 0xFF       ; 255
    2a80:       88 3a           cpi     r24, 0xA8       ; 168
    2a82:       e0 f3           brcs    .-8             ; 0x2a7c <LIBFC_HoTT_Clear+0x8>
    2a84:       08 95           ret

00002a86 <HoTT_Init>:
    2a86:       4f b7           in      r20, 0x3f       ; 63
    2a88:       21 e8           ldi     r18, 0x81       ; 129
    2a8a:       30 e0           ldi     r19, 0x00       ; 0
    2a8c:       f8 94           cli
    2a8e:       80 91 c9 00     lds     r24, 0x00C9
    2a92:       8f 77           andi    r24, 0x7F       ; 127
    2a94:       80 93 c9 00     sts     0x00C9, r24
    2a98:       80 91 c9 00     lds     r24, 0x00C9
    2a9c:       8f 7b           andi    r24, 0xBF       ; 191
    2a9e:       80 93 c9 00     sts     0x00C9, r24
    2aa2:       80 91 c9 00     lds     r24, 0x00C9
    2aa6:       8f 7d           andi    r24, 0xDF       ; 223
    2aa8:       80 93 c9 00     sts     0x00C9, r24
    2aac:       83 2f           mov     r24, r19
    2aae:       99 27           eor     r25, r25
    2ab0:       80 93 cd 00     sts     0x00CD, r24
    2ab4:       20 93 cc 00     sts     0x00CC, r18
    2ab8:       80 91 c8 00     lds     r24, 0x00C8
    2abc:       82 60           ori     r24, 0x02       ; 2
    2abe:       80 93 c8 00     sts     0x00C8, r24
    2ac2:       88 e1           ldi     r24, 0x18       ; 24
    2ac4:       80 93 c9 00     sts     0x00C9, r24
    2ac8:       80 91 ca 00     lds     r24, 0x00CA
    2acc:       8f 77           andi    r24, 0x7F       ; 127
    2ace:       80 93 ca 00     sts     0x00CA, r24
    2ad2:       80 91 ca 00     lds     r24, 0x00CA
    2ad6:       8f 7b           andi    r24, 0xBF       ; 191
    2ad8:       80 93 ca 00     sts     0x00CA, r24
    2adc:       80 91 ca 00     lds     r24, 0x00CA
    2ae0:       8f 7d           andi    r24, 0xDF       ; 223
    2ae2:       80 93 ca 00     sts     0x00CA, r24
    2ae6:       80 91 ca 00     lds     r24, 0x00CA
    2aea:       8f 7e           andi    r24, 0xEF       ; 239
    2aec:       80 93 ca 00     sts     0x00CA, r24
    2af0:       80 91 ca 00     lds     r24, 0x00CA
    2af4:       87 7f           andi    r24, 0xF7       ; 247
    2af6:       80 93 ca 00     sts     0x00CA, r24
    2afa:       80 91 c9 00     lds     r24, 0x00C9
    2afe:       84 60           ori     r24, 0x04       ; 4
    2b00:       80 93 c9 00     sts     0x00C9, r24
    2b04:       80 91 ca 00     lds     r24, 0x00CA
    2b08:       84 60           ori     r24, 0x04       ; 4
    2b0a:       80 93 ca 00     sts     0x00CA, r24
    2b0e:       80 91 ca 00     lds     r24, 0x00CA
    2b12:       82 60           ori     r24, 0x02       ; 2
    2b14:       80 93 ca 00     sts     0x00CA, r24
    2b18:       80 91 c9 00     lds     r24, 0x00C9
    2b1c:       81 60           ori     r24, 0x01       ; 1
    2b1e:       80 93 c9 00     sts     0x00C9, r24
    2b22:       80 91 c8 00     lds     r24, 0x00C8
    2b26:       87 ff           sbrs    r24, 7
    2b28:       03 c0           rjmp    .+6             ; 0x2b30 <HoTT_Init+0xaa>
    2b2a:       80 91 ce 00     lds     r24, 0x00CE
    2b2e:       f9 cf           rjmp    .-14            ; 0x2b22 <HoTT_Init+0x9c>
    2b30:       80 91 c9 00     lds     r24, 0x00C9
    2b34:       80 68           ori     r24, 0x80       ; 128
    2b36:       80 93 c9 00     sts     0x00C9, r24
    2b3a:       4f bf           out     0x3f, r20       ; 63
    2b3c:       3c e7           ldi     r19, 0x7C       ; 124
    2b3e:       30 93 7a 06     sts     0x067A, r19
    2b42:       2d e7           ldi     r18, 0x7D       ; 125
    2b44:       20 93 a5 06     sts     0x06A5, r18
    2b48:       8e e8           ldi     r24, 0x8E       ; 142
    2b4a:       80 93 7b 06     sts     0x067B, r24
    2b4e:       10 92 97 06     sts     0x0697, r1
    2b52:       10 92 96 06     sts     0x0696, r1
    2b56:       10 92 80 06     sts     0x0680, r1
    2b5a:       80 ee           ldi     r24, 0xE0       ; 224
    2b5c:       80 93 7d 06     sts     0x067D, r24
    2b60:       30 93 dc 06     sts     0x06DC, r19
    2b64:       20 93 07 07     sts     0x0707, r18
    2b68:       10 92 e8 06     sts     0x06E8, r1
    2b6c:       10 92 e7 06     sts     0x06E7, r1
    2b70:       10 92 ea 06     sts     0x06EA, r1
    2b74:       10 92 e9 06     sts     0x06E9, r1
    2b78:       10 92 ec 06     sts     0x06EC, r1
    2b7c:       10 92 eb 06     sts     0x06EB, r1
    2b80:       84 ef           ldi     r24, 0xF4       ; 244
    2b82:       91 e0           ldi     r25, 0x01       ; 1
    2b84:       90 93 e6 06     sts     0x06E6, r25
    2b88:       80 93 e5 06     sts     0x06E5, r24
    2b8c:       90 93 e4 06     sts     0x06E4, r25
    2b90:       80 93 e3 06     sts     0x06E3, r24
    2b94:       90 93 e2 06     sts     0x06E2, r25
    2b98:       80 93 e1 06     sts     0x06E1, r24
    2b9c:       10 92 de 06     sts     0x06DE, r1
    2ba0:       89 e8           ldi     r24, 0x89       ; 137
    2ba2:       80 93 dd 06     sts     0x06DD, r24
    2ba6:       10 92 05 07     sts     0x0705, r1
    2baa:       10 92 06 07     sts     0x0706, r1
    2bae:       80 e9           ldi     r24, 0x90       ; 144
    2bb0:       80 93 df 06     sts     0x06DF, r24
    2bb4:       30 93 b4 07     sts     0x07B4, r19
    2bb8:       20 93 df 07     sts     0x07DF, r18
    2bbc:       10 92 b6 07     sts     0x07B6, r1
    2bc0:       8a e8           ldi     r24, 0x8A       ; 138
    2bc2:       80 93 b5 07     sts     0x07B5, r24
    2bc6:       10 92 bc 07     sts     0x07BC, r1
    2bca:       10 92 bb 07     sts     0x07BB, r1
    2bce:       10 92 ba 07     sts     0x07BA, r1
    2bd2:       10 92 be 07     sts     0x07BE, r1
    2bd6:       10 92 bf 07     sts     0x07BF, r1
    2bda:       10 92 c0 07     sts     0x07C0, r1
    2bde:       10 92 c1 07     sts     0x07C1, r1
    2be2:       10 92 c3 07     sts     0x07C3, r1
    2be6:       10 92 c4 07     sts     0x07C4, r1
    2bea:       10 92 c5 07     sts     0x07C5, r1
    2bee:       10 92 c6 07     sts     0x07C6, r1
    2bf2:       10 92 ca 07     sts     0x07CA, r1
    2bf6:       10 92 c9 07     sts     0x07C9, r1
    2bfa:       10 92 c8 07     sts     0x07C8, r1
    2bfe:       10 92 c7 07     sts     0x07C7, r1
    2c02:       80 ea           ldi     r24, 0xA0       ; 160
    2c04:       80 93 b7 07     sts     0x07B7, r24
    2c08:       30 93 a6 06     sts     0x06A6, r19
    2c0c:       20 93 d1 06     sts     0x06D1, r18
    2c10:       10 92 a8 06     sts     0x06A8, r1
    2c14:       8d e8           ldi     r24, 0x8D       ; 141
    2c16:       80 93 a7 06     sts     0x06A7, r24
    2c1a:       10 92 d0 06     sts     0x06D0, r1
    2c1e:       80 ed           ldi     r24, 0xD0       ; 208
    2c20:       80 93 a9 06     sts     0x06A9, r24
    2c24:       8b e7           ldi     r24, 0x7B       ; 123
    2c26:       80 93 08 07     sts     0x0708, r24
    2c2a:       80 e8           ldi     r24, 0x80       ; 128
    2c2c:       80 93 09 07     sts     0x0709, r24
    2c30:       10 92 0a 07     sts     0x070A, r1
    2c34:       80 91 80 06     lds     r24, 0x0680
    2c38:       90 e2           ldi     r25, 0x20       ; 32
    2c3a:       eb e0           ldi     r30, 0x0B       ; 11
    2c3c:       f7 e0           ldi     r31, 0x07       ; 7
    2c3e:       91 93           st      Z+, r25
    2c40:       8f 5f           subi    r24, 0xFF       ; 255
    2c42:       88 3a           cpi     r24, 0xA8       ; 168
    2c44:       e0 f3           brcs    .-8             ; 0x2c3e <HoTT_Init+0x1b8>
    2c46:       8d e7           ldi     r24, 0x7D       ; 125
    2c48:       80 93 b3 07     sts     0x07B3, r24
    2c4c:       08 95           ret

00002c4e <HoTT_Parser>:
    2c4e:       cf 93           push    r28
    2c50:       c8 2f           mov     r28, r24
    2c52:       80 91 00 03     lds     r24, 0x0300
    2c56:       80 38           cpi     r24, 0x80       ; 128
    2c58:       79 f4           brne    .+30            ; 0x2c78 <HoTT_Parser+0x2a>
    2c5a:       8c 2f           mov     r24, r28
    2c5c:       0e 94 f5 61     call    0xc3ea  ; 0xc3ea <HoTT_Telemety>
    2c60:       80 93 ef 02     sts     0x02EF, r24
    2c64:       80 91 ef 02     lds     r24, 0x02EF
    2c68:       88 23           and     r24, r24
    2c6a:       31 f1           breq    .+76            ; 0x2cb8 <HoTT_Parser+0x6a>
    2c6c:       c0 93 b0 0c     sts     0x0CB0, r28
    2c70:       80 91 ef 02     lds     r24, 0x02EF
    2c74:       8f 5f           subi    r24, 0xFF       ; 255
    2c76:       16 c0           rjmp    .+44            ; 0x2ca4 <HoTT_Parser+0x56>
    2c78:       8f 37           cpi     r24, 0x7F       ; 127
    2c7a:       f1 f4           brne    .+60            ; 0x2cb8 <HoTT_Parser+0x6a>
    2c7c:       80 91 a9 0c     lds     r24, 0x0CA9
    2c80:       88 23           and     r24, r24
    2c82:       29 f4           brne    .+10            ; 0x2c8e <HoTT_Parser+0x40>
    2c84:       8c 2f           mov     r24, r28
    2c86:       80 95           com     r24
    2c88:       8f 70           andi    r24, 0x0F       ; 15
    2c8a:       80 93 a9 0c     sts     0x0CA9, r24
    2c8e:       0e 94 cc 60     call    0xc198  ; 0xc198 <HoTT_Waring>
    2c92:       80 93 0a 07     sts     0x070A, r24
    2c96:       88 e0           ldi     r24, 0x08       ; 8
    2c98:       97 e0           ldi     r25, 0x07       ; 7
    2c9a:       90 93 f1 02     sts     0x02F1, r25
    2c9e:       80 93 f0 02     sts     0x02F0, r24
    2ca2:       8d ea           ldi     r24, 0xAD       ; 173
    2ca4:       80 93 ef 02     sts     0x02EF, r24
    2ca8:       80 91 c9 00     lds     r24, 0x00C9
    2cac:       8f 7e           andi    r24, 0xEF       ; 239
    2cae:       80 93 c9 00     sts     0x00C9, r24
    2cb2:       82 e0           ldi     r24, 0x02       ; 2
    2cb4:       80 93 ee 02     sts     0x02EE, r24
    2cb8:       c0 93 00 03     sts     0x0300, r28
    2cbc:       cf 91           pop     r28
    2cbe:       08 95           ret

00002cc0 <HoTT_Polling>:
    2cc0:       30 91 ee 02     lds     r19, 0x02EE
    2cc4:       33 23           and     r19, r19
    2cc6:       31 f0           breq    .+12            ; 0x2cd4 <HoTT_Polling+0x14>
    2cc8:       80 91 ee 02     lds     r24, 0x02EE
    2ccc:       81 50           subi    r24, 0x01       ; 1
    2cce:       80 93 ee 02     sts     0x02EE, r24
    2cd2:       08 95           ret
    2cd4:       80 91 ef 02     lds     r24, 0x02EF
    2cd8:       88 23           and     r24, r24
    2cda:       61 f1           breq    .+88            ; 0x2d34 <HoTT_Polling+0x74>
    2cdc:       40 91 ef 02     lds     r20, 0x02EF
    2ce0:       90 91 01 03     lds     r25, 0x0301
    2ce4:       41 30           cpi     r20, 0x01       ; 1
    2ce6:       69 f4           brne    .+26            ; 0x2d02 <HoTT_Polling+0x42>
    2ce8:       29 2f           mov     r18, r25
    2cea:       30 93 01 03     sts     0x0301, r19
    2cee:       80 91 ed 02     lds     r24, 0x02ED
    2cf2:       88 23           and     r24, r24
    2cf4:       19 f0           breq    .+6             ; 0x2cfc <HoTT_Polling+0x3c>
    2cf6:       30 93 ed 02     sts     0x02ED, r19
    2cfa:       10 c0           rjmp    .+32            ; 0x2d1c <HoTT_Polling+0x5c>
    2cfc:       40 93 ed 02     sts     0x02ED, r20
    2d00:       0d c0           rjmp    .+26            ; 0x2d1c <HoTT_Polling+0x5c>
    2d02:       e0 91 f0 02     lds     r30, 0x02F0
    2d06:       f0 91 f1 02     lds     r31, 0x02F1
    2d0a:       81 91           ld      r24, Z+
    2d0c:       f0 93 f1 02     sts     0x02F1, r31
    2d10:       e0 93 f0 02     sts     0x02F0, r30
    2d14:       28 2f           mov     r18, r24
    2d16:       98 0f           add     r25, r24
    2d18:       90 93 01 03     sts     0x0301, r25
    2d1c:       80 91 c8 00     lds     r24, 0x00C8
    2d20:       85 ff           sbrs    r24, 5
    2d22:       fc cf           rjmp    .-8             ; 0x2d1c <HoTT_Polling+0x5c>
    2d24:       20 93 ce 00     sts     0x00CE, r18
    2d28:       80 91 ef 02     lds     r24, 0x02EF
    2d2c:       81 50           subi    r24, 0x01       ; 1
    2d2e:       80 93 ef 02     sts     0x02EF, r24
    2d32:       08 95           ret
    2d34:       80 91 c9 00     lds     r24, 0x00C9
    2d38:       80 61           ori     r24, 0x10       ; 16
    2d3a:       80 93 c9 00     sts     0x00C9, r24
    2d3e:       08 95           ret

00002d40 <ACC_AltitudeFusion>:
    2d40:       6f 92           push    r6
    2d42:       7f 92           push    r7
    2d44:       8f 92           push    r8
    2d46:       9f 92           push    r9
    2d48:       af 92           push    r10
    2d4a:       bf 92           push    r11
    2d4c:       cf 92           push    r12
    2d4e:       df 92           push    r13
    2d50:       ef 92           push    r14
    2d52:       ff 92           push    r15
    2d54:       0f 93           push    r16
    2d56:       1f 93           push    r17
    2d58:       88 23           and     r24, r24
    2d5a:       61 f1           breq    .+88            ; 0x2db4 <ACC_AltitudeFusion+0x74>
    2d5c:       82 30           cpi     r24, 0x02       ; 2
    2d5e:       41 f4           brne    .+16            ; 0x2d70 <ACC_AltitudeFusion+0x30>
    2d60:       10 92 0a 03     sts     0x030A, r1
    2d64:       10 92 0b 03     sts     0x030B, r1
    2d68:       10 92 0c 03     sts     0x030C, r1
    2d6c:       10 92 0d 03     sts     0x030D, r1
    2d70:       20 91 fe 03     lds     r18, 0x03FE
    2d74:       30 91 ff 03     lds     r19, 0x03FF
    2d78:       40 91 00 04     lds     r20, 0x0400
    2d7c:       50 91 01 04     lds     r21, 0x0401
    2d80:       da 01           movw    r26, r20
    2d82:       c9 01           movw    r24, r18
    2d84:       19 e0           ldi     r17, 0x09       ; 9
    2d86:       88 0f           add     r24, r24
    2d88:       99 1f           adc     r25, r25
    2d8a:       aa 1f           adc     r26, r26
    2d8c:       bb 1f           adc     r27, r27
    2d8e:       1a 95           dec     r17
    2d90:       d1 f7           brne    .-12            ; 0x2d86 <ACC_AltitudeFusion+0x46>
    2d92:       80 93 57 03     sts     0x0357, r24
    2d96:       90 93 58 03     sts     0x0358, r25
    2d9a:       a0 93 59 03     sts     0x0359, r26
    2d9e:       b0 93 5a 03     sts     0x035A, r27
    2da2:       20 93 02 03     sts     0x0302, r18
    2da6:       30 93 03 03     sts     0x0303, r19
    2daa:       40 93 04 03     sts     0x0304, r20
    2dae:       50 93 05 03     sts     0x0305, r21
    2db2:       26 c1           rjmp    .+588           ; 0x3000 <ACC_AltitudeFusion+0x2c0>
    2db4:       a0 90 fe 03     lds     r10, 0x03FE
    2db8:       b0 90 ff 03     lds     r11, 0x03FF
    2dbc:       c0 90 00 04     lds     r12, 0x0400
    2dc0:       d0 90 01 04     lds     r13, 0x0401
    2dc4:       80 91 02 03     lds     r24, 0x0302
    2dc8:       90 91 03 03     lds     r25, 0x0303
    2dcc:       a0 91 04 03     lds     r26, 0x0304
    2dd0:       b0 91 05 03     lds     r27, 0x0305
    2dd4:       35 01           movw    r6, r10
    2dd6:       46 01           movw    r8, r12
    2dd8:       68 1a           sub     r6, r24
    2dda:       79 0a           sbc     r7, r25
    2ddc:       8a 0a           sbc     r8, r26
    2dde:       9b 0a           sbc     r9, r27
    2de0:       60 92 06 03     sts     0x0306, r6
    2de4:       70 92 07 03     sts     0x0307, r7
    2de8:       80 92 08 03     sts     0x0308, r8
    2dec:       90 92 09 03     sts     0x0309, r9
    2df0:       80 91 5b 03     lds     r24, 0x035B
    2df4:       90 91 5c 03     lds     r25, 0x035C
    2df8:       84 55           subi    r24, 0x54       ; 84
    2dfa:       9f 4f           sbci    r25, 0xFF       ; 255
    2dfc:       7c 01           movw    r14, r24
    2dfe:       00 27           eor     r16, r16
    2e00:       f7 fc           sbrc    r15, 7
    2e02:       00 95           com     r16
    2e04:       10 2f           mov     r17, r16
    2e06:       80 91 2d 06     lds     r24, 0x062D
    2e0a:       90 91 2e 06     lds     r25, 0x062E
    2e0e:       9c 01           movw    r18, r24
    2e10:       44 27           eor     r20, r20
    2e12:       37 fd           sbrc    r19, 7
    2e14:       40 95           com     r20
    2e16:       54 2f           mov     r21, r20
    2e18:       c8 01           movw    r24, r16
    2e1a:       b7 01           movw    r22, r14
    2e1c:       0e 94 27 b1     call    0x1624e ; 0x1624e <__mulsi3>
    2e20:       97 ff           sbrs    r25, 7
    2e22:       04 c0           rjmp    .+8             ; 0x2e2c <ACC_AltitudeFusion+0xec>
    2e24:       61 50           subi    r22, 0x01       ; 1
    2e26:       70 4e           sbci    r23, 0xE0       ; 224
    2e28:       8f 4f           sbci    r24, 0xFF       ; 255
    2e2a:       9f 4f           sbci    r25, 0xFF       ; 255
    2e2c:       ab 01           movw    r20, r22
    2e2e:       bc 01           movw    r22, r24
    2e30:       fd e0           ldi     r31, 0x0D       ; 13
    2e32:       75 95           asr     r23
    2e34:       67 95           ror     r22
    2e36:       57 95           ror     r21
    2e38:       47 95           ror     r20
    2e3a:       fa 95           dec     r31
    2e3c:       d1 f7           brne    .-12            ; 0x2e32 <ACC_AltitudeFusion+0xf2>
    2e3e:       4c 5a           subi    r20, 0xAC       ; 172
    2e40:       50 40           sbci    r21, 0x00       ; 0
    2e42:       60 40           sbci    r22, 0x00       ; 0
    2e44:       70 40           sbci    r23, 0x00       ; 0
    2e46:       40 93 0e 03     sts     0x030E, r20
    2e4a:       50 93 0f 03     sts     0x030F, r21
    2e4e:       60 93 10 03     sts     0x0310, r22
    2e52:       70 93 11 03     sts     0x0311, r23
    2e56:       20 91 ec 08     lds     r18, 0x08EC
    2e5a:       30 91 ed 08     lds     r19, 0x08ED
    2e5e:       37 ff           sbrs    r19, 7
    2e60:       02 c0           rjmp    .+4             ; 0x2e66 <ACC_AltitudeFusion+0x126>
    2e62:       21 5f           subi    r18, 0xF1       ; 241
    2e64:       3f 4f           sbci    r19, 0xFF       ; 255
    2e66:       e4 e0           ldi     r30, 0x04       ; 4
    2e68:       35 95           asr     r19
    2e6a:       27 95           ror     r18
    2e6c:       ea 95           dec     r30
    2e6e:       e1 f7           brne    .-8             ; 0x2e68 <ACC_AltitudeFusion+0x128>
    2e70:       80 91 5f 03     lds     r24, 0x035F
    2e74:       90 91 60 03     lds     r25, 0x0360
    2e78:       82 9f           mul     r24, r18
    2e7a:       d0 01           movw    r26, r0
    2e7c:       83 9f           mul     r24, r19
    2e7e:       b0 0d           add     r27, r0
    2e80:       92 9f           mul     r25, r18
    2e82:       b0 0d           add     r27, r0
    2e84:       11 24           eor     r1, r1
    2e86:       cd 01           movw    r24, r26
    2e88:       b7 ff           sbrs    r27, 7
    2e8a:       02 c0           rjmp    .+4             ; 0x2e90 <ACC_AltitudeFusion+0x150>
    2e8c:       81 50           subi    r24, 0x01       ; 1
    2e8e:       9f 4f           sbci    r25, 0xFF       ; 255
    2e90:       e9 2f           mov     r30, r25
    2e92:       ff 27           eor     r31, r31
    2e94:       e7 fd           sbrc    r30, 7
    2e96:       fa 95           dec     r31
    2e98:       20 91 ea 08     lds     r18, 0x08EA
    2e9c:       30 91 eb 08     lds     r19, 0x08EB
    2ea0:       37 ff           sbrs    r19, 7
    2ea2:       02 c0           rjmp    .+4             ; 0x2ea8 <ACC_AltitudeFusion+0x168>
    2ea4:       21 5f           subi    r18, 0xF1       ; 241
    2ea6:       3f 4f           sbci    r19, 0xFF       ; 255
    2ea8:       84 e0           ldi     r24, 0x04       ; 4
    2eaa:       35 95           asr     r19
    2eac:       27 95           ror     r18
    2eae:       8a 95           dec     r24
    2eb0:       e1 f7           brne    .-8             ; 0x2eaa <ACC_AltitudeFusion+0x16a>
    2eb2:       80 91 5d 03     lds     r24, 0x035D
    2eb6:       90 91 5e 03     lds     r25, 0x035E
    2eba:       82 9f           mul     r24, r18
    2ebc:       d0 01           movw    r26, r0
    2ebe:       83 9f           mul     r24, r19
    2ec0:       b0 0d           add     r27, r0
    2ec2:       92 9f           mul     r25, r18
    2ec4:       b0 0d           add     r27, r0
    2ec6:       11 24           eor     r1, r1
    2ec8:       cd 01           movw    r24, r26
    2eca:       b7 ff           sbrs    r27, 7
    2ecc:       02 c0           rjmp    .+4             ; 0x2ed2 <ACC_AltitudeFusion+0x192>
    2ece:       81 50           subi    r24, 0x01       ; 1
    2ed0:       9f 4f           sbci    r25, 0xFF       ; 255
    2ed2:       89 2f           mov     r24, r25
    2ed4:       99 0f           add     r25, r25
    2ed6:       99 0b           sbc     r25, r25
    2ed8:       e8 0f           add     r30, r24
    2eda:       f9 1f           adc     r31, r25
    2edc:       cf 01           movw    r24, r30
    2ede:       aa 27           eor     r26, r26
    2ee0:       97 fd           sbrc    r25, 7
    2ee2:       a0 95           com     r26
    2ee4:       ba 2f           mov     r27, r26
    2ee6:       84 0f           add     r24, r20
    2ee8:       95 1f           adc     r25, r21
    2eea:       a6 1f           adc     r26, r22
    2eec:       b7 1f           adc     r27, r23
    2eee:       80 93 0e 03     sts     0x030E, r24
    2ef2:       90 93 0f 03     sts     0x030F, r25
    2ef6:       a0 93 10 03     sts     0x0310, r26
    2efa:       b0 93 11 03     sts     0x0311, r27
    2efe:       bc 01           movw    r22, r24
    2f00:       cd 01           movw    r24, r26
    2f02:       2d e0           ldi     r18, 0x0D       ; 13
    2f04:       30 e0           ldi     r19, 0x00       ; 0
    2f06:       40 e0           ldi     r20, 0x00       ; 0
    2f08:       50 e0           ldi     r21, 0x00       ; 0
    2f0a:       0e 94 27 b1     call    0x1624e ; 0x1624e <__mulsi3>
    2f0e:       7b 01           movw    r14, r22
    2f10:       8c 01           movw    r16, r24
    2f12:       c4 01           movw    r24, r8
    2f14:       b3 01           movw    r22, r6
    2f16:       24 ef           ldi     r18, 0xF4       ; 244
    2f18:       31 e0           ldi     r19, 0x01       ; 1
    2f1a:       40 e0           ldi     r20, 0x00       ; 0
    2f1c:       50 e0           ldi     r21, 0x00       ; 0
    2f1e:       0e 94 27 b1     call    0x1624e ; 0x1624e <__mulsi3>
    2f22:       dc 01           movw    r26, r24
    2f24:       cb 01           movw    r24, r22
    2f26:       e8 0e           add     r14, r24
    2f28:       f9 1e           adc     r15, r25
    2f2a:       0a 1f           adc     r16, r26
    2f2c:       1b 1f           adc     r17, r27
    2f2e:       80 91 0a 03     lds     r24, 0x030A
    2f32:       90 91 0b 03     lds     r25, 0x030B
    2f36:       a0 91 0c 03     lds     r26, 0x030C
    2f3a:       b0 91 0d 03     lds     r27, 0x030D
    2f3e:       20 91 12 03     lds     r18, 0x0312
    2f42:       30 91 13 03     lds     r19, 0x0313
    2f46:       40 91 14 03     lds     r20, 0x0314
    2f4a:       50 91 15 03     lds     r21, 0x0315
    2f4e:       82 1b           sub     r24, r18
    2f50:       93 0b           sbc     r25, r19
    2f52:       a4 0b           sbc     r26, r20
    2f54:       b5 0b           sbc     r27, r21
    2f56:       e8 0e           add     r14, r24
    2f58:       f9 1e           adc     r15, r25
    2f5a:       0a 1f           adc     r16, r26
    2f5c:       1b 1f           adc     r17, r27
    2f5e:       e0 92 0a 03     sts     0x030A, r14
    2f62:       f0 92 0b 03     sts     0x030B, r15
    2f66:       00 93 0c 03     sts     0x030C, r16
    2f6a:       10 93 0d 03     sts     0x030D, r17
    2f6e:       d8 01           movw    r26, r16
    2f70:       c7 01           movw    r24, r14
    2f72:       80 50           subi    r24, 0x00       ; 0
    2f74:       9e 4f           sbci    r25, 0xFE       ; 254
    2f76:       af 4f           sbci    r26, 0xFF       ; 255
    2f78:       bf 4f           sbci    r27, 0xFF       ; 255
    2f7a:       b7 ff           sbrs    r27, 7
    2f7c:       06 c0           rjmp    .+12            ; 0x2f8a <ACC_AltitudeFusion+0x24a>
    2f7e:       d8 01           movw    r26, r16
    2f80:       c7 01           movw    r24, r14
    2f82:       81 50           subi    r24, 0x01       ; 1
    2f84:       9a 4f           sbci    r25, 0xFA       ; 250
    2f86:       af 4f           sbci    r26, 0xFF       ; 255
    2f88:       bf 4f           sbci    r27, 0xFF       ; 255
    2f8a:       1a e0           ldi     r17, 0x0A       ; 10
    2f8c:       b5 95           asr     r27
    2f8e:       a7 95           ror     r26
    2f90:       97 95           ror     r25
    2f92:       87 95           ror     r24
    2f94:       1a 95           dec     r17
    2f96:       d1 f7           brne    .-12            ; 0x2f8c <ACC_AltitudeFusion+0x24c>
    2f98:       80 93 12 03     sts     0x0312, r24
    2f9c:       90 93 13 03     sts     0x0313, r25
    2fa0:       a0 93 14 03     sts     0x0314, r26
    2fa4:       b0 93 15 03     sts     0x0315, r27
    2fa8:       a0 92 02 03     sts     0x0302, r10
    2fac:       b0 92 03 03     sts     0x0303, r11
    2fb0:       c0 92 04 03     sts     0x0304, r12
    2fb4:       d0 92 05 03     sts     0x0305, r13
    2fb8:       20 91 57 03     lds     r18, 0x0357
    2fbc:       30 91 58 03     lds     r19, 0x0358
    2fc0:       40 91 59 03     lds     r20, 0x0359
    2fc4:       50 91 5a 03     lds     r21, 0x035A
    2fc8:       e0 90 4a 03     lds     r14, 0x034A
    2fcc:       f0 90 4b 03     lds     r15, 0x034B
    2fd0:       00 91 4c 03     lds     r16, 0x034C
    2fd4:       10 91 4d 03     lds     r17, 0x034D
    2fd8:       2e 19           sub     r18, r14
    2fda:       3f 09           sbc     r19, r15
    2fdc:       40 0b           sbc     r20, r16
    2fde:       51 0b           sbc     r21, r17
    2fe0:       28 0f           add     r18, r24
    2fe2:       39 1f           adc     r19, r25
    2fe4:       4a 1f           adc     r20, r26
    2fe6:       5b 1f           adc     r21, r27
    2fe8:       2a 0d           add     r18, r10
    2fea:       3b 1d           adc     r19, r11
    2fec:       4c 1d           adc     r20, r12
    2fee:       5d 1d           adc     r21, r13
    2ff0:       20 93 57 03     sts     0x0357, r18
    2ff4:       30 93 58 03     sts     0x0358, r19
    2ff8:       40 93 59 03     sts     0x0359, r20
    2ffc:       50 93 5a 03     sts     0x035A, r21
    3000:       80 91 12 03     lds     r24, 0x0312
    3004:       90 91 13 03     lds     r25, 0x0313
    3008:       90 93 55 03     sts     0x0355, r25
    300c:       80 93 54 03     sts     0x0354, r24
    3010:       80 91 57 03     lds     r24, 0x0357
    3014:       90 91 58 03     lds     r25, 0x0358
    3018:       a0 91 59 03     lds     r26, 0x0359
    301c:       b0 91 5a 03     lds     r27, 0x035A
    3020:       bc 01           movw    r22, r24
    3022:       cd 01           movw    r24, r26
    3024:       1f 91           pop     r17
    3026:       0f 91           pop     r16
    3028:       ff 90           pop     r15
    302a:       ef 90           pop     r14
    302c:       df 90           pop     r13
    302e:       cf 90           pop     r12
    3030:       bf 90           pop     r11
    3032:       af 90           pop     r10
    3034:       9f 90           pop     r9
    3036:       8f 90           pop     r8
    3038:       7f 90           pop     r7
    303a:       6f 90           pop     r6
    303c:       08 95           ret

0000303e <LIBFC_GetCPUType>:
    303e:       2f b7           in      r18, 0x3f       ; 63
    3040:       40 e0           ldi     r20, 0x00       ; 0
    3042:       f8 94           cli
    3044:       e0 e0           ldi     r30, 0x00       ; 0
    3046:       f0 e0           ldi     r31, 0x00       ; 0
    3048:       81 e2           ldi     r24, 0x21       ; 33
    304a:       80 93 57 00     sts     0x0057, r24
    304e:       94 91           lpm     r25, Z
    3050:       e2 e0           ldi     r30, 0x02       ; 2
    3052:       f0 e0           ldi     r31, 0x00       ; 0
    3054:       80 93 57 00     sts     0x0057, r24
    3058:       34 91           lpm     r19, Z
    305a:       e4 e0           ldi     r30, 0x04       ; 4
    305c:       f0 e0           ldi     r31, 0x00       ; 0
    305e:       80 93 57 00     sts     0x0057, r24
    3062:       84 91           lpm     r24, Z
    3064:       2f bf           out     0x3f, r18       ; 63
    3066:       9e 31           cpi     r25, 0x1E       ; 30
    3068:       99 f4           brne    .+38            ; 0x3090 <LIBFC_GetCPUType+0x52>
    306a:       36 39           cpi     r19, 0x96       ; 150
    306c:       41 f4           brne    .+16            ; 0x307e <LIBFC_GetCPUType+0x40>
    306e:       89 30           cpi     r24, 0x09       ; 9
    3070:       11 f4           brne    .+4             ; 0x3076 <LIBFC_GetCPUType+0x38>
    3072:       41 e0           ldi     r20, 0x01       ; 1
    3074:       0d c0           rjmp    .+26            ; 0x3090 <LIBFC_GetCPUType+0x52>
    3076:       8a 30           cpi     r24, 0x0A       ; 10
    3078:       59 f4           brne    .+22            ; 0x3090 <LIBFC_GetCPUType+0x52>
    307a:       42 e0           ldi     r20, 0x02       ; 2
    307c:       09 c0           rjmp    .+18            ; 0x3090 <LIBFC_GetCPUType+0x52>
    307e:       37 39           cpi     r19, 0x97       ; 151
    3080:       39 f4           brne    .+14            ; 0x3090 <LIBFC_GetCPUType+0x52>
    3082:       86 30           cpi     r24, 0x06       ; 6
    3084:       11 f4           brne    .+4             ; 0x308a <LIBFC_GetCPUType+0x4c>
    3086:       43 e0           ldi     r20, 0x03       ; 3
    3088:       03 c0           rjmp    .+6             ; 0x3090 <LIBFC_GetCPUType+0x52>
    308a:       85 30           cpi     r24, 0x05       ; 5
    308c:       09 f4           brne    .+2             ; 0x3090 <LIBFC_GetCPUType+0x52>
    308e:       44 e0           ldi     r20, 0x04       ; 4
    3090:       84 2f           mov     r24, r20
    3092:       99 27           eor     r25, r25
    3094:       08 95           ret

00003096 <awokdjwqdjcjuhcuweih>:
    3096:       9f b7           in      r25, 0x3f       ; 63
    3098:       f8 94           cli
    309a:       80 91 c9 00     lds     r24, 0x00C9
    309e:       87 7f           andi    r24, 0xF7       ; 247
    30a0:       80 93 c9 00     sts     0x00C9, r24
    30a4:       80 91 c9 00     lds     r24, 0x00C9
    30a8:       8f 7e           andi    r24, 0xEF       ; 239
    30aa:       80 93 c9 00     sts     0x00C9, r24
    30ae:       80 91 c9 00     lds     r24, 0x00C9
    30b2:       8f 77           andi    r24, 0x7F       ; 127
    30b4:       80 93 c9 00     sts     0x00C9, r24
    30b8:       80 91 c9 00     lds     r24, 0x00C9
    30bc:       8f 7b           andi    r24, 0xBF       ; 191
    30be:       80 93 c9 00     sts     0x00C9, r24
    30c2:       80 91 c9 00     lds     r24, 0x00C9
    30c6:       8f 7d           andi    r24, 0xDF       ; 223
    30c8:       80 93 c9 00     sts     0x00C9, r24
    30cc:       9f bf           out     0x3f, r25       ; 63
    30ce:       08 95           ret

000030d0 <LIBFC_ReceiverInit>:
    30d0:       1f 93           push    r17
    30d2:       cf 93           push    r28
    30d4:       df 93           push    r29
    30d6:       18 2f           mov     r17, r24
    30d8:       80 91 ec 02     lds     r24, 0x02EC
    30dc:       88 23           and     r24, r24
    30de:       09 f4           brne    .+2             ; 0x30e2 <LIBFC_ReceiverInit+0x12>
    30e0:       a4 c0           rjmp    .+328           ; 0x322a <LIBFC_ReceiverInit+0x15a>
    30e2:       80 91 05 01     lds     r24, 0x0105
    30e6:       18 17           cp      r17, r24
    30e8:       09 f4           brne    .+2             ; 0x30ec <LIBFC_ReceiverInit+0x1c>
    30ea:       9f c0           rjmp    .+318           ; 0x322a <LIBFC_ReceiverInit+0x15a>
    30ec:       80 91 eb 02     lds     r24, 0x02EB
    30f0:       88 23           and     r24, r24
    30f2:       19 f4           brne    .+6             ; 0x30fa <LIBFC_ReceiverInit+0x2a>
    30f4:       a4 df           rcall   .-184           ; 0x303e <LIBFC_GetCPUType>
    30f6:       80 93 eb 02     sts     0x02EB, r24
    30fa:       82 ed           ldi     r24, 0xD2       ; 210
    30fc:       91 e0           ldi     r25, 0x01       ; 1
    30fe:       90 93 92 02     sts     0x0292, r25
    3102:       80 93 91 02     sts     0x0291, r24
    3106:       8e e0           ldi     r24, 0x0E       ; 14
    3108:       99 e1           ldi     r25, 0x19       ; 25
    310a:       9f 93           push    r25
    310c:       8f 93           push    r24
    310e:       c7 eb           ldi     r28, 0xB7       ; 183
    3110:       dc ea           ldi     r29, 0xAC       ; 172
    3112:       df 93           push    r29
    3114:       cf 93           push    r28
    3116:       e0 91 78 06     lds     r30, 0x0678
    311a:       f0 91 79 06     lds     r31, 0x0679
    311e:       09 95           icall
    3120:       0f 90           pop     r0
    3122:       0f 90           pop     r0
    3124:       0f 90           pop     r0
    3126:       0f 90           pop     r0
    3128:       81 2f           mov     r24, r17
    312a:       99 27           eor     r25, r25
    312c:       aa 27           eor     r26, r26
    312e:       bb 27           eor     r27, r27
    3130:       fc 01           movw    r30, r24
    3132:       09 97           sbiw    r24, 0x09       ; 9
    3134:       78 f5           brcc    .+94            ; 0x3194 <LIBFC_ReceiverInit+0xc4>
    3136:       ee 5e           subi    r30, 0xEE       ; 238
    3138:       fe 4f           sbci    r31, 0xFE       ; 254
    313a:       20 91 78 06     lds     r18, 0x0678
    313e:       30 91 79 06     lds     r19, 0x0679
    3142:       0c 94 a7 b1     jmp     0x1634e ; 0x1634e <__tablejump2__>
    3146:       8a e0           ldi     r24, 0x0A       ; 10
    3148:       99 e1           ldi     r25, 0x19       ; 25
    314a:       02 c0           rjmp    .+4             ; 0x3150 <LIBFC_ReceiverInit+0x80>
    314c:       81 e0           ldi     r24, 0x01       ; 1
    314e:       99 e1           ldi     r25, 0x19       ; 25
    3150:       9f 93           push    r25
    3152:       8f 93           push    r24
    3154:       df 93           push    r29
    3156:       cf 93           push    r28
    3158:       f9 01           movw    r30, r18
    315a:       09 95           icall
    315c:       27 c0           rjmp    .+78            ; 0x31ac <LIBFC_ReceiverInit+0xdc>
    315e:       8c ef           ldi     r24, 0xFC       ; 252
    3160:       98 e1           ldi     r25, 0x18       ; 24
    3162:       f6 cf           rjmp    .-20            ; 0x3150 <LIBFC_ReceiverInit+0x80>
    3164:       84 ef           ldi     r24, 0xF4       ; 244
    3166:       98 e1           ldi     r25, 0x18       ; 24
    3168:       f3 cf           rjmp    .-26            ; 0x3150 <LIBFC_ReceiverInit+0x80>
    316a:       8c ee           ldi     r24, 0xEC       ; 236
    316c:       98 e1           ldi     r25, 0x18       ; 24
    316e:       9f 93           push    r25
    3170:       8f 93           push    r24
    3172:       df 93           push    r29
    3174:       cf 93           push    r28
    3176:       f9 01           movw    r30, r18
    3178:       09 95           icall
    317a:       88 ed           ldi     r24, 0xD8       ; 216
    317c:       91 e0           ldi     r25, 0x01       ; 1
    317e:       90 93 92 02     sts     0x0292, r25
    3182:       80 93 91 02     sts     0x0291, r24
    3186:       12 c0           rjmp    .+36            ; 0x31ac <LIBFC_ReceiverInit+0xdc>
    3188:       87 ee           ldi     r24, 0xE7       ; 231
    318a:       98 e1           ldi     r25, 0x18       ; 24
    318c:       e1 cf           rjmp    .-62            ; 0x3150 <LIBFC_ReceiverInit+0x80>
    318e:       8b e1           ldi     r24, 0x1B       ; 27
    3190:       99 e1           ldi     r25, 0x19       ; 25
    3192:       de cf           rjmp    .-68            ; 0x3150 <LIBFC_ReceiverInit+0x80>
    3194:       81 e2           ldi     r24, 0x21       ; 33
    3196:       99 e1           ldi     r25, 0x19       ; 25
    3198:       9f 93           push    r25
    319a:       8f 93           push    r24
    319c:       df 93           push    r29
    319e:       cf 93           push    r28
    31a0:       e0 91 78 06     lds     r30, 0x0678
    31a4:       f0 91 79 06     lds     r31, 0x0679
    31a8:       09 95           icall
    31aa:       10 e0           ldi     r17, 0x00       ; 0
    31ac:       0f 90           pop     r0
    31ae:       0f 90           pop     r0
    31b0:       0f 90           pop     r0
    31b2:       0f 90           pop     r0
    31b4:       80 91 eb 02     lds     r24, 0x02EB
    31b8:       84 30           cpi     r24, 0x04       ; 4
    31ba:       11 f0           breq    .+4             ; 0x31c0 <LIBFC_ReceiverInit+0xf0>
    31bc:       82 30           cpi     r24, 0x02       ; 2
    31be:       01 f5           brne    .+64            ; 0x3200 <LIBFC_ReceiverInit+0x130>
    31c0:       6a df           rcall   .-300           ; 0x3096 <awokdjwqdjcjuhcuweih>
    31c2:       81 2f           mov     r24, r17
    31c4:       81 50           subi    r24, 0x01       ; 1
    31c6:       83 30           cpi     r24, 0x03       ; 3
    31c8:       18 f4           brcc    .+6             ; 0x31d0 <LIBFC_ReceiverInit+0x100>
    31ca:       0e 94 1c 94     call    0x12838 ; 0x12838 <SpektrumUartInit>
    31ce:       2b c0           rjmp    .+86            ; 0x3226 <LIBFC_ReceiverInit+0x156>
    31d0:       14 30           cpi     r17, 0x04       ; 4
    31d2:       19 f4           brne    .+6             ; 0x31da <LIBFC_ReceiverInit+0x10a>
    31d4:       0e 94 8a 0f     call    0x1f14  ; 0x1f14 <INiuzBtergGIBuB76T0G5>
    31d8:       26 c0           rjmp    .+76            ; 0x3226 <LIBFC_ReceiverInit+0x156>
    31da:       18 30           cpi     r17, 0x08       ; 8
    31dc:       19 f4           brne    .+6             ; 0x31e4 <LIBFC_ReceiverInit+0x114>
    31de:       0e 94 06 b0     call    0x1600c ; 0x1600c <User_Receiver_Init>
    31e2:       21 c0           rjmp    .+66            ; 0x3226 <LIBFC_ReceiverInit+0x156>
    31e4:       15 30           cpi     r17, 0x05       ; 5
    31e6:       19 f4           brne    .+6             ; 0x31ee <LIBFC_ReceiverInit+0x11e>
    31e8:       0e 94 cc 0d     call    0x1b98  ; 0x1b98 <fomklkdtn89SFGrsgt9rf>
    31ec:       1c c0           rjmp    .+56            ; 0x3226 <LIBFC_ReceiverInit+0x156>
    31ee:       16 30           cpi     r17, 0x06       ; 6
    31f0:       11 f4           brne    .+4             ; 0x31f6 <LIBFC_ReceiverInit+0x126>
    31f2:       49 dc           rcall   .-1902          ; 0x2a86 <HoTT_Init>
    31f4:       18 c0           rjmp    .+48            ; 0x3226 <LIBFC_ReceiverInit+0x156>
    31f6:       17 30           cpi     r17, 0x07       ; 7
    31f8:       b1 f4           brne    .+44            ; 0x3226 <LIBFC_ReceiverInit+0x156>
    31fa:       0e 94 c5 92     call    0x1258a ; 0x1258a <SbusUartInit>
    31fe:       13 c0           rjmp    .+38            ; 0x3226 <LIBFC_ReceiverInit+0x156>
    3200:       11 23           and     r17, r17
    3202:       89 f0           breq    .+34            ; 0x3226 <LIBFC_ReceiverInit+0x156>
    3204:       87 e3           ldi     r24, 0x37       ; 55
    3206:       99 e1           ldi     r25, 0x19       ; 25
    3208:       9f 93           push    r25
    320a:       8f 93           push    r24
    320c:       87 eb           ldi     r24, 0xB7       ; 183
    320e:       9c ea           ldi     r25, 0xAC       ; 172
    3210:       9f 93           push    r25
    3212:       8f 93           push    r24
    3214:       e0 91 78 06     lds     r30, 0x0678
    3218:       f0 91 79 06     lds     r31, 0x0679
    321c:       09 95           icall
    321e:       0f 90           pop     r0
    3220:       0f 90           pop     r0
    3222:       0f 90           pop     r0
    3224:       0f 90           pop     r0
    3226:       10 93 05 01     sts     0x0105, r17
    322a:       df 91           pop     r29
    322c:       cf 91           pop     r28
    322e:       1f 91           pop     r17
    3230:       08 95           ret

00003232 <LIBFC_Init>:
    3232:       0f 93           push    r16
    3234:       1f 93           push    r17
    3236:       08 2f           mov     r16, r24
    3238:       81 e0           ldi     r24, 0x01       ; 1
    323a:       80 93 ec 02     sts     0x02EC, r24
    323e:       40 91 04 01     lds     r20, 0x0104
    3242:       e7 e9           ldi     r30, 0x97       ; 151
    3244:       f8 e1           ldi     r31, 0x18       ; 24
    3246:       20 e0           ldi     r18, 0x00       ; 0
    3248:       30 e0           ldi     r19, 0x00       ; 0
    324a:       5f e4           ldi     r21, 0x4F       ; 79
    324c:       84 91           lpm     r24, Z
    324e:       99 27           eor     r25, r25
    3250:       2f 5f           subi    r18, 0xFF       ; 255
    3252:       3f 4f           sbci    r19, 0xFF       ; 255
    3254:       82 9f           mul     r24, r18
    3256:       b0 01           movw    r22, r0
    3258:       83 9f           mul     r24, r19
    325a:       70 0d           add     r23, r0
    325c:       92 9f           mul     r25, r18
    325e:       70 0d           add     r23, r0
    3260:       11 24           eor     r1, r1
    3262:       46 27           eor     r20, r22
    3264:       51 50           subi    r21, 0x01       ; 1
    3266:       31 96           adiw    r30, 0x01       ; 1
    3268:       57 ff           sbrs    r21, 7
    326a:       f0 cf           rjmp    .-32            ; 0x324c <LIBFC_Init+0x1a>
    326c:       40 93 04 01     sts     0x0104, r20
    3270:       ef e6           ldi     r30, 0x6F       ; 111
    3272:       f8 e1           ldi     r31, 0x18       ; 24
    3274:       20 e0           ldi     r18, 0x00       ; 0
    3276:       30 e0           ldi     r19, 0x00       ; 0
    3278:       57 e2           ldi     r21, 0x27       ; 39
    327a:       84 91           lpm     r24, Z
    327c:       99 27           eor     r25, r25
    327e:       2f 5f           subi    r18, 0xFF       ; 255
    3280:       3f 4f           sbci    r19, 0xFF       ; 255
    3282:       82 9f           mul     r24, r18
    3284:       b0 01           movw    r22, r0
    3286:       83 9f           mul     r24, r19
    3288:       70 0d           add     r23, r0
    328a:       92 9f           mul     r25, r18
    328c:       70 0d           add     r23, r0
    328e:       11 24           eor     r1, r1
    3290:       46 27           eor     r20, r22
    3292:       51 50           subi    r21, 0x01       ; 1
    3294:       31 96           adiw    r30, 0x01       ; 1
    3296:       57 ff           sbrs    r21, 7
    3298:       f0 cf           rjmp    .-32            ; 0x327a <LIBFC_Init+0x48>
    329a:       40 93 04 01     sts     0x0104, r20
    329e:       80 91 eb 02     lds     r24, 0x02EB
    32a2:       88 23           and     r24, r24
    32a4:       19 f4           brne    .+6             ; 0x32ac <LIBFC_Init+0x7a>
    32a6:       cb de           rcall   .-618           ; 0x303e <LIBFC_GetCPUType>
    32a8:       80 93 eb 02     sts     0x02EB, r24
    32ac:       81 e7           ldi     r24, 0x71       ; 113
    32ae:       92 e1           ldi     r25, 0x12       ; 18
    32b0:       90 93 79 06     sts     0x0679, r25
    32b4:       80 93 78 06     sts     0x0678, r24
    32b8:       80 91 04 01     lds     r24, 0x0104
    32bc:       83 34           cpi     r24, 0x43       ; 67
    32be:       59 f0           breq    .+22            ; 0x32d6 <LIBFC_Init+0xa4>
    32c0:       88 e1           ldi     r24, 0x18       ; 24
    32c2:       90 e0           ldi     r25, 0x00       ; 0
    32c4:       29 e2           ldi     r18, 0x29       ; 41
    32c6:       0f b6           in      r0, 0x3f        ; 63
    32c8:       f8 94           cli
    32ca:       a8 95           wdr
    32cc:       80 93 60 00     sts     0x0060, r24
    32d0:       0f be           out     0x3f, r0        ; 63
    32d2:       20 93 60 00     sts     0x0060, r18
    32d6:       07 30           cpi     r16, 0x07       ; 7
    32d8:       91 f0           breq    .+36            ; 0x32fe <LIBFC_Init+0xcc>
    32da:       82 e5           ldi     r24, 0x52       ; 82
    32dc:       99 e1           ldi     r25, 0x19       ; 25
    32de:       9f 93           push    r25
    32e0:       8f 93           push    r24
    32e2:       87 eb           ldi     r24, 0xB7       ; 183
    32e4:       9c ea           ldi     r25, 0xAC       ; 172
    32e6:       9f 93           push    r25
    32e8:       8f 93           push    r24
    32ea:       e0 91 78 06     lds     r30, 0x0678
    32ee:       f0 91 79 06     lds     r31, 0x0679
    32f2:       09 95           icall
    32f4:       0f 90           pop     r0
    32f6:       0f 90           pop     r0
    32f8:       0f 90           pop     r0
    32fa:       0f 90           pop     r0
    32fc:       ee cf           rjmp    .-36            ; 0x32da <LIBFC_Init+0xa8>
    32fe:       80 91 54 01     lds     r24, 0x0154
    3302:       89 31           cpi     r24, 0x19       ; 25
    3304:       58 f1           brcs    .+86            ; 0x335c <LIBFC_Init+0x12a>
    3306:       80 91 ea 02     lds     r24, 0x02EA
    330a:       88 23           and     r24, r24
    330c:       a9 f4           brne    .+42            ; 0x3338 <LIBFC_Init+0x106>
    330e:       8f e6           ldi     r24, 0x6F       ; 111
    3310:       99 e1           ldi     r25, 0x19       ; 25
    3312:       9f 93           push    r25
    3314:       8f 93           push    r24
    3316:       87 eb           ldi     r24, 0xB7       ; 183
    3318:       9c ea           ldi     r25, 0xAC       ; 172
    331a:       9f 93           push    r25
    331c:       8f 93           push    r24
    331e:       e0 91 78 06     lds     r30, 0x0678
    3322:       f0 91 79 06     lds     r31, 0x0679
    3326:       09 95           icall
    3328:       87 e1           ldi     r24, 0x17       ; 23
    332a:       80 93 54 01     sts     0x0154, r24
    332e:       0f 90           pop     r0
    3330:       0f 90           pop     r0
    3332:       0f 90           pop     r0
    3334:       0f 90           pop     r0
    3336:       12 c0           rjmp    .+36            ; 0x335c <LIBFC_Init+0x12a>
    3338:       15 bc           out     0x25, r1        ; 37
    333a:       87 31           cpi     r24, 0x17       ; 23
    333c:       19 f4           brne    .+6             ; 0x3344 <LIBFC_Init+0x112>
    333e:       80 93 54 01     sts     0x0154, r24
    3342:       06 c0           rjmp    .+12            ; 0x3350 <LIBFC_Init+0x11e>
    3344:       87 e0           ldi     r24, 0x07       ; 7
    3346:       80 93 0b 01     sts     0x010B, r24
    334a:       86 e0           ldi     r24, 0x06       ; 6
    334c:       80 93 0a 01     sts     0x010A, r24
    3350:       e0 91 02 01     lds     r30, 0x0102
    3354:       f0 91 03 01     lds     r31, 0x0103
    3358:       8d ef           ldi     r24, 0xFD       ; 253
    335a:       09 95           icall
    335c:       0e 94 4b 59     call    0xb296  ; 0xb296 <PrintLine>
    3360:       81 e6           ldi     r24, 0x61       ; 97
    3362:       90 e0           ldi     r25, 0x00       ; 0
    3364:       9f 93           push    r25
    3366:       8f 93           push    r24
    3368:       88 e0           ldi     r24, 0x08       ; 8
    336a:       90 e0           ldi     r25, 0x00       ; 0
    336c:       9f 93           push    r25
    336e:       8f 93           push    r24
    3370:       82 e0           ldi     r24, 0x02       ; 2
    3372:       90 e0           ldi     r25, 0x00       ; 0
    3374:       9f 93           push    r25
    3376:       8f 93           push    r24
    3378:       80 91 54 01     lds     r24, 0x0154
    337c:       6a e0           ldi     r22, 0x0A       ; 10
    337e:       0e 94 36 b1     call    0x1626c ; 0x1626c <__udivmodqi4>
    3382:       89 2f           mov     r24, r25
    3384:       99 27           eor     r25, r25
    3386:       9f 93           push    r25
    3388:       8f 93           push    r24
    338a:       80 91 54 01     lds     r24, 0x0154
    338e:       0e 94 36 b1     call    0x1626c ; 0x1626c <__udivmodqi4>
    3392:       99 27           eor     r25, r25
    3394:       9f 93           push    r25
    3396:       8f 93           push    r24
    3398:       89 ea           ldi     r24, 0xA9       ; 169
    339a:       99 e1           ldi     r25, 0x19       ; 25
    339c:       9f 93           push    r25
    339e:       8f 93           push    r24
    33a0:       07 eb           ldi     r16, 0xB7       ; 183
    33a2:       1c ea           ldi     r17, 0xAC       ; 172
    33a4:       1f 93           push    r17
    33a6:       0f 93           push    r16
    33a8:       e0 91 78 06     lds     r30, 0x0678
    33ac:       f0 91 79 06     lds     r31, 0x0679
    33b0:       09 95           icall
    33b2:       87 e9           ldi     r24, 0x97       ; 151
    33b4:       98 e1           ldi     r25, 0x18       ; 24
    33b6:       9f 93           push    r25
    33b8:       8f 93           push    r24
    33ba:       1f 93           push    r17
    33bc:       0f 93           push    r16
    33be:       e0 91 78 06     lds     r30, 0x0678
    33c2:       f0 91 79 06     lds     r31, 0x0679
    33c6:       09 95           icall
    33c8:       8f e6           ldi     r24, 0x6F       ; 111
    33ca:       98 e1           ldi     r25, 0x18       ; 24
    33cc:       9f 93           push    r25
    33ce:       8f 93           push    r24
    33d0:       1f 93           push    r17
    33d2:       0f 93           push    r16
    33d4:       e0 91 78 06     lds     r30, 0x0678
    33d8:       f0 91 79 06     lds     r31, 0x0679
    33dc:       09 95           icall
    33de:       0e 94 4b 59     call    0xb296  ; 0xb296 <PrintLine>
    33e2:       83 ec           ldi     r24, 0xC3       ; 195
    33e4:       80 93 81 00     sts     0x0081, r24
    33e8:       80 91 6f 00     lds     r24, 0x006F
    33ec:       80 62           ori     r24, 0x20       ; 32
    33ee:       80 93 6f 00     sts     0x006F, r24
    33f2:       8d b7           in      r24, 0x3d       ; 61
    33f4:       9e b7           in      r25, 0x3e       ; 62
    33f6:       46 96           adiw    r24, 0x16       ; 22
    33f8:       8d bf           out     0x3d, r24       ; 61
    33fa:       1f 91           pop     r17
    33fc:       0f 91           pop     r16
    33fe:       08 95           ret

00003400 <LIBFC_CheckSettings>:
    3400:       80 91 a6 05     lds     r24, 0x05A6
    3404:       8d 33           cpi     r24, 0x3D       ; 61
    3406:       38 f0           brcs    .+14            ; 0x3416 <LIBFC_CheckSettings+0x16>
    3408:       80 91 d7 08     lds     r24, 0x08D7
    340c:       87 fd           sbrc    r24, 7
    340e:       03 c0           rjmp    .+6             ; 0x3416 <LIBFC_CheckSettings+0x16>
    3410:       8c e3           ldi     r24, 0x3C       ; 60
    3412:       80 93 a6 05     sts     0x05A6, r24
    3416:       80 91 54 05     lds     r24, 0x0554
    341a:       88 23           and     r24, r24
    341c:       31 f0           breq    .+12            ; 0x342a <LIBFC_CheckSettings+0x2a>
    341e:       80 55           subi    r24, 0x50       ; 80
    3420:       85 36           cpi     r24, 0x65       ; 101
    3422:       18 f0           brcs    .+6             ; 0x342a <LIBFC_CheckSettings+0x2a>
    3424:       8f e7           ldi     r24, 0x7F       ; 127
    3426:       80 93 54 05     sts     0x0554, r24
    342a:       08 95           ret

0000342c <LIBFC_Polling>:
    342c:       80 91 ec 02     lds     r24, 0x02EC
    3430:       88 23           and     r24, r24
    3432:       09 f4           brne    .+2             ; 0x3436 <LIBFC_Polling+0xa>
    3434:       85 c0           rjmp    .+266           ; 0x3540 <LIBFC_Polling+0x114>
    3436:       80 91 26 03     lds     r24, 0x0326
    343a:       81 50           subi    r24, 0x01       ; 1
    343c:       80 93 26 03     sts     0x0326, r24
    3440:       88 23           and     r24, r24
    3442:       09 f0           breq    .+2             ; 0x3446 <LIBFC_Polling+0x1a>
    3444:       69 c0           rjmp    .+210           ; 0x3518 <LIBFC_Polling+0xec>
    3446:       89 e1           ldi     r24, 0x19       ; 25
    3448:       80 93 26 03     sts     0x0326, r24
    344c:       80 91 a6 05     lds     r24, 0x05A6
    3450:       8e 33           cpi     r24, 0x3E       ; 62
    3452:       38 f0           brcs    .+14            ; 0x3462 <LIBFC_Polling+0x36>
    3454:       80 91 d7 08     lds     r24, 0x08D7
    3458:       87 fd           sbrc    r24, 7
    345a:       03 c0           rjmp    .+6             ; 0x3462 <LIBFC_Polling+0x36>
    345c:       8d e3           ldi     r24, 0x3D       ; 61
    345e:       80 93 a6 05     sts     0x05A6, r24
    3462:       80 91 04 04     lds     r24, 0x0404
    3466:       82 38           cpi     r24, 0x82       ; 130
    3468:       a0 f5           brcc    .+104           ; 0x34d2 <LIBFC_Polling+0xa6>
    346a:       80 91 cc 03     lds     r24, 0x03CC
    346e:       90 91 cd 03     lds     r25, 0x03CD
    3472:       80 5d           subi    r24, 0xD0       ; 208
    3474:       97 40           sbci    r25, 0x07       ; 7
    3476:       20 f0           brcs    .+8             ; 0x3480 <LIBFC_Polling+0x54>
    3478:       80 91 1b 05     lds     r24, 0x051B
    347c:       84 36           cpi     r24, 0x64       ; 100
    347e:       20 f4           brcc    .+8             ; 0x3488 <LIBFC_Polling+0x5c>
    3480:       10 92 28 03     sts     0x0328, r1
    3484:       10 92 27 03     sts     0x0327, r1
    3488:       20 91 27 03     lds     r18, 0x0327
    348c:       30 91 28 03     lds     r19, 0x0328
    3490:       21 15           cp      r18, r1
    3492:       31 05           cpc     r19, r1
    3494:       b1 f1           breq    .+108           ; 0x3502 <LIBFC_Polling+0xd6>
    3496:       c9 01           movw    r24, r18
    3498:       01 97           sbiw    r24, 0x01       ; 1
    349a:       90 93 28 03     sts     0x0328, r25
    349e:       80 93 27 03     sts     0x0327, r24
    34a2:       41 97           sbiw    r24, 0x11       ; 17
    34a4:       98 f1           brcs    .+102           ; 0x350c <LIBFC_Polling+0xe0>
    34a6:       80 91 d7 08     lds     r24, 0x08D7
    34aa:       84 ff           sbrs    r24, 4
    34ac:       2f c0           rjmp    .+94            ; 0x350c <LIBFC_Polling+0xe0>
    34ae:       80 91 ca 03     lds     r24, 0x03CA
    34b2:       84 60           ori     r24, 0x04       ; 4
    34b4:       80 93 ca 03     sts     0x03CA, r24
    34b8:       80 91 e5 08     lds     r24, 0x08E5
    34bc:       87 ff           sbrs    r24, 7
    34be:       26 c0           rjmp    .+76            ; 0x350c <LIBFC_Polling+0xe0>
    34c0:       80 91 8d 04     lds     r24, 0x048D
    34c4:       88 23           and     r24, r24
    34c6:       11 f1           breq    .+68            ; 0x350c <LIBFC_Polling+0xe0>
    34c8:       30 93 28 03     sts     0x0328, r19
    34cc:       20 93 27 03     sts     0x0327, r18
    34d0:       1d c0           rjmp    .+58            ; 0x350c <LIBFC_Polling+0xe0>
    34d2:       80 91 04 04     lds     r24, 0x0404
    34d6:       85 3b           cpi     r24, 0xB5       ; 181
    34d8:       c8 f0           brcs    .+50            ; 0x350c <LIBFC_Polling+0xe0>
    34da:       90 91 a6 05     lds     r25, 0x05A6
    34de:       84 e1           ldi     r24, 0x14       ; 20
    34e0:       98 9f           mul     r25, r24
    34e2:       c0 01           movw    r24, r0
    34e4:       11 24           eor     r1, r1
    34e6:       40 96           adiw    r24, 0x10       ; 16
    34e8:       20 91 27 03     lds     r18, 0x0327
    34ec:       30 91 28 03     lds     r19, 0x0328
    34f0:       28 17           cp      r18, r24
    34f2:       39 07           cpc     r19, r25
    34f4:       30 f4           brcc    .+12            ; 0x3502 <LIBFC_Polling+0xd6>
    34f6:       2f 5f           subi    r18, 0xFF       ; 255
    34f8:       3f 4f           sbci    r19, 0xFF       ; 255
    34fa:       30 93 28 03     sts     0x0328, r19
    34fe:       20 93 27 03     sts     0x0327, r18
    3502:       80 91 ca 03     lds     r24, 0x03CA
    3506:       8b 7f           andi    r24, 0xFB       ; 251
    3508:       80 93 ca 03     sts     0x03CA, r24
    350c:       80 91 04 01     lds     r24, 0x0104
    3510:       83 34           cpi     r24, 0x43       ; 67
    3512:       11 f0           breq    .+4             ; 0x3518 <LIBFC_Polling+0xec>
    3514:       10 92 ec 02     sts     0x02EC, r1
    3518:       90 91 05 01     lds     r25, 0x0105
    351c:       96 30           cpi     r25, 0x06       ; 6
    351e:       09 f4           brne    .+2             ; 0x3522 <LIBFC_Polling+0xf6>
    3520:       cf cb           rjmp    .-2146          ; 0x2cc0 <HoTT_Polling>
    3522:       80 91 09 01     lds     r24, 0x0109
    3526:       88 23           and     r24, r24
    3528:       21 f0           breq    .+8             ; 0x3532 <LIBFC_Polling+0x106>
    352a:       81 50           subi    r24, 0x01       ; 1
    352c:       80 93 09 01     sts     0x0109, r24
    3530:       08 95           ret
    3532:       8b e4           ldi     r24, 0x4B       ; 75
    3534:       80 93 09 01     sts     0x0109, r24
    3538:       94 30           cpi     r25, 0x04       ; 4
    353a:       11 f4           brne    .+4             ; 0x3540 <LIBFC_Polling+0x114>
    353c:       0c 94 d4 11     jmp     0x23a8  ; 0x23a8 <a48784362857632195659>
    3540:       08 95           ret

00003542 <__vector_28>:
    3542:       1f 92           push    r1
    3544:       0f 92           push    r0
    3546:       0f b6           in      r0, 0x3f        ; 63
    3548:       0f 92           push    r0
    354a:       11 24           eor     r1, r1
    354c:       2f 93           push    r18
    354e:       3f 93           push    r19
    3550:       4f 93           push    r20
    3552:       5f 93           push    r21
    3554:       6f 93           push    r22
    3556:       7f 93           push    r23
    3558:       8f 93           push    r24
    355a:       9f 93           push    r25
    355c:       af 93           push    r26
    355e:       bf 93           push    r27
    3560:       ef 93           push    r30
    3562:       ff 93           push    r31
    3564:       90 91 ce 00     lds     r25, 0x00CE
    3568:       80 91 ec 04     lds     r24, 0x04EC
    356c:       88 23           and     r24, r24
    356e:       b9 f0           breq    .+46            ; 0x359e <__vector_28+0x5c>
    3570:       90 93 c6 00     sts     0x00C6, r25
    3574:       80 91 ec 04     lds     r24, 0x04EC
    3578:       82 30           cpi     r24, 0x02       ; 2
    357a:       09 f0           breq    .+2             ; 0x357e <__vector_28+0x3c>
    357c:       3e c0           rjmp    .+124           ; 0x35fa <__vector_28+0xb8>
    357e:       9f 3f           cpi     r25, 0xFF       ; 255
    3580:       e1 f5           brne    .+120           ; 0x35fa <__vector_28+0xb8>
    3582:       8f ef           ldi     r24, 0xFF       ; 255
    3584:       94 e3           ldi     r25, 0x34       ; 52
    3586:       ac e0           ldi     r26, 0x0C       ; 12
    3588:       b0 e0           ldi     r27, 0x00       ; 0
    358a:       c2 97           sbiw    r24, 0x32       ; 50
    358c:       a1 09           sbc     r26, r1
    358e:       b1 09           sbc     r27, r1
    3590:       b7 ff           sbrs    r27, 7
    3592:       fb cf           rjmp    .-10            ; 0x358a <__vector_28+0x48>
    3594:       80 91 8c 0a     lds     r24, 0x0A8C
    3598:       80 93 ce 00     sts     0x00CE, r24
    359c:       2e c0           rjmp    .+92            ; 0x35fa <__vector_28+0xb8>
    359e:       20 91 05 01     lds     r18, 0x0105
    35a2:       82 2f           mov     r24, r18
    35a4:       81 50           subi    r24, 0x01       ; 1
    35a6:       83 30           cpi     r24, 0x03       ; 3
    35a8:       20 f4           brcc    .+8             ; 0x35b2 <__vector_28+0x70>
    35aa:       89 2f           mov     r24, r25
    35ac:       0e 94 65 94     call    0x128ca ; 0x128ca <SpektrumParser>
    35b0:       24 c0           rjmp    .+72            ; 0x35fa <__vector_28+0xb8>
    35b2:       24 30           cpi     r18, 0x04       ; 4
    35b4:       21 f4           brne    .+8             ; 0x35be <__vector_28+0x7c>
    35b6:       89 2f           mov     r24, r25
    35b8:       0e 94 e9 0f     call    0x1fd2  ; 0x1fd2 <KLNMIOHMUHG76GFGr43r3>
    35bc:       1e c0           rjmp    .+60            ; 0x35fa <__vector_28+0xb8>
    35be:       28 30           cpi     r18, 0x08       ; 8
    35c0:       21 f4           brne    .+8             ; 0x35ca <__vector_28+0x88>
    35c2:       89 2f           mov     r24, r25
    35c4:       0e 94 07 b0     call    0x1600e ; 0x1600e <User_RX_Parser>
    35c8:       18 c0           rjmp    .+48            ; 0x35fa <__vector_28+0xb8>
    35ca:       80 91 54 01     lds     r24, 0x0154
    35ce:       89 31           cpi     r24, 0x19       ; 25
    35d0:       20 f0           brcs    .+8             ; 0x35da <__vector_28+0x98>
    35d2:       80 91 ea 02     lds     r24, 0x02EA
    35d6:       88 23           and     r24, r24
    35d8:       81 f0           breq    .+32            ; 0x35fa <__vector_28+0xb8>
    35da:       25 30           cpi     r18, 0x05       ; 5
    35dc:       21 f4           brne    .+8             ; 0x35e6 <__vector_28+0xa4>
    35de:       89 2f           mov     r24, r25
    35e0:       0e 94 2e 0f     call    0x1e5c  ; 0x1e5c <FGtj76uzh56z3grEg5t45>
    35e4:       0a c0           rjmp    .+20            ; 0x35fa <__vector_28+0xb8>
    35e6:       26 30           cpi     r18, 0x06       ; 6
    35e8:       19 f4           brne    .+6             ; 0x35f0 <__vector_28+0xae>
    35ea:       89 2f           mov     r24, r25
    35ec:       30 db           rcall   .-2464          ; 0x2c4e <HoTT_Parser>
    35ee:       05 c0           rjmp    .+10            ; 0x35fa <__vector_28+0xb8>
    35f0:       27 30           cpi     r18, 0x07       ; 7
    35f2:       19 f4           brne    .+6             ; 0x35fa <__vector_28+0xb8>
    35f4:       89 2f           mov     r24, r25
    35f6:       0e 94 11 93     call    0x12622 ; 0x12622 <SbusParser>
    35fa:       ff 91           pop     r31
    35fc:       ef 91           pop     r30
    35fe:       bf 91           pop     r27
    3600:       af 91           pop     r26
    3602:       9f 91           pop     r25
    3604:       8f 91           pop     r24
    3606:       7f 91           pop     r23
    3608:       6f 91           pop     r22
    360a:       5f 91           pop     r21
    360c:       4f 91           pop     r20
    360e:       3f 91           pop     r19
    3610:       2f 91           pop     r18
    3612:       0f 90           pop     r0
    3614:       0f be           out     0x3f, r0        ; 63
    3616:       0f 90           pop     r0
    3618:       1f 90           pop     r1
    361a:       18 95           reti

0000361c <ADC_Init>:

//#######################################################################################
void ADC_Init(void)
//#######################################################################################
{
    ADMUX = 0;//Referenz ist extern
    361c:       10 92 7c 00     sts     0x007C, r1
    ANALOG_ON;
    3620:       8f ec           ldi     r24, 0xCF       ; 207
    3622:       80 93 7a 00     sts     0x007A, r24
    3626:       08 95           ret

00003628 <CalcExpandBaroStep>:

#define DESIRED_H_ADC 800

void CalcExpandBaroStep(void)
{
  if(ACC_AltitudeControl) ExpandBaroStep = BaroStep * (long)ExpandBaro;
    3628:       80 91 c2 03     lds     r24, 0x03C2
    362c:       88 23           and     r24, r24
    362e:       a1 f0           breq    .+40            ; 0x3658 <CalcExpandBaroStep+0x30>
    3630:       20 91 0d 01     lds     r18, 0x010D
    3634:       30 91 0e 01     lds     r19, 0x010E
    3638:       a0 91 56 03     lds     r26, 0x0356
    363c:       bb 27           eor     r27, r27
    363e:       a7 fd           sbrc    r26, 7
    3640:       b0 95           com     r27
    3642:       0e 94 c2 b1     call    0x16384 ; 0x16384 <__usmulhisi3>
    3646:       60 93 4e 03     sts     0x034E, r22
    364a:       70 93 4f 03     sts     0x034F, r23
    364e:       80 93 50 03     sts     0x0350, r24
    3652:       90 93 51 03     sts     0x0351, r25
    3656:       08 95           ret
  else ExpandBaroStep = (16 * BaroStep) * (long)ExpandBaro - 4;
    3658:       20 91 0d 01     lds     r18, 0x010D
    365c:       30 91 0e 01     lds     r19, 0x010E
    3660:       22 95           swap    r18
    3662:       32 95           swap    r19
    3664:       30 7f           andi    r19, 0xF0       ; 240
    3666:       32 27           eor     r19, r18
    3668:       20 7f           andi    r18, 0xF0       ; 240
    366a:       32 27           eor     r19, r18
    366c:       a0 91 56 03     lds     r26, 0x0356
    3670:       bb 27           eor     r27, r27
    3672:       a7 fd           sbrc    r26, 7
    3674:       b0 95           com     r27
    3676:       0e 94 c2 b1     call    0x16384 ; 0x16384 <__usmulhisi3>
    367a:       dc 01           movw    r26, r24
    367c:       cb 01           movw    r24, r22
    367e:       04 97           sbiw    r24, 0x04       ; 4
    3680:       a1 09           sbc     r26, r1
    3682:       b1 09           sbc     r27, r1
    3684:       80 93 4e 03     sts     0x034E, r24
    3688:       90 93 4f 03     sts     0x034F, r25
    368c:       a0 93 50 03     sts     0x0350, r26
    3690:       b0 93 51 03     sts     0x0351, r27
    3694:       08 95           ret

00003696 <SucheLuftruckOffset>:
}

void SucheLuftruckOffset(void)
{
    3696:       ef 92           push    r14
    3698:       ff 92           push    r15
    369a:       0f 93           push    r16
    369c:       1f 93           push    r17
    369e:       cf 93           push    r28
    36a0:       df 93           push    r29
 unsigned int off;
 ExpandBaro = 0;
    36a2:       10 92 56 03     sts     0x0356, r1
 CalcExpandBaroStep();
    36a6:       c0 df           rcall   .-128           ; 0x3628 <CalcExpandBaroStep>
  off = GetParamByte(PID_PRESSURE_OFFSET);
    36a8:       83 e0           ldi     r24, 0x03       ; 3
    36aa:       90 e0           ldi     r25, 0x00       ; 0
    36ac:       0e 94 42 25     call    0x4a84  ; 0x4a84 <GetParamByte>
    36b0:       c8 2f           mov     r28, r24
    36b2:       d0 e0           ldi     r29, 0x00       ; 0
  if(off < 240) off += 10;
    36b4:       c0 3f           cpi     r28, 0xF0       ; 240
    36b6:       d1 05           cpc     r29, r1
    36b8:       08 f4           brcc    .+2             ; 0x36bc <SucheLuftruckOffset+0x26>
    36ba:       2a 96           adiw    r28, 0x0a       ; 10
  OCR0A = off;
    36bc:       c7 bd           out     0x27, r28       ; 39
  OCR0B = 255-off;
    36be:       8c 2f           mov     r24, r28
    36c0:       80 95           com     r24
    36c2:       88 bd           out     0x28, r24       ; 40
  Delay_ms_Mess(150);
    36c4:       86 e9           ldi     r24, 0x96       ; 150
    36c6:       90 e0           ldi     r25, 0x00       ; 0
    36c8:       0e 94 6e 9c     call    0x138dc ; 0x138dc <Delay_ms_Mess>
  if(MessLuftdruck > DESIRED_H_ADC) off = 240;
    36cc:       80 91 10 01     lds     r24, 0x0110
    36d0:       90 91 11 01     lds     r25, 0x0111
    36d4:       81 32           cpi     r24, 0x21       ; 33
    36d6:       93 40           sbci    r25, 0x03       ; 3
    36d8:       58 f0           brcs    .+22            ; 0x36f0 <SucheLuftruckOffset+0x5a>
    36da:       c0 ef           ldi     r28, 0xF0       ; 240
    36dc:       d0 e0           ldi     r29, 0x00       ; 0
  for(; off > 5; off--)
   {
    OCR0A = off;
    OCR0B = 255-off;
    Delay_ms_Mess(100);
    printf(".");
    36de:       0f 2e           mov     r0, r31
    36e0:       f6 e3           ldi     r31, 0x36       ; 54
    36e2:       ef 2e           mov     r14, r31
    36e4:       f2 e0           ldi     r31, 0x02       ; 2
    36e6:       ff 2e           mov     r15, r31
    36e8:       f0 2d           mov     r31, r0
    36ea:       07 eb           ldi     r16, 0xB7       ; 183
    36ec:       1c ea           ldi     r17, 0xAC       ; 172
    36ee:       04 c0           rjmp    .+8             ; 0x36f8 <SucheLuftruckOffset+0x62>
  if(off < 240) off += 10;
  OCR0A = off;
  OCR0B = 255-off;
  Delay_ms_Mess(150);
  if(MessLuftdruck > DESIRED_H_ADC) off = 240;
  for(; off > 5; off--)
    36f0:       c6 30           cpi     r28, 0x06       ; 6
    36f2:       d1 05           cpc     r29, r1
    36f4:       a0 f7           brcc    .-24            ; 0x36de <SucheLuftruckOffset+0x48>
    36f6:       20 c0           rjmp    .+64            ; 0x3738 <SucheLuftruckOffset+0xa2>
   {
    OCR0A = off;
    36f8:       8c 2f           mov     r24, r28
    36fa:       c7 bd           out     0x27, r28       ; 39
    36fc:       80 95           com     r24
    OCR0B = 255-off;
    36fe:       88 bd           out     0x28, r24       ; 40
    Delay_ms_Mess(100);
    3700:       84 e6           ldi     r24, 0x64       ; 100
    3702:       90 e0           ldi     r25, 0x00       ; 0
    3704:       0e 94 6e 9c     call    0x138dc ; 0x138dc <Delay_ms_Mess>
    printf(".");
    3708:       ff 92           push    r15
    370a:       ef 92           push    r14
    370c:       1f 93           push    r17
    370e:       0f 93           push    r16
    3710:       e0 91 78 06     lds     r30, 0x0678
    3714:       f0 91 79 06     lds     r31, 0x0679
    3718:       09 95           icall
    if(MessLuftdruck > DESIRED_H_ADC) break;
    371a:       80 91 10 01     lds     r24, 0x0110
    371e:       90 91 11 01     lds     r25, 0x0111
    3722:       0f 90           pop     r0
    3724:       0f 90           pop     r0
    3726:       0f 90           pop     r0
    3728:       0f 90           pop     r0
    372a:       81 32           cpi     r24, 0x21       ; 33
    372c:       93 40           sbci    r25, 0x03       ; 3
    372e:       20 f4           brcc    .+8             ; 0x3738 <SucheLuftruckOffset+0xa2>
  if(off < 240) off += 10;
  OCR0A = off;
  OCR0B = 255-off;
  Delay_ms_Mess(150);
  if(MessLuftdruck > DESIRED_H_ADC) off = 240;
  for(; off > 5; off--)
    3730:       21 97           sbiw    r28, 0x01       ; 1
    3732:       c6 30           cpi     r28, 0x06       ; 6
    3734:       d1 05           cpc     r29, r1
    3736:       00 f7           brcc    .-64            ; 0x36f8 <SucheLuftruckOffset+0x62>
    OCR0B = 255-off;
    Delay_ms_Mess(100);
    printf(".");
    if(MessLuftdruck > DESIRED_H_ADC) break;
   }
   DruckOffsetSetting = off;
    3738:       c0 93 12 05     sts     0x0512, r28
   SetParamByte(PID_PRESSURE_OFFSET, off);
    373c:       6c 2f           mov     r22, r28
    373e:       83 e0           ldi     r24, 0x03       ; 3
    3740:       90 e0           ldi     r25, 0x00       ; 0
    3742:       0e 94 45 25     call    0x4a8a  ; 0x4a8a <SetParamByte>
 if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG) && (DruckOffsetSetting < 10 || DruckOffsetSetting >= 230)) VersionInfo.HardwareError[0] |= FC_ERROR0_PRESSURE;
    3746:       80 91 4b 05     lds     r24, 0x054B
    374a:       80 ff           sbrs    r24, 0
    374c:       0a c0           rjmp    .+20            ; 0x3762 <SucheLuftruckOffset+0xcc>
    374e:       80 91 12 05     lds     r24, 0x0512
    3752:       8a 50           subi    r24, 0x0A       ; 10
    3754:       8c 3d           cpi     r24, 0xDC       ; 220
    3756:       28 f0           brcs    .+10            ; 0x3762 <SucheLuftruckOffset+0xcc>
    3758:       e2 e6           ldi     r30, 0x62       ; 98
    375a:       fa e0           ldi     r31, 0x0A       ; 10
    375c:       80 81           ld      r24, Z
    375e:       80 64           ori     r24, 0x40       ; 64
    3760:       80 83           st      Z, r24

#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + correction of the altitude error in higher altitudes
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 CalAthmospheare = 16;
    3762:       80 e1           ldi     r24, 0x10       ; 16
    3764:       80 93 0c 01     sts     0x010C, r24
 if(ACC_AltitudeControl)
    3768:       80 91 c2 03     lds     r24, 0x03C2
    376c:       88 23           and     r24, r24
    376e:       69 f1           breq    .+90            ; 0x37ca <SucheLuftruckOffset+0x134>
  {
   if(PlatinenVersion < 23) { if(off < 140) CalAthmospheare += (160 - off) / 26; }
    3770:       80 91 54 01     lds     r24, 0x0154
    3774:       87 31           cpi     r24, 0x17       ; 23
    3776:       a8 f4           brcc    .+42            ; 0x37a2 <SucheLuftruckOffset+0x10c>
    3778:       cc 38           cpi     r28, 0x8C       ; 140
    377a:       d1 05           cpc     r29, r1
    377c:       30 f5           brcc    .+76            ; 0x37ca <SucheLuftruckOffset+0x134>
    377e:       20 ea           ldi     r18, 0xA0       ; 160
    3780:       30 e0           ldi     r19, 0x00       ; 0
    3782:       2c 1b           sub     r18, r28
    3784:       3d 0b           sbc     r19, r29
    3786:       a5 ec           ldi     r26, 0xC5       ; 197
    3788:       be e4           ldi     r27, 0x4E       ; 78
    378a:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    378e:       96 95           lsr     r25
    3790:       87 95           ror     r24
    3792:       96 95           lsr     r25
    3794:       87 95           ror     r24
    3796:       96 95           lsr     r25
    3798:       87 95           ror     r24
    379a:       80 5f           subi    r24, 0xF0       ; 240
    379c:       80 93 0c 01     sts     0x010C, r24
    37a0:       14 c0           rjmp    .+40            ; 0x37ca <SucheLuftruckOffset+0x134>
   else { if(off < 170) CalAthmospheare += (188 - off) / 19; }
    37a2:       ca 3a           cpi     r28, 0xAA       ; 170
    37a4:       d1 05           cpc     r29, r1
    37a6:       88 f4           brcc    .+34            ; 0x37ca <SucheLuftruckOffset+0x134>
    37a8:       2c eb           ldi     r18, 0xBC       ; 188
    37aa:       30 e0           ldi     r19, 0x00       ; 0
    37ac:       2c 1b           sub     r18, r28
    37ae:       3d 0b           sbc     r19, r29
    37b0:       a5 e9           ldi     r26, 0x95       ; 149
    37b2:       b7 ed           ldi     r27, 0xD7       ; 215
    37b4:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    37b8:       92 95           swap    r25
    37ba:       82 95           swap    r24
    37bc:       8f 70           andi    r24, 0x0F       ; 15
    37be:       89 27           eor     r24, r25
    37c0:       9f 70           andi    r25, 0x0F       ; 15
    37c2:       89 27           eor     r24, r25
    37c4:       80 5f           subi    r24, 0xF0       ; 240
    37c6:       80 93 0c 01     sts     0x010C, r24
  }
 Luftdruck = MessLuftdruck * CalAthmospheare;
    37ca:       20 91 10 01     lds     r18, 0x0110
    37ce:       30 91 11 01     lds     r19, 0x0111
    37d2:       40 91 0c 01     lds     r20, 0x010C
    37d6:       42 9f           mul     r20, r18
    37d8:       c0 01           movw    r24, r0
    37da:       43 9f           mul     r20, r19
    37dc:       90 0d           add     r25, r0
    37de:       11 24           eor     r1, r1
    37e0:       a0 e0           ldi     r26, 0x00       ; 0
    37e2:       b0 e0           ldi     r27, 0x00       ; 0
    37e4:       80 93 12 01     sts     0x0112, r24
    37e8:       90 93 13 01     sts     0x0113, r25
    37ec:       a0 93 14 01     sts     0x0114, r26
    37f0:       b0 93 15 01     sts     0x0115, r27
#endif
 Delay_ms_Mess(300);
    37f4:       8c e2           ldi     r24, 0x2C       ; 44
    37f6:       91 e0           ldi     r25, 0x01       ; 1
    37f8:       0e 94 6e 9c     call    0x138dc ; 0x138dc <Delay_ms_Mess>
}
    37fc:       df 91           pop     r29
    37fe:       cf 91           pop     r28
    3800:       1f 91           pop     r17
    3802:       0f 91           pop     r16
    3804:       ff 90           pop     r15
    3806:       ef 90           pop     r14
    3808:       08 95           ret

0000380a <__vector_24>:

//#######################################################################################
//
ISR(ADC_vect)
//#######################################################################################
{
    380a:       1f 92           push    r1
    380c:       0f 92           push    r0
    380e:       0f b6           in      r0, 0x3f        ; 63
    3810:       0f 92           push    r0
    3812:       11 24           eor     r1, r1
    3814:       0b b6           in      r0, 0x3b        ; 59
    3816:       0f 92           push    r0
    3818:       8f 92           push    r8
    381a:       9f 92           push    r9
    381c:       af 92           push    r10
    381e:       bf 92           push    r11
    3820:       cf 92           push    r12
    3822:       df 92           push    r13
    3824:       ef 92           push    r14
    3826:       ff 92           push    r15
    3828:       0f 93           push    r16
    382a:       1f 93           push    r17
    382c:       2f 93           push    r18
    382e:       3f 93           push    r19
    3830:       4f 93           push    r20
    3832:       5f 93           push    r21
    3834:       6f 93           push    r22
    3836:       7f 93           push    r23
    3838:       8f 93           push    r24
    383a:       9f 93           push    r25
    383c:       af 93           push    r26
    383e:       bf 93           push    r27
    3840:       ef 93           push    r30
    3842:       ff 93           push    r31
        static signed int subcount = 0;
    static signed int gier1, roll1, nick1, nick_filter, roll_filter;
        static signed int accy, accx;
        static long tmpLuftdruck = 0;
        static char messanzahl_Druck = 0;
    switch(state++)
    3844:       80 91 41 03     lds     r24, 0x0341
    3848:       91 e0           ldi     r25, 0x01       ; 1
    384a:       98 0f           add     r25, r24
    384c:       90 93 41 03     sts     0x0341, r25
    3850:       90 e0           ldi     r25, 0x00       ; 0
    3852:       82 31           cpi     r24, 0x12       ; 18
    3854:       91 05           cpc     r25, r1
    3856:       08 f0           brcs    .+2             ; 0x385a <__vector_24+0x50>
    3858:       5d c5           rjmp    .+2746          ; 0x4314 <__stack+0x215>
    385a:       fc 01           movw    r30, r24
    385c:       ea 5b           subi    r30, 0xBA       ; 186
    385e:       ff 4f           sbci    r31, 0xFF       ; 255
    3860:       0c 94 a7 b1     jmp     0x1634e ; 0x1634e <__tablejump2__>
        {
        case 0:
            nick1 = ADC;
    3864:       80 91 78 00     lds     r24, 0x0078
    3868:       90 91 79 00     lds     r25, 0x0079
    386c:       90 93 40 03     sts     0x0340, r25
    3870:       80 93 3f 03     sts     0x033F, r24
            kanal = AD_ROLL;
    3874:       81 e0           ldi     r24, 0x01       ; 1
    3876:       80 93 3e 03     sts     0x033E, r24
            break;
    387a:       51 c5           rjmp    .+2722          ; 0x431e <__stack+0x21f>
        case 1:
            roll1 = ADC;
    387c:       80 91 78 00     lds     r24, 0x0078
    3880:       90 91 79 00     lds     r25, 0x0079
    3884:       90 93 3d 03     sts     0x033D, r25
    3888:       80 93 3c 03     sts     0x033C, r24
                    kanal = AD_GIER;
    388c:       10 92 3e 03     sts     0x033E, r1
            break;
    3890:       46 c5           rjmp    .+2700          ; 0x431e <__stack+0x21f>
        case 2:
            gier1 = ADC;
    3892:       80 91 78 00     lds     r24, 0x0078
    3896:       90 91 79 00     lds     r25, 0x0079
    389a:       90 93 3b 03     sts     0x033B, r25
    389e:       80 93 3a 03     sts     0x033A, r24
            kanal = AD_ACC_Y;
    38a2:       80 91 0b 01     lds     r24, 0x010B
    38a6:       80 93 3e 03     sts     0x033E, r24
            break;
    38aa:       39 c5           rjmp    .+2674          ; 0x431e <__stack+0x21f>
        case 3:
            Aktuell_ay = NeutralAccY - ADC;
    38ac:       20 91 78 00     lds     r18, 0x0078
    38b0:       30 91 79 00     lds     r19, 0x0079
    38b4:       80 91 4b 04     lds     r24, 0x044B
    38b8:       90 91 4c 04     lds     r25, 0x044C
    38bc:       82 1b           sub     r24, r18
    38be:       93 0b           sbc     r25, r19
    38c0:       90 93 05 05     sts     0x0505, r25
    38c4:       80 93 04 05     sts     0x0504, r24
            accy = Aktuell_ay;
    38c8:       80 91 04 05     lds     r24, 0x0504
    38cc:       90 91 05 05     lds     r25, 0x0505
    38d0:       90 93 39 03     sts     0x0339, r25
    38d4:       80 93 38 03     sts     0x0338, r24
                    kanal = AD_ACC_X;
    38d8:       80 91 0a 01     lds     r24, 0x010A
    38dc:       80 93 3e 03     sts     0x033E, r24
            break;
    38e0:       1e c5           rjmp    .+2620          ; 0x431e <__stack+0x21f>
        case 4:
            Aktuell_ax = ADC - NeutralAccX;
    38e2:       80 91 78 00     lds     r24, 0x0078
    38e6:       90 91 79 00     lds     r25, 0x0079
    38ea:       20 91 4d 04     lds     r18, 0x044D
    38ee:       30 91 4e 04     lds     r19, 0x044E
    38f2:       82 1b           sub     r24, r18
    38f4:       93 0b           sbc     r25, r19
    38f6:       90 93 11 05     sts     0x0511, r25
    38fa:       80 93 10 05     sts     0x0510, r24
            accx =  Aktuell_ax;
    38fe:       80 91 10 05     lds     r24, 0x0510
    3902:       90 91 11 05     lds     r25, 0x0511
    3906:       90 93 37 03     sts     0x0337, r25
    390a:       80 93 36 03     sts     0x0336, r24
            kanal = AD_NICK;
    390e:       82 e0           ldi     r24, 0x02       ; 2
    3910:       80 93 3e 03     sts     0x033E, r24
            break;
    3914:       04 c5           rjmp    .+2568          ; 0x431e <__stack+0x21f>
        case 5:
            nick1 += ADC;
    3916:       80 91 78 00     lds     r24, 0x0078
    391a:       90 91 79 00     lds     r25, 0x0079
    391e:       20 91 3f 03     lds     r18, 0x033F
    3922:       30 91 40 03     lds     r19, 0x0340
    3926:       82 0f           add     r24, r18
    3928:       93 1f           adc     r25, r19
    392a:       90 93 40 03     sts     0x0340, r25
    392e:       80 93 3f 03     sts     0x033F, r24
            kanal = AD_ROLL;
    3932:       81 e0           ldi     r24, 0x01       ; 1
    3934:       80 93 3e 03     sts     0x033E, r24
            break;
    3938:       f2 c4           rjmp    .+2532          ; 0x431e <__stack+0x21f>
        case 6:
            roll1 += ADC;
    393a:       80 91 78 00     lds     r24, 0x0078
    393e:       90 91 79 00     lds     r25, 0x0079
    3942:       20 91 3c 03     lds     r18, 0x033C
    3946:       30 91 3d 03     lds     r19, 0x033D
    394a:       82 0f           add     r24, r18
    394c:       93 1f           adc     r25, r19
    394e:       90 93 3d 03     sts     0x033D, r25
    3952:       80 93 3c 03     sts     0x033C, r24
            kanal = AD_UBAT;
    3956:       84 e0           ldi     r24, 0x04       ; 4
    3958:       80 93 3e 03     sts     0x033E, r24
            break;
    395c:       e0 c4           rjmp    .+2496          ; 0x431e <__stack+0x21f>
        case 7:
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
            if(EE_Parameter.ExtraConfig & CFG_3_3V_REFERENCE) UBat = (3 * UBat + (11 * ADC) / 30) / 4; // there were some single FC2.1 with 3.3V reference
    395e:       80 91 b8 05     lds     r24, 0x05B8
    3962:       83 ff           sbrs    r24, 3
    3964:       29 c0           rjmp    .+82            ; 0x39b8 <__vector_24+0x1ae>
    3966:       40 91 1a 01     lds     r20, 0x011A
    396a:       50 91 1b 01     lds     r21, 0x011B
    396e:       80 91 78 00     lds     r24, 0x0078
    3972:       90 91 79 00     lds     r25, 0x0079
    3976:       6b e0           ldi     r22, 0x0B       ; 11
    3978:       68 9f           mul     r22, r24
    397a:       90 01           movw    r18, r0
    397c:       69 9f           mul     r22, r25
    397e:       30 0d           add     r19, r0
    3980:       11 24           eor     r1, r1
    3982:       a9 e8           ldi     r26, 0x89       ; 137
    3984:       b8 e8           ldi     r27, 0x88       ; 136
    3986:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    398a:       92 95           swap    r25
    398c:       82 95           swap    r24
    398e:       8f 70           andi    r24, 0x0F       ; 15
    3990:       89 27           eor     r24, r25
    3992:       9f 70           andi    r25, 0x0F       ; 15
    3994:       89 27           eor     r24, r25
    3996:       9a 01           movw    r18, r20
    3998:       22 0f           add     r18, r18
    399a:       33 1f           adc     r19, r19
    399c:       42 0f           add     r20, r18
    399e:       53 1f           adc     r21, r19
    39a0:       48 0f           add     r20, r24
    39a2:       59 1f           adc     r21, r25
    39a4:       ca 01           movw    r24, r20
    39a6:       96 95           lsr     r25
    39a8:       87 95           ror     r24
    39aa:       96 95           lsr     r25
    39ac:       87 95           ror     r24
    39ae:       90 93 1b 01     sts     0x011B, r25
    39b2:       80 93 1a 01     sts     0x011A, r24
    39b6:       53 c0           rjmp    .+166           ; 0x3a5e <__vector_24+0x254>
                        else   
#endif
                         {
                          static unsigned int tmpVoltage = 0;
                          if(!tmpVoltage) tmpVoltage = (10 * ADC);
    39b8:       80 91 34 03     lds     r24, 0x0334
    39bc:       90 91 35 03     lds     r25, 0x0335
    39c0:       89 2b           or      r24, r25
    39c2:       99 f4           brne    .+38            ; 0x39ea <__vector_24+0x1e0>
    39c4:       80 91 78 00     lds     r24, 0x0078
    39c8:       90 91 79 00     lds     r25, 0x0079
    39cc:       9c 01           movw    r18, r24
    39ce:       22 0f           add     r18, r18
    39d0:       33 1f           adc     r19, r19
    39d2:       88 0f           add     r24, r24
    39d4:       99 1f           adc     r25, r25
    39d6:       88 0f           add     r24, r24
    39d8:       99 1f           adc     r25, r25
    39da:       88 0f           add     r24, r24
    39dc:       99 1f           adc     r25, r25
    39de:       82 0f           add     r24, r18
    39e0:       93 1f           adc     r25, r19
    39e2:       90 93 35 03     sts     0x0335, r25
    39e6:       80 93 34 03     sts     0x0334, r24
                          if(tmpVoltage <= (10 * ADC)) tmpVoltage += 2; else tmpVoltage -= 2;
    39ea:       20 91 78 00     lds     r18, 0x0078
    39ee:       30 91 79 00     lds     r19, 0x0079
    39f2:       80 91 34 03     lds     r24, 0x0334
    39f6:       90 91 35 03     lds     r25, 0x0335
    39fa:       a9 01           movw    r20, r18
    39fc:       44 0f           add     r20, r20
    39fe:       55 1f           adc     r21, r21
    3a00:       22 0f           add     r18, r18
    3a02:       33 1f           adc     r19, r19
    3a04:       22 0f           add     r18, r18
    3a06:       33 1f           adc     r19, r19
    3a08:       22 0f           add     r18, r18
    3a0a:       33 1f           adc     r19, r19
    3a0c:       24 0f           add     r18, r20
    3a0e:       35 1f           adc     r19, r21
    3a10:       28 17           cp      r18, r24
    3a12:       39 07           cpc     r19, r25
    3a14:       30 f0           brcs    .+12            ; 0x3a22 <__vector_24+0x218>
    3a16:       02 96           adiw    r24, 0x02       ; 2
    3a18:       90 93 35 03     sts     0x0335, r25
    3a1c:       80 93 34 03     sts     0x0334, r24
    3a20:       05 c0           rjmp    .+10            ; 0x3a2c <__vector_24+0x222>
    3a22:       02 97           sbiw    r24, 0x02       ; 2
    3a24:       90 93 35 03     sts     0x0335, r25
    3a28:       80 93 34 03     sts     0x0334, r24
              UBat = tmpVoltage / 31;
    3a2c:       40 91 34 03     lds     r20, 0x0334
    3a30:       50 91 35 03     lds     r21, 0x0335
    3a34:       9a 01           movw    r18, r20
    3a36:       a3 e4           ldi     r26, 0x43       ; 67
    3a38:       b8 e0           ldi     r27, 0x08       ; 8
    3a3a:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    3a3e:       48 1b           sub     r20, r24
    3a40:       59 0b           sbc     r21, r25
    3a42:       56 95           lsr     r21
    3a44:       47 95           ror     r20
    3a46:       84 0f           add     r24, r20
    3a48:       95 1f           adc     r25, r21
    3a4a:       92 95           swap    r25
    3a4c:       82 95           swap    r24
    3a4e:       8f 70           andi    r24, 0x0F       ; 15
    3a50:       89 27           eor     r24, r25
    3a52:       9f 70           andi    r25, 0x0F       ; 15
    3a54:       89 27           eor     r24, r25
    3a56:       90 93 1b 01     sts     0x011B, r25
    3a5a:       80 93 1a 01     sts     0x011A, r24
                         } 
                    kanal = AD_ACC_Z;
    3a5e:       85 e0           ldi     r24, 0x05       ; 5
    3a60:       80 93 3e 03     sts     0x033E, r24
            break;
    3a64:       5c c4           rjmp    .+2232          ; 0x431e <__stack+0x21f>
       case 8:
                         Aktuell_az = ADC;
    3a66:       80 91 78 00     lds     r24, 0x0078
    3a6a:       90 91 79 00     lds     r25, 0x0079
    3a6e:       90 93 07 05     sts     0x0507, r25
    3a72:       80 93 06 05     sts     0x0506, r24
                         AdWertAccHoch = Aktuell_az - NeutralAccZ - (int) NeutralAccZfine;
    3a76:       20 91 06 05     lds     r18, 0x0506
    3a7a:       30 91 07 05     lds     r19, 0x0507
    3a7e:       80 91 47 04     lds     r24, 0x0447
    3a82:       90 91 48 04     lds     r25, 0x0448
    3a86:       40 91 46 04     lds     r20, 0x0446
    3a8a:       28 1b           sub     r18, r24
    3a8c:       39 0b           sbc     r19, r25
    3a8e:       24 1b           sub     r18, r20
    3a90:       31 09           sbc     r19, r1
    3a92:       47 fd           sbrc    r20, 7
    3a94:       33 95           inc     r19
    3a96:       30 93 5c 03     sts     0x035C, r19
    3a9a:       20 93 5b 03     sts     0x035B, r18
                     if(!ACC_AltitudeControl) // The Offset must be corrected, because of the ACC-Drift from vibrations
    3a9e:       20 91 c2 03     lds     r18, 0x03C2
    3aa2:       21 11           cpse    r18, r1
    3aa4:       72 c0           rjmp    .+228           ; 0x3b8a <__vector_24+0x380>
                     {
                      if(AdWertAccHoch > 1)
    3aa6:       20 91 5b 03     lds     r18, 0x035B
    3aaa:       30 91 5c 03     lds     r19, 0x035C
    3aae:       22 30           cpi     r18, 0x02       ; 2
    3ab0:       31 05           cpc     r19, r1
    3ab2:       8c f1           brlt    .+98            ; 0x3b16 <__vector_24+0x30c>
               {
                if(NeutralAccZ < 750)
    3ab4:       8e 3e           cpi     r24, 0xEE       ; 238
    3ab6:       22 e0           ldi     r18, 0x02       ; 2
    3ab8:       92 07           cpc     r25, r18
    3aba:       0c f0           brlt    .+2             ; 0x3abe <__vector_24+0x2b4>
    3abc:       ad c0           rjmp    .+346           ; 0x3c18 <__vector_24+0x40e>
                 {
                  subcount += 5;
    3abe:       20 91 32 03     lds     r18, 0x0332
    3ac2:       30 91 33 03     lds     r19, 0x0333
    3ac6:       a9 01           movw    r20, r18
    3ac8:       4b 5f           subi    r20, 0xFB       ; 251
    3aca:       5f 4f           sbci    r21, 0xFF       ; 255
    3acc:       50 93 33 03     sts     0x0333, r21
    3ad0:       40 93 32 03     sts     0x0332, r20
                  if(modell_fliegt < 500) subcount += 10;
    3ad4:       40 91 cc 03     lds     r20, 0x03CC
    3ad8:       50 91 cd 03     lds     r21, 0x03CD
    3adc:       44 3f           cpi     r20, 0xF4       ; 244
    3ade:       51 40           sbci    r21, 0x01       ; 1
    3ae0:       30 f4           brcc    .+12            ; 0x3aee <__vector_24+0x2e4>
    3ae2:       21 5f           subi    r18, 0xF1       ; 241
    3ae4:       3f 4f           sbci    r19, 0xFF       ; 255
    3ae6:       30 93 33 03     sts     0x0333, r19
    3aea:       20 93 32 03     sts     0x0332, r18
                  if(subcount > 100) { NeutralAccZ++; subcount -= 100;}
    3aee:       20 91 32 03     lds     r18, 0x0332
    3af2:       30 91 33 03     lds     r19, 0x0333
    3af6:       25 36           cpi     r18, 0x65       ; 101
    3af8:       31 05           cpc     r19, r1
    3afa:       0c f4           brge    .+2             ; 0x3afe <__vector_24+0x2f4>
    3afc:       8d c0           rjmp    .+282           ; 0x3c18 <__vector_24+0x40e>
    3afe:       01 96           adiw    r24, 0x01       ; 1
    3b00:       90 93 48 04     sts     0x0448, r25
    3b04:       80 93 47 04     sts     0x0447, r24
    3b08:       24 56           subi    r18, 0x64       ; 100
    3b0a:       31 09           sbc     r19, r1
    3b0c:       30 93 33 03     sts     0x0333, r19
    3b10:       20 93 32 03     sts     0x0332, r18
    3b14:       81 c0           rjmp    .+258           ; 0x3c18 <__vector_24+0x40e>
                 }
               }
               else if(AdWertAccHoch < -1)
    3b16:       20 91 5b 03     lds     r18, 0x035B
    3b1a:       30 91 5c 03     lds     r19, 0x035C
    3b1e:       2f 3f           cpi     r18, 0xFF       ; 255
    3b20:       3f 4f           sbci    r19, 0xFF       ; 255
    3b22:       0c f0           brlt    .+2             ; 0x3b26 <__vector_24+0x31c>
    3b24:       79 c0           rjmp    .+242           ; 0x3c18 <__vector_24+0x40e>
               {
                if(NeutralAccZ > 550)
    3b26:       87 32           cpi     r24, 0x27       ; 39
    3b28:       22 e0           ldi     r18, 0x02       ; 2
    3b2a:       92 07           cpc     r25, r18
    3b2c:       0c f4           brge    .+2             ; 0x3b30 <__vector_24+0x326>
    3b2e:       74 c0           rjmp    .+232           ; 0x3c18 <__vector_24+0x40e>
                 {
                  subcount -= 5;
    3b30:       20 91 32 03     lds     r18, 0x0332
    3b34:       30 91 33 03     lds     r19, 0x0333
    3b38:       a9 01           movw    r20, r18
    3b3a:       45 50           subi    r20, 0x05       ; 5
    3b3c:       51 09           sbc     r21, r1
    3b3e:       50 93 33 03     sts     0x0333, r21
    3b42:       40 93 32 03     sts     0x0332, r20
                  if(modell_fliegt < 500) subcount -= 10;
    3b46:       40 91 cc 03     lds     r20, 0x03CC
    3b4a:       50 91 cd 03     lds     r21, 0x03CD
    3b4e:       44 3f           cpi     r20, 0xF4       ; 244
    3b50:       51 40           sbci    r21, 0x01       ; 1
    3b52:       30 f4           brcc    .+12            ; 0x3b60 <__vector_24+0x356>
    3b54:       2f 50           subi    r18, 0x0F       ; 15
    3b56:       31 09           sbc     r19, r1
    3b58:       30 93 33 03     sts     0x0333, r19
    3b5c:       20 93 32 03     sts     0x0332, r18
                  if(subcount < -100) { NeutralAccZ--; subcount += 100;}
    3b60:       20 91 32 03     lds     r18, 0x0332
    3b64:       30 91 33 03     lds     r19, 0x0333
    3b68:       2c 39           cpi     r18, 0x9C       ; 156
    3b6a:       ef ef           ldi     r30, 0xFF       ; 255
    3b6c:       3e 07           cpc     r19, r30
    3b6e:       0c f0           brlt    .+2             ; 0x3b72 <__vector_24+0x368>
    3b70:       53 c0           rjmp    .+166           ; 0x3c18 <__vector_24+0x40e>
    3b72:       01 97           sbiw    r24, 0x01       ; 1
    3b74:       90 93 48 04     sts     0x0448, r25
    3b78:       80 93 47 04     sts     0x0447, r24
    3b7c:       2c 59           subi    r18, 0x9C       ; 156
    3b7e:       3f 4f           sbci    r19, 0xFF       ; 255
    3b80:       30 93 33 03     sts     0x0333, r19
    3b84:       20 93 32 03     sts     0x0332, r18
    3b88:       47 c0           rjmp    .+142           ; 0x3c18 <__vector_24+0x40e>
                 }
               }
             }
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                         else
                         if(CosAttitude > 8192 - 50) // horizontal leveled within 6°
    3b8a:       80 91 2d 06     lds     r24, 0x062D
    3b8e:       90 91 2e 06     lds     r25, 0x062E
    3b92:       8f 3c           cpi     r24, 0xCF       ; 207
    3b94:       9f 41           sbci    r25, 0x1F       ; 31
    3b96:       0c f4           brge    .+2             ; 0x3b9a <__vector_24+0x390>
    3b98:       3f c0           rjmp    .+126           ; 0x3c18 <__vector_24+0x40e>
                     {
                      if(AdWertAccHoch > 1)
    3b9a:       80 91 5b 03     lds     r24, 0x035B
    3b9e:       90 91 5c 03     lds     r25, 0x035C
    3ba2:       02 97           sbiw    r24, 0x02       ; 2
    3ba4:       cc f0           brlt    .+50            ; 0x3bd8 <__vector_24+0x3ce>
               {
                  if(++subcount > 5000) 
    3ba6:       20 91 32 03     lds     r18, 0x0332
    3baa:       30 91 33 03     lds     r19, 0x0333
    3bae:       c9 01           movw    r24, r18
    3bb0:       01 96           adiw    r24, 0x01       ; 1
    3bb2:       90 93 33 03     sts     0x0333, r25
    3bb6:       80 93 32 03     sts     0x0332, r24
    3bba:       89 38           cpi     r24, 0x89       ; 137
    3bbc:       93 41           sbci    r25, 0x13       ; 19
    3bbe:       64 f1           brlt    .+88            ; 0x3c18 <__vector_24+0x40e>
                                   { 
                    if(NeutralAccZfine < 6) NeutralAccZfine++; 
    3bc0:       46 30           cpi     r20, 0x06       ; 6
    3bc2:       1c f4           brge    .+6             ; 0x3bca <__vector_24+0x3c0>
    3bc4:       4f 5f           subi    r20, 0xFF       ; 255
    3bc6:       40 93 46 04     sts     0x0446, r20
                                        subcount -= 5000;
    3bca:       27 58           subi    r18, 0x87       ; 135
    3bcc:       33 41           sbci    r19, 0x13       ; 19
    3bce:       30 93 33 03     sts     0x0333, r19
    3bd2:       20 93 32 03     sts     0x0332, r18
    3bd6:       20 c0           rjmp    .+64            ; 0x3c18 <__vector_24+0x40e>
                                   }
               }
               else 
                           if(AdWertAccHoch < -1)
    3bd8:       80 91 5b 03     lds     r24, 0x035B
    3bdc:       90 91 5c 03     lds     r25, 0x035C
    3be0:       8f 3f           cpi     r24, 0xFF       ; 255
    3be2:       9f 4f           sbci    r25, 0xFF       ; 255
    3be4:       cc f4           brge    .+50            ; 0x3c18 <__vector_24+0x40e>
               {
                  if(--subcount < -5000) 
    3be6:       80 91 32 03     lds     r24, 0x0332
    3bea:       90 91 33 03     lds     r25, 0x0333
    3bee:       9c 01           movw    r18, r24
    3bf0:       21 50           subi    r18, 0x01       ; 1
    3bf2:       31 09           sbc     r19, r1
    3bf4:       30 93 33 03     sts     0x0333, r19
    3bf8:       20 93 32 03     sts     0x0332, r18
    3bfc:       28 37           cpi     r18, 0x78       ; 120
    3bfe:       3c 4e           sbci    r19, 0xEC       ; 236
    3c00:       5c f4           brge    .+22            ; 0x3c18 <__vector_24+0x40e>
                                   { 
                    if(NeutralAccZfine > -6) NeutralAccZfine--; 
    3c02:       4b 3f           cpi     r20, 0xFB       ; 251
    3c04:       1c f0           brlt    .+6             ; 0x3c0c <__vector_24+0x402>
    3c06:       41 50           subi    r20, 0x01       ; 1
    3c08:       40 93 46 04     sts     0x0446, r20
                                        subcount += 5000;
    3c0c:       89 57           subi    r24, 0x79       ; 121
    3c0e:       9c 4e           sbci    r25, 0xEC       ; 236
    3c10:       90 93 33 03     sts     0x0333, r25
    3c14:       80 93 32 03     sts     0x0332, r24
                                   }
               }
             }
#endif
            Mess_Integral_Hoch += AdWertAccHoch;      // Integrieren
    3c18:       80 91 5b 03     lds     r24, 0x035B
    3c1c:       90 91 5c 03     lds     r25, 0x035C
    3c20:       40 91 1e 04     lds     r20, 0x041E
    3c24:       50 91 1f 04     lds     r21, 0x041F
    3c28:       60 91 20 04     lds     r22, 0x0420
    3c2c:       70 91 21 04     lds     r23, 0x0421
    3c30:       aa 27           eor     r26, r26
    3c32:       97 fd           sbrc    r25, 7
    3c34:       a0 95           com     r26
    3c36:       ba 2f           mov     r27, r26
    3c38:       84 0f           add     r24, r20
    3c3a:       95 1f           adc     r25, r21
    3c3c:       a6 1f           adc     r26, r22
    3c3e:       b7 1f           adc     r27, r23
    3c40:       80 93 1e 04     sts     0x041E, r24
    3c44:       90 93 1f 04     sts     0x041F, r25
    3c48:       a0 93 20 04     sts     0x0420, r26
    3c4c:       b0 93 21 04     sts     0x0421, r27
            Mess_Integral_Hoch -= Mess_Integral_Hoch / 1024; // dämfen
    3c50:       c0 90 1e 04     lds     r12, 0x041E
    3c54:       d0 90 1f 04     lds     r13, 0x041F
    3c58:       e0 90 20 04     lds     r14, 0x0420
    3c5c:       f0 90 21 04     lds     r15, 0x0421
    3c60:       80 91 1e 04     lds     r24, 0x041E
    3c64:       90 91 1f 04     lds     r25, 0x041F
    3c68:       a0 91 20 04     lds     r26, 0x0420
    3c6c:       b0 91 21 04     lds     r27, 0x0421
    3c70:       bb 23           and     r27, r27
    3c72:       24 f4           brge    .+8             ; 0x3c7c <__vector_24+0x472>
    3c74:       81 50           subi    r24, 0x01       ; 1
    3c76:       9c 4f           sbci    r25, 0xFC       ; 252
    3c78:       af 4f           sbci    r26, 0xFF       ; 255
    3c7a:       bf 4f           sbci    r27, 0xFF       ; 255
    3c7c:       ac 01           movw    r20, r24
    3c7e:       bd 01           movw    r22, r26
    3c80:       03 2e           mov     r0, r19
    3c82:       3a e0           ldi     r19, 0x0A       ; 10
    3c84:       75 95           asr     r23
    3c86:       67 95           ror     r22
    3c88:       57 95           ror     r21
    3c8a:       47 95           ror     r20
    3c8c:       3a 95           dec     r19
    3c8e:       d1 f7           brne    .-12            ; 0x3c84 <__vector_24+0x47a>
    3c90:       30 2d           mov     r19, r0
    3c92:       d7 01           movw    r26, r14
    3c94:       c6 01           movw    r24, r12
    3c96:       84 1b           sub     r24, r20
    3c98:       95 0b           sbc     r25, r21
    3c9a:       a6 0b           sbc     r26, r22
    3c9c:       b7 0b           sbc     r27, r23
    3c9e:       80 93 1e 04     sts     0x041E, r24
    3ca2:       90 93 1f 04     sts     0x041F, r25
    3ca6:       a0 93 20 04     sts     0x0420, r26
    3caa:       b0 93 21 04     sts     0x0421, r27
                kanal = AD_DRUCK;
    3cae:       83 e0           ldi     r24, 0x03       ; 3
    3cb0:       80 93 3e 03     sts     0x033E, r24
            break;
    3cb4:       34 c3           rjmp    .+1640          ; 0x431e <__stack+0x21f>
   // "case 9:" fehlt hier absichtlich
        case 10:
            nick1 += ADC;
    3cb6:       80 91 78 00     lds     r24, 0x0078
    3cba:       90 91 79 00     lds     r25, 0x0079
    3cbe:       20 91 3f 03     lds     r18, 0x033F
    3cc2:       30 91 40 03     lds     r19, 0x0340
    3cc6:       82 0f           add     r24, r18
    3cc8:       93 1f           adc     r25, r19
    3cca:       90 93 40 03     sts     0x0340, r25
    3cce:       80 93 3f 03     sts     0x033F, r24
            kanal = AD_ROLL;
    3cd2:       81 e0           ldi     r24, 0x01       ; 1
    3cd4:       80 93 3e 03     sts     0x033E, r24
            break;
    3cd8:       22 c3           rjmp    .+1604          ; 0x431e <__stack+0x21f>
        case 11:
            roll1 += ADC;
    3cda:       80 91 78 00     lds     r24, 0x0078
    3cde:       90 91 79 00     lds     r25, 0x0079
    3ce2:       20 91 3c 03     lds     r18, 0x033C
    3ce6:       30 91 3d 03     lds     r19, 0x033D
    3cea:       82 0f           add     r24, r18
    3cec:       93 1f           adc     r25, r19
    3cee:       90 93 3d 03     sts     0x033D, r25
    3cf2:       80 93 3c 03     sts     0x033C, r24
                    kanal = AD_GIER;
    3cf6:       10 92 3e 03     sts     0x033E, r1
            break;
    3cfa:       11 c3           rjmp    .+1570          ; 0x431e <__stack+0x21f>
/*            if(PlatinenVersion == 10)  AdWertGier = (ADC + gier1 + 1) / 2;
            else
            if(PlatinenVersion >= 20)  AdWertGier = 2047 - (ADC + gier1);
                        else                                       AdWertGier = (ADC + gier1);
*/
                        AdWertGier = 2047 - (ADC + gier1);
    3cfc:       20 91 78 00     lds     r18, 0x0078
    3d00:       30 91 79 00     lds     r19, 0x0079
    3d04:       8f ef           ldi     r24, 0xFF       ; 255
    3d06:       97 e0           ldi     r25, 0x07       ; 7
    3d08:       82 1b           sub     r24, r18
    3d0a:       93 0b           sbc     r25, r19
    3d0c:       20 91 3a 03     lds     r18, 0x033A
    3d10:       30 91 3b 03     lds     r19, 0x033B
    3d14:       82 1b           sub     r24, r18
    3d16:       93 0b           sbc     r25, r19
    3d18:       90 93 62 03     sts     0x0362, r25
    3d1c:       80 93 61 03     sts     0x0361, r24
            kanal = AD_ACC_Y;
    3d20:       80 91 0b 01     lds     r24, 0x010B
    3d24:       80 93 3e 03     sts     0x033E, r24
            break;
    3d28:       fa c2           rjmp    .+1524          ; 0x431e <__stack+0x21f>
        case 13:
            Aktuell_ay = NeutralAccY - ADC;
    3d2a:       20 91 78 00     lds     r18, 0x0078
    3d2e:       30 91 79 00     lds     r19, 0x0079
    3d32:       80 91 4b 04     lds     r24, 0x044B
    3d36:       90 91 4c 04     lds     r25, 0x044C
    3d3a:       82 1b           sub     r24, r18
    3d3c:       93 0b           sbc     r25, r19
    3d3e:       90 93 05 05     sts     0x0505, r25
    3d42:       80 93 04 05     sts     0x0504, r24
            AdWertAccRoll = (Aktuell_ay + accy);
    3d46:       20 91 04 05     lds     r18, 0x0504
    3d4a:       30 91 05 05     lds     r19, 0x0505
    3d4e:       80 91 38 03     lds     r24, 0x0338
    3d52:       90 91 39 03     lds     r25, 0x0339
    3d56:       82 0f           add     r24, r18
    3d58:       93 1f           adc     r25, r19
    3d5a:       90 93 60 03     sts     0x0360, r25
    3d5e:       80 93 5f 03     sts     0x035F, r24
            kanal = AD_ACC_X;
    3d62:       80 91 0a 01     lds     r24, 0x010A
    3d66:       80 93 3e 03     sts     0x033E, r24
            break;
    3d6a:       d9 c2           rjmp    .+1458          ; 0x431e <__stack+0x21f>
        case 14:
            Aktuell_ax = ADC - NeutralAccX;
    3d6c:       80 91 78 00     lds     r24, 0x0078
    3d70:       90 91 79 00     lds     r25, 0x0079
    3d74:       20 91 4d 04     lds     r18, 0x044D
    3d78:       30 91 4e 04     lds     r19, 0x044E
    3d7c:       82 1b           sub     r24, r18
    3d7e:       93 0b           sbc     r25, r19
    3d80:       90 93 11 05     sts     0x0511, r25
    3d84:       80 93 10 05     sts     0x0510, r24
            AdWertAccNick =  (Aktuell_ax + accx);
    3d88:       20 91 10 05     lds     r18, 0x0510
    3d8c:       30 91 11 05     lds     r19, 0x0511
    3d90:       80 91 36 03     lds     r24, 0x0336
    3d94:       90 91 37 03     lds     r25, 0x0337
    3d98:       82 0f           add     r24, r18
    3d9a:       93 1f           adc     r25, r19
    3d9c:       90 93 5e 03     sts     0x035E, r25
    3da0:       80 93 5d 03     sts     0x035D, r24
            kanal = AD_NICK;
    3da4:       82 e0           ldi     r24, 0x02       ; 2
    3da6:       80 93 3e 03     sts     0x033E, r24
            break;
    3daa:       b9 c2           rjmp    .+1394          ; 0x431e <__stack+0x21f>
        case 15:
            nick1 += ADC;
    3dac:       20 91 78 00     lds     r18, 0x0078
    3db0:       30 91 79 00     lds     r19, 0x0079
    3db4:       80 91 3f 03     lds     r24, 0x033F
    3db8:       90 91 40 03     lds     r25, 0x0340
    3dbc:       82 0f           add     r24, r18
    3dbe:       93 1f           adc     r25, r19
            //if(PlatinenVersion == 10) nick1 *= 2; else 
                        nick1 *= 4;
    3dc0:       88 0f           add     r24, r24
    3dc2:       99 1f           adc     r25, r25
    3dc4:       88 0f           add     r24, r24
    3dc6:       99 1f           adc     r25, r25
    3dc8:       90 93 40 03     sts     0x0340, r25
    3dcc:       80 93 3f 03     sts     0x033F, r24
            AdWertNick = nick1 / 8;
    3dd0:       9c 01           movw    r18, r24
    3dd2:       99 23           and     r25, r25
    3dd4:       14 f4           brge    .+4             ; 0x3dda <__vector_24+0x5d0>
    3dd6:       29 5f           subi    r18, 0xF9       ; 249
    3dd8:       3f 4f           sbci    r19, 0xFF       ; 255
    3dda:       35 95           asr     r19
    3ddc:       27 95           ror     r18
    3dde:       35 95           asr     r19
    3de0:       27 95           ror     r18
    3de2:       35 95           asr     r19
    3de4:       27 95           ror     r18
    3de6:       30 93 66 03     sts     0x0366, r19
    3dea:       20 93 65 03     sts     0x0365, r18
            nick_filter = (nick_filter + nick1) / 2;
    3dee:       20 91 30 03     lds     r18, 0x0330
    3df2:       30 91 31 03     lds     r19, 0x0331
    3df6:       82 0f           add     r24, r18
    3df8:       93 1f           adc     r25, r19
    3dfa:       99 23           and     r25, r25
    3dfc:       0c f4           brge    .+2             ; 0x3e00 <__vector_24+0x5f6>
    3dfe:       01 96           adiw    r24, 0x01       ; 1
    3e00:       95 95           asr     r25
    3e02:       87 95           ror     r24
    3e04:       90 93 31 03     sts     0x0331, r25
    3e08:       80 93 30 03     sts     0x0330, r24
            HiResNick = nick_filter - AdNeutralNick;
    3e0c:       20 91 57 04     lds     r18, 0x0457
    3e10:       30 91 58 04     lds     r19, 0x0458
    3e14:       82 1b           sub     r24, r18
    3e16:       93 0b           sbc     r25, r19
    3e18:       90 93 19 01     sts     0x0119, r25
    3e1c:       80 93 18 01     sts     0x0118, r24
            AdWertNickFilter = (AdWertNickFilter + HiResNick) / 2;
    3e20:       20 91 69 03     lds     r18, 0x0369
    3e24:       30 91 6a 03     lds     r19, 0x036A
    3e28:       80 91 18 01     lds     r24, 0x0118
    3e2c:       90 91 19 01     lds     r25, 0x0119
    3e30:       82 0f           add     r24, r18
    3e32:       93 1f           adc     r25, r19
    3e34:       99 23           and     r25, r25
    3e36:       0c f4           brge    .+2             ; 0x3e3a <__vector_24+0x630>
    3e38:       01 96           adiw    r24, 0x01       ; 1
    3e3a:       95 95           asr     r25
    3e3c:       87 95           ror     r24
    3e3e:       90 93 6a 03     sts     0x036A, r25
    3e42:       80 93 69 03     sts     0x0369, r24
            kanal = AD_ROLL;
    3e46:       81 e0           ldi     r24, 0x01       ; 1
    3e48:       80 93 3e 03     sts     0x033E, r24
            break;
    3e4c:       68 c2           rjmp    .+1232          ; 0x431e <__stack+0x21f>
        case 16:
            roll1 += ADC;
    3e4e:       20 91 78 00     lds     r18, 0x0078
    3e52:       30 91 79 00     lds     r19, 0x0079
    3e56:       80 91 3c 03     lds     r24, 0x033C
    3e5a:       90 91 3d 03     lds     r25, 0x033D
    3e5e:       82 0f           add     r24, r18
    3e60:       93 1f           adc     r25, r19
            //if(PlatinenVersion == 10) roll1 *= 2; else 
                        roll1 *= 4;
    3e62:       88 0f           add     r24, r24
    3e64:       99 1f           adc     r25, r25
    3e66:       88 0f           add     r24, r24
    3e68:       99 1f           adc     r25, r25
    3e6a:       90 93 3d 03     sts     0x033D, r25
    3e6e:       80 93 3c 03     sts     0x033C, r24
            AdWertRoll = roll1 / 8;
    3e72:       9c 01           movw    r18, r24
    3e74:       99 23           and     r25, r25
    3e76:       14 f4           brge    .+4             ; 0x3e7c <__vector_24+0x672>
    3e78:       29 5f           subi    r18, 0xF9       ; 249
    3e7a:       3f 4f           sbci    r19, 0xFF       ; 255
    3e7c:       35 95           asr     r19
    3e7e:       27 95           ror     r18
    3e80:       35 95           asr     r19
    3e82:       27 95           ror     r18
    3e84:       35 95           asr     r19
    3e86:       27 95           ror     r18
    3e88:       30 93 64 03     sts     0x0364, r19
    3e8c:       20 93 63 03     sts     0x0363, r18
            roll_filter = (roll_filter + roll1) / 2;
    3e90:       20 91 2e 03     lds     r18, 0x032E
    3e94:       30 91 2f 03     lds     r19, 0x032F
    3e98:       82 0f           add     r24, r18
    3e9a:       93 1f           adc     r25, r19
    3e9c:       99 23           and     r25, r25
    3e9e:       0c f4           brge    .+2             ; 0x3ea2 <__vector_24+0x698>
    3ea0:       01 96           adiw    r24, 0x01       ; 1
    3ea2:       95 95           asr     r25
    3ea4:       87 95           ror     r24
    3ea6:       90 93 2f 03     sts     0x032F, r25
    3eaa:       80 93 2e 03     sts     0x032E, r24
            HiResRoll = roll_filter - AdNeutralRoll;
    3eae:       20 91 55 04     lds     r18, 0x0455
    3eb2:       30 91 56 04     lds     r19, 0x0456
    3eb6:       82 1b           sub     r24, r18
    3eb8:       93 0b           sbc     r25, r19
    3eba:       90 93 17 01     sts     0x0117, r25
    3ebe:       80 93 16 01     sts     0x0116, r24
            AdWertRollFilter = (AdWertRollFilter + HiResRoll) / 2;
    3ec2:       20 91 67 03     lds     r18, 0x0367
    3ec6:       30 91 68 03     lds     r19, 0x0368
    3eca:       80 91 16 01     lds     r24, 0x0116
    3ece:       90 91 17 01     lds     r25, 0x0117
    3ed2:       82 0f           add     r24, r18
    3ed4:       93 1f           adc     r25, r19
    3ed6:       99 23           and     r25, r25
    3ed8:       0c f4           brge    .+2             ; 0x3edc <__vector_24+0x6d2>
    3eda:       01 96           adiw    r24, 0x01       ; 1
    3edc:       95 95           asr     r25
    3ede:       87 95           ror     r24
    3ee0:       90 93 68 03     sts     0x0368, r25
    3ee4:       80 93 67 03     sts     0x0367, r24
                kanal = AD_DRUCK;
    3ee8:       83 e0           ldi     r24, 0x03       ; 3
    3eea:       80 93 3e 03     sts     0x033E, r24
            break;
    3eee:       17 c2           rjmp    .+1070          ; 0x431e <__stack+0x21f>
        case 17:
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                        if(ACC_AltitudeControl)                 
    3ef0:       80 91 c2 03     lds     r24, 0x03C2
    3ef4:       88 23           and     r24, r24
    3ef6:       11 f1           breq    .+68            ; 0x3f3c <__vector_24+0x732>
                        {
                         HoehenWertF_Mess = (ACC_AltitudeFusion(0) + SA_FILTER/2)/SA_FILTER;    // cm
    3ef8:       80 e0           ldi     r24, 0x00       ; 0
    3efa:       0e 94 a0 16     call    0x2d40  ; 0x2d40 <ACC_AltitudeFusion>
    3efe:       ab 01           movw    r20, r22
    3f00:       bc 01           movw    r22, r24
    3f02:       5f 5f           subi    r21, 0xFF       ; 255
    3f04:       6f 4f           sbci    r22, 0xFF       ; 255
    3f06:       7f 4f           sbci    r23, 0xFF       ; 255
    3f08:       db 01           movw    r26, r22
    3f0a:       ca 01           movw    r24, r20
    3f0c:       77 23           and     r23, r23
    3f0e:       24 f4           brge    .+8             ; 0x3f18 <__vector_24+0x70e>
    3f10:       81 50           subi    r24, 0x01       ; 1
    3f12:       9e 4f           sbci    r25, 0xFE       ; 254
    3f14:       af 4f           sbci    r26, 0xFF       ; 255
    3f16:       bf 4f           sbci    r27, 0xFF       ; 255
    3f18:       07 2e           mov     r0, r23
    3f1a:       79 e0           ldi     r23, 0x09       ; 9
    3f1c:       b5 95           asr     r27
    3f1e:       a7 95           ror     r26
    3f20:       97 95           ror     r25
    3f22:       87 95           ror     r24
    3f24:       7a 95           dec     r23
    3f26:       d1 f7           brne    .-12            ; 0x3f1c <__vector_24+0x712>
    3f28:       70 2d           mov     r23, r0
    3f2a:       80 93 42 03     sts     0x0342, r24
    3f2e:       90 93 43 03     sts     0x0343, r25
    3f32:       a0 93 44 03     sts     0x0344, r26
    3f36:       b0 93 45 03     sts     0x0345, r27
    3f3a:       10 c0           rjmp    .+32            ; 0x3f5c <__vector_24+0x752>
            }
                        else HoehenWertF_Mess = HoehenWert;
    3f3c:       80 91 fe 03     lds     r24, 0x03FE
    3f40:       90 91 ff 03     lds     r25, 0x03FF
    3f44:       a0 91 00 04     lds     r26, 0x0400
    3f48:       b0 91 01 04     lds     r27, 0x0401
    3f4c:       80 93 42 03     sts     0x0342, r24
    3f50:       90 93 43 03     sts     0x0343, r25
    3f54:       a0 93 44 03     sts     0x0344, r26
    3f58:       b0 93 45 03     sts     0x0345, r27
#endif
            state = 0;
    3f5c:       10 92 41 03     sts     0x0341, r1
                        AdReady = 1;
    3f60:       81 e0           ldi     r24, 0x01       ; 1
    3f62:       80 93 0f 01     sts     0x010F, r24
            ZaehlMessungen++;
    3f66:       80 91 52 03     lds     r24, 0x0352
    3f6a:       90 91 53 03     lds     r25, 0x0353
    3f6e:       01 96           adiw    r24, 0x01       ; 1
    3f70:       90 93 53 03     sts     0x0353, r25
    3f74:       80 93 52 03     sts     0x0352, r24
            // "break" fehlt hier absichtlich
        case 9:
                MessLuftdruck = ADC;
    3f78:       80 91 78 00     lds     r24, 0x0078
    3f7c:       90 91 79 00     lds     r25, 0x0079
    3f80:       90 93 11 01     sts     0x0111, r25
    3f84:       80 93 10 01     sts     0x0110, r24
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                        if(ACC_AltitudeControl)                 
    3f88:       80 91 c2 03     lds     r24, 0x03C2
    3f8c:       88 23           and     r24, r24
    3f8e:       09 f4           brne    .+2             ; 0x3f92 <__vector_24+0x788>
    3f90:       6e c0           rjmp    .+220           ; 0x406e <__vector_24+0x864>
                        {
//                              ExpandBaroStep = BaroStep * (long)ExpandBaro; // wird in fc.c aufgerufen
//                              tmpLuftdruck = MessLuftdruck - BaroStep * (long)ExpandBaro;  // -523 counts per offset step
                                tmpLuftdruck = MessLuftdruck - ExpandBaroStep;  // -523 counts per offset step
    3f92:       c0 90 10 01     lds     r12, 0x0110
    3f96:       d0 90 11 01     lds     r13, 0x0111
    3f9a:       e1 2c           mov     r14, r1
    3f9c:       f1 2c           mov     r15, r1
    3f9e:       80 91 4e 03     lds     r24, 0x034E
    3fa2:       90 91 4f 03     lds     r25, 0x034F
    3fa6:       a0 91 50 03     lds     r26, 0x0350
    3faa:       b0 91 51 03     lds     r27, 0x0351
    3fae:       c8 1a           sub     r12, r24
    3fb0:       d9 0a           sbc     r13, r25
    3fb2:       ea 0a           sbc     r14, r26
    3fb4:       fb 0a           sbc     r15, r27
    3fb6:       c0 92 2a 03     sts     0x032A, r12
    3fba:       d0 92 2b 03     sts     0x032B, r13
    3fbe:       e0 92 2c 03     sts     0x032C, r14
    3fc2:       f0 92 2d 03     sts     0x032D, r15
                                Luftdruck -= Luftdruck / CalAthmospheare; // 16
    3fc6:       80 90 12 01     lds     r8, 0x0112
    3fca:       90 90 13 01     lds     r9, 0x0113
    3fce:       a0 90 14 01     lds     r10, 0x0114
    3fd2:       b0 90 15 01     lds     r11, 0x0115
    3fd6:       60 91 12 01     lds     r22, 0x0112
    3fda:       70 91 13 01     lds     r23, 0x0113
    3fde:       80 91 14 01     lds     r24, 0x0114
    3fe2:       90 91 15 01     lds     r25, 0x0115
    3fe6:       20 91 0c 01     lds     r18, 0x010C
    3fea:       30 e0           ldi     r19, 0x00       ; 0
    3fec:       40 e0           ldi     r20, 0x00       ; 0
    3fee:       50 e0           ldi     r21, 0x00       ; 0
    3ff0:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    3ff4:       82 1a           sub     r8, r18
    3ff6:       93 0a           sbc     r9, r19
    3ff8:       a4 0a           sbc     r10, r20
    3ffa:       b5 0a           sbc     r11, r21
    3ffc:       80 92 12 01     sts     0x0112, r8
    4000:       90 92 13 01     sts     0x0113, r9
    4004:       a0 92 14 01     sts     0x0114, r10
    4008:       b0 92 15 01     sts     0x0115, r11
                                Luftdruck += tmpLuftdruck;
    400c:       80 91 12 01     lds     r24, 0x0112
    4010:       90 91 13 01     lds     r25, 0x0113
    4014:       a0 91 14 01     lds     r26, 0x0114
    4018:       b0 91 15 01     lds     r27, 0x0115
    401c:       c8 0e           add     r12, r24
    401e:       d9 1e           adc     r13, r25
    4020:       ea 1e           adc     r14, r26
    4022:       fb 1e           adc     r15, r27
    4024:       c0 92 12 01     sts     0x0112, r12
    4028:       d0 92 13 01     sts     0x0113, r13
    402c:       e0 92 14 01     sts     0x0114, r14
    4030:       f0 92 15 01     sts     0x0115, r15
                                HoehenWert_Mess = StartLuftdruck - Luftdruck;   // cm
    4034:       80 91 08 05     lds     r24, 0x0508
    4038:       90 91 09 05     lds     r25, 0x0509
    403c:       a0 91 0a 05     lds     r26, 0x050A
    4040:       b0 91 0b 05     lds     r27, 0x050B
    4044:       40 91 12 01     lds     r20, 0x0112
    4048:       50 91 13 01     lds     r21, 0x0113
    404c:       60 91 14 01     lds     r22, 0x0114
    4050:       70 91 15 01     lds     r23, 0x0115
    4054:       84 1b           sub     r24, r20
    4056:       95 0b           sbc     r25, r21
    4058:       a6 0b           sbc     r26, r22
    405a:       b7 0b           sbc     r27, r23
    405c:       80 93 46 03     sts     0x0346, r24
    4060:       90 93 47 03     sts     0x0347, r25
    4064:       a0 93 48 03     sts     0x0348, r26
    4068:       b0 93 49 03     sts     0x0349, r27
    406c:       4f c1           rjmp    .+670           ; 0x430c <__stack+0x20d>
                        }
                        else 
#endif
            {   // old version (until FC V2.1)
                                tmpLuftdruck += MessLuftdruck;
    406e:       20 91 10 01     lds     r18, 0x0110
    4072:       30 91 11 01     lds     r19, 0x0111
    4076:       80 91 2a 03     lds     r24, 0x032A
    407a:       90 91 2b 03     lds     r25, 0x032B
    407e:       a0 91 2c 03     lds     r26, 0x032C
    4082:       b0 91 2d 03     lds     r27, 0x032D
    4086:       82 0f           add     r24, r18
    4088:       93 1f           adc     r25, r19
    408a:       a1 1d           adc     r26, r1
    408c:       b1 1d           adc     r27, r1
    408e:       80 93 2a 03     sts     0x032A, r24
    4092:       90 93 2b 03     sts     0x032B, r25
    4096:       a0 93 2c 03     sts     0x032C, r26
    409a:       b0 93 2d 03     sts     0x032D, r27
                                if(++messanzahl_Druck >= 16) // war bis 0.86 "18"
    409e:       20 91 29 03     lds     r18, 0x0329
    40a2:       2f 5f           subi    r18, 0xFF       ; 255
    40a4:       20 93 29 03     sts     0x0329, r18
    40a8:       20 31           cpi     r18, 0x10       ; 16
    40aa:       08 f4           brcc    .+2             ; 0x40ae <__vector_24+0x8a4>
    40ac:       2f c1           rjmp    .+606           ; 0x430c <__stack+0x20d>
                                {
                            signed int tmp;
//                              Luftdruck = (7 * Luftdruck + tmpLuftdruck - (16 * BaroStep) * (long)ExpandBaro + 4) / 8;  // -523.19 counts per 10 counts offset step
//                              ExpandBaroStep = (16 * BaroStep) * (long)ExpandBaro - 4; // wird in fc.c aufgerufen
                                Luftdruck = (7 * Luftdruck + tmpLuftdruck - ExpandBaroStep) / 8;  // -523.19 counts per 10 counts offset step
    40ae:       40 91 12 01     lds     r20, 0x0112
    40b2:       50 91 13 01     lds     r21, 0x0113
    40b6:       60 91 14 01     lds     r22, 0x0114
    40ba:       70 91 15 01     lds     r23, 0x0115
    40be:       6a 01           movw    r12, r20
    40c0:       7b 01           movw    r14, r22
    40c2:       cc 0c           add     r12, r12
    40c4:       dd 1c           adc     r13, r13
    40c6:       ee 1c           adc     r14, r14
    40c8:       ff 1c           adc     r15, r15
    40ca:       cc 0c           add     r12, r12
    40cc:       dd 1c           adc     r13, r13
    40ce:       ee 1c           adc     r14, r14
    40d0:       ff 1c           adc     r15, r15
    40d2:       cc 0c           add     r12, r12
    40d4:       dd 1c           adc     r13, r13
    40d6:       ee 1c           adc     r14, r14
    40d8:       ff 1c           adc     r15, r15
    40da:       c4 1a           sub     r12, r20
    40dc:       d5 0a           sbc     r13, r21
    40de:       e6 0a           sbc     r14, r22
    40e0:       f7 0a           sbc     r15, r23
    40e2:       c8 0e           add     r12, r24
    40e4:       d9 1e           adc     r13, r25
    40e6:       ea 1e           adc     r14, r26
    40e8:       fb 1e           adc     r15, r27
    40ea:       40 91 4e 03     lds     r20, 0x034E
    40ee:       50 91 4f 03     lds     r21, 0x034F
    40f2:       60 91 50 03     lds     r22, 0x0350
    40f6:       70 91 51 03     lds     r23, 0x0351
    40fa:       c4 1a           sub     r12, r20
    40fc:       d5 0a           sbc     r13, r21
    40fe:       e6 0a           sbc     r14, r22
    4100:       f7 0a           sbc     r15, r23
    4102:       b7 01           movw    r22, r14
    4104:       a6 01           movw    r20, r12
    4106:       22 f4           brpl    .+8             ; 0x4110 <__stack+0x11>
    4108:       49 5f           subi    r20, 0xF9       ; 249
    410a:       5f 4f           sbci    r21, 0xFF       ; 255
    410c:       6f 4f           sbci    r22, 0xFF       ; 255
    410e:       7f 4f           sbci    r23, 0xFF       ; 255
    4110:       68 94           set
    4112:       12 f8           bld     r1, 2
    4114:       75 95           asr     r23
    4116:       67 95           ror     r22
    4118:       57 95           ror     r21
    411a:       47 95           ror     r20
    411c:       16 94           lsr     r1
    411e:       d1 f7           brne    .-12            ; 0x4114 <__stack+0x15>
    4120:       40 93 12 01     sts     0x0112, r20
    4124:       50 93 13 01     sts     0x0113, r21
    4128:       60 93 14 01     sts     0x0114, r22
    412c:       70 93 15 01     sts     0x0115, r23
                                HoehenWert_Mess = StartLuftdruck - Luftdruck;
    4130:       40 91 08 05     lds     r20, 0x0508
    4134:       50 91 09 05     lds     r21, 0x0509
    4138:       60 91 0a 05     lds     r22, 0x050A
    413c:       70 91 0b 05     lds     r23, 0x050B
    4140:       00 91 12 01     lds     r16, 0x0112
    4144:       10 91 13 01     lds     r17, 0x0113
    4148:       20 91 14 01     lds     r18, 0x0114
    414c:       30 91 15 01     lds     r19, 0x0115
    4150:       40 1b           sub     r20, r16
    4152:       51 0b           sbc     r21, r17
    4154:       62 0b           sbc     r22, r18
    4156:       73 0b           sbc     r23, r19
    4158:       40 93 46 03     sts     0x0346, r20
    415c:       50 93 47 03     sts     0x0347, r21
    4160:       60 93 48 03     sts     0x0348, r22
    4164:       70 93 49 03     sts     0x0349, r23
                                SummenHoehe -= SummenHoehe/SM_FILTER;
    4168:       00 91 57 03     lds     r16, 0x0357
    416c:       10 91 58 03     lds     r17, 0x0358
    4170:       20 91 59 03     lds     r18, 0x0359
    4174:       30 91 5a 03     lds     r19, 0x035A
    4178:       c0 90 57 03     lds     r12, 0x0357
    417c:       d0 90 58 03     lds     r13, 0x0358
    4180:       e0 90 59 03     lds     r14, 0x0359
    4184:       f0 90 5a 03     lds     r15, 0x035A
    4188:       ff 20           and     r15, r15
    418a:       2c f4           brge    .+10            ; 0x4196 <__stack+0x97>
    418c:       ef e0           ldi     r30, 0x0F       ; 15
    418e:       ce 0e           add     r12, r30
    4190:       d1 1c           adc     r13, r1
    4192:       e1 1c           adc     r14, r1
    4194:       f1 1c           adc     r15, r1
    4196:       46 01           movw    r8, r12
    4198:       57 01           movw    r10, r14
    419a:       68 94           set
    419c:       13 f8           bld     r1, 3
    419e:       b5 94           asr     r11
    41a0:       a7 94           ror     r10
    41a2:       97 94           ror     r9
    41a4:       87 94           ror     r8
    41a6:       16 94           lsr     r1
    41a8:       d1 f7           brne    .-12            ; 0x419e <__stack+0x9f>
    41aa:       68 01           movw    r12, r16
    41ac:       79 01           movw    r14, r18
    41ae:       c8 18           sub     r12, r8
    41b0:       d9 08           sbc     r13, r9
    41b2:       ea 08           sbc     r14, r10
    41b4:       fb 08           sbc     r15, r11
    41b6:       c0 92 57 03     sts     0x0357, r12
    41ba:       d0 92 58 03     sts     0x0358, r13
    41be:       e0 92 59 03     sts     0x0359, r14
    41c2:       f0 92 5a 03     sts     0x035A, r15
                                SummenHoehe += HoehenWert_Mess;
    41c6:       c0 90 57 03     lds     r12, 0x0357
    41ca:       d0 90 58 03     lds     r13, 0x0358
    41ce:       e0 90 59 03     lds     r14, 0x0359
    41d2:       f0 90 5a 03     lds     r15, 0x035A
    41d6:       c4 0e           add     r12, r20
    41d8:       d5 1e           adc     r13, r21
    41da:       e6 1e           adc     r14, r22
    41dc:       f7 1e           adc     r15, r23
    41de:       c0 92 57 03     sts     0x0357, r12
    41e2:       d0 92 58 03     sts     0x0358, r13
    41e6:       e0 92 59 03     sts     0x0359, r14
    41ea:       f0 92 5a 03     sts     0x035A, r15
                                tmp = (HoehenWert_Mess - SummenHoehe/SM_FILTER);
    41ee:       c0 90 57 03     lds     r12, 0x0357
    41f2:       d0 90 58 03     lds     r13, 0x0358
    41f6:       e0 90 59 03     lds     r14, 0x0359
    41fa:       f0 90 5a 03     lds     r15, 0x035A
    41fe:       ff 20           and     r15, r15
    4200:       2c f4           brge    .+10            ; 0x420c <__stack+0x10d>
    4202:       2f e0           ldi     r18, 0x0F       ; 15
    4204:       c2 0e           add     r12, r18
    4206:       d1 1c           adc     r13, r1
    4208:       e1 1c           adc     r14, r1
    420a:       f1 1c           adc     r15, r1
    420c:       68 94           set
    420e:       13 f8           bld     r1, 3
    4210:       f5 94           asr     r15
    4212:       e7 94           ror     r14
    4214:       d7 94           ror     r13
    4216:       c7 94           ror     r12
    4218:       16 94           lsr     r1
    421a:       d1 f7           brne    .-12            ; 0x4210 <__stack+0x111>
    421c:       4c 19           sub     r20, r12
    421e:       5d 09           sbc     r21, r13
    4220:       41 15           cp      r20, r1
    4222:       6c ef           ldi     r22, 0xFC       ; 252
    4224:       56 07           cpc     r21, r22
    4226:       14 f4           brge    .+4             ; 0x422c <__stack+0x12d>
    4228:       40 e0           ldi     r20, 0x00       ; 0
    422a:       5c ef           ldi     r21, 0xFC       ; 252
    422c:       41 30           cpi     r20, 0x01       ; 1
    422e:       e4 e0           ldi     r30, 0x04       ; 4
    4230:       5e 07           cpc     r21, r30
    4232:       14 f0           brlt    .+4             ; 0x4238 <__stack+0x139>
    4234:       40 e0           ldi     r20, 0x00       ; 0
    4236:       54 e0           ldi     r21, 0x04       ; 4
                                if(tmp > 1024) tmp = 1024;      else if(tmp < -1024) tmp = -1024; 
                if(abs(VarioMeter) > 700) VarioMeter = (15 * VarioMeter + 8 * tmp)/16;
    4238:       20 91 54 03     lds     r18, 0x0354
    423c:       30 91 55 03     lds     r19, 0x0355
    4240:       33 23           and     r19, r19
    4242:       1c f4           brge    .+6             ; 0x424a <__stack+0x14b>
    4244:       31 95           neg     r19
    4246:       21 95           neg     r18
    4248:       31 09           sbc     r19, r1
    424a:       2d 3b           cpi     r18, 0xBD       ; 189
    424c:       32 40           sbci    r19, 0x02       ; 2
    424e:       1c f1           brlt    .+70            ; 0x4296 <__stack+0x197>
    4250:       60 91 54 03     lds     r22, 0x0354
    4254:       70 91 55 03     lds     r23, 0x0355
    4258:       ef e0           ldi     r30, 0x0F       ; 15
    425a:       e6 9f           mul     r30, r22
    425c:       90 01           movw    r18, r0
    425e:       e7 9f           mul     r30, r23
    4260:       30 0d           add     r19, r0
    4262:       11 24           eor     r1, r1
    4264:       44 0f           add     r20, r20
    4266:       55 1f           adc     r21, r21
    4268:       44 0f           add     r20, r20
    426a:       55 1f           adc     r21, r21
    426c:       44 0f           add     r20, r20
    426e:       55 1f           adc     r21, r21
    4270:       42 0f           add     r20, r18
    4272:       53 1f           adc     r21, r19
    4274:       55 23           and     r21, r21
    4276:       14 f4           brge    .+4             ; 0x427c <__stack+0x17d>
    4278:       41 5f           subi    r20, 0xF1       ; 241
    427a:       5f 4f           sbci    r21, 0xFF       ; 255
    427c:       55 95           asr     r21
    427e:       47 95           ror     r20
    4280:       55 95           asr     r21
    4282:       47 95           ror     r20
    4284:       55 95           asr     r21
    4286:       47 95           ror     r20
    4288:       55 95           asr     r21
    428a:       47 95           ror     r20
    428c:       50 93 55 03     sts     0x0355, r21
    4290:       40 93 54 03     sts     0x0354, r20
    4294:       24 c0           rjmp    .+72            ; 0x42de <__stack+0x1df>
                                else VarioMeter = (31 * VarioMeter + 8 * tmp)/32;
    4296:       60 91 54 03     lds     r22, 0x0354
    429a:       70 91 55 03     lds     r23, 0x0355
    429e:       ef e1           ldi     r30, 0x1F       ; 31
    42a0:       e6 9f           mul     r30, r22
    42a2:       90 01           movw    r18, r0
    42a4:       e7 9f           mul     r30, r23
    42a6:       30 0d           add     r19, r0
    42a8:       11 24           eor     r1, r1
    42aa:       44 0f           add     r20, r20
    42ac:       55 1f           adc     r21, r21
    42ae:       44 0f           add     r20, r20
    42b0:       55 1f           adc     r21, r21
    42b2:       44 0f           add     r20, r20
    42b4:       55 1f           adc     r21, r21
    42b6:       42 0f           add     r20, r18
    42b8:       53 1f           adc     r21, r19
    42ba:       55 23           and     r21, r21
    42bc:       14 f4           brge    .+4             ; 0x42c2 <__stack+0x1c3>
    42be:       41 5e           subi    r20, 0xE1       ; 225
    42c0:       5f 4f           sbci    r21, 0xFF       ; 255
    42c2:       55 95           asr     r21
    42c4:       47 95           ror     r20
    42c6:       55 95           asr     r21
    42c8:       47 95           ror     r20
    42ca:       55 95           asr     r21
    42cc:       47 95           ror     r20
    42ce:       55 95           asr     r21
    42d0:       47 95           ror     r20
    42d2:       55 95           asr     r21
    42d4:       47 95           ror     r20
    42d6:       50 93 55 03     sts     0x0355, r21
    42da:       40 93 54 03     sts     0x0354, r20
                tmpLuftdruck /= 2;
    42de:       ac 01           movw    r20, r24
    42e0:       bd 01           movw    r22, r26
    42e2:       bb 23           and     r27, r27
    42e4:       24 f4           brge    .+8             ; 0x42ee <__stack+0x1ef>
    42e6:       4f 5f           subi    r20, 0xFF       ; 255
    42e8:       5f 4f           sbci    r21, 0xFF       ; 255
    42ea:       6f 4f           sbci    r22, 0xFF       ; 255
    42ec:       7f 4f           sbci    r23, 0xFF       ; 255
    42ee:       75 95           asr     r23
    42f0:       67 95           ror     r22
    42f2:       57 95           ror     r21
    42f4:       47 95           ror     r20
    42f6:       40 93 2a 03     sts     0x032A, r20
    42fa:       50 93 2b 03     sts     0x032B, r21
    42fe:       60 93 2c 03     sts     0x032C, r22
    4302:       70 93 2d 03     sts     0x032D, r23
                messanzahl_Druck = 16/2;
    4306:       88 e0           ldi     r24, 0x08       ; 8
    4308:       80 93 29 03     sts     0x0329, r24
                                }
                        }
            kanal = AD_NICK;
    430c:       82 e0           ldi     r24, 0x02       ; 2
    430e:       80 93 3e 03     sts     0x033E, r24
            break;
    4312:       05 c0           rjmp    .+10            ; 0x431e <__stack+0x21f>
        default:
            kanal = 0; state = 0; kanal = AD_NICK;
    4314:       10 92 41 03     sts     0x0341, r1
    4318:       82 e0           ldi     r24, 0x02       ; 2
    431a:       80 93 3e 03     sts     0x033E, r24
            break;
        }
    ADMUX = kanal;
    431e:       80 91 3e 03     lds     r24, 0x033E
    4322:       80 93 7c 00     sts     0x007C, r24
    if(state != 0) ANALOG_ON;
    4326:       80 91 41 03     lds     r24, 0x0341
    432a:       88 23           and     r24, r24
    432c:       19 f0           breq    .+6             ; 0x4334 <__stack+0x235>
    432e:       8f ec           ldi     r24, 0xCF       ; 207
    4330:       80 93 7a 00     sts     0x007A, r24
}
    4334:       ff 91           pop     r31
    4336:       ef 91           pop     r30
    4338:       bf 91           pop     r27
    433a:       af 91           pop     r26
    433c:       9f 91           pop     r25
    433e:       8f 91           pop     r24
    4340:       7f 91           pop     r23
    4342:       6f 91           pop     r22
    4344:       5f 91           pop     r21
    4346:       4f 91           pop     r20
    4348:       3f 91           pop     r19
    434a:       2f 91           pop     r18
    434c:       1f 91           pop     r17
    434e:       0f 91           pop     r16
    4350:       ff 90           pop     r15
    4352:       ef 90           pop     r14
    4354:       df 90           pop     r13
    4356:       cf 90           pop     r12
    4358:       bf 90           pop     r11
    435a:       af 90           pop     r10
    435c:       9f 90           pop     r9
    435e:       8f 90           pop     r8
    4360:       0f 90           pop     r0
    4362:       0b be           out     0x3b, r0        ; 59
    4364:       0f 90           pop     r0
    4366:       0f be           out     0x3f, r0        ; 63
    4368:       0f 90           pop     r0
    436a:       1f 90           pop     r1
    436c:       18 95           reti

0000436e <Capacity_Init>:
Capacity_t Capacity;

// initialize capacity calculation
void Capacity_Init(void)
{
        Capacity.ActualCurrent = 0;
    436e:       10 92 16 05     sts     0x0516, r1
    4372:       10 92 15 05     sts     0x0515, r1
        Capacity.UsedCapacity = 0;
    4376:       10 92 1a 05     sts     0x051A, r1
    437a:       10 92 19 05     sts     0x0519, r1
        Capacity.ActualPower = 0;
    437e:       10 92 18 05     sts     0x0518, r1
    4382:       10 92 17 05     sts     0x0517, r1
        Capacity.MinOfMaxPWM = 0;
    4386:       10 92 1b 05     sts     0x051B, r1
        update_timer = SetDelay(CAPACITY_UPDATE_INTERVAL);
    438a:       82 e3           ldi     r24, 0x32       ; 50
    438c:       90 e0           ldi     r25, 0x00       ; 0
    438e:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
    4392:       90 93 74 03     sts     0x0374, r25
    4396:       80 93 73 03     sts     0x0373, r24
    439a:       08 95           ret

0000439c <BL3_Current>:
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + extended Current measurement -> 200 = 20A    201 = 21A    255 = 75A (20+55)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
unsigned int BL3_Current(unsigned char who) // in 0,1A
{
 if(Motor[who].Current == 255) return(0); // invalid
    439c:       28 2f           mov     r18, r24
    439e:       30 e0           ldi     r19, 0x00       ; 0
    43a0:       9f e0           ldi     r25, 0x0F       ; 15
    43a2:       89 9f           mul     r24, r25
    43a4:       f0 01           movw    r30, r0
    43a6:       11 24           eor     r1, r1
    43a8:       e9 56           subi    r30, 0x69       ; 105
    43aa:       f6 4f           sbci    r31, 0xF6       ; 246
    43ac:       85 81           ldd     r24, Z+5        ; 0x05
    43ae:       8f 3f           cpi     r24, 0xFF       ; 255
    43b0:       09 f1           breq    .+66            ; 0x43f4 <BL3_Current+0x58>
 if(Motor[who].Current <= 200) return(Motor[who].Current);
    43b2:       89 3c           cpi     r24, 0xC9       ; 201
    43b4:       10 f4           brcc    .+4             ; 0x43ba <BL3_Current+0x1e>
    43b6:       90 e0           ldi     r25, 0x00       ; 0
    43b8:       08 95           ret
 else
 {
  if(Motor[who].Version & MOTOR_STATE_BL30) return(200 + 10 * ((unsigned int)Motor[who].Current-200));
    43ba:       9f e0           ldi     r25, 0x0F       ; 15
    43bc:       92 9f           mul     r25, r18
    43be:       f0 01           movw    r30, r0
    43c0:       93 9f           mul     r25, r19
    43c2:       f0 0d           add     r31, r0
    43c4:       11 24           eor     r1, r1
    43c6:       e9 56           subi    r30, 0x69       ; 105
    43c8:       f6 4f           sbci    r31, 0xF6       ; 246
    43ca:       90 81           ld      r25, Z
    43cc:       92 ff           sbrs    r25, 2
    43ce:       10 c0           rjmp    .+32            ; 0x43f0 <BL3_Current+0x54>
    43d0:       28 2f           mov     r18, r24
    43d2:       30 e0           ldi     r19, 0x00       ; 0
    43d4:       c9 01           movw    r24, r18
    43d6:       88 0f           add     r24, r24
    43d8:       99 1f           adc     r25, r25
    43da:       22 0f           add     r18, r18
    43dc:       33 1f           adc     r19, r19
    43de:       22 0f           add     r18, r18
    43e0:       33 1f           adc     r19, r19
    43e2:       22 0f           add     r18, r18
    43e4:       33 1f           adc     r19, r19
    43e6:       82 0f           add     r24, r18
    43e8:       93 1f           adc     r25, r19
    43ea:       88 50           subi    r24, 0x08       ; 8
    43ec:       97 40           sbci    r25, 0x07       ; 7
    43ee:       08 95           ret
  else return(Motor[who].Current);
    43f0:       90 e0           ldi     r25, 0x00       ; 0
    43f2:       08 95           ret
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + extended Current measurement -> 200 = 20A    201 = 21A    255 = 75A (20+55)
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
unsigned int BL3_Current(unsigned char who) // in 0,1A
{
 if(Motor[who].Current == 255) return(0); // invalid
    43f4:       80 e0           ldi     r24, 0x00       ; 0
    43f6:       90 e0           ldi     r25, 0x00       ; 0
 else
 {
  if(Motor[who].Version & MOTOR_STATE_BL30) return(200 + 10 * ((unsigned int)Motor[who].Current-200));
  else return(Motor[who].Current);
 }
}
    43f8:       08 95           ret

000043fa <Capacity_Update>:

// called in main loop at a regular interval
void Capacity_Update(void)
{
    43fa:       9f 92           push    r9
    43fc:       af 92           push    r10
    43fe:       bf 92           push    r11
    4400:       cf 92           push    r12
    4402:       df 92           push    r13
    4404:       ef 92           push    r14
    4406:       ff 92           push    r15
    4408:       0f 93           push    r16
    440a:       1f 93           push    r17
    440c:       cf 93           push    r28
    440e:       df 93           push    r29
        static unsigned short SubCounter = 0;
        static unsigned short CurrentOffset = 0;
        static unsigned long SumCurrentOffset = 0;
        unsigned char i, NumOfMotors, MinOfMaxPWM;

        if(CheckDelay(update_timer))
    4410:       80 91 73 03     lds     r24, 0x0373
    4414:       90 91 74 03     lds     r25, 0x0374
    4418:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
    441c:       88 23           and     r24, r24
    441e:       09 f4           brne    .+2             ; 0x4422 <Capacity_Update+0x28>
    4420:       fb c0           rjmp    .+502           ; 0x4618 <Capacity_Update+0x21e>
        {
                update_timer += CAPACITY_UPDATE_INTERVAL; // do not use SetDelay to avoid timing leaks
    4422:       80 91 73 03     lds     r24, 0x0373
    4426:       90 91 74 03     lds     r25, 0x0374
    442a:       c2 96           adiw    r24, 0x32       ; 50
    442c:       90 93 74 03     sts     0x0374, r25
    4430:       80 93 73 03     sts     0x0373, r24
                // determine sum of all present BL currents and setpoints
                Current = 0;
                SetSum = 0;
                NumOfMotors = 0;
                MinOfMaxPWM = 255;
                if(Capacity.MinOfMaxPWM == 254)                 FC_StatusFlags3 |= FC_STATUS3_REDUNDANCE;
    4434:       80 91 1b 05     lds     r24, 0x051B
    4438:       8e 3f           cpi     r24, 0xFE       ; 254
    443a:       31 f4           brne    .+12            ; 0x4448 <Capacity_Update+0x4e>
    443c:       80 91 c9 03     lds     r24, 0x03C9
    4440:       81 60           ori     r24, 0x01       ; 1
    4442:       80 93 c9 03     sts     0x03C9, r24
    4446:       dd c0           rjmp    .+442           ; 0x4602 <Capacity_Update+0x208>
                else if(Capacity.MinOfMaxPWM == 255)    FC_StatusFlags3 &= ~FC_STATUS3_REDUNDANCE;
    4448:       8f 3f           cpi     r24, 0xFF       ; 255
    444a:       09 f0           breq    .+2             ; 0x444e <Capacity_Update+0x54>
    444c:       da c0           rjmp    .+436           ; 0x4602 <Capacity_Update+0x208>
    444e:       80 91 c9 03     lds     r24, 0x03C9
    4452:       8e 7f           andi    r24, 0xFE       ; 254
    4454:       80 93 c9 03     sts     0x03C9, r24
    4458:       d4 c0           rjmp    .+424           ; 0x4602 <Capacity_Update+0x208>
    445a:       78 01           movw    r14, r16
    445c:       f8 01           movw    r30, r16
    445e:       33 97           sbiw    r30, 0x03       ; 3
                
                for(i = 0; i < MAX_MOTORS; i++)
                {
                        if(Motor[i].State & MOTOR_STATE_PRESENT_MASK/* && Mixer.Motor[i][MIX_GAS]*/)
    4460:       80 81           ld      r24, Z
    4462:       88 23           and     r24, r24
    4464:       e4 f4           brge    .+56            ; 0x449e <Capacity_Update+0xa4>
                        {
                                NumOfMotors++;
    4466:       b3 94           inc     r11
    4468:       32 96           adiw    r30, 0x02       ; 2
                                if(Motor[i].Current > 200)
    446a:       80 81           ld      r24, Z
    446c:       89 3c           cpi     r24, 0xC9       ; 201
    446e:       28 f0           brcs    .+10            ; 0x447a <Capacity_Update+0x80>
                                 {
                                  Current += BL3_Current(i); // extended Current measurement -> 200 = 20A    201 = 21A    255 = 75A (20+55)
    4470:       8a 2d           mov     r24, r10
    4472:       94 df           rcall   .-216           ; 0x439c <BL3_Current>
    4474:       c8 0f           add     r28, r24
    4476:       d9 1f           adc     r29, r25
    4478:       02 c0           rjmp    .+4             ; 0x447e <Capacity_Update+0x84>
                                 }
                                 else Current += (unsigned int)(Motor[i].Current);
    447a:       c8 0f           add     r28, r24
    447c:       d1 1d           adc     r29, r1
    447e:       f7 01           movw    r30, r14
    4480:       35 97           sbiw    r30, 0x05       ; 5
                                SetSum +=  (unsigned int)(Motor[i].SetPoint);
    4482:       80 81           ld      r24, Z
    4484:       c8 0e           add     r12, r24
    4486:       d1 1c           adc     r13, r1
                                if(Motor[i].MaxPWM <= MinOfMaxPWM) MinOfMaxPWM = Motor[i].MaxPWM; else FC_StatusFlags3 &= ~FC_STATUS3_REDUNDANCE;
    4488:       f7 01           movw    r30, r14
    448a:       80 81           ld      r24, Z
    448c:       98 16           cp      r9, r24
    448e:       30 f4           brcc    .+12            ; 0x449c <Capacity_Update+0xa2>
    4490:       80 91 c9 03     lds     r24, 0x03C9
    4494:       8e 7f           andi    r24, 0xFE       ; 254
    4496:       80 93 c9 03     sts     0x03C9, r24
    449a:       01 c0           rjmp    .+2             ; 0x449e <Capacity_Update+0xa4>
    449c:       98 2e           mov     r9, r24
                NumOfMotors = 0;
                MinOfMaxPWM = 255;
                if(Capacity.MinOfMaxPWM == 254)                 FC_StatusFlags3 |= FC_STATUS3_REDUNDANCE;
                else if(Capacity.MinOfMaxPWM == 255)    FC_StatusFlags3 &= ~FC_STATUS3_REDUNDANCE;
                
                for(i = 0; i < MAX_MOTORS; i++)
    449e:       a3 94           inc     r10
    44a0:       01 5f           subi    r16, 0xF1       ; 241
    44a2:       1f 4f           sbci    r17, 0xFF       ; 255
    44a4:       fc e0           ldi     r31, 0x0C       ; 12
    44a6:       af 12           cpse    r10, r31
    44a8:       d8 cf           rjmp    .-80            ; 0x445a <Capacity_Update+0x60>
                                 else Current += (unsigned int)(Motor[i].Current);
                                SetSum +=  (unsigned int)(Motor[i].SetPoint);
                                if(Motor[i].MaxPWM <= MinOfMaxPWM) MinOfMaxPWM = Motor[i].MaxPWM; else FC_StatusFlags3 &= ~FC_STATUS3_REDUNDANCE;
                        }
                }
                Capacity.MinOfMaxPWM = MinOfMaxPWM;
    44aa:       90 92 1b 05     sts     0x051B, r9
                if(SetSum == 0) // if all setpoints are 0
    44ae:       cd 28           or      r12, r13
    44b0:       59 f5           brne    .+86            ; 0x4508 <Capacity_Update+0x10e>
                { // determine offsets of motor currents
                        #define CURRENT_AVERAGE 8  // 8bit = 256 * 10 ms = 2.56s average time
                        CurrentOffset = (unsigned int)(SumCurrentOffset>>CURRENT_AVERAGE);
    44b2:       40 91 6f 03     lds     r20, 0x036F
    44b6:       50 91 70 03     lds     r21, 0x0370
    44ba:       60 91 71 03     lds     r22, 0x0371
    44be:       70 91 72 03     lds     r23, 0x0372
    44c2:       05 2f           mov     r16, r21
    44c4:       16 2f           mov     r17, r22
    44c6:       27 2f           mov     r18, r23
    44c8:       33 27           eor     r19, r19
    44ca:       10 93 6e 03     sts     0x036E, r17
    44ce:       00 93 6d 03     sts     0x036D, r16
                        SumCurrentOffset -= CurrentOffset;
    44d2:       22 27           eor     r18, r18
    44d4:       33 27           eor     r19, r19
    44d6:       40 1b           sub     r20, r16
    44d8:       51 0b           sbc     r21, r17
    44da:       62 0b           sbc     r22, r18
    44dc:       73 0b           sbc     r23, r19
                        SumCurrentOffset += Current;
    44de:       4c 0f           add     r20, r28
    44e0:       5d 1f           adc     r21, r29
    44e2:       61 1d           adc     r22, r1
    44e4:       71 1d           adc     r23, r1
    44e6:       40 93 6f 03     sts     0x036F, r20
    44ea:       50 93 70 03     sts     0x0370, r21
    44ee:       60 93 71 03     sts     0x0371, r22
    44f2:       70 93 72 03     sts     0x0372, r23
                        // add the FC and BL Offsets
                        Current += FC_OFFSET_CURRENT + NumOfMotors * BL_OFFSET_CURRENT;
                }

                // update actual Current
                Capacity.ActualCurrent = Current;
    44f6:       85 e0           ldi     r24, 0x05       ; 5
    44f8:       90 e0           ldi     r25, 0x00       ; 0
    44fa:       90 93 16 05     sts     0x0516, r25
    44fe:       80 93 15 05     sts     0x0515, r24
                        #define CURRENT_AVERAGE 8  // 8bit = 256 * 10 ms = 2.56s average time
                        CurrentOffset = (unsigned int)(SumCurrentOffset>>CURRENT_AVERAGE);
                        SumCurrentOffset -= CurrentOffset;
                        SumCurrentOffset += Current;
                        // after averaging set current to static offset
                        Current = FC_OFFSET_CURRENT;
    4502:       c5 e0           ldi     r28, 0x05       ; 5
    4504:       d0 e0           ldi     r29, 0x00       ; 0
    4506:       1c c0           rjmp    .+56            ; 0x4540 <Capacity_Update+0x146>
                }
                else // some motors are running, includes also motor test condition, where "MotorRunning" is false
                {   // subtract offset
                        if(Current > CurrentOffset) Current -= CurrentOffset;
    4508:       80 91 6d 03     lds     r24, 0x036D
    450c:       90 91 6e 03     lds     r25, 0x036E
    4510:       8c 17           cp      r24, r28
    4512:       9d 07           cpc     r25, r29
    4514:       28 f4           brcc    .+10            ; 0x4520 <Capacity_Update+0x126>
    4516:       9e 01           movw    r18, r28
    4518:       28 1b           sub     r18, r24
    451a:       39 0b           sbc     r19, r25
    451c:       c9 01           movw    r24, r18
    451e:       02 c0           rjmp    .+4             ; 0x4524 <Capacity_Update+0x12a>
                        else Current = 0;
    4520:       80 e0           ldi     r24, 0x00       ; 0
    4522:       90 e0           ldi     r25, 0x00       ; 0
                        // add the FC and BL Offsets
                        Current += FC_OFFSET_CURRENT + NumOfMotors * BL_OFFSET_CURRENT;
    4524:       cb 2d           mov     r28, r11
    4526:       d0 e0           ldi     r29, 0x00       ; 0
    4528:       cc 0f           add     r28, r28
    452a:       dd 1f           adc     r29, r29
    452c:       25 96           adiw    r28, 0x05       ; 5
    452e:       c8 0f           add     r28, r24
    4530:       d9 1f           adc     r29, r25
                }

                // update actual Current
                Capacity.ActualCurrent = Current;
    4532:       d0 93 16 05     sts     0x0516, r29
    4536:       c0 93 15 05     sts     0x0515, r28
                // update actual Power
                if(Current < 255)       Capacity.ActualPower = (UBat * Current) / 100; // in W higher resolution
    453a:       cf 3f           cpi     r28, 0xFF       ; 255
    453c:       d1 05           cpc     r29, r1
    453e:       d0 f4           brcc    .+52            ; 0x4574 <Capacity_Update+0x17a>
    4540:       80 91 1a 01     lds     r24, 0x011A
    4544:       90 91 1b 01     lds     r25, 0x011B
    4548:       c8 9f           mul     r28, r24
    454a:       90 01           movw    r18, r0
    454c:       c9 9f           mul     r28, r25
    454e:       30 0d           add     r19, r0
    4550:       d8 9f           mul     r29, r24
    4552:       30 0d           add     r19, r0
    4554:       11 24           eor     r1, r1
    4556:       36 95           lsr     r19
    4558:       27 95           ror     r18
    455a:       36 95           lsr     r19
    455c:       27 95           ror     r18
    455e:       ab e7           ldi     r26, 0x7B       ; 123
    4560:       b4 e1           ldi     r27, 0x14       ; 20
    4562:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    4566:       96 95           lsr     r25
    4568:       87 95           ror     r24
    456a:       90 93 18 05     sts     0x0518, r25
    456e:       80 93 17 05     sts     0x0517, r24
    4572:       25 c0           rjmp    .+74            ; 0x45be <Capacity_Update+0x1c4>
                else                            Capacity.ActualPower = (UBat * (Current/4)) / 25; // in W
    4574:       80 91 1a 01     lds     r24, 0x011A
    4578:       90 91 1b 01     lds     r25, 0x011B
    457c:       9e 01           movw    r18, r28
    457e:       36 95           lsr     r19
    4580:       27 95           ror     r18
    4582:       36 95           lsr     r19
    4584:       27 95           ror     r18
    4586:       28 9f           mul     r18, r24
    4588:       a0 01           movw    r20, r0
    458a:       29 9f           mul     r18, r25
    458c:       50 0d           add     r21, r0
    458e:       38 9f           mul     r19, r24
    4590:       50 0d           add     r21, r0
    4592:       11 24           eor     r1, r1
    4594:       9a 01           movw    r18, r20
    4596:       af ea           ldi     r26, 0xAF       ; 175
    4598:       b7 e4           ldi     r27, 0x47       ; 71
    459a:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    459e:       48 1b           sub     r20, r24
    45a0:       59 0b           sbc     r21, r25
    45a2:       56 95           lsr     r21
    45a4:       47 95           ror     r20
    45a6:       84 0f           add     r24, r20
    45a8:       95 1f           adc     r25, r21
    45aa:       92 95           swap    r25
    45ac:       82 95           swap    r24
    45ae:       8f 70           andi    r24, 0x0F       ; 15
    45b0:       89 27           eor     r24, r25
    45b2:       9f 70           andi    r25, 0x0F       ; 15
    45b4:       89 27           eor     r24, r25
    45b6:       90 93 18 05     sts     0x0518, r25
    45ba:       80 93 17 05     sts     0x0517, r24

                // update used capacity
                SubCounter += Current;
    45be:       80 91 6b 03     lds     r24, 0x036B
    45c2:       90 91 6c 03     lds     r25, 0x036C
    45c6:       c8 0f           add     r28, r24
    45c8:       d9 1f           adc     r29, r25
    45ca:       d0 93 6c 03     sts     0x036C, r29
    45ce:       c0 93 6b 03     sts     0x036B, r28

                // 100mA * 1ms * CAPACITY_UPDATE_INTERVAL = 1 mA * 100 ms * CAPACITY_UPDATE_INTERVAL
                // = 1mA * 0.1s * CAPACITY_UPDATE_INTERVAL = 1mA * 1min / (600 / CAPACITY_UPDATE_INTERVAL)
                // = 1mAh / (36000 / CAPACITY_UPDATE_INTERVAL)
                #define SUB_COUNTER_LIMIT (36000 / CAPACITY_UPDATE_INTERVAL)
                while(SubCounter > SUB_COUNTER_LIMIT)
    45d2:       c1 3d           cpi     r28, 0xD1       ; 209
    45d4:       32 e0           ldi     r19, 0x02       ; 2
    45d6:       d3 07           cpc     r29, r19
    45d8:       f8 f0           brcs    .+62            ; 0x4618 <Capacity_Update+0x21e>
    45da:       80 91 19 05     lds     r24, 0x0519
    45de:       90 91 1a 05     lds     r25, 0x051A
                {
                        Capacity.UsedCapacity++;                        // we have one mAh more
    45e2:       01 96           adiw    r24, 0x01       ; 1
                        SubCounter -= SUB_COUNTER_LIMIT;        // keep the remaining sub part
    45e4:       c0 5d           subi    r28, 0xD0       ; 208
    45e6:       d2 40           sbci    r29, 0x02       ; 2

                // 100mA * 1ms * CAPACITY_UPDATE_INTERVAL = 1 mA * 100 ms * CAPACITY_UPDATE_INTERVAL
                // = 1mA * 0.1s * CAPACITY_UPDATE_INTERVAL = 1mA * 1min / (600 / CAPACITY_UPDATE_INTERVAL)
                // = 1mAh / (36000 / CAPACITY_UPDATE_INTERVAL)
                #define SUB_COUNTER_LIMIT (36000 / CAPACITY_UPDATE_INTERVAL)
                while(SubCounter > SUB_COUNTER_LIMIT)
    45e8:       c1 3d           cpi     r28, 0xD1       ; 209
    45ea:       e2 e0           ldi     r30, 0x02       ; 2
    45ec:       de 07           cpc     r29, r30
    45ee:       c8 f7           brcc    .-14            ; 0x45e2 <Capacity_Update+0x1e8>
    45f0:       90 93 1a 05     sts     0x051A, r25
    45f4:       80 93 19 05     sts     0x0519, r24
    45f8:       d0 93 6c 03     sts     0x036C, r29
    45fc:       c0 93 6b 03     sts     0x036B, r28
    4600:       0b c0           rjmp    .+22            ; 0x4618 <Capacity_Update+0x21e>
    4602:       0d e9           ldi     r16, 0x9D       ; 157
    4604:       19 e0           ldi     r17, 0x09       ; 9
 }
}

// called in main loop at a regular interval
void Capacity_Update(void)
{
    4606:       99 24           eor     r9, r9
    4608:       9a 94           dec     r9
    460a:       b1 2c           mov     r11, r1
    460c:       a1 2c           mov     r10, r1
    460e:       c1 2c           mov     r12, r1
    4610:       d1 2c           mov     r13, r1
    4612:       c0 e0           ldi     r28, 0x00       ; 0
    4614:       d0 e0           ldi     r29, 0x00       ; 0
    4616:       21 cf           rjmp    .-446           ; 0x445a <Capacity_Update+0x60>
                {
                        Capacity.UsedCapacity++;                        // we have one mAh more
                        SubCounter -= SUB_COUNTER_LIMIT;        // keep the remaining sub part
                }
        } // EOF check delay update timer
}
    4618:       df 91           pop     r29
    461a:       cf 91           pop     r28
    461c:       1f 91           pop     r17
    461e:       0f 91           pop     r16
    4620:       ff 90           pop     r15
    4622:       ef 90           pop     r14
    4624:       df 90           pop     r13
    4626:       cf 90           pop     r12
    4628:       bf 90           pop     r11
    462a:       af 90           pop     r10
    462c:       9f 90           pop     r9
    462e:       08 95           ret

00004630 <Debug_Putchar>:
unsigned char SendDebugOutput = 0;

// function called from _printf_P to output character
void Debug_Putchar(char c)
{
        if (!SendDebugOutput)
    4630:       90 91 76 03     lds     r25, 0x0376
    4634:       91 11           cpse    r25, r1
    4636:       0f c0           rjmp    .+30            ; 0x4656 <Debug_Putchar+0x26>
        {
         tDebug.Text[Debug_BufPtr++] = c;                                                                       // copy character to buffer
    4638:       e0 91 75 03     lds     r30, 0x0375
    463c:       91 e0           ldi     r25, 0x01       ; 1
    463e:       9e 0f           add     r25, r30
    4640:       90 93 75 03     sts     0x0375, r25
    4644:       f0 e0           ldi     r31, 0x00       ; 0
    4646:       e4 5e           subi    r30, 0xE4       ; 228
    4648:       fa 4f           sbci    r31, 0xFA       ; 250
    464a:       81 83           std     Z+1, r24        ; 0x01
         if (Debug_BufPtr > 30) Debug_BufPtr = 30;                                                      // avoid buffer overflow
    464c:       9f 31           cpi     r25, 0x1F       ; 31
    464e:       18 f0           brcs    .+6             ; 0x4656 <Debug_Putchar+0x26>
    4650:       8e e1           ldi     r24, 0x1E       ; 30
    4652:       80 93 75 03     sts     0x0375, r24
    4656:       08 95           ret

00004658 <DebugSend>:
        } 
}

void DebugSend(unsigned char cmd)
{
        if (!SendDebugOutput)
    4658:       90 91 76 03     lds     r25, 0x0376
    465c:       91 11           cpse    r25, r1
    465e:       0d c0           rjmp    .+26            ; 0x467a <DebugSend+0x22>
        {
                tDebug.Cmd = cmd;                       
    4660:       80 93 1c 05     sts     0x051C, r24
                tDebug.Text[Debug_BufPtr] = '\0';                                                               // end of text marker
    4664:       e0 91 75 03     lds     r30, 0x0375
    4668:       f0 e0           ldi     r31, 0x00       ; 0
    466a:       e4 5e           subi    r30, 0xE4       ; 228
    466c:       fa 4f           sbci    r31, 0xFA       ; 250
    466e:       11 82           std     Z+1, r1 ; 0x01
                Debug_BufPtr = 0;                                                                                               // set bufferindex to 0
    4670:       10 92 75 03     sts     0x0375, r1
                SendDebugOutput = 1;                                                                                    // set flag to trasmit data the next time in serial transmit function
    4674:       81 e0           ldi     r24, 0x01       ; 1
    4676:       80 93 76 03     sts     0x0376, r24
    467a:       08 95           ret

0000467c <RAM_Checksum>:
uint8_t RAM_Checksum(uint8_t* pBuffer, uint16_t len)
{
        uint8_t crc = 0xAA;
        uint16_t i;

        for(i=0; i<len; i++)
    467c:       61 15           cp      r22, r1
    467e:       71 05           cpc     r23, r1
    4680:       51 f0           breq    .+20            ; 0x4696 <RAM_Checksum+0x1a>
    4682:       fc 01           movw    r30, r24
    4684:       68 0f           add     r22, r24
    4686:       79 1f           adc     r23, r25
uint8_t RequiredMotors;


uint8_t RAM_Checksum(uint8_t* pBuffer, uint16_t len)
{
        uint8_t crc = 0xAA;
    4688:       8a ea           ldi     r24, 0xAA       ; 170
        uint16_t i;

        for(i=0; i<len; i++)
        {
                crc += pBuffer[i];
    468a:       91 91           ld      r25, Z+
    468c:       89 0f           add     r24, r25
uint8_t RAM_Checksum(uint8_t* pBuffer, uint16_t len)
{
        uint8_t crc = 0xAA;
        uint16_t i;

        for(i=0; i<len; i++)
    468e:       e6 17           cp      r30, r22
    4690:       f7 07           cpc     r31, r23
    4692:       d9 f7           brne    .-10            ; 0x468a <RAM_Checksum+0xe>
    4694:       08 95           ret
uint8_t RequiredMotors;


uint8_t RAM_Checksum(uint8_t* pBuffer, uint16_t len)
{
        uint8_t crc = 0xAA;
    4696:       8a ea           ldi     r24, 0xAA       ; 170
        for(i=0; i<len; i++)
        {
                crc += pBuffer[i];
        }
        return crc;
}
    4698:       08 95           ret

0000469a <EEProm_Checksum>:

uint8_t EEProm_Checksum(uint16_t EEAddr, uint16_t len)
{
    469a:       ff 92           push    r15
    469c:       0f 93           push    r16
    469e:       1f 93           push    r17
    46a0:       cf 93           push    r28
    46a2:       df 93           push    r29
        uint8_t crc = 0xAA;
        uint16_t off;

        for(off=0; off<len; off++)
    46a4:       61 15           cp      r22, r1
    46a6:       71 05           cpc     r23, r1
    46a8:       89 f0           breq    .+34            ; 0x46cc <EEProm_Checksum+0x32>
    46aa:       8b 01           movw    r16, r22
    46ac:       08 0f           add     r16, r24
    46ae:       19 1f           adc     r17, r25
    46b0:       ec 01           movw    r28, r24
        return crc;
}

uint8_t EEProm_Checksum(uint16_t EEAddr, uint16_t len)
{
        uint8_t crc = 0xAA;
    46b2:       0f 2e           mov     r0, r31
    46b4:       fa ea           ldi     r31, 0xAA       ; 170
    46b6:       ff 2e           mov     r15, r31
    46b8:       f0 2d           mov     r31, r0
        uint16_t off;

        for(off=0; off<len; off++)
        {
                crc += eeprom_read_byte((uint8_t*)(EEAddr + off));;
    46ba:       ce 01           movw    r24, r28
    46bc:       0e 94 3e b2     call    0x1647c ; 0x1647c <__eerd_byte_m1284>
    46c0:       f8 0e           add     r15, r24
    46c2:       21 96           adiw    r28, 0x01       ; 1
uint8_t EEProm_Checksum(uint16_t EEAddr, uint16_t len)
{
        uint8_t crc = 0xAA;
        uint16_t off;

        for(off=0; off<len; off++)
    46c4:       c0 17           cp      r28, r16
    46c6:       d1 07           cpc     r29, r17
    46c8:       c1 f7           brne    .-16            ; 0x46ba <EEProm_Checksum+0x20>
    46ca:       04 c0           rjmp    .+8             ; 0x46d4 <EEProm_Checksum+0x3a>
        return crc;
}

uint8_t EEProm_Checksum(uint16_t EEAddr, uint16_t len)
{
        uint8_t crc = 0xAA;
    46cc:       0f 2e           mov     r0, r31
    46ce:       fa ea           ldi     r31, 0xAA       ; 170
    46d0:       ff 2e           mov     r15, r31
    46d2:       f0 2d           mov     r31, r0
        for(off=0; off<len; off++)
        {
                crc += eeprom_read_byte((uint8_t*)(EEAddr + off));;
        }
        return crc;
}
    46d4:       8f 2d           mov     r24, r15
    46d6:       df 91           pop     r29
    46d8:       cf 91           pop     r28
    46da:       1f 91           pop     r17
    46dc:       0f 91           pop     r16
    46de:       ff 90           pop     r15
    46e0:       08 95           ret

000046e2 <ParamSet_DefaultStickMapping>:

void ParamSet_DefaultStickMapping(void)
{
        EE_Parameter.Kanalbelegung[K_GAS]   = 1;
    46e2:       81 e0           ldi     r24, 0x01       ; 1
    46e4:       80 93 41 05     sts     0x0541, r24
        EE_Parameter.Kanalbelegung[K_ROLL]  = 2;
    46e8:       82 e0           ldi     r24, 0x02       ; 2
    46ea:       80 93 40 05     sts     0x0540, r24
        EE_Parameter.Kanalbelegung[K_NICK]  = 3;
    46ee:       83 e0           ldi     r24, 0x03       ; 3
    46f0:       80 93 3f 05     sts     0x053F, r24
        EE_Parameter.Kanalbelegung[K_GIER]  = 4;
    46f4:       84 e0           ldi     r24, 0x04       ; 4
    46f6:       80 93 42 05     sts     0x0542, r24
        EE_Parameter.Kanalbelegung[K_POTI1] = 5;
    46fa:       85 e0           ldi     r24, 0x05       ; 5
    46fc:       80 93 43 05     sts     0x0543, r24
        EE_Parameter.Kanalbelegung[K_POTI2] = 6;
    4700:       86 e0           ldi     r24, 0x06       ; 6
    4702:       80 93 44 05     sts     0x0544, r24
        EE_Parameter.Kanalbelegung[K_POTI3] = 7;
    4706:       87 e0           ldi     r24, 0x07       ; 7
    4708:       80 93 45 05     sts     0x0545, r24
        EE_Parameter.Kanalbelegung[K_POTI4] = 8;
    470c:       88 e0           ldi     r24, 0x08       ; 8
    470e:       80 93 46 05     sts     0x0546, r24
        EE_Parameter.Kanalbelegung[K_POTI5] = 9;
    4712:       89 e0           ldi     r24, 0x09       ; 9
    4714:       80 93 47 05     sts     0x0547, r24
        EE_Parameter.Kanalbelegung[K_POTI6] = 10;
    4718:       8a e0           ldi     r24, 0x0A       ; 10
    471a:       80 93 48 05     sts     0x0548, r24
        EE_Parameter.Kanalbelegung[K_POTI7] = 11;
    471e:       8b e0           ldi     r24, 0x0B       ; 11
    4720:       80 93 49 05     sts     0x0549, r24
        EE_Parameter.Kanalbelegung[K_POTI8] = 12;
    4724:       8c e0           ldi     r24, 0x0C       ; 12
    4726:       80 93 4a 05     sts     0x054A, r24
    472a:       08 95           ret

0000472c <CommonDefaults>:
/***************************************************/
/*    Default Values for parameter set 1           */
/***************************************************/
void CommonDefaults(void)
{
        EE_Parameter.Revision = EEPARAM_REVISION;
    472c:       87 e6           ldi     r24, 0x67       ; 103
    472e:       80 93 3e 05     sts     0x053E, r24
        memset(EE_Parameter.Name,0,12); // delete name
    4732:       8c e0           ldi     r24, 0x0C       ; 12
    4734:       ea eb           ldi     r30, 0xBA       ; 186
    4736:       f5 e0           ldi     r31, 0x05       ; 5
    4738:       df 01           movw    r26, r30
    473a:       1d 92           st      X+, r1
    473c:       8a 95           dec     r24
    473e:       e9 f7           brne    .-6             ; 0x473a <CommonDefaults+0xe>
//      if(PlatinenVersion >= 20)
        {
                EE_Parameter.Gyro_D = 10;
    4740:       8a e0           ldi     r24, 0x0A       ; 10
    4742:       80 93 5e 05     sts     0x055E, r24
                EE_Parameter.Driftkomp = 0;
    4746:       10 92 82 05     sts     0x0582, r1
                EE_Parameter.GyroAccFaktor = 27;
    474a:       8b e1           ldi     r24, 0x1B       ; 27
    474c:       80 93 5a 05     sts     0x055A, r24
                EE_Parameter.WinkelUmschlagNick = 78;
    4750:       8e e4           ldi     r24, 0x4E       ; 78
    4752:       80 93 7f 05     sts     0x057F, r24
                EE_Parameter.WinkelUmschlagRoll = 78;
    4756:       80 93 80 05     sts     0x0580, r24
                EE_Parameter.GyroAccFaktor = 30;
                EE_Parameter.WinkelUmschlagNick = 85;
                EE_Parameter.WinkelUmschlagRoll = 85;
        }
*/
        EE_Parameter.GyroAccAbgleich = 32;        // 1/k
    475a:       80 e2           ldi     r24, 0x20       ; 32
    475c:       80 93 81 05     sts     0x0581, r24
        EE_Parameter.BitConfig = 0;              // Looping usw.
    4760:       10 92 b6 05     sts     0x05B6, r1
        EE_Parameter.GlobalConfig = CFG_ACHSENKOPPLUNG_AKTIV | CFG_KOMPASS_AKTIV | CFG_GPS_AKTIV | CFG_HOEHEN_SCHALTER;
    4764:       8a e6           ldi     r24, 0x6A       ; 106
    4766:       80 93 4b 05     sts     0x054B, r24
        EE_Parameter.ExtraConfig = CFG_GPS_AID | CFG2_VARIO_BEEP | CFG_LEARNABLE_CAREFREE | CFG_NO_RCOFF_BEEPING;
    476a:       82 e7           ldi     r24, 0x72       ; 114
    476c:       80 93 b8 05     sts     0x05B8, r24
        EE_Parameter.GlobalConfig3 = CFG3_SPEAK_ALL | CFG3_NO_GPSFIX_NO_START;//
    4770:       80 e5           ldi     r24, 0x50       ; 80
    4772:       80 93 b9 05     sts     0x05B9, r24
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
        EE_Parameter.Receiver = RECEIVER_HOTT;
    4776:       86 e0           ldi     r24, 0x06       ; 6
    4778:       80 93 65 05     sts     0x0565, r24
#else
        EE_Parameter.Receiver = RECEIVER_JETI;
#endif

        EE_Parameter.MotorSafetySwitch = 0; 
    477c:       10 92 a3 05     sts     0x05A3, r1
        EE_Parameter.ExternalControl = 0;
    4780:       10 92 a0 05     sts     0x05A0, r1

        EE_Parameter.Gas_Min = 8;             // Wert : 0-32
    4784:       88 e0           ldi     r24, 0x08       ; 8
    4786:       80 93 58 05     sts     0x0558, r24
        EE_Parameter.Gas_Max = 230;           // Wert : 33-247
    478a:       86 ee           ldi     r24, 0xE6       ; 230
    478c:       80 93 59 05     sts     0x0559, r24
        EE_Parameter.KompassWirkung = 64;    // Wert : 0-247
    4790:       80 e4           ldi     r24, 0x40       ; 64
    4792:       80 93 5b 05     sts     0x055B, r24

        EE_Parameter.HoeheChannel = 5;         // Wert : 0-32
    4796:       85 e0           ldi     r24, 0x05       ; 5
    4798:       80 93 4e 05     sts     0x054E, r24
        EE_Parameter.Hoehe_MinGas = 30;
    479c:       8e e1           ldi     r24, 0x1E       ; 30
    479e:       80 93 4c 05     sts     0x054C, r24
        EE_Parameter.Hoehe_TiltCompensation = 110; // in %
    47a2:       8e e6           ldi     r24, 0x6E       ; 110
    47a4:       80 93 53 05     sts     0x0553, r24

#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
        if(ACC_AltitudeControl)
    47a8:       80 91 c2 03     lds     r24, 0x03C2
    47ac:       88 23           and     r24, r24
    47ae:       99 f0           breq    .+38            ; 0x47d6 <CommonDefaults+0xaa>
        {
                EE_Parameter.Hoehe_P      = 20;          // Wert : 0-32
    47b0:       84 e1           ldi     r24, 0x14       ; 20
    47b2:       80 93 4f 05     sts     0x054F, r24
                EE_Parameter.Luftdruck_D  = 40;          // Wert : 0-247
    47b6:       88 e2           ldi     r24, 0x28       ; 40
    47b8:       80 93 4d 05     sts     0x054D, r24
                EE_Parameter.Hoehe_ACC_Wirkung = 30;     // Wert : 0-247
    47bc:       8e e1           ldi     r24, 0x1E       ; 30
    47be:       80 93 51 05     sts     0x0551, r24
                EE_Parameter.Hoehe_HoverBand = 1;         // Wert : 0-247
    47c2:       81 e0           ldi     r24, 0x01       ; 1
    47c4:       80 93 52 05     sts     0x0552, r24
                EE_Parameter.Hoehe_StickNeutralPoint = 127;// Wert : 0-247 (0 = Hover-Estimation)
    47c8:       8f e7           ldi     r24, 0x7F       ; 127
    47ca:       80 93 54 05     sts     0x0554, r24
                EE_Parameter.FailSafeTime = 60;                   // 0 = off
    47ce:       8c e3           ldi     r24, 0x3C       ; 60
    47d0:       80 93 a6 05     sts     0x05A6, r24
    47d4:       0f c0           rjmp    .+30            ; 0x47f4 <CommonDefaults+0xc8>
        }
        else 
#endif
        {
                EE_Parameter.Hoehe_P      = 15;          // Wert : 0-32
    47d6:       8f e0           ldi     r24, 0x0F       ; 15
    47d8:       80 93 4f 05     sts     0x054F, r24
                EE_Parameter.Luftdruck_D  = 30;          // Wert : 0-247
    47dc:       8e e1           ldi     r24, 0x1E       ; 30
    47de:       80 93 4d 05     sts     0x054D, r24
                EE_Parameter.Hoehe_ACC_Wirkung = 0;     // Wert : 0-247
    47e2:       10 92 51 05     sts     0x0551, r1
                EE_Parameter.Hoehe_HoverBand = 8;         // Wert : 0-247
    47e6:       88 e0           ldi     r24, 0x08       ; 8
    47e8:       80 93 52 05     sts     0x0552, r24
                EE_Parameter.Hoehe_StickNeutralPoint = 0;// Wert : 0-247 (0 = Hover-Estimation)
    47ec:       10 92 54 05     sts     0x0554, r1
                EE_Parameter.FailSafeTime = 0;            // 0 = off
    47f0:       10 92 a6 05     sts     0x05A6, r1
        }
        
        EE_Parameter.Hoehe_Verstaerkung = 15;    // Wert : 0-50 (15 -> ca. +/- 5m/sek bei Stick-Voll-Ausschlag)
    47f4:       8f e0           ldi     r24, 0x0F       ; 15
    47f6:       80 93 50 05     sts     0x0550, r24
        EE_Parameter.StartLandChannel = 0;  
    47fa:       10 92 af 05     sts     0x05AF, r1
        EE_Parameter.LandingSpeed = 12;  
    47fe:       8c e0           ldi     r24, 0x0C       ; 12
    4800:       80 93 b0 05     sts     0x05B0, r24

        EE_Parameter.UserParam1 =   0;           // zur freien Verwendung
    4804:       10 92 67 05     sts     0x0567, r1
        EE_Parameter.UserParam2 =   0;           // zur freien Verwendung
    4808:       10 92 68 05     sts     0x0568, r1
        EE_Parameter.UserParam3 =   0;           // zur freien Verwendung
    480c:       10 92 69 05     sts     0x0569, r1
        EE_Parameter.UserParam4 =   0;           // zur freien Verwendung
    4810:       10 92 6a 05     sts     0x056A, r1
        EE_Parameter.UserParam5 =   0;           // zur freien Verwendung
    4814:       10 92 84 05     sts     0x0584, r1
        EE_Parameter.UserParam6 =   0;           // zur freien Verwendung
    4818:       10 92 85 05     sts     0x0585, r1
        EE_Parameter.UserParam7 = 0;             // zur freien Verwendung
    481c:       10 92 86 05     sts     0x0586, r1
        EE_Parameter.UserParam8 = 0;             // zur freien Verwendung
    4820:       10 92 87 05     sts     0x0587, r1

        EE_Parameter.ServoNickControl = 128;     // Wert : 0-247     // Stellung des Servos
    4824:       20 e8           ldi     r18, 0x80       ; 128
    4826:       20 93 6b 05     sts     0x056B, r18
        EE_Parameter.ServoNickComp = 50;         // Wert : 0-247     // Einfluss Gyro/Servo
    482a:       82 e3           ldi     r24, 0x32       ; 50
    482c:       80 93 6c 05     sts     0x056C, r24
        EE_Parameter.ServoCompInvert = 2;        // Wert : 0-247     // Richtung Einfluss Gyro/Servo
    4830:       52 e0           ldi     r21, 0x02       ; 2
    4832:       50 93 b7 05     sts     0x05B7, r21
        EE_Parameter.ServoNickMin = 24;          // Wert : 0-247     // Anschlag
    4836:       98 e1           ldi     r25, 0x18       ; 24
    4838:       90 93 6d 05     sts     0x056D, r25
        EE_Parameter.ServoNickMax = 230;         // Wert : 0-247     // Anschlag
    483c:       96 ee           ldi     r25, 0xE6       ; 230
    483e:       90 93 6e 05     sts     0x056E, r25
        EE_Parameter.ServoNickRefresh = 3;
    4842:       93 e0           ldi     r25, 0x03       ; 3
    4844:       90 93 73 05     sts     0x0573, r25
        EE_Parameter.Servo3 = 125;
    4848:       9d e7           ldi     r25, 0x7D       ; 125
    484a:       90 93 76 05     sts     0x0576, r25
        EE_Parameter.Servo4 = 125;
    484e:       90 93 77 05     sts     0x0577, r25
        EE_Parameter.Servo5 = 125;
    4852:       90 93 78 05     sts     0x0578, r25
        EE_Parameter.ServoRollControl = 128;     // Wert : 0-247     // Stellung des Servos
    4856:       20 93 6f 05     sts     0x056F, r18
        EE_Parameter.ServoRollComp = 85;         // Wert : 0-247     // Einfluss Gyro/Servo
    485a:       75 e5           ldi     r23, 0x55       ; 85
    485c:       70 93 70 05     sts     0x0570, r23
        EE_Parameter.ServoRollMin = 70;          // Wert : 0-247     // Anschlag
    4860:       26 e4           ldi     r18, 0x46       ; 70
    4862:       20 93 71 05     sts     0x0571, r18
        EE_Parameter.ServoRollMax = 220;         // Wert : 0-247     // Anschlag
    4866:       3c ed           ldi     r19, 0xDC       ; 220
    4868:       30 93 72 05     sts     0x0572, r19
        EE_Parameter.ServoManualControlSpeed = 60;
    486c:       3c e3           ldi     r19, 0x3C       ; 60
    486e:       30 93 74 05     sts     0x0574, r19
        EE_Parameter.CamOrientation = 0;         // Wert : 0-24 -> 0-360 -> 15° steps
    4872:       10 92 75 05     sts     0x0575, r1

        EE_Parameter.J16Bitmask = 0xAA;
    4876:       3a ea           ldi     r19, 0xAA       ; 170
    4878:       30 93 88 05     sts     0x0588, r19
        EE_Parameter.J17Bitmask = 0xCC;
    487c:       4c ec           ldi     r20, 0xCC       ; 204
    487e:       40 93 8a 05     sts     0x058A, r20
        EE_Parameter.WARN_J16_Bitmask = 0x00;
    4882:       10 92 8c 05     sts     0x058C, r1
        EE_Parameter.WARN_J17_Bitmask = 0xAA;
    4886:       30 93 8d 05     sts     0x058D, r19
        EE_Parameter.J16Timing = 40;
    488a:       48 e2           ldi     r20, 0x28       ; 40
    488c:       40 93 89 05     sts     0x0589, r20
        EE_Parameter.J17Timing = 40;
    4890:       40 93 8b 05     sts     0x058B, r20
    EE_Parameter.AutoPhotoDistance = 0;         // Photo release in meter
    4894:       10 92 8e 05     sts     0x058E, r1
    EE_Parameter.AutoPhotoAtitudes = 0;         // Photo release in meter
    4898:       10 92 b4 05     sts     0x05B4, r1
        EE_Parameter.SingleWpSpeed = 50;        // Speed when flying the single points
    489c:       80 93 b5 05     sts     0x05B5, r24

        EE_Parameter.LoopGasLimit = 50;
    48a0:       80 93 79 05     sts     0x0579, r24
        EE_Parameter.LoopThreshold = 90;        // Wert: 0-247  Schwelle für Stickausschlag
    48a4:       3a e5           ldi     r19, 0x5A       ; 90
    48a6:       30 93 7a 05     sts     0x057A, r19
        EE_Parameter.LoopHysterese = 50;
    48aa:       80 93 7b 05     sts     0x057B, r24

        EE_Parameter.NaviGpsModeChannel = 6; // Kanal 6
    48ae:       66 e0           ldi     r22, 0x06       ; 6
    48b0:       60 93 8f 05     sts     0x058F, r22
        EE_Parameter.NaviGpsGain = 100;
    48b4:       e4 e6           ldi     r30, 0x64       ; 100
    48b6:       e0 93 90 05     sts     0x0590, r30
        EE_Parameter.NaviGpsP =  100;
    48ba:       e0 93 91 05     sts     0x0591, r30
        EE_Parameter.NaviGpsI =   90;
    48be:       30 93 92 05     sts     0x0592, r19
        EE_Parameter.NaviGpsD =  120;
    48c2:       e8 e7           ldi     r30, 0x78       ; 120
    48c4:       e0 93 93 05     sts     0x0593, r30
        EE_Parameter.NaviGpsA =   40;
    48c8:       40 93 97 05     sts     0x0597, r20
        EE_Parameter.NaviGpsPLimit = 75;
    48cc:       4b e4           ldi     r20, 0x4B       ; 75
    48ce:       40 93 94 05     sts     0x0594, r20
        EE_Parameter.NaviGpsILimit = 85;
    48d2:       70 93 95 05     sts     0x0595, r23
        EE_Parameter.NaviGpsDLimit = 75;
    48d6:       40 93 96 05     sts     0x0596, r20
        EE_Parameter.NaviGpsMinSat = 6;
    48da:       60 93 98 05     sts     0x0598, r22
        EE_Parameter.NaviStickThreshold = 8;
    48de:       48 e0           ldi     r20, 0x08       ; 8
    48e0:       40 93 99 05     sts     0x0599, r20
        EE_Parameter.NaviWindCorrection = 50;
    48e4:       80 93 9a 05     sts     0x059A, r24
        EE_Parameter.NaviAccCompensation = 42;
    48e8:       8a e2           ldi     r24, 0x2A       ; 42
    48ea:       80 93 9b 05     sts     0x059B, r24
        EE_Parameter.NaviMaxFlyingRange = 0;
    48ee:       10 92 9c 05     sts     0x059C, r1
        EE_Parameter.NaviDescendRange = 0;
    48f2:       10 92 9f 05     sts     0x059F, r1
        EE_Parameter.NaviAngleLimitation = 140;
    48f6:       8c e8           ldi     r24, 0x8C       ; 140
    48f8:       80 93 9d 05     sts     0x059D, r24
        EE_Parameter.NaviPH_LoginTime = 2;
    48fc:       50 93 9e 05     sts     0x059E, r21
        EE_Parameter.OrientationAngle = 0;
    4900:       10 92 a1 05     sts     0x05A1, r1
        EE_Parameter.CareFreeChannel = 0;
    4904:       10 92 a2 05     sts     0x05A2, r1
        EE_Parameter.NotGas = 65;                // Wert : 0-247     // Gaswert bei Empangsverlust (ggf. in Prozent)
    4908:       41 e4           ldi     r20, 0x41       ; 65
    490a:       40 93 63 05     sts     0x0563, r20
        EE_Parameter.NotGasZeit = 90;            // Wert : 0-247     // Zeit bis auf NotGas geschaltet wird, wg. Rx-Problemen
    490e:       30 93 64 05     sts     0x0564, r19
        EE_Parameter.MotorSmooth = 0;           
    4912:       10 92 a4 05     sts     0x05A4, r1
        EE_Parameter.ComingHomeAltitude = 0;      // 0 = don't change 
    4916:       10 92 a5 05     sts     0x05A5, r1
        EE_Parameter.MaxAltitude = 150;           // 0 = off
    491a:       36 e9           ldi     r19, 0x96       ; 150
    491c:       30 93 a7 05     sts     0x05A7, r19
        EE_Parameter.AchsKopplung1 = 125;
    4920:       90 93 7c 05     sts     0x057C, r25
        EE_Parameter.AchsKopplung2 = 52;
    4924:       94 e3           ldi     r25, 0x34       ; 52
    4926:       90 93 7d 05     sts     0x057D, r25
        EE_Parameter.FailsafeChannel = 0;
    492a:       10 92 a8 05     sts     0x05A8, r1
        EE_Parameter.ServoFilterNick = 0;
    492e:       10 92 a9 05     sts     0x05A9, r1
        EE_Parameter.ServoFilterRoll = 0;
    4932:       10 92 aa 05     sts     0x05AA, r1
    EE_Parameter.Servo3OnValue = 140;
    4936:       80 93 ab 05     sts     0x05AB, r24
    EE_Parameter.Servo3OffValue = 70;
    493a:       20 93 ac 05     sts     0x05AC, r18
        EE_Parameter.Servo4OnValue = 140;
    493e:       80 93 ad 05     sts     0x05AD, r24
    EE_Parameter.Servo4OffValue = 70;
    4942:       20 93 ae 05     sts     0x05AE, r18
        EE_Parameter.CompassOffset = 0;
    4946:       10 92 b1 05     sts     0x05B1, r1
        EE_Parameter.UnterspannungsWarnung      = 32; // Wert : 0-247 ( Automatische Zellenerkennung bei < 50)
    494a:       80 e2           ldi     r24, 0x20       ; 32
    494c:       80 93 62 05     sts     0x0562, r24
        EE_Parameter.ComingHomeVoltage          = 31;
    4950:       8f e1           ldi     r24, 0x1F       ; 31
    4952:       80 93 b3 05     sts     0x05B3, r24
        EE_Parameter.AutoLandingVoltage         = 30;
    4956:       8e e1           ldi     r24, 0x1E       ; 30
    4958:       80 93 b2 05     sts     0x05B2, r24
    495c:       08 95           ret

0000495e <ParamSet_DefaultSet1>:
/***************************************************/
/*    Default Values for parameter set 1           */
/***************************************************/
void ParamSet_DefaultSet1(void) // normal
{
        CommonDefaults();
    495e:       e6 de           rcall   .-564           ; 0x472c <CommonDefaults>
        EE_Parameter.Stick_P = 10;               // Wert : 1-20
    4960:       8a e0           ldi     r24, 0x0A       ; 10
    4962:       80 93 55 05     sts     0x0555, r24
        EE_Parameter.Stick_D = 16;               // Wert : 0-20
    4966:       80 e1           ldi     r24, 0x10       ; 16
    4968:       80 93 56 05     sts     0x0556, r24
        EE_Parameter.StickGier_P = 6;                 // Wert : 1-20
    496c:       86 e0           ldi     r24, 0x06       ; 6
    496e:       80 93 57 05     sts     0x0557, r24
        EE_Parameter.Gyro_P = 90;                // Wert : 0-247
    4972:       2a e5           ldi     r18, 0x5A       ; 90
    4974:       20 93 5c 05     sts     0x055C, r18
        EE_Parameter.Gyro_I = 120;               // Wert : 0-247
    4978:       98 e7           ldi     r25, 0x78       ; 120
    497a:       90 93 5d 05     sts     0x055D, r25
        EE_Parameter.Gyro_Gier_P = 90;           // Wert : 0-247
    497e:       20 93 5f 05     sts     0x055F, r18
        EE_Parameter.Gyro_Gier_I = 120;          // Wert : 0-247
    4982:       90 93 60 05     sts     0x0560, r25
        EE_Parameter.Gyro_Stability = 6;                  // Wert : 1-8
    4986:       80 93 61 05     sts     0x0561, r24
        EE_Parameter.I_Faktor = 32;
    498a:       80 e2           ldi     r24, 0x20       ; 32
    498c:       80 93 66 05     sts     0x0566, r24
        EE_Parameter.CouplingYawCorrection = 60;
    4990:       8c e3           ldi     r24, 0x3C       ; 60
    4992:       80 93 7e 05     sts     0x057E, r24
        EE_Parameter.DynamicStability = 75;
    4996:       8b e4           ldi     r24, 0x4B       ; 75
    4998:       80 93 83 05     sts     0x0583, r24
        memcpy(EE_Parameter.Name, "Fast",4);
    499c:       86 e4           ldi     r24, 0x46       ; 70
    499e:       91 e6           ldi     r25, 0x61       ; 97
    49a0:       a3 e7           ldi     r26, 0x73       ; 115
    49a2:       b4 e7           ldi     r27, 0x74       ; 116
    49a4:       80 93 ba 05     sts     0x05BA, r24
    49a8:       90 93 bb 05     sts     0x05BB, r25
    49ac:       a0 93 bc 05     sts     0x05BC, r26
    49b0:       b0 93 bd 05     sts     0x05BD, r27
        EE_Parameter.crc = RAM_Checksum((uint8_t*)(&EE_Parameter), sizeof(EE_Parameter)-1);
    49b4:       68 e8           ldi     r22, 0x88       ; 136
    49b6:       70 e0           ldi     r23, 0x00       ; 0
    49b8:       8e e3           ldi     r24, 0x3E       ; 62
    49ba:       95 e0           ldi     r25, 0x05       ; 5
    49bc:       5f de           rcall   .-834           ; 0x467c <RAM_Checksum>
    49be:       80 93 c6 05     sts     0x05C6, r24
    49c2:       08 95           ret

000049c4 <ParamSet_DefaultSet2>:
/***************************************************/
/*    Default Values for parameter set 2           */
/***************************************************/
void ParamSet_DefaultSet2(void) // Agil
{
        CommonDefaults();
    49c4:       b3 de           rcall   .-666           ; 0x472c <CommonDefaults>
        EE_Parameter.Stick_P = 8;                // Wert : 1-20
    49c6:       88 e0           ldi     r24, 0x08       ; 8
    49c8:       80 93 55 05     sts     0x0555, r24
        EE_Parameter.Stick_D = 16;               // Wert : 0-20
    49cc:       80 e1           ldi     r24, 0x10       ; 16
    49ce:       80 93 56 05     sts     0x0556, r24
        EE_Parameter.StickGier_P  = 6;                // Wert : 1-20
    49d2:       96 e0           ldi     r25, 0x06       ; 6
    49d4:       90 93 57 05     sts     0x0557, r25
        EE_Parameter.Gyro_P = 100;               // Wert : 0-247
    49d8:       34 e6           ldi     r19, 0x64       ; 100
    49da:       30 93 5c 05     sts     0x055C, r19
        EE_Parameter.Gyro_I = 120;               // Wert : 0-247
    49de:       28 e7           ldi     r18, 0x78       ; 120
    49e0:       20 93 5d 05     sts     0x055D, r18
        EE_Parameter.Gyro_Gier_P = 100;          // Wert : 0-247
    49e4:       30 93 5f 05     sts     0x055F, r19
        EE_Parameter.Gyro_Gier_I = 120;          // Wert : 0-247
    49e8:       20 93 60 05     sts     0x0560, r18
        EE_Parameter.Gyro_Stability = 6;                  // Wert : 1-8
    49ec:       90 93 61 05     sts     0x0561, r25
        EE_Parameter.I_Faktor = 16;
    49f0:       80 93 66 05     sts     0x0566, r24
        EE_Parameter.CouplingYawCorrection = 70;
    49f4:       86 e4           ldi     r24, 0x46       ; 70
    49f6:       80 93 7e 05     sts     0x057E, r24
        EE_Parameter.DynamicStability = 70;
    49fa:       80 93 83 05     sts     0x0583, r24
        memcpy(EE_Parameter.Name, "Agile",5);
    49fe:       85 e0           ldi     r24, 0x05       ; 5
    4a00:       e5 ec           ldi     r30, 0xC5       ; 197
    4a02:       f2 e0           ldi     r31, 0x02       ; 2
    4a04:       aa eb           ldi     r26, 0xBA       ; 186
    4a06:       b5 e0           ldi     r27, 0x05       ; 5
    4a08:       01 90           ld      r0, Z+
    4a0a:       0d 92           st      X+, r0
    4a0c:       8a 95           dec     r24
    4a0e:       e1 f7           brne    .-8             ; 0x4a08 <ParamSet_DefaultSet2+0x44>
        EE_Parameter.crc = RAM_Checksum((uint8_t*)(&EE_Parameter), sizeof(EE_Parameter)-1);
    4a10:       68 e8           ldi     r22, 0x88       ; 136
    4a12:       70 e0           ldi     r23, 0x00       ; 0
    4a14:       8e e3           ldi     r24, 0x3E       ; 62
    4a16:       95 e0           ldi     r25, 0x05       ; 5
    4a18:       31 de           rcall   .-926           ; 0x467c <RAM_Checksum>
    4a1a:       80 93 c6 05     sts     0x05C6, r24
    4a1e:       08 95           ret

00004a20 <ParamSet_DefaultSet3>:
/***************************************************/
/*    Default Values for parameter set 3           */
/***************************************************/
void ParamSet_DefaultSet3(void) // Easy
{
        CommonDefaults();
    4a20:       85 de           rcall   .-758           ; 0x472c <CommonDefaults>
        EE_Parameter.Stick_P = 6;                // Wert : 1-20
    4a22:       86 e0           ldi     r24, 0x06       ; 6
    4a24:       80 93 55 05     sts     0x0555, r24
        EE_Parameter.Stick_D = 10;               // Wert : 0-20
    4a28:       9a e0           ldi     r25, 0x0A       ; 10
    4a2a:       90 93 56 05     sts     0x0556, r25
        EE_Parameter.StickGier_P  = 4;           // Wert : 1-20
    4a2e:       94 e0           ldi     r25, 0x04       ; 4
    4a30:       90 93 57 05     sts     0x0557, r25
        EE_Parameter.Gyro_P = 100;               // Wert : 0-247
    4a34:       24 e6           ldi     r18, 0x64       ; 100
    4a36:       20 93 5c 05     sts     0x055C, r18
        EE_Parameter.Gyro_I = 120;               // Wert : 0-247
    4a3a:       98 e7           ldi     r25, 0x78       ; 120
    4a3c:       90 93 5d 05     sts     0x055D, r25
        EE_Parameter.Gyro_Gier_P = 100;          // Wert : 0-247
    4a40:       20 93 5f 05     sts     0x055F, r18
        EE_Parameter.Gyro_Gier_I = 120;          // Wert : 0-247
    4a44:       90 93 60 05     sts     0x0560, r25
        EE_Parameter.Gyro_Stability = 6;              // Wert : 1-8
    4a48:       80 93 61 05     sts     0x0561, r24
        EE_Parameter.I_Faktor = 16;
    4a4c:       80 e1           ldi     r24, 0x10       ; 16
    4a4e:       80 93 66 05     sts     0x0566, r24
        EE_Parameter.CouplingYawCorrection = 70;
    4a52:       86 e4           ldi     r24, 0x46       ; 70
    4a54:       80 93 7e 05     sts     0x057E, r24
        EE_Parameter.DynamicStability = 70;
    4a58:       80 93 83 05     sts     0x0583, r24
        memcpy(EE_Parameter.Name, "Easy", 4);
    4a5c:       85 e4           ldi     r24, 0x45       ; 69
    4a5e:       91 e6           ldi     r25, 0x61       ; 97
    4a60:       a3 e7           ldi     r26, 0x73       ; 115
    4a62:       b9 e7           ldi     r27, 0x79       ; 121
    4a64:       80 93 ba 05     sts     0x05BA, r24
    4a68:       90 93 bb 05     sts     0x05BB, r25
    4a6c:       a0 93 bc 05     sts     0x05BC, r26
    4a70:       b0 93 bd 05     sts     0x05BD, r27
        EE_Parameter.crc = RAM_Checksum((uint8_t*)(&EE_Parameter), sizeof(EE_Parameter)-1);
    4a74:       68 e8           ldi     r22, 0x88       ; 136
    4a76:       70 e0           ldi     r23, 0x00       ; 0
    4a78:       8e e3           ldi     r24, 0x3E       ; 62
    4a7a:       95 e0           ldi     r25, 0x05       ; 5
    4a7c:       ff dd           rcall   .-1026          ; 0x467c <RAM_Checksum>
    4a7e:       80 93 c6 05     sts     0x05C6, r24
    4a82:       08 95           ret

00004a84 <GetParamByte>:
/***************************************************/
/*       Read Parameter from EEPROM as byte        */
/***************************************************/
uint8_t GetParamByte(uint16_t param_id)
{
        return eeprom_read_byte((uint8_t*)(EEPROM_ADR_PARAM_BEGIN + param_id));
    4a84:       0c 94 3e b2     jmp     0x1647c ; 0x1647c <__eerd_byte_m1284>
}
    4a88:       08 95           ret

00004a8a <SetParamByte>:
/***************************************************/
/*       Write Parameter to EEPROM as byte         */
/***************************************************/
void SetParamByte(uint16_t param_id, uint8_t value)
{
        eeprom_write_byte((uint8_t*)(EEPROM_ADR_PARAM_BEGIN + param_id), value);
    4a8a:       0c 94 54 b2     jmp     0x164a8 ; 0x164a8 <__eewr_byte_m1284>
    4a8e:       08 95           ret

00004a90 <GetParamWord>:
/***************************************************/
/*       Read Parameter from EEPROM as word        */
/***************************************************/
uint16_t GetParamWord(uint16_t param_id)
{
        return eeprom_read_word((uint16_t *)(EEPROM_ADR_PARAM_BEGIN + param_id));
    4a90:       0c 94 46 b2     jmp     0x1648c ; 0x1648c <__eerd_word_m1284>
}
    4a94:       08 95           ret

00004a96 <SetParamWord>:
/***************************************************/
/*       Write Parameter to EEPROM as word         */
/***************************************************/
void SetParamWord(uint16_t param_id, uint16_t value)
{
        eeprom_write_word((uint16_t*)(EEPROM_ADR_PARAM_BEGIN + param_id), value);
    4a96:       0c 94 62 b2     jmp     0x164c4 ; 0x164c4 <__eewr_word_m1284>
    4a9a:       08 95           ret

00004a9c <ParamSet_ReadFromEEProm>:
/***************************************************/
/*       Read Parameter Set from EEPROM            */
/***************************************************/
// number [1..5]
uint8_t ParamSet_ReadFromEEProm(uint8_t setnumber)
{
    4a9c:       ff 92           push    r15
    4a9e:       0f 93           push    r16
    4aa0:       1f 93           push    r17
    4aa2:       cf 93           push    r28
    4aa4:       df 93           push    r29
        uint8_t crc;
        uint16_t eeaddr;

        // range the setnumber
        if((1 > setnumber) || (setnumber > 5)) setnumber = 3;
    4aa6:       9f ef           ldi     r25, 0xFF       ; 255
    4aa8:       98 0f           add     r25, r24
    4aaa:       95 30           cpi     r25, 0x05       ; 5
    4aac:       08 f0           brcs    .+2             ; 0x4ab0 <ParamSet_ReadFromEEProm+0x14>
    4aae:       83 e0           ldi     r24, 0x03       ; 3

        // calculate eeprom addr
        eeaddr = EEPROM_ADR_PARAMSET + PARAMSET_STRUCT_LEN * (setnumber - 1);
    4ab0:       90 e0           ldi     r25, 0x00       ; 0
    4ab2:       01 97           sbiw    r24, 0x01       ; 1
    4ab4:       29 e8           ldi     r18, 0x89       ; 137
    4ab6:       28 9f           mul     r18, r24
    4ab8:       e0 01           movw    r28, r0
    4aba:       29 9f           mul     r18, r25
    4abc:       d0 0d           add     r29, r0
    4abe:       11 24           eor     r1, r1
    4ac0:       8e 01           movw    r16, r28
    4ac2:       0c 59           subi    r16, 0x9C       ; 156
    4ac4:       1f 4f           sbci    r17, 0xFF       ; 255

        // calculate checksum from eeprom
        crc = EEProm_Checksum(eeaddr, PARAMSET_STRUCT_LEN - 1);
    4ac6:       68 e8           ldi     r22, 0x88       ; 136
    4ac8:       70 e0           ldi     r23, 0x00       ; 0
    4aca:       c8 01           movw    r24, r16
    4acc:       e6 dd           rcall   .-1076          ; 0x469a <EEProm_Checksum>
    4ace:       f8 2e           mov     r15, r24

        // check crc
        if(crc != eeprom_read_byte((uint8_t*)(eeaddr + PARAMSET_STRUCT_LEN - 1))) return 0;
    4ad0:       ce 01           movw    r24, r28
    4ad2:       84 51           subi    r24, 0x14       ; 20
    4ad4:       9f 4f           sbci    r25, 0xFF       ; 255
    4ad6:       0e 94 3e b2     call    0x1647c ; 0x1647c <__eerd_byte_m1284>
    4ada:       8f 11           cpse    r24, r15
    4adc:       12 c0           rjmp    .+36            ; 0x4b02 <ParamSet_ReadFromEEProm+0x66>

        // check revision
        if(eeprom_read_byte((uint8_t*)(eeaddr)) != EEPARAM_REVISION) return 0;
    4ade:       c8 01           movw    r24, r16
    4ae0:       0e 94 3e b2     call    0x1647c ; 0x1647c <__eerd_byte_m1284>
    4ae4:       87 36           cpi     r24, 0x67       ; 103
    4ae6:       79 f4           brne    .+30            ; 0x4b06 <ParamSet_ReadFromEEProm+0x6a>

        // read paramset from eeprom
        eeprom_read_block((void *) &EE_Parameter, (void*)(EEPROM_ADR_PARAMSET + PARAMSET_STRUCT_LEN * (setnumber - 1)), PARAMSET_STRUCT_LEN);
    4ae8:       49 e8           ldi     r20, 0x89       ; 137
    4aea:       50 e0           ldi     r21, 0x00       ; 0
    4aec:       b8 01           movw    r22, r16
    4aee:       8e e3           ldi     r24, 0x3E       ; 62
    4af0:       95 e0           ldi     r25, 0x05       ; 5
    4af2:       0e 94 2e b2     call    0x1645c ; 0x1645c <__eerd_block_m1284>
        LED_Init();
    4af6:       0e 94 80 85     call    0x10b00 ; 0x10b00 <LED_Init>
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
        LIBFC_HoTT_Clear();
    4afa:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
#endif
        return 1;
    4afe:       81 e0           ldi     r24, 0x01       ; 1
    4b00:       03 c0           rjmp    .+6             ; 0x4b08 <ParamSet_ReadFromEEProm+0x6c>

        // calculate checksum from eeprom
        crc = EEProm_Checksum(eeaddr, PARAMSET_STRUCT_LEN - 1);

        // check crc
        if(crc != eeprom_read_byte((uint8_t*)(eeaddr + PARAMSET_STRUCT_LEN - 1))) return 0;
    4b02:       80 e0           ldi     r24, 0x00       ; 0
    4b04:       01 c0           rjmp    .+2             ; 0x4b08 <ParamSet_ReadFromEEProm+0x6c>

        // check revision
        if(eeprom_read_byte((uint8_t*)(eeaddr)) != EEPARAM_REVISION) return 0;
    4b06:       80 e0           ldi     r24, 0x00       ; 0
        LED_Init();
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
        LIBFC_HoTT_Clear();
#endif
        return 1;
}
    4b08:       df 91           pop     r29
    4b0a:       cf 91           pop     r28
    4b0c:       1f 91           pop     r17
    4b0e:       0f 91           pop     r16
    4b10:       ff 90           pop     r15
    4b12:       08 95           ret

00004b14 <MixerTable_ReadFromEEProm>:

/***************************************************/
/*          Read MixerTable from EEPROM            */
/***************************************************/
uint8_t MixerTable_ReadFromEEProm(void)
{
    4b14:       cf 93           push    r28
        uint8_t crc;

        // calculate checksum in eeprom
        crc = EEProm_Checksum(EEPROM_ADR_MIXERTABLE, sizeof(Mixer) - 1);
    4b16:       6d e4           ldi     r22, 0x4D       ; 77
    4b18:       70 e0           ldi     r23, 0x00       ; 0
    4b1a:       88 ee           ldi     r24, 0xE8       ; 232
    4b1c:       93 e0           ldi     r25, 0x03       ; 3
    4b1e:       bd dd           rcall   .-1158          ; 0x469a <EEProm_Checksum>
    4b20:       c8 2f           mov     r28, r24

        // check crc
        if( crc != eeprom_read_byte((uint8_t*)(EEPROM_ADR_MIXERTABLE + sizeof(Mixer) - 1)) ) return 0;
    4b22:       85 e3           ldi     r24, 0x35       ; 53
    4b24:       94 e0           ldi     r25, 0x04       ; 4
    4b26:       0e 94 3e b2     call    0x1647c ; 0x1647c <__eerd_byte_m1284>
    4b2a:       8c 13           cpse    r24, r28
    4b2c:       10 c0           rjmp    .+32            ; 0x4b4e <MixerTable_ReadFromEEProm+0x3a>

        // check revision
        if(eeprom_read_byte((uint8_t*)(EEPROM_ADR_MIXERTABLE)) != EEMIXER_REVISION) return 0;
    4b2e:       88 ee           ldi     r24, 0xE8       ; 232
    4b30:       93 e0           ldi     r25, 0x03       ; 3
    4b32:       0e 94 3e b2     call    0x1647c ; 0x1647c <__eerd_byte_m1284>
    4b36:       81 30           cpi     r24, 0x01       ; 1
    4b38:       61 f4           brne    .+24            ; 0x4b52 <MixerTable_ReadFromEEProm+0x3e>

        // read mixer table
        eeprom_read_block((void *) &Mixer, (void*)(EEPROM_ADR_MIXERTABLE), sizeof(Mixer));
    4b3a:       4e e4           ldi     r20, 0x4E       ; 78
    4b3c:       50 e0           ldi     r21, 0x00       ; 0
    4b3e:       68 ee           ldi     r22, 0xE8       ; 232
    4b40:       73 e0           ldi     r23, 0x03       ; 3
    4b42:       87 ec           ldi     r24, 0xC7       ; 199
    4b44:       95 e0           ldi     r25, 0x05       ; 5
    4b46:       0e 94 2e b2     call    0x1645c ; 0x1645c <__eerd_block_m1284>
        return 1;
    4b4a:       81 e0           ldi     r24, 0x01       ; 1
    4b4c:       03 c0           rjmp    .+6             ; 0x4b54 <MixerTable_ReadFromEEProm+0x40>

        // calculate checksum in eeprom
        crc = EEProm_Checksum(EEPROM_ADR_MIXERTABLE, sizeof(Mixer) - 1);

        // check crc
        if( crc != eeprom_read_byte((uint8_t*)(EEPROM_ADR_MIXERTABLE + sizeof(Mixer) - 1)) ) return 0;
    4b4e:       80 e0           ldi     r24, 0x00       ; 0
    4b50:       01 c0           rjmp    .+2             ; 0x4b54 <MixerTable_ReadFromEEProm+0x40>

        // check revision
        if(eeprom_read_byte((uint8_t*)(EEPROM_ADR_MIXERTABLE)) != EEMIXER_REVISION) return 0;
    4b52:       80 e0           ldi     r24, 0x00       ; 0

        // read mixer table
        eeprom_read_block((void *) &Mixer, (void*)(EEPROM_ADR_MIXERTABLE), sizeof(Mixer));
        return 1;
}
    4b54:       cf 91           pop     r28
    4b56:       08 95           ret

00004b58 <MixerTable_WriteToEEProm>:
/***************************************************/
/*          Write Mixer Table to EEPROM            */
/***************************************************/
uint8_t MixerTable_WriteToEEProm(void)
{
        if(Mixer.Revision == EEMIXER_REVISION)
    4b58:       80 91 c7 05     lds     r24, 0x05C7
    4b5c:       81 30           cpi     r24, 0x01       ; 1
    4b5e:       89 f4           brne    .+34            ; 0x4b82 <MixerTable_WriteToEEProm+0x2a>
        {
                // update crc
                Mixer.crc = RAM_Checksum((uint8_t*)(&Mixer), sizeof(Mixer) - 1);
    4b60:       6d e4           ldi     r22, 0x4D       ; 77
    4b62:       70 e0           ldi     r23, 0x00       ; 0
    4b64:       87 ec           ldi     r24, 0xC7       ; 199
    4b66:       95 e0           ldi     r25, 0x05       ; 5
    4b68:       89 dd           rcall   .-1262          ; 0x467c <RAM_Checksum>
    4b6a:       80 93 14 06     sts     0x0614, r24

                // write to eeprom
                eeprom_write_block((void *) &Mixer, (void*)(EEPROM_ADR_MIXERTABLE), sizeof(Mixer));
    4b6e:       4e e4           ldi     r20, 0x4E       ; 78
    4b70:       50 e0           ldi     r21, 0x00       ; 0
    4b72:       68 ee           ldi     r22, 0xE8       ; 232
    4b74:       73 e0           ldi     r23, 0x03       ; 3
    4b76:       87 ec           ldi     r24, 0xC7       ; 199
    4b78:       95 e0           ldi     r25, 0x05       ; 5
    4b7a:       0e 94 4b b2     call    0x16496 ; 0x16496 <__eewr_block_m1284>
                return 1;
    4b7e:       81 e0           ldi     r24, 0x01       ; 1
    4b80:       08 95           ret
        }
        else return 0;
    4b82:       80 e0           ldi     r24, 0x00       ; 0
}
    4b84:       08 95           ret

00004b86 <MixerTable_Default>:
/***************************************************/
void MixerTable_Default(void) // Quadro
{
        uint8_t i;

        Mixer.Revision = EEMIXER_REVISION;
    4b86:       81 e0           ldi     r24, 0x01       ; 1
    4b88:       80 93 c7 05     sts     0x05C7, r24
    4b8c:       e7 ed           ldi     r30, 0xD7       ; 215
    4b8e:       f5 e0           ldi     r31, 0x05       ; 5
    4b90:       87 e1           ldi     r24, 0x17       ; 23
    4b92:       96 e0           ldi     r25, 0x06       ; 6
    4b94:       df 01           movw    r26, r30
    4b96:       13 97           sbiw    r26, 0x03       ; 3
        // clear mixer table
        for(i = 0; i < 16; i++)
        {
                Mixer.Motor[i][MIX_GAS]  = 0;
    4b98:       1c 92           st      X, r1
    4b9a:       11 96           adiw    r26, 0x01       ; 1
                Mixer.Motor[i][MIX_NICK] = 0;
    4b9c:       1c 92           st      X, r1
    4b9e:       11 96           adiw    r26, 0x01       ; 1
                Mixer.Motor[i][MIX_ROLL] = 0;
    4ba0:       1c 92           st      X, r1
                Mixer.Motor[i][MIX_YAW]  = 0;
    4ba2:       10 82           st      Z, r1
    4ba4:       34 96           adiw    r30, 0x04       ; 4
{
        uint8_t i;

        Mixer.Revision = EEMIXER_REVISION;
        // clear mixer table
        for(i = 0; i < 16; i++)
    4ba6:       e8 17           cp      r30, r24
    4ba8:       f9 07           cpc     r31, r25
    4baa:       a1 f7           brne    .-24            ; 0x4b94 <MixerTable_Default+0xe>
                Mixer.Motor[i][MIX_NICK] = 0;
                Mixer.Motor[i][MIX_ROLL] = 0;
                Mixer.Motor[i][MIX_YAW]  = 0;
        }
        // default = Quadro
        Mixer.Motor[0][MIX_GAS] = 64; Mixer.Motor[0][MIX_NICK] = +64; Mixer.Motor[0][MIX_ROLL] =   0; Mixer.Motor[0][MIX_YAW] = +64;
    4bac:       80 e4           ldi     r24, 0x40       ; 64
    4bae:       80 93 d4 05     sts     0x05D4, r24
    4bb2:       80 93 d5 05     sts     0x05D5, r24
    4bb6:       10 92 d6 05     sts     0x05D6, r1
    4bba:       80 93 d7 05     sts     0x05D7, r24
        Mixer.Motor[1][MIX_GAS] = 64; Mixer.Motor[1][MIX_NICK] = -64; Mixer.Motor[1][MIX_ROLL] =   0; Mixer.Motor[1][MIX_YAW] = +64;
    4bbe:       80 93 d8 05     sts     0x05D8, r24
    4bc2:       90 ec           ldi     r25, 0xC0       ; 192
    4bc4:       90 93 d9 05     sts     0x05D9, r25
    4bc8:       10 92 da 05     sts     0x05DA, r1
    4bcc:       80 93 db 05     sts     0x05DB, r24
        Mixer.Motor[2][MIX_GAS] = 64; Mixer.Motor[2][MIX_NICK] =   0; Mixer.Motor[2][MIX_ROLL] = -64; Mixer.Motor[2][MIX_YAW] = -64;
    4bd0:       80 93 dc 05     sts     0x05DC, r24
    4bd4:       10 92 dd 05     sts     0x05DD, r1
    4bd8:       90 93 de 05     sts     0x05DE, r25
    4bdc:       90 93 df 05     sts     0x05DF, r25
        Mixer.Motor[3][MIX_GAS] = 64; Mixer.Motor[3][MIX_NICK] =   0; Mixer.Motor[3][MIX_ROLL] = +64; Mixer.Motor[3][MIX_YAW] = -64;
    4be0:       80 93 e0 05     sts     0x05E0, r24
    4be4:       10 92 e1 05     sts     0x05E1, r1
    4be8:       80 93 e2 05     sts     0x05E2, r24
    4bec:       90 93 e3 05     sts     0x05E3, r25
        memcpy(Mixer.Name, "Quadro\0\0\0\0\0\0", 12);
    4bf0:       8c e0           ldi     r24, 0x0C       ; 12
    4bf2:       e8 eb           ldi     r30, 0xB8       ; 184
    4bf4:       f2 e0           ldi     r31, 0x02       ; 2
    4bf6:       a8 ec           ldi     r26, 0xC8       ; 200
    4bf8:       b5 e0           ldi     r27, 0x05       ; 5
    4bfa:       01 90           ld      r0, Z+
    4bfc:       0d 92           st      X+, r0
    4bfe:       8a 95           dec     r24
    4c00:       e1 f7           brne    .-8             ; 0x4bfa <MixerTable_Default+0x74>
        Mixer.crc = RAM_Checksum((uint8_t*)(&Mixer), sizeof(Mixer) - 1);
    4c02:       6d e4           ldi     r22, 0x4D       ; 77
    4c04:       70 e0           ldi     r23, 0x00       ; 0
    4c06:       87 ec           ldi     r24, 0xC7       ; 199
    4c08:       95 e0           ldi     r25, 0x05       ; 5
    4c0a:       38 dd           rcall   .-1424          ; 0x467c <RAM_Checksum>
    4c0c:       80 93 14 06     sts     0x0614, r24
    4c10:       08 95           ret

00004c12 <GetActiveParamSet>:
/*       Get active parameter set                  */
/***************************************************/
uint8_t GetActiveParamSet(void)
{
        uint8_t setnumber;
        setnumber = eeprom_read_byte((uint8_t*)(EEPROM_ADR_PARAM_BEGIN + PID_ACTIVE_SET));
    4c12:       82 e0           ldi     r24, 0x02       ; 2
    4c14:       90 e0           ldi     r25, 0x00       ; 0
    4c16:       0e 94 3e b2     call    0x1647c ; 0x1647c <__eerd_byte_m1284>
        if(setnumber > 5)
    4c1a:       86 30           cpi     r24, 0x06       ; 6
    4c1c:       30 f0           brcs    .+12            ; 0x4c2a <GetActiveParamSet+0x18>
        {
                setnumber = 3;
                eeprom_write_byte((void*)(EEPROM_ADR_PARAM_BEGIN+PID_ACTIVE_SET), setnumber);
    4c1e:       63 e0           ldi     r22, 0x03       ; 3
    4c20:       82 e0           ldi     r24, 0x02       ; 2
    4c22:       90 e0           ldi     r25, 0x00       ; 0
    4c24:       0e 94 54 b2     call    0x164a8 ; 0x164a8 <__eewr_byte_m1284>
{
        uint8_t setnumber;
        setnumber = eeprom_read_byte((uint8_t*)(EEPROM_ADR_PARAM_BEGIN + PID_ACTIVE_SET));
        if(setnumber > 5)
        {
                setnumber = 3;
    4c28:       83 e0           ldi     r24, 0x03       ; 3
                eeprom_write_byte((void*)(EEPROM_ADR_PARAM_BEGIN+PID_ACTIVE_SET), setnumber);
        }
        ActiveParamSet = setnumber;
    4c2a:       80 93 52 01     sts     0x0152, r24
        return(setnumber);
}
    4c2e:       08 95           ret

00004c30 <SetActiveParamSet>:

/***************************************************/
/*       Set active parameter set                  */
/***************************************************/
void SetActiveParamSet(uint8_t setnumber)
{
    4c30:       86 30           cpi     r24, 0x06       ; 6
    4c32:       08 f0           brcs    .+2             ; 0x4c36 <SetActiveParamSet+0x6>
    4c34:       85 e0           ldi     r24, 0x05       ; 5
        if(setnumber > 5) setnumber = 5;
        if(setnumber < 1) setnumber = 1;
    4c36:       81 11           cpse    r24, r1
    4c38:       01 c0           rjmp    .+2             ; 0x4c3c <SetActiveParamSet+0xc>
    4c3a:       81 e0           ldi     r24, 0x01       ; 1
        ActiveParamSet = setnumber;
    4c3c:       80 93 52 01     sts     0x0152, r24
        eeprom_write_byte((uint8_t*)(EEPROM_ADR_PARAM_BEGIN + PID_ACTIVE_SET), setnumber);
    4c40:       68 2f           mov     r22, r24
    4c42:       82 e0           ldi     r24, 0x02       ; 2
    4c44:       90 e0           ldi     r25, 0x00       ; 0
    4c46:       0c 94 54 b2     jmp     0x164a8 ; 0x164a8 <__eewr_byte_m1284>
    4c4a:       08 95           ret

00004c4c <ParamSet_WriteToEEProm>:
/***************************************************/
/*        Write Parameter Set to EEPROM            */
/***************************************************/
// number [1..5]
uint8_t ParamSet_WriteToEEProm(uint8_t setnumber)
{
    4c4c:       cf 93           push    r28
        uint8_t crc;

        if(EE_Parameter.Revision == EEPARAM_REVISION) // write only the right revision to eeprom
    4c4e:       90 91 3e 05     lds     r25, 0x053E
    4c52:       97 36           cpi     r25, 0x67       ; 103
    4c54:       09 f0           breq    .+2             ; 0x4c58 <ParamSet_WriteToEEProm+0xc>
    4c56:       47 c0           rjmp    .+142           ; 0x4ce6 <ParamSet_WriteToEEProm+0x9a>
    4c58:       c8 2f           mov     r28, r24
    4c5a:       86 30           cpi     r24, 0x06       ; 6
    4c5c:       08 f0           brcs    .+2             ; 0x4c60 <ParamSet_WriteToEEProm+0x14>
    4c5e:       c5 e0           ldi     r28, 0x05       ; 5
        {
                if(setnumber > 5) setnumber = 5;
                if(setnumber < 1) return 0;
    4c60:       cc 23           and     r28, r28
    4c62:       09 f4           brne    .+2             ; 0x4c66 <ParamSet_WriteToEEProm+0x1a>
    4c64:       42 c0           rjmp    .+132           ; 0x4cea <ParamSet_WriteToEEProm+0x9e>
        LIBFC_CheckSettings(); 
    4c66:       0e 94 00 1a     call    0x3400  ; 0x3400 <LIBFC_CheckSettings>
                if(EE_Parameter.GlobalConfig3 & CFG3_VARIO_FAILSAFE)         // check the Setting: Not more than 100% emergency gas
    4c6a:       80 91 b9 05     lds     r24, 0x05B9
    4c6e:       82 ff           sbrs    r24, 2
    4c70:       07 c0           rjmp    .+14            ; 0x4c80 <ParamSet_WriteToEEProm+0x34>
                        {
                         if(EE_Parameter.NotGas > 99) EE_Parameter.NotGas = 80; // i.e. 80% of Hovergas
    4c72:       80 91 63 05     lds     r24, 0x0563
    4c76:       84 36           cpi     r24, 0x64       ; 100
    4c78:       18 f0           brcs    .+6             ; 0x4c80 <ParamSet_WriteToEEProm+0x34>
    4c7a:       80 e5           ldi     r24, 0x50       ; 80
    4c7c:       80 93 63 05     sts     0x0563, r24
                        }
                // update checksum
                EE_Parameter.crc = RAM_Checksum((uint8_t*)(&EE_Parameter), sizeof(EE_Parameter)-1);
    4c80:       68 e8           ldi     r22, 0x88       ; 136
    4c82:       70 e0           ldi     r23, 0x00       ; 0
    4c84:       8e e3           ldi     r24, 0x3E       ; 62
    4c86:       95 e0           ldi     r25, 0x05       ; 5
    4c88:       f9 dc           rcall   .-1550          ; 0x467c <RAM_Checksum>
    4c8a:       80 93 c6 05     sts     0x05C6, r24

                // write paramset to eeprom
                eeprom_write_block((void *) &EE_Parameter, (void*)(EEPROM_ADR_PARAMSET + PARAMSET_STRUCT_LEN * (setnumber - 1)), PARAMSET_STRUCT_LEN);
    4c8e:       2c 2f           mov     r18, r28
    4c90:       30 e0           ldi     r19, 0x00       ; 0
    4c92:       21 50           subi    r18, 0x01       ; 1
    4c94:       31 09           sbc     r19, r1
    4c96:       89 e8           ldi     r24, 0x89       ; 137
    4c98:       82 9f           mul     r24, r18
    4c9a:       b0 01           movw    r22, r0
    4c9c:       83 9f           mul     r24, r19
    4c9e:       70 0d           add     r23, r0
    4ca0:       11 24           eor     r1, r1
    4ca2:       6c 59           subi    r22, 0x9C       ; 156
    4ca4:       7f 4f           sbci    r23, 0xFF       ; 255
    4ca6:       49 e8           ldi     r20, 0x89       ; 137
    4ca8:       50 e0           ldi     r21, 0x00       ; 0
    4caa:       8e e3           ldi     r24, 0x3E       ; 62
    4cac:       95 e0           ldi     r25, 0x05       ; 5
    4cae:       0e 94 4b b2     call    0x16496 ; 0x16496 <__eewr_block_m1284>

                // backup channel settings to separate block in eeprom
                eeprom_write_block( (void*)(EE_Parameter.Kanalbelegung), (void*)(EEPROM_ADR_CHANNELS), sizeof(EE_Parameter.Kanalbelegung));
    4cb2:       4c e0           ldi     r20, 0x0C       ; 12
    4cb4:       50 e0           ldi     r21, 0x00       ; 0
    4cb6:       60 e5           ldi     r22, 0x50       ; 80
    4cb8:       70 e0           ldi     r23, 0x00       ; 0
    4cba:       8f e3           ldi     r24, 0x3F       ; 63
    4cbc:       95 e0           ldi     r25, 0x05       ; 5
    4cbe:       0e 94 4b b2     call    0x16496 ; 0x16496 <__eewr_block_m1284>

                // write crc of channel block to eeprom
                crc = RAM_Checksum((uint8_t*)(EE_Parameter.Kanalbelegung), sizeof(EE_Parameter.Kanalbelegung));
    4cc2:       6c e0           ldi     r22, 0x0C       ; 12
    4cc4:       70 e0           ldi     r23, 0x00       ; 0
    4cc6:       8f e3           ldi     r24, 0x3F       ; 63
    4cc8:       95 e0           ldi     r25, 0x05       ; 5
    4cca:       d8 dc           rcall   .-1616          ; 0x467c <RAM_Checksum>
                eeprom_write_byte((uint8_t*)(EEPROM_ADR_CHANNELS + sizeof(EE_Parameter.Kanalbelegung)), crc);
    4ccc:       68 2f           mov     r22, r24
    4cce:       8c e5           ldi     r24, 0x5C       ; 92
    4cd0:       90 e0           ldi     r25, 0x00       ; 0
    4cd2:       0e 94 54 b2     call    0x164a8 ; 0x164a8 <__eewr_byte_m1284>

                // update active settings number
                SetActiveParamSet(setnumber);
    4cd6:       8c 2f           mov     r24, r28
    4cd8:       ab df           rcall   .-170           ; 0x4c30 <SetActiveParamSet>
                LED_Init();
    4cda:       0e 94 80 85     call    0x10b00 ; 0x10b00 <LED_Init>
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                LIBFC_HoTT_Clear();
    4cde:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
#endif
                return 1;
    4ce2:       81 e0           ldi     r24, 0x01       ; 1
    4ce4:       03 c0           rjmp    .+6             ; 0x4cec <ParamSet_WriteToEEProm+0xa0>
        }
        // wrong revision
        return 0;
    4ce6:       80 e0           ldi     r24, 0x00       ; 0
    4ce8:       01 c0           rjmp    .+2             ; 0x4cec <ParamSet_WriteToEEProm+0xa0>
        uint8_t crc;

        if(EE_Parameter.Revision == EEPARAM_REVISION) // write only the right revision to eeprom
        {
                if(setnumber > 5) setnumber = 5;
                if(setnumber < 1) return 0;
    4cea:       80 e0           ldi     r24, 0x00       ; 0
#endif
                return 1;
        }
        // wrong revision
        return 0;
}
    4cec:       cf 91           pop     r28
    4cee:       08 95           ret

00004cf0 <SetDefaultParameter>:

/***************************************************/
/*       Set default parameter set                 */
/***************************************************/
void SetDefaultParameter(uint8_t set, uint8_t restore_channels)
{
    4cf0:       cf 93           push    r28
    4cf2:       df 93           push    r29
    4cf4:       c8 2f           mov     r28, r24
    4cf6:       d6 2f           mov     r29, r22

        if(set > 5) set = 5;
    4cf8:       86 30           cpi     r24, 0x06       ; 6
    4cfa:       80 f4           brcc    .+32            ; 0x4d1c <SetDefaultParameter+0x2c>
        else if(set < 1) set = 1;
    4cfc:       88 23           and     r24, r24
    4cfe:       39 f0           breq    .+14            ; 0x4d0e <SetDefaultParameter+0x1e>

        switch(set)
    4d00:       82 30           cpi     r24, 0x02       ; 2
    4d02:       41 f0           breq    .+16            ; 0x4d14 <SetDefaultParameter+0x24>
    4d04:       83 30           cpi     r24, 0x03       ; 3
    4d06:       41 f0           breq    .+16            ; 0x4d18 <SetDefaultParameter+0x28>
    4d08:       81 30           cpi     r24, 0x01       ; 1
    4d0a:       49 f4           brne    .+18            ; 0x4d1e <SetDefaultParameter+0x2e>
    4d0c:       01 c0           rjmp    .+2             ; 0x4d10 <SetDefaultParameter+0x20>
/***************************************************/
void SetDefaultParameter(uint8_t set, uint8_t restore_channels)
{

        if(set > 5) set = 5;
        else if(set < 1) set = 1;
    4d0e:       c1 e0           ldi     r28, 0x01       ; 1

        switch(set)
        {
                case 1:
                        ParamSet_DefaultSet1(); // Fill ParamSet Structure to default parameter set 1 (Sport)
    4d10:       26 de           rcall   .-948           ; 0x495e <ParamSet_DefaultSet1>
                        break;
    4d12:       06 c0           rjmp    .+12            ; 0x4d20 <SetDefaultParameter+0x30>
                case 2:
                        ParamSet_DefaultSet2(); // Kamera
    4d14:       57 de           rcall   .-850           ; 0x49c4 <ParamSet_DefaultSet2>
                        break;
    4d16:       04 c0           rjmp    .+8             ; 0x4d20 <SetDefaultParameter+0x30>
                case 3:
                        ParamSet_DefaultSet3(); // Beginner
    4d18:       83 de           rcall   .-762           ; 0x4a20 <ParamSet_DefaultSet3>
                        break;
    4d1a:       02 c0           rjmp    .+4             ; 0x4d20 <SetDefaultParameter+0x30>
/*       Set default parameter set                 */
/***************************************************/
void SetDefaultParameter(uint8_t set, uint8_t restore_channels)
{

        if(set > 5) set = 5;
    4d1c:       c5 e0           ldi     r28, 0x05       ; 5
                        break;
                case 3:
                        ParamSet_DefaultSet3(); // Beginner
                        break;
                default:
                        ParamSet_DefaultSet3(); // Beginner
    4d1e:       80 de           rcall   .-768           ; 0x4a20 <ParamSet_DefaultSet3>
                        break;
        }
        if(restore_channels)
    4d20:       dd 23           and     r29, r29
    4d22:       b9 f0           breq    .+46            ; 0x4d52 <SetDefaultParameter+0x62>
        {
                uint8_t crc;
                // 1st check for a valid channel backup in eeprom
                crc = EEProm_Checksum(EEPROM_ADR_CHANNELS, sizeof(EE_Parameter.Kanalbelegung));
    4d24:       6c e0           ldi     r22, 0x0C       ; 12
    4d26:       70 e0           ldi     r23, 0x00       ; 0
    4d28:       80 e5           ldi     r24, 0x50       ; 80
    4d2a:       90 e0           ldi     r25, 0x00       ; 0
    4d2c:       b6 dc           rcall   .-1684          ; 0x469a <EEProm_Checksum>
    4d2e:       d8 2f           mov     r29, r24
                if(crc == eeprom_read_byte((uint8_t*)(EEPROM_ADR_CHANNELS + sizeof(EE_Parameter.Kanalbelegung))) )
    4d30:       8c e5           ldi     r24, 0x5C       ; 92
    4d32:       90 e0           ldi     r25, 0x00       ; 0
    4d34:       0e 94 3e b2     call    0x1647c ; 0x1647c <__eerd_byte_m1284>
    4d38:       8d 13           cpse    r24, r29
    4d3a:       09 c0           rjmp    .+18            ; 0x4d4e <SetDefaultParameter+0x5e>
                {
                        eeprom_read_block((void *)EE_Parameter.Kanalbelegung, (void*)(EEPROM_ADR_CHANNELS), sizeof(EE_Parameter.Kanalbelegung));
    4d3c:       4c e0           ldi     r20, 0x0C       ; 12
    4d3e:       50 e0           ldi     r21, 0x00       ; 0
    4d40:       60 e5           ldi     r22, 0x50       ; 80
    4d42:       70 e0           ldi     r23, 0x00       ; 0
    4d44:       8f e3           ldi     r24, 0x3F       ; 63
    4d46:       95 e0           ldi     r25, 0x05       ; 5
    4d48:       0e 94 2e b2     call    0x1645c ; 0x1645c <__eerd_block_m1284>
    4d4c:       03 c0           rjmp    .+6             ; 0x4d54 <SetDefaultParameter+0x64>
                }
                else ParamSet_DefaultStickMapping();
    4d4e:       c9 dc           rcall   .-1646          ; 0x46e2 <ParamSet_DefaultStickMapping>
    4d50:       01 c0           rjmp    .+2             ; 0x4d54 <SetDefaultParameter+0x64>
        }
        else ParamSet_DefaultStickMapping();
    4d52:       c7 dc           rcall   .-1650          ; 0x46e2 <ParamSet_DefaultStickMapping>
        ParamSet_WriteToEEProm(set);
    4d54:       8c 2f           mov     r24, r28
    4d56:       7a df           rcall   .-268           ; 0x4c4c <ParamSet_WriteToEEProm>
}
    4d58:       df 91           pop     r29
    4d5a:       cf 91           pop     r28
    4d5c:       08 95           ret

00004d5e <ParamSet_Init>:

/***************************************************/
/*       Initialize EEPROM Parameter Sets          */
/***************************************************/
void ParamSet_Init(void)
{
    4d5e:       8f 92           push    r8
    4d60:       9f 92           push    r9
    4d62:       af 92           push    r10
    4d64:       bf 92           push    r11
    4d66:       cf 92           push    r12
    4d68:       df 92           push    r13
    4d6a:       ef 92           push    r14
    4d6c:       ff 92           push    r15
    4d6e:       0f 93           push    r16
    4d70:       1f 93           push    r17
    4d72:       cf 93           push    r28
    4d74:       df 93           push    r29
/***************************************************/
/*       Read Parameter from EEPROM as byte        */
/***************************************************/
uint8_t GetParamByte(uint16_t param_id)
{
        return eeprom_read_byte((uint8_t*)(EEPROM_ADR_PARAM_BEGIN + param_id));
    4d76:       81 e1           ldi     r24, 0x11       ; 17
    4d78:       90 e0           ldi     r25, 0x00       ; 0
    4d7a:       0e 94 3e b2     call    0x1647c ; 0x1647c <__eerd_byte_m1284>
/***************************************************/
void ParamSet_Init(void)
{
        uint8_t channel_backup  = 0, bad_params = 0, ee_default = 0,i;
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
        if(PlatinenVersion != GetParamByte(PID_HARDWARE_VERSION)) 
    4d7e:       90 91 54 01     lds     r25, 0x0154
    4d82:       98 17           cp      r25, r24
    4d84:       71 f1           breq    .+92            ; 0x4de2 <ParamSet_Init+0x84>
         {
          if(PlatinenVersion == 22 && GetParamByte(PID_HARDWARE_VERSION) == 21 && !(PIND & 0x10)) SetParamByte(PID_EE_REVISION,0); // reset the Settings if the Version changed to V2.2
    4d86:       96 31           cpi     r25, 0x16       ; 22
    4d88:       49 f4           brne    .+18            ; 0x4d9c <ParamSet_Init+0x3e>
    4d8a:       85 31           cpi     r24, 0x15       ; 21
    4d8c:       39 f4           brne    .+14            ; 0x4d9c <ParamSet_Init+0x3e>
    4d8e:       4c 99           sbic    0x09, 4 ; 9
    4d90:       05 c0           rjmp    .+10            ; 0x4d9c <ParamSet_Init+0x3e>
/***************************************************/
/*       Write Parameter to EEPROM as byte         */
/***************************************************/
void SetParamByte(uint16_t param_id, uint8_t value)
{
        eeprom_write_byte((uint8_t*)(EEPROM_ADR_PARAM_BEGIN + param_id), value);
    4d92:       60 e0           ldi     r22, 0x00       ; 0
    4d94:       81 e0           ldi     r24, 0x01       ; 1
    4d96:       90 e0           ldi     r25, 0x00       ; 0
    4d98:       0e 94 54 b2     call    0x164a8 ; 0x164a8 <__eewr_byte_m1284>
    4d9c:       60 91 54 01     lds     r22, 0x0154
    4da0:       81 e1           ldi     r24, 0x11       ; 17
    4da2:       90 e0           ldi     r25, 0x00       ; 0
    4da4:       0e 94 54 b2     call    0x164a8 ; 0x164a8 <__eewr_byte_m1284>
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
        if(PlatinenVersion != GetParamByte(PID_HARDWARE_VERSION)) 
         {
          if(PlatinenVersion == 22 && GetParamByte(PID_HARDWARE_VERSION) == 21 && !(PIND & 0x10)) SetParamByte(PID_EE_REVISION,0); // reset the Settings if the Version changed to V2.2
          SetParamByte(PID_HARDWARE_VERSION,PlatinenVersion); // Remember the Version number
          wdt_enable(WDTO_15MS); // Reset-Commando
    4da8:       28 e0           ldi     r18, 0x08       ; 8
    4daa:       88 e1           ldi     r24, 0x18       ; 24
    4dac:       90 e0           ldi     r25, 0x00       ; 0
    4dae:       0f b6           in      r0, 0x3f        ; 63
    4db0:       f8 94           cli
    4db2:       a8 95           wdr
    4db4:       80 93 60 00     sts     0x0060, r24
    4db8:       0f be           out     0x3f, r0        ; 63
    4dba:       20 93 60 00     sts     0x0060, r18
          printf("\n\r--> Hardware Version Byte Changed <--");
    4dbe:       89 eb           ldi     r24, 0xB9       ; 185
    4dc0:       92 e0           ldi     r25, 0x02       ; 2
    4dc2:       9f 93           push    r25
    4dc4:       8f 93           push    r24
    4dc6:       87 eb           ldi     r24, 0xB7       ; 183
    4dc8:       9c ea           ldi     r25, 0xAC       ; 172
    4dca:       9f 93           push    r25
    4dcc:       8f 93           push    r24
    4dce:       e0 91 78 06     lds     r30, 0x0678
    4dd2:       f0 91 79 06     lds     r31, 0x0679
    4dd6:       09 95           icall
    4dd8:       0f 90           pop     r0
    4dda:       0f 90           pop     r0
    4ddc:       0f 90           pop     r0
    4dde:       0f 90           pop     r0
    4de0:       ff cf           rjmp    .-2             ; 0x4de0 <ParamSet_Init+0x82>
/***************************************************/
/*       Read Parameter from EEPROM as byte        */
/***************************************************/
uint8_t GetParamByte(uint16_t param_id)
{
        return eeprom_read_byte((uint8_t*)(EEPROM_ADR_PARAM_BEGIN + param_id));
    4de2:       81 e0           ldi     r24, 0x01       ; 1
    4de4:       90 e0           ldi     r25, 0x00       ; 0
    4de6:       0e 94 3e b2     call    0x1647c ; 0x1647c <__eerd_byte_m1284>
          wdt_enable(WDTO_15MS); // Reset-Commando
          printf("\n\r--> Hardware Version Byte Changed <--");
          while(1);
         } 
#endif
        if((EEPARAM_REVISION) != GetParamByte(PID_EE_REVISION))  
    4dea:       ff 24           eor     r15, r15
    4dec:       f3 94           inc     r15
    4dee:       87 36           cpi     r24, 0x67       ; 103
    4df0:       09 f4           brne    .+2             ; 0x4df4 <ParamSet_Init+0x96>
    4df2:       f1 2c           mov     r15, r1
        {
                ee_default = 1; // software update or forced by mktool
        }
        // 1st check for a valid channel backup in eeprom
        i = EEProm_Checksum(EEPROM_ADR_CHANNELS, sizeof(EE_Parameter.Kanalbelegung));
    4df4:       6c e0           ldi     r22, 0x0C       ; 12
    4df6:       70 e0           ldi     r23, 0x00       ; 0
    4df8:       80 e5           ldi     r24, 0x50       ; 80
    4dfa:       90 e0           ldi     r25, 0x00       ; 0
    4dfc:       4e dc           rcall   .-1892          ; 0x469a <EEProm_Checksum>
    4dfe:       b8 2e           mov     r11, r24
        if(i == eeprom_read_byte((uint8_t*)(EEPROM_ADR_CHANNELS + sizeof(EE_Parameter.Kanalbelegung)))) channel_backup = 1;
    4e00:       8c e5           ldi     r24, 0x5C       ; 92
    4e02:       90 e0           ldi     r25, 0x00       ; 0
    4e04:       0e 94 3e b2     call    0x1647c ; 0x1647c <__eerd_byte_m1284>
    4e08:       c8 2e           mov     r12, r24
    4e0a:       c1 e0           ldi     r28, 0x01       ; 1
    4e0c:       d0 e0           ldi     r29, 0x00       ; 0
/***************************************************/
/*       Initialize EEPROM Parameter Sets          */
/***************************************************/
void ParamSet_Init(void)
{
        uint8_t channel_backup  = 0, bad_params = 0, ee_default = 0,i;
    4e0e:       d1 2c           mov     r13, r1
        for (i = 1;i < 6; i++)
        {
                if(ee_default || !ParamSet_ReadFromEEProm(i)) // could not read paramset from eeprom
                {
                        bad_params = 1;
                        printf("\n\rGenerating default Parameter Set %d",i);
    4e10:       0f 2e           mov     r0, r31
    4e12:       f3 e9           ldi     r31, 0x93       ; 147
    4e14:       8f 2e           mov     r8, r31
    4e16:       f2 e0           ldi     r31, 0x02       ; 2
    4e18:       9f 2e           mov     r9, r31
    4e1a:       f0 2d           mov     r31, r0
    4e1c:       07 eb           ldi     r16, 0xB7       ; 183
    4e1e:       1c ea           ldi     r17, 0xAC       ; 172
        // check all 5 parameter settings
        for (i = 1;i < 6; i++)
        {
                if(ee_default || !ParamSet_ReadFromEEProm(i)) // could not read paramset from eeprom
                {
                        bad_params = 1;
    4e20:       aa 24           eor     r10, r10
    4e22:       a3 94           inc     r10
    4e24:       ec 2e           mov     r14, r28
        // parameter check

        // check all 5 parameter settings
        for (i = 1;i < 6; i++)
        {
                if(ee_default || !ParamSet_ReadFromEEProm(i)) // could not read paramset from eeprom
    4e26:       f1 10           cpse    r15, r1
    4e28:       04 c0           rjmp    .+8             ; 0x4e32 <ParamSet_Init+0xd4>
    4e2a:       8c 2f           mov     r24, r28
    4e2c:       37 de           rcall   .-914           ; 0x4a9c <ParamSet_ReadFromEEProm>
    4e2e:       81 11           cpse    r24, r1
    4e30:       2c c0           rjmp    .+88            ; 0x4e8a <ParamSet_Init+0x12c>
                {
                        bad_params = 1;
                        printf("\n\rGenerating default Parameter Set %d",i);
    4e32:       df 93           push    r29
    4e34:       cf 93           push    r28
    4e36:       9f 92           push    r9
    4e38:       8f 92           push    r8
    4e3a:       1f 93           push    r17
    4e3c:       0f 93           push    r16
    4e3e:       e0 91 78 06     lds     r30, 0x0678
    4e42:       f0 91 79 06     lds     r31, 0x0679
    4e46:       09 95           icall
                        switch(i)
    4e48:       0f 90           pop     r0
    4e4a:       0f 90           pop     r0
    4e4c:       0f 90           pop     r0
    4e4e:       0f 90           pop     r0
    4e50:       0f 90           pop     r0
    4e52:       0f 90           pop     r0
    4e54:       81 e0           ldi     r24, 0x01       ; 1
    4e56:       e8 16           cp      r14, r24
    4e58:       21 f0           breq    .+8             ; 0x4e62 <ParamSet_Init+0x104>
    4e5a:       92 e0           ldi     r25, 0x02       ; 2
    4e5c:       e9 16           cp      r14, r25
    4e5e:       19 f0           breq    .+6             ; 0x4e66 <ParamSet_Init+0x108>
    4e60:       04 c0           rjmp    .+8             ; 0x4e6a <ParamSet_Init+0x10c>
                        {
                                case 1:
                                        ParamSet_DefaultSet1(); // Fill ParamSet Structure to default parameter set 1 (Sport)
    4e62:       7d dd           rcall   .-1286          ; 0x495e <ParamSet_DefaultSet1>
                                        break;
    4e64:       03 c0           rjmp    .+6             ; 0x4e6c <ParamSet_Init+0x10e>
                                case 2:
                                        ParamSet_DefaultSet2(); // Normal
    4e66:       ae dd           rcall   .-1188          ; 0x49c4 <ParamSet_DefaultSet2>
                                        break;
    4e68:       01 c0           rjmp    .+2             ; 0x4e6c <ParamSet_Init+0x10e>
                                default:
                                        ParamSet_DefaultSet3(); // Easy
    4e6a:       da dd           rcall   .-1100          ; 0x4a20 <ParamSet_DefaultSet3>
                                        break;
                        }
                        if(channel_backup) // if we have an channel mapping backup in eeprom
    4e6c:       bc 10           cpse    r11, r12
    4e6e:       09 c0           rjmp    .+18            ; 0x4e82 <ParamSet_Init+0x124>
                        {       // restore it from eeprom
                                eeprom_read_block((void *)EE_Parameter.Kanalbelegung, (void*)(EEPROM_ADR_CHANNELS), sizeof(EE_Parameter.Kanalbelegung));
    4e70:       4c e0           ldi     r20, 0x0C       ; 12
    4e72:       50 e0           ldi     r21, 0x00       ; 0
    4e74:       60 e5           ldi     r22, 0x50       ; 80
    4e76:       70 e0           ldi     r23, 0x00       ; 0
    4e78:       8f e3           ldi     r24, 0x3F       ; 63
    4e7a:       95 e0           ldi     r25, 0x05       ; 5
    4e7c:       0e 94 2e b2     call    0x1645c ; 0x1645c <__eerd_block_m1284>
    4e80:       01 c0           rjmp    .+2             ; 0x4e84 <ParamSet_Init+0x126>
                        }
                        else
                        {       // use default mapping
                                ParamSet_DefaultStickMapping();
    4e82:       2f dc           rcall   .-1954          ; 0x46e2 <ParamSet_DefaultStickMapping>
                        }
                        ParamSet_WriteToEEProm(i);
    4e84:       8e 2d           mov     r24, r14
    4e86:       e2 de           rcall   .-572           ; 0x4c4c <ParamSet_WriteToEEProm>
        // check all 5 parameter settings
        for (i = 1;i < 6; i++)
        {
                if(ee_default || !ParamSet_ReadFromEEProm(i)) // could not read paramset from eeprom
                {
                        bad_params = 1;
    4e88:       da 2c           mov     r13, r10
    4e8a:       21 96           adiw    r28, 0x01       ; 1
        if(i == eeprom_read_byte((uint8_t*)(EEPROM_ADR_CHANNELS + sizeof(EE_Parameter.Kanalbelegung)))) channel_backup = 1;

        // parameter check

        // check all 5 parameter settings
        for (i = 1;i < 6; i++)
    4e8c:       c6 30           cpi     r28, 0x06       ; 6
    4e8e:       d1 05           cpc     r29, r1
    4e90:       49 f6           brne    .-110           ; 0x4e24 <ParamSet_Init+0xc6>
                                ParamSet_DefaultStickMapping();
                        }
                        ParamSet_WriteToEEProm(i);
                }
        }
        if(bad_params) // at least one of the parameter settings were invalid
    4e92:       dd 20           and     r13, r13
    4e94:       11 f0           breq    .+4             ; 0x4e9a <ParamSet_Init+0x13c>
        {
                // default-Setting is parameter set 3
                SetActiveParamSet(3);
    4e96:       83 e0           ldi     r24, 0x03       ; 3
    4e98:       cb de           rcall   .-618           ; 0x4c30 <SetActiveParamSet>
        }
        // read active parameter set to ParamSet stucture
        i = GetActiveParamSet();
    4e9a:       bb de           rcall   .-650           ; 0x4c12 <GetActiveParamSet>
    4e9c:       c8 2f           mov     r28, r24
        ParamSet_ReadFromEEProm(i);
    4e9e:       fe dd           rcall   .-1028          ; 0x4a9c <ParamSet_ReadFromEEProm>
        printf("\n\rUsing Parameter Set %d", i);
    4ea0:       1f 92           push    r1
    4ea2:       cf 93           push    r28
    4ea4:       8a e7           ldi     r24, 0x7A       ; 122
    4ea6:       92 e0           ldi     r25, 0x02       ; 2
    4ea8:       9f 93           push    r25
    4eaa:       8f 93           push    r24
    4eac:       87 eb           ldi     r24, 0xB7       ; 183
    4eae:       9c ea           ldi     r25, 0xAC       ; 172
    4eb0:       9f 93           push    r25
    4eb2:       8f 93           push    r24
    4eb4:       e0 91 78 06     lds     r30, 0x0678
    4eb8:       f0 91 79 06     lds     r31, 0x0679
    4ebc:       09 95           icall
/***************************************************/
/*       Read Parameter from EEPROM as byte        */
/***************************************************/
uint8_t GetParamByte(uint16_t param_id)
{
        return eeprom_read_byte((uint8_t*)(EEPROM_ADR_PARAM_BEGIN + param_id));
    4ebe:       81 e0           ldi     r24, 0x01       ; 1
    4ec0:       90 e0           ldi     r25, 0x00       ; 0
    4ec2:       0e 94 3e b2     call    0x1647c ; 0x1647c <__eerd_byte_m1284>
        i = GetActiveParamSet();
        ParamSet_ReadFromEEProm(i);
        printf("\n\rUsing Parameter Set %d", i);

        // load mixer table
        if(GetParamByte(PID_EE_REVISION) == 0xff || !MixerTable_ReadFromEEProm() )
    4ec6:       0f 90           pop     r0
    4ec8:       0f 90           pop     r0
    4eca:       0f 90           pop     r0
    4ecc:       0f 90           pop     r0
    4ece:       0f 90           pop     r0
    4ed0:       0f 90           pop     r0
    4ed2:       8f 3f           cpi     r24, 0xFF       ; 255
    4ed4:       19 f0           breq    .+6             ; 0x4edc <ParamSet_Init+0x17e>
    4ed6:       1e de           rcall   .-964           ; 0x4b14 <MixerTable_ReadFromEEProm>
    4ed8:       81 11           cpse    r24, r1
    4eda:       13 c0           rjmp    .+38            ; 0x4f02 <ParamSet_Init+0x1a4>
        {
                printf("\n\rGenerating default Mixer Table");
    4edc:       89 e5           ldi     r24, 0x59       ; 89
    4ede:       92 e0           ldi     r25, 0x02       ; 2
    4ee0:       9f 93           push    r25
    4ee2:       8f 93           push    r24
    4ee4:       87 eb           ldi     r24, 0xB7       ; 183
    4ee6:       9c ea           ldi     r25, 0xAC       ; 172
    4ee8:       9f 93           push    r25
    4eea:       8f 93           push    r24
    4eec:       e0 91 78 06     lds     r30, 0x0678
    4ef0:       f0 91 79 06     lds     r31, 0x0679
    4ef4:       09 95           icall
                MixerTable_Default(); // Quadro
    4ef6:       47 de           rcall   .-882           ; 0x4b86 <MixerTable_Default>
                MixerTable_WriteToEEProm();
    4ef8:       2f de           rcall   .-930           ; 0x4b58 <MixerTable_WriteToEEProm>
    4efa:       0f 90           pop     r0
    4efc:       0f 90           pop     r0
    4efe:       0f 90           pop     r0
    4f00:       0f 90           pop     r0
        }
        if(ee_default)  SetParamByte(PID_EE_REVISION, (EEPARAM_REVISION));
    4f02:       ff 20           and     r15, r15
    4f04:       29 f0           breq    .+10            ; 0x4f10 <ParamSet_Init+0x1b2>
/***************************************************/
/*       Write Parameter to EEPROM as byte         */
/***************************************************/
void SetParamByte(uint16_t param_id, uint8_t value)
{
        eeprom_write_byte((uint8_t*)(EEPROM_ADR_PARAM_BEGIN + param_id), value);
    4f06:       67 e6           ldi     r22, 0x67       ; 103
    4f08:       81 e0           ldi     r24, 0x01       ; 1
    4f0a:       90 e0           ldi     r25, 0x00       ; 0
    4f0c:       0e 94 54 b2     call    0x164a8 ; 0x164a8 <__eewr_byte_m1284>
    4f10:       e4 ed           ldi     r30, 0xD4       ; 212
    4f12:       f5 e0           ldi     r31, 0x05       ; 5
    4f14:       84 e1           ldi     r24, 0x14       ; 20
    4f16:       96 e0           ldi     r25, 0x06       ; 6
        // check all 5 parameter settings
        for (i = 1;i < 6; i++)
        {
                if(ee_default || !ParamSet_ReadFromEEProm(i)) // could not read paramset from eeprom
                {
                        bad_params = 1;
    4f18:       20 e0           ldi     r18, 0x00       ; 0
        if(ee_default)  SetParamByte(PID_EE_REVISION, (EEPARAM_REVISION));
        // determine motornumber
        RequiredMotors = 0;
        for(i = 0; i < 16; i++)
        {
                if(Mixer.Motor[i][MIX_GAS] > 0) RequiredMotors++;
    4f1a:       30 81           ld      r19, Z
    4f1c:       13 16           cp      r1, r19
    4f1e:       0c f4           brge    .+2             ; 0x4f22 <ParamSet_Init+0x1c4>
    4f20:       2f 5f           subi    r18, 0xFF       ; 255
    4f22:       34 96           adiw    r30, 0x04       ; 4
                MixerTable_WriteToEEProm();
        }
        if(ee_default)  SetParamByte(PID_EE_REVISION, (EEPARAM_REVISION));
        // determine motornumber
        RequiredMotors = 0;
        for(i = 0; i < 16; i++)
    4f24:       e8 17           cp      r30, r24
    4f26:       f9 07           cpc     r31, r25
    4f28:       c1 f7           brne    .-16            ; 0x4f1a <ParamSet_Init+0x1bc>
    4f2a:       20 93 3d 05     sts     0x053D, r18
        {
                if(Mixer.Motor[i][MIX_GAS] > 0) RequiredMotors++;
        }

        printf("\n\rMixer-Config: '%s' (%u Motors)",Mixer.Name, RequiredMotors);
    4f2e:       1f 92           push    r1
    4f30:       2f 93           push    r18
    4f32:       88 ec           ldi     r24, 0xC8       ; 200
    4f34:       95 e0           ldi     r25, 0x05       ; 5
    4f36:       9f 93           push    r25
    4f38:       8f 93           push    r24
    4f3a:       88 e3           ldi     r24, 0x38       ; 56
    4f3c:       92 e0           ldi     r25, 0x02       ; 2
    4f3e:       9f 93           push    r25
    4f40:       8f 93           push    r24
    4f42:       87 eb           ldi     r24, 0xB7       ; 183
    4f44:       9c ea           ldi     r25, 0xAC       ; 172
    4f46:       9f 93           push    r25
    4f48:       8f 93           push    r24
    4f4a:       e0 91 78 06     lds     r30, 0x0678
    4f4e:       f0 91 79 06     lds     r31, 0x0679
    4f52:       09 95           icall
 PrintLine();// ("\n\r===================================");
    4f54:       0e 94 4b 59     call    0xb296  ; 0xb296 <PrintLine>
    4f58:       8d b7           in      r24, 0x3d       ; 61
    4f5a:       9e b7           in      r25, 0x3e       ; 62
    4f5c:       08 96           adiw    r24, 0x08       ; 8
    4f5e:       0f b6           in      r0, 0x3f        ; 63
    4f60:       f8 94           cli
    4f62:       9e bf           out     0x3e, r25       ; 62
    4f64:       0f be           out     0x3f, r0        ; 63
    4f66:       8d bf           out     0x3d, r24       ; 61

}
    4f68:       df 91           pop     r29
    4f6a:       cf 91           pop     r28
    4f6c:       1f 91           pop     r17
    4f6e:       0f 91           pop     r16
    4f70:       ff 90           pop     r15
    4f72:       ef 90           pop     r14
    4f74:       df 90           pop     r13
    4f76:       cf 90           pop     r12
    4f78:       bf 90           pop     r11
    4f7a:       af 90           pop     r10
    4f7c:       9f 90           pop     r9
    4f7e:       8f 90           pop     r8
    4f80:       08 95           ret

00004f82 <CopyDebugValues>:

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//  Debugwerte zuordnen
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
void CopyDebugValues(void)
{
    4f82:       cf 92           push    r12
    4f84:       df 92           push    r13
    4f86:       ef 92           push    r14
    4f88:       ff 92           push    r15
    DebugOut.Analog[0] = ToNaviCtrl.IntegralNick;//IntegralNick / (EE_Parameter.GyroAccFaktor * 4);
    4f8a:       80 91 ea 08     lds     r24, 0x08EA
    4f8e:       90 91 eb 08     lds     r25, 0x08EB
    4f92:       90 93 49 0c     sts     0x0C49, r25
    4f96:       80 93 48 0c     sts     0x0C48, r24
    DebugOut.Analog[1] = ToNaviCtrl.IntegralRoll;//IntegralRoll / (EE_Parameter.GyroAccFaktor * 4);
    4f9a:       80 91 ec 08     lds     r24, 0x08EC
    4f9e:       90 91 ed 08     lds     r25, 0x08ED
    4fa2:       90 93 4b 0c     sts     0x0C4B, r25
    4fa6:       80 93 4a 0c     sts     0x0C4A, r24
    DebugOut.Analog[2] = Mittelwert_AccNick / 4;
    4faa:       80 91 60 06     lds     r24, 0x0660
    4fae:       90 91 61 06     lds     r25, 0x0661
    4fb2:       99 23           and     r25, r25
    4fb4:       0c f4           brge    .+2             ; 0x4fb8 <CopyDebugValues+0x36>
    4fb6:       03 96           adiw    r24, 0x03       ; 3
    4fb8:       95 95           asr     r25
    4fba:       87 95           ror     r24
    4fbc:       95 95           asr     r25
    4fbe:       87 95           ror     r24
    4fc0:       90 93 4d 0c     sts     0x0C4D, r25
    4fc4:       80 93 4c 0c     sts     0x0C4C, r24
    DebugOut.Analog[3] = Mittelwert_AccRoll / 4;
    4fc8:       80 91 72 06     lds     r24, 0x0672
    4fcc:       90 91 73 06     lds     r25, 0x0673
    4fd0:       99 23           and     r25, r25
    4fd2:       0c f4           brge    .+2             ; 0x4fd6 <CopyDebugValues+0x54>
    4fd4:       03 96           adiw    r24, 0x03       ; 3
    4fd6:       95 95           asr     r25
    4fd8:       87 95           ror     r24
    4fda:       95 95           asr     r25
    4fdc:       87 95           ror     r24
    4fde:       90 93 4f 0c     sts     0x0C4F, r25
    4fe2:       80 93 4e 0c     sts     0x0C4E, r24
    DebugOut.Analog[4] = (signed int) AdNeutralGier - AdWertGier;
    4fe6:       20 91 61 03     lds     r18, 0x0361
    4fea:       30 91 62 03     lds     r19, 0x0362
    4fee:       80 91 53 04     lds     r24, 0x0453
    4ff2:       90 91 54 04     lds     r25, 0x0454
    4ff6:       82 1b           sub     r24, r18
    4ff8:       93 0b           sbc     r25, r19
    4ffa:       90 93 51 0c     sts     0x0C51, r25
    4ffe:       80 93 50 0c     sts     0x0C50, r24
        DebugOut.Analog[5] = HoehenWert/10;
    5002:       60 91 fe 03     lds     r22, 0x03FE
    5006:       70 91 ff 03     lds     r23, 0x03FF
    500a:       80 91 00 04     lds     r24, 0x0400
    500e:       90 91 01 04     lds     r25, 0x0401
    5012:       0f 2e           mov     r0, r31
    5014:       fa e0           ldi     r31, 0x0A       ; 10
    5016:       cf 2e           mov     r12, r31
    5018:       d1 2c           mov     r13, r1
    501a:       e1 2c           mov     r14, r1
    501c:       f1 2c           mov     r15, r1
    501e:       f0 2d           mov     r31, r0
    5020:       a7 01           movw    r20, r14
    5022:       96 01           movw    r18, r12
    5024:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    5028:       30 93 53 0c     sts     0x0C53, r19
    502c:       20 93 52 0c     sts     0x0C52, r18
    DebugOut.Analog[6] = Aktuell_az;//AdWertAccHoch;//(Mess_Integral_Hoch / 512);
    5030:       80 91 06 05     lds     r24, 0x0506
    5034:       90 91 07 05     lds     r25, 0x0507
    5038:       90 93 55 0c     sts     0x0C55, r25
    503c:       80 93 54 0c     sts     0x0C54, r24
    DebugOut.Analog[8] = KompassValue;
    5040:       80 91 4e 01     lds     r24, 0x014E
    5044:       90 91 4f 01     lds     r25, 0x014F
    5048:       90 93 59 0c     sts     0x0C59, r25
    504c:       80 93 58 0c     sts     0x0C58, r24
    DebugOut.Analog[9] = UBat;
    5050:       80 91 1a 01     lds     r24, 0x011A
    5054:       90 91 1b 01     lds     r25, 0x011B
    5058:       90 93 5b 0c     sts     0x0C5B, r25
    505c:       80 93 5a 0c     sts     0x0C5A, r24
    DebugOut.Analog[10] = SenderOkay;
    5060:       80 91 04 04     lds     r24, 0x0404
    5064:       90 e0           ldi     r25, 0x00       ; 0
    5066:       90 93 5d 0c     sts     0x0C5D, r25
    506a:       80 93 5c 0c     sts     0x0C5C, r24
    DebugOut.Analog[11] = ErsatzKompassInGrad;
    506e:       80 91 21 06     lds     r24, 0x0621
    5072:       90 91 22 06     lds     r25, 0x0622
    5076:       90 93 5f 0c     sts     0x0C5F, r25
    507a:       80 93 5e 0c     sts     0x0C5E, r24
    DebugOut.Analog[12] = Motor[0].SetPoint;
    507e:       80 91 98 09     lds     r24, 0x0998
    5082:       90 e0           ldi     r25, 0x00       ; 0
    5084:       90 93 61 0c     sts     0x0C61, r25
    5088:       80 93 60 0c     sts     0x0C60, r24
    DebugOut.Analog[13] = Motor[1].SetPoint;
    508c:       80 91 a7 09     lds     r24, 0x09A7
    5090:       90 e0           ldi     r25, 0x00       ; 0
    5092:       90 93 63 0c     sts     0x0C63, r25
    5096:       80 93 62 0c     sts     0x0C62, r24
    DebugOut.Analog[14] = Motor[2].SetPoint;
    509a:       80 91 b6 09     lds     r24, 0x09B6
    509e:       90 e0           ldi     r25, 0x00       ; 0
    50a0:       90 93 65 0c     sts     0x0C65, r25
    50a4:       80 93 64 0c     sts     0x0C64, r24
    DebugOut.Analog[15] = Motor[3].SetPoint;
    50a8:       80 91 c5 09     lds     r24, 0x09C5
    50ac:       90 e0           ldi     r25, 0x00       ; 0
    50ae:       90 93 67 0c     sts     0x0C67, r25
    50b2:       80 93 66 0c     sts     0x0C66, r24
    DebugOut.Analog[20] = ServoNickValue;
    50b6:       80 91 c6 04     lds     r24, 0x04C6
    50ba:       90 91 c7 04     lds     r25, 0x04C7
    50be:       90 93 71 0c     sts     0x0C71, r25
    50c2:       80 93 70 0c     sts     0x0C70, r24
        DebugOut.Analog[21] = HoverGas; 
    50c6:       80 91 e8 03     lds     r24, 0x03E8
    50ca:       90 91 e9 03     lds     r25, 0x03E9
    50ce:       90 93 73 0c     sts     0x0C73, r25
    50d2:       80 93 72 0c     sts     0x0C72, r24
    DebugOut.Analog[22] = Capacity.ActualCurrent;
    50d6:       80 91 15 05     lds     r24, 0x0515
    50da:       90 91 16 05     lds     r25, 0x0516
    50de:       90 93 75 0c     sts     0x0C75, r25
    50e2:       80 93 74 0c     sts     0x0C74, r24
    DebugOut.Analog[23] = Capacity.UsedCapacity;
    50e6:       80 91 19 05     lds     r24, 0x0519
    50ea:       90 91 1a 05     lds     r25, 0x051A
    50ee:       90 93 77 0c     sts     0x0C77, r25
    50f2:       80 93 76 0c     sts     0x0C76, r24
        DebugOut.Analog[24] = SollHoehe/10;     
    50f6:       60 91 fa 03     lds     r22, 0x03FA
    50fa:       70 91 fb 03     lds     r23, 0x03FB
    50fe:       80 91 fc 03     lds     r24, 0x03FC
    5102:       90 91 fd 03     lds     r25, 0x03FD
    5106:       a7 01           movw    r20, r14
    5108:       96 01           movw    r18, r12
    510a:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    510e:       30 93 79 0c     sts     0x0C79, r19
    5112:       20 93 78 0c     sts     0x0C78, r18
//    DebugOut.Analog[27] = KompassSollWert;
        DebugOut.Analog[29] = Capacity.MinOfMaxPWM;
    5116:       80 91 1b 05     lds     r24, 0x051B
    511a:       90 e0           ldi     r25, 0x00       ; 0
    511c:       90 93 83 0c     sts     0x0C83, r25
    5120:       80 93 82 0c     sts     0x0C82, r24
    DebugOut.Analog[30] = GPS_Nick;
    5124:       80 91 6a 04     lds     r24, 0x046A
    5128:       90 91 6b 04     lds     r25, 0x046B
    512c:       90 93 85 0c     sts     0x0C85, r25
    5130:       80 93 84 0c     sts     0x0C84, r24
    DebugOut.Analog[31] = GPS_Roll;
    5134:       80 91 68 04     lds     r24, 0x0468
    5138:       90 91 69 04     lds     r25, 0x0469
    513c:       90 93 87 0c     sts     0x0C87, r25
    5140:       80 93 86 0c     sts     0x0C86, r24
    if(VersionInfo.HardwareError[0] || VersionInfo.HardwareError[1]) DebugOut.Status[1] |= 1; else DebugOut.Status[1] &= 0xfe;
    5144:       80 91 62 0a     lds     r24, 0x0A62
    5148:       81 11           cpse    r24, r1
    514a:       04 c0           rjmp    .+8             ; 0x5154 <CopyDebugValues+0x1d2>
    514c:       80 91 63 0a     lds     r24, 0x0A63
    5150:       88 23           and     r24, r24
    5152:       31 f0           breq    .+12            ; 0x5160 <CopyDebugValues+0x1de>
    5154:       e7 e4           ldi     r30, 0x47       ; 71
    5156:       fc e0           ldi     r31, 0x0C       ; 12
    5158:       80 81           ld      r24, Z
    515a:       81 60           ori     r24, 0x01       ; 1
    515c:       80 83           st      Z, r24
    515e:       05 c0           rjmp    .+10            ; 0x516a <CopyDebugValues+0x1e8>
    5160:       e7 e4           ldi     r30, 0x47       ; 71
    5162:       fc e0           ldi     r31, 0x0C       ; 12
    5164:       80 81           ld      r24, Z
    5166:       8e 7f           andi    r24, 0xFE       ; 254
    5168:       80 83           st      Z, r24
//DebugOut.Analog[17] = VarioMeter;
//DebugOut.Analog[16] = GasIsZeroCnt;
//DebugOut.Analog[18] = HoehenWertF;            
//DebugOut.Analog[25] = Parameter_Hoehe_P;
//DebugOut.Analog[26] = Parameter_Luftdruck_D;
}
    516a:       ff 90           pop     r15
    516c:       ef 90           pop     r14
    516e:       df 90           pop     r13
    5170:       cf 90           pop     r12
    5172:       08 95           ret

00005174 <Piep>:


void Piep(unsigned char Anzahl, unsigned int dauer)
{
    5174:       ff 92           push    r15
    5176:       0f 93           push    r16
    5178:       1f 93           push    r17
    517a:       cf 93           push    r28
    517c:       df 93           push    r29
    517e:       8b 01           movw    r16, r22
 unsigned int wait = 0;
 if(MotorenEin) return; //auf keinen Fall im Flug!
    5180:       90 91 03 04     lds     r25, 0x0403
    5184:       91 11           cpse    r25, r1
    5186:       31 c0           rjmp    .+98            ; 0x51ea <Piep+0x76>
GRN_OFF;
    5188:       90 91 54 01     lds     r25, 0x0154
    518c:       99 31           cpi     r25, 0x19       ; 25
    518e:       11 f4           brne    .+4             ; 0x5194 <Piep+0x20>
    5190:       29 98           cbi     0x05, 1 ; 5
    5192:       21 c0           rjmp    .+66            ; 0x51d6 <Piep+0x62>
    5194:       29 9a           sbi     0x05, 1 ; 5
    5196:       1f c0           rjmp    .+62            ; 0x51d6 <Piep+0x62>
 while(Anzahl--)
 {
  beeptime = dauer;
    5198:       10 93 ce 04     sts     0x04CE, r17
    519c:       00 93 cd 04     sts     0x04CD, r16
  wait = dauer;
    51a0:       e8 01           movw    r28, r16
  while(beeptime || wait) 
    51a2:       0f c0           rjmp    .+30            ; 0x51c2 <Piep+0x4e>
   { 
    if(UpdateMotor) 
    51a4:       90 91 d1 04     lds     r25, 0x04D1
    51a8:       99 23           and     r25, r25
    51aa:       59 f0           breq    .+22            ; 0x51c2 <Piep+0x4e>
         { 
          UpdateMotor = 0; 
    51ac:       10 92 d1 04     sts     0x04D1, r1
          if(!beeptime) wait--;
    51b0:       20 91 cd 04     lds     r18, 0x04CD
    51b4:       30 91 ce 04     lds     r19, 0x04CE
    51b8:       23 2b           or      r18, r19
    51ba:       09 f4           brne    .+2             ; 0x51be <Piep+0x4a>
    51bc:       21 97           sbiw    r28, 0x01       ; 1
          LIBFC_Polling();
    51be:       0e 94 16 1a     call    0x342c  ; 0x342c <LIBFC_Polling>
GRN_OFF;
 while(Anzahl--)
 {
  beeptime = dauer;
  wait = dauer;
  while(beeptime || wait) 
    51c2:       20 91 cd 04     lds     r18, 0x04CD
    51c6:       30 91 ce 04     lds     r19, 0x04CE
    51ca:       23 2b           or      r18, r19
    51cc:       59 f7           brne    .-42            ; 0x51a4 <Piep+0x30>
    51ce:       20 97           sbiw    r28, 0x00       ; 0
    51d0:       49 f7           brne    .-46            ; 0x51a4 <Piep+0x30>
    51d2:       fa 94           dec     r15
    51d4:       01 c0           rjmp    .+2             ; 0x51d8 <Piep+0x64>
 if(MotorenEin) return; //auf keinen Fall im Flug!
GRN_OFF;
 while(Anzahl--)
 {
  beeptime = dauer;
  wait = dauer;
    51d6:       f8 2e           mov     r15, r24
void Piep(unsigned char Anzahl, unsigned int dauer)
{
 unsigned int wait = 0;
 if(MotorenEin) return; //auf keinen Fall im Flug!
GRN_OFF;
 while(Anzahl--)
    51d8:       f1 10           cpse    r15, r1
    51da:       de cf           rjmp    .-68            ; 0x5198 <Piep+0x24>
          if(!beeptime) wait--;
          LIBFC_Polling();
         };
   }
 }
GRN_ON;
    51dc:       80 91 54 01     lds     r24, 0x0154
    51e0:       89 31           cpi     r24, 0x19       ; 25
    51e2:       11 f4           brne    .+4             ; 0x51e8 <Piep+0x74>
    51e4:       29 9a           sbi     0x05, 1 ; 5
    51e6:       01 c0           rjmp    .+2             ; 0x51ea <Piep+0x76>
    51e8:       29 98           cbi     0x05, 1 ; 5
}
    51ea:       df 91           pop     r29
    51ec:       cf 91           pop     r28
    51ee:       1f 91           pop     r17
    51f0:       0f 91           pop     r16
    51f2:       ff 90           pop     r15
    51f4:       08 95           ret

000051f6 <CalibrierMittelwert>:
void CalibrierMittelwert(void)
//############################################################################
{
//    if(PlatinenVersion == 13) SucheGyroOffset();
    // ADC auschalten, damit die Werte sich nicht während der Berechnung ändern
        ANALOG_OFF;
    51f6:       ea e7           ldi     r30, 0x7A       ; 122
    51f8:       f0 e0           ldi     r31, 0x00       ; 0
    51fa:       10 82           st      Z, r1
        MesswertNick = AdWertNick;
    51fc:       80 91 65 03     lds     r24, 0x0365
    5200:       90 91 66 03     lds     r25, 0x0366
    5204:       90 93 28 06     sts     0x0628, r25
    5208:       80 93 27 06     sts     0x0627, r24
        MesswertRoll = AdWertRoll;
    520c:       80 91 63 03     lds     r24, 0x0363
    5210:       90 91 64 03     lds     r25, 0x0364
    5214:       90 93 1d 06     sts     0x061D, r25
    5218:       80 93 1c 06     sts     0x061C, r24
        MesswertGier = AdWertGier;
    521c:       80 91 61 03     lds     r24, 0x0361
    5220:       90 91 62 03     lds     r25, 0x0362
    5224:       90 93 68 06     sts     0x0668, r25
    5228:       80 93 67 06     sts     0x0667, r24
        Mittelwert_AccNick = ACC_AMPLIFY * AdWertAccNick;
    522c:       80 91 5d 03     lds     r24, 0x035D
    5230:       90 91 5e 03     lds     r25, 0x035E
    5234:       9c 01           movw    r18, r24
    5236:       22 0f           add     r18, r18
    5238:       33 1f           adc     r19, r19
    523a:       82 0f           add     r24, r18
    523c:       93 1f           adc     r25, r19
    523e:       88 0f           add     r24, r24
    5240:       99 1f           adc     r25, r25
    5242:       90 93 61 06     sts     0x0661, r25
    5246:       80 93 60 06     sts     0x0660, r24
        Mittelwert_AccRoll = ACC_AMPLIFY * AdWertAccRoll;
    524a:       80 91 5f 03     lds     r24, 0x035F
    524e:       90 91 60 03     lds     r25, 0x0360
    5252:       9c 01           movw    r18, r24
    5254:       22 0f           add     r18, r18
    5256:       33 1f           adc     r19, r19
    5258:       82 0f           add     r24, r18
    525a:       93 1f           adc     r25, r19
    525c:       88 0f           add     r24, r24
    525e:       99 1f           adc     r25, r25
    5260:       90 93 73 06     sts     0x0673, r25
    5264:       80 93 72 06     sts     0x0672, r24
   // ADC einschalten
    ANALOG_ON;
    5268:       8f ec           ldi     r24, 0xCF       ; 207
    526a:       80 83           st      Z, r24
        Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L;
    526c:       20 91 7f 05     lds     r18, 0x057F
    5270:       30 e0           ldi     r19, 0x00       ; 0
    5272:       a4 ec           ldi     r26, 0xC4       ; 196
    5274:       b9 e0           ldi     r27, 0x09       ; 9
    5276:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    527a:       60 93 46 01     sts     0x0146, r22
    527e:       70 93 47 01     sts     0x0147, r23
    5282:       80 93 48 01     sts     0x0148, r24
    5286:       90 93 49 01     sts     0x0149, r25
        Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagRoll * 2500L;
    528a:       20 91 80 05     lds     r18, 0x0580
    528e:       30 e0           ldi     r19, 0x00       ; 0
    5290:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    5294:       60 93 42 01     sts     0x0142, r22
    5298:       70 93 43 01     sts     0x0143, r23
    529c:       80 93 44 01     sts     0x0144, r24
    52a0:       90 93 45 01     sts     0x0145, r25
    52a4:       08 95           ret

000052a6 <SetNeutral>:
//  Parameter: 1 -> before Start
//  Parameter: 2 -> calibrate and store ACC
//  Parameter: 3 -> use stored Gyro calibration Data from EEPROM
unsigned char SetNeutral(unsigned char AdjustmentMode)  // retuns: "sucess"
//############################################################################
{
    52a6:       8f 92           push    r8
    52a8:       9f 92           push    r9
    52aa:       af 92           push    r10
    52ac:       bf 92           push    r11
    52ae:       cf 92           push    r12
    52b0:       df 92           push    r13
    52b2:       ef 92           push    r14
    52b4:       ff 92           push    r15
    52b6:       0f 93           push    r16
    52b8:       1f 93           push    r17
    52ba:       cf 93           push    r28
    52bc:       df 93           push    r29
    52be:       c8 2f           mov     r28, r24
        unsigned char i, sucess = 1;
        unsigned int gier_neutral = 0, nick_neutral = 0, roll_neutral = 0, acc_z_neutral = 0, barotest;
    VersionInfo.HardwareError[0] = 0;
    52c0:       10 92 62 0a     sts     0x0A62, r1
//    HEF4017Reset_ON;
        NeutralAccX = 0;
    52c4:       10 92 4e 04     sts     0x044E, r1
    52c8:       10 92 4d 04     sts     0x044D, r1
        NeutralAccY = 0;
    52cc:       10 92 4c 04     sts     0x044C, r1
    52d0:       10 92 4b 04     sts     0x044B, r1
        NeutralAccZ = 0;
    52d4:       10 92 48 04     sts     0x0448, r1
    52d8:       10 92 47 04     sts     0x0447, r1
        NeutralAccZfine = 0;
    52dc:       10 92 46 04     sts     0x0446, r1

    AdNeutralNick = 0;
    52e0:       10 92 58 04     sts     0x0458, r1
    52e4:       10 92 57 04     sts     0x0457, r1
        AdNeutralRoll = 0;
    52e8:       10 92 56 04     sts     0x0456, r1
    52ec:       10 92 55 04     sts     0x0455, r1
        AdNeutralGier = 0;
    52f0:       10 92 54 04     sts     0x0454, r1
    52f4:       10 92 53 04     sts     0x0453, r1

    Parameter_AchsKopplung1 = 0;
    52f8:       10 92 2a 01     sts     0x012A, r1
    Parameter_AchsKopplung2 = 0;
    52fc:       10 92 29 01     sts     0x0129, r1

    ExpandBaro = 0;
    5300:       10 92 56 03     sts     0x0356, r1
    if(AdjustmentMode == 3)  FC_StatusFlags3 |= FC_STATUS3_BOAT;
    5304:       83 30           cpi     r24, 0x03       ; 3
    5306:       29 f4           brne    .+10            ; 0x5312 <SetNeutral+0x6c>
    5308:       80 91 c9 03     lds     r24, 0x03C9
    530c:       82 60           ori     r24, 0x02       ; 2
    530e:       80 93 c9 03     sts     0x03C9, r24
        // else FC_StatusFlags3 &= ~FC_STATUS3_BOAT; -> do not clear that

    CalibrierMittelwert();
    5312:       71 df           rcall   .-286           ; 0x51f6 <CalibrierMittelwert>
    Delay_ms_Mess(100);
    5314:       84 e6           ldi     r24, 0x64       ; 100
    5316:       90 e0           ldi     r25, 0x00       ; 0
    5318:       0e 94 6e 9c     call    0x138dc ; 0x138dc <Delay_ms_Mess>
        CalibrierMittelwert();
    531c:       6c df           rcall   .-296           ; 0x51f6 <CalibrierMittelwert>

    if((EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG))  // Höhenregelung aktiviert?
    531e:       80 91 4b 05     lds     r24, 0x054B
    5322:       80 ff           sbrs    r24, 0
    5324:       13 c0           rjmp    .+38            ; 0x534c <SetNeutral+0xa6>
     {
      if((MessLuftdruck > 950) || (MessLuftdruck < 750) || ExpandBaro) SucheLuftruckOffset();
    5326:       80 91 10 01     lds     r24, 0x0110
    532a:       90 91 11 01     lds     r25, 0x0111
    532e:       87 3b           cpi     r24, 0xB7       ; 183
    5330:       93 40           sbci    r25, 0x03       ; 3
    5332:       50 f4           brcc    .+20            ; 0x5348 <SetNeutral+0xa2>
    5334:       80 91 10 01     lds     r24, 0x0110
    5338:       90 91 11 01     lds     r25, 0x0111
    533c:       8e 3e           cpi     r24, 0xEE       ; 238
    533e:       92 40           sbci    r25, 0x02       ; 2
    5340:       18 f0           brcs    .+6             ; 0x5348 <SetNeutral+0xa2>
    5342:       80 91 56 03     lds     r24, 0x0356
    5346:       81 11           cpse    r24, r1
    5348:       0e 94 4b 1b     call    0x3696  ; 0x3696 <SucheLuftruckOffset>
     }
   
        barotest = MessLuftdruck;
    534c:       00 91 10 01     lds     r16, 0x0110
    5350:       10 91 11 01     lds     r17, 0x0111
#define NEUTRAL_FILTER 32
        OCR0A += OPA_OFFSET_STEP;
    5354:       87 b5           in      r24, 0x27       ; 39
    5356:       8b 5f           subi    r24, 0xFB       ; 251
    5358:       87 bd           out     0x27, r24       ; 39
        OCR0B = 255 - OCR0A;
    535a:       87 b5           in      r24, 0x27       ; 39
    535c:       80 95           com     r24
    535e:       88 bd           out     0x28, r24       ; 40
    5360:       d0 e2           ldi     r29, 0x20       ; 32
//  Parameter: 3 -> use stored Gyro calibration Data from EEPROM
unsigned char SetNeutral(unsigned char AdjustmentMode)  // retuns: "sucess"
//############################################################################
{
        unsigned char i, sucess = 1;
        unsigned int gier_neutral = 0, nick_neutral = 0, roll_neutral = 0, acc_z_neutral = 0, barotest;
    5362:       e1 2c           mov     r14, r1
    5364:       f1 2c           mov     r15, r1
    5366:       a1 2c           mov     r10, r1
    5368:       b1 2c           mov     r11, r1
    536a:       81 2c           mov     r8, r1
    536c:       91 2c           mov     r9, r1
    536e:       c1 2c           mov     r12, r1
    5370:       d1 2c           mov     r13, r1
#define NEUTRAL_FILTER 32
        OCR0A += OPA_OFFSET_STEP;
        OCR0B = 255 - OCR0A;
    for(i=0; i<NEUTRAL_FILTER; i++)
         {
          Delay_ms_Mess(10);
    5372:       8a e0           ldi     r24, 0x0A       ; 10
    5374:       90 e0           ldi     r25, 0x00       ; 0
    5376:       0e 94 6e 9c     call    0x138dc ; 0x138dc <Delay_ms_Mess>
          gier_neutral += AdWertGier;
    537a:       80 91 61 03     lds     r24, 0x0361
    537e:       90 91 62 03     lds     r25, 0x0362
    5382:       c8 0e           add     r12, r24
    5384:       d9 1e           adc     r13, r25
          nick_neutral += AdWertNick;
    5386:       80 91 65 03     lds     r24, 0x0365
    538a:       90 91 66 03     lds     r25, 0x0366
    538e:       88 0e           add     r8, r24
    5390:       99 1e           adc     r9, r25
          roll_neutral += AdWertRoll;
    5392:       80 91 63 03     lds     r24, 0x0363
    5396:       90 91 64 03     lds     r25, 0x0364
    539a:       a8 0e           add     r10, r24
    539c:       b9 1e           adc     r11, r25
          acc_z_neutral += Aktuell_az;
    539e:       80 91 06 05     lds     r24, 0x0506
    53a2:       90 91 07 05     lds     r25, 0x0507
    53a6:       e8 0e           add     r14, r24
    53a8:       f9 1e           adc     r15, r25
    53aa:       d1 50           subi    r29, 0x01       ; 1
   
        barotest = MessLuftdruck;
#define NEUTRAL_FILTER 32
        OCR0A += OPA_OFFSET_STEP;
        OCR0B = 255 - OCR0A;
    for(i=0; i<NEUTRAL_FILTER; i++)
    53ac:       11 f7           brne    .-60            ; 0x5372 <SetNeutral+0xcc>
          gier_neutral += AdWertGier;
          nick_neutral += AdWertNick;
          roll_neutral += AdWertRoll;
          acc_z_neutral += Aktuell_az;
         }
        if(MessLuftdruck < 1010 && MessLuftdruck > 20) BaroStep = barotest - MessLuftdruck;
    53ae:       80 91 10 01     lds     r24, 0x0110
    53b2:       90 91 11 01     lds     r25, 0x0111
    53b6:       82 3f           cpi     r24, 0xF2       ; 242
    53b8:       93 40           sbci    r25, 0x03       ; 3
    53ba:       80 f4           brcc    .+32            ; 0x53dc <SetNeutral+0x136>
    53bc:       80 91 10 01     lds     r24, 0x0110
    53c0:       90 91 11 01     lds     r25, 0x0111
    53c4:       45 97           sbiw    r24, 0x15       ; 21
    53c6:       50 f0           brcs    .+20            ; 0x53dc <SetNeutral+0x136>
    53c8:       80 91 10 01     lds     r24, 0x0110
    53cc:       90 91 11 01     lds     r25, 0x0111
    53d0:       08 1b           sub     r16, r24
    53d2:       19 0b           sbc     r17, r25
    53d4:       10 93 0e 01     sts     0x010E, r17
    53d8:       00 93 0d 01     sts     0x010D, r16
        OCR0A -= OPA_OFFSET_STEP;
    53dc:       87 b5           in      r24, 0x27       ; 39
    53de:       85 50           subi    r24, 0x05       ; 5
    53e0:       87 bd           out     0x27, r24       ; 39
        OCR0B = 255 - OCR0A;
    53e2:       87 b5           in      r24, 0x27       ; 39
    53e4:       80 95           com     r24
    53e6:       88 bd           out     0x28, r24       ; 40
     AdNeutralNick = (nick_neutral+NEUTRAL_FILTER/2) / (NEUTRAL_FILTER / 8);
    53e8:       80 e1           ldi     r24, 0x10       ; 16
    53ea:       88 0e           add     r8, r24
    53ec:       91 1c           adc     r9, r1
    53ee:       96 94           lsr     r9
    53f0:       87 94           ror     r8
    53f2:       96 94           lsr     r9
    53f4:       87 94           ror     r8
    53f6:       90 92 58 04     sts     0x0458, r9
    53fa:       80 92 57 04     sts     0x0457, r8
         AdNeutralRoll = (roll_neutral+NEUTRAL_FILTER/2) / (NEUTRAL_FILTER / 8);
    53fe:       20 e1           ldi     r18, 0x10       ; 16
    5400:       a2 0e           add     r10, r18
    5402:       b1 1c           adc     r11, r1
    5404:       b6 94           lsr     r11
    5406:       a7 94           ror     r10
    5408:       b6 94           lsr     r11
    540a:       a7 94           ror     r10
    540c:       b0 92 56 04     sts     0x0456, r11
    5410:       a0 92 55 04     sts     0x0455, r10
         AdNeutralGier = (gier_neutral+NEUTRAL_FILTER/2) / (NEUTRAL_FILTER);
    5414:       40 e1           ldi     r20, 0x10       ; 16
    5416:       c4 0e           add     r12, r20
    5418:       d1 1c           adc     r13, r1
    541a:       d6 94           lsr     r13
    541c:       c7 94           ror     r12
    541e:       d6 94           lsr     r13
    5420:       c7 94           ror     r12
    5422:       d6 94           lsr     r13
    5424:       c7 94           ror     r12
    5426:       d6 94           lsr     r13
    5428:       c7 94           ror     r12
    542a:       d6 94           lsr     r13
    542c:       c7 94           ror     r12
    542e:       d0 92 54 04     sts     0x0454, r13
    5432:       c0 92 53 04     sts     0x0453, r12
     NeutralAccZ = (acc_z_neutral+NEUTRAL_FILTER/2) / (NEUTRAL_FILTER);
    5436:       60 e1           ldi     r22, 0x10       ; 16
    5438:       e6 0e           add     r14, r22
    543a:       f1 1c           adc     r15, r1
    543c:       f6 94           lsr     r15
    543e:       e7 94           ror     r14
    5440:       f6 94           lsr     r15
    5442:       e7 94           ror     r14
    5444:       f6 94           lsr     r15
    5446:       e7 94           ror     r14
    5448:       f6 94           lsr     r15
    544a:       e7 94           ror     r14
    544c:       f6 94           lsr     r15
    544e:       e7 94           ror     r14
    5450:       f0 92 48 04     sts     0x0448, r15
    5454:       e0 92 47 04     sts     0x0447, r14

     StartNeutralRoll = AdNeutralRoll;
    5458:       b0 92 52 04     sts     0x0452, r11
    545c:       a0 92 51 04     sts     0x0451, r10
     StartNeutralNick = AdNeutralNick;
    5460:       90 92 50 04     sts     0x0450, r9
    5464:       80 92 4f 04     sts     0x044F, r8

     if(AdjustmentMode == 2)
    5468:       c2 30           cpi     r28, 0x02       ; 2
    546a:       09 f0           breq    .+2             ; 0x546e <SetNeutral+0x1c8>
    546c:       4c c0           rjmp    .+152           ; 0x5506 <SetNeutral+0x260>
     {
            NeutralAccX = abs(Mittelwert_AccNick) / (2*ACC_AMPLIFY);
    546e:       80 91 60 06     lds     r24, 0x0660
    5472:       90 91 61 06     lds     r25, 0x0661
    5476:       99 23           and     r25, r25
    5478:       1c f4           brge    .+6             ; 0x5480 <SetNeutral+0x1da>
    547a:       91 95           neg     r25
    547c:       81 95           neg     r24
    547e:       91 09           sbc     r25, r1
    5480:       6c e0           ldi     r22, 0x0C       ; 12
    5482:       70 e0           ldi     r23, 0x00       ; 0
    5484:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    5488:       9b 01           movw    r18, r22
    548a:       70 93 4e 04     sts     0x044E, r23
    548e:       60 93 4d 04     sts     0x044D, r22
            NeutralAccY = abs(Mittelwert_AccRoll) / (2*ACC_AMPLIFY);
    5492:       80 91 72 06     lds     r24, 0x0672
    5496:       90 91 73 06     lds     r25, 0x0673
    549a:       99 23           and     r25, r25
    549c:       1c f4           brge    .+6             ; 0x54a4 <SetNeutral+0x1fe>
    549e:       91 95           neg     r25
    54a0:       81 95           neg     r24
    54a2:       91 09           sbc     r25, r1
    54a4:       6c e0           ldi     r22, 0x0C       ; 12
    54a6:       70 e0           ldi     r23, 0x00       ; 0
    54a8:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    54ac:       70 93 4c 04     sts     0x044C, r23
    54b0:       60 93 4b 04     sts     0x044B, r22
                // Save ACC neutral settings to eeprom
                SetParamWord(PID_ACC_NICK, (uint16_t)NeutralAccX);
    54b4:       b9 01           movw    r22, r18
    54b6:       84 e0           ldi     r24, 0x04       ; 4
    54b8:       90 e0           ldi     r25, 0x00       ; 0
    54ba:       ed da           rcall   .-2598          ; 0x4a96 <SetParamWord>
                SetParamWord(PID_ACC_ROLL, (uint16_t)NeutralAccY);
    54bc:       60 91 4b 04     lds     r22, 0x044B
    54c0:       70 91 4c 04     lds     r23, 0x044C
    54c4:       86 e0           ldi     r24, 0x06       ; 6
    54c6:       90 e0           ldi     r25, 0x00       ; 0
    54c8:       e6 da           rcall   .-2612          ; 0x4a96 <SetParamWord>
                SetParamWord(PID_ACC_TOP,  (uint16_t)NeutralAccZ);
    54ca:       60 91 47 04     lds     r22, 0x0447
    54ce:       70 91 48 04     lds     r23, 0x0448
    54d2:       88 e0           ldi     r24, 0x08       ; 8
    54d4:       90 e0           ldi     r25, 0x00       ; 0
    54d6:       df da           rcall   .-2626          ; 0x4a96 <SetParamWord>
                SetParamWord(PID_GYRO_NICK,(uint16_t)AdNeutralNick);
    54d8:       60 91 57 04     lds     r22, 0x0457
    54dc:       70 91 58 04     lds     r23, 0x0458
    54e0:       82 e1           ldi     r24, 0x12       ; 18
    54e2:       90 e0           ldi     r25, 0x00       ; 0
    54e4:       d8 da           rcall   .-2640          ; 0x4a96 <SetParamWord>
                SetParamWord(PID_GYRO_ROLL,(uint16_t)AdNeutralRoll);
    54e6:       60 91 55 04     lds     r22, 0x0455
    54ea:       70 91 56 04     lds     r23, 0x0456
    54ee:       84 e1           ldi     r24, 0x14       ; 20
    54f0:       90 e0           ldi     r25, 0x00       ; 0
    54f2:       d1 da           rcall   .-2654          ; 0x4a96 <SetParamWord>
                SetParamWord(PID_GYRO_YAW,(uint16_t)AdNeutralGier);
    54f4:       60 91 53 04     lds     r22, 0x0453
    54f8:       70 91 54 04     lds     r23, 0x0454
    54fc:       86 e1           ldi     r24, 0x16       ; 22
    54fe:       90 e0           ldi     r25, 0x00       ; 0
    5500:       ca da           rcall   .-2668          ; 0x4a96 <SetParamWord>
//  Parameter: 2 -> calibrate and store ACC
//  Parameter: 3 -> use stored Gyro calibration Data from EEPROM
unsigned char SetNeutral(unsigned char AdjustmentMode)  // retuns: "sucess"
//############################################################################
{
        unsigned char i, sucess = 1;
    5502:       d1 e0           ldi     r29, 0x01       ; 1
    5504:       91 c0           rjmp    .+290           ; 0x5628 <SetNeutral+0x382>
                SetParamWord(PID_GYRO_YAW,(uint16_t)AdNeutralGier);
    }
    else
    {
                // restore from eeprom
                NeutralAccX = (int16_t)GetParamWord(PID_ACC_NICK);
    5506:       84 e0           ldi     r24, 0x04       ; 4
    5508:       90 e0           ldi     r25, 0x00       ; 0
    550a:       c2 da           rcall   .-2684          ; 0x4a90 <GetParamWord>
    550c:       90 93 4e 04     sts     0x044E, r25
    5510:       80 93 4d 04     sts     0x044D, r24
                NeutralAccY = (int16_t)GetParamWord(PID_ACC_ROLL);
    5514:       86 e0           ldi     r24, 0x06       ; 6
    5516:       90 e0           ldi     r25, 0x00       ; 0
    5518:       bb da           rcall   .-2698          ; 0x4a90 <GetParamWord>
    551a:       90 93 4c 04     sts     0x044C, r25
    551e:       80 93 4b 04     sts     0x044B, r24
                // strange settings?
                if(((unsigned int) NeutralAccX > 2048) || ((unsigned int) NeutralAccY > 2048)/* || ((unsigned int) NeutralAccZ > 1024)*/)
    5522:       20 91 4d 04     lds     r18, 0x044D
    5526:       30 91 4e 04     lds     r19, 0x044E
    552a:       21 30           cpi     r18, 0x01       ; 1
    552c:       38 40           sbci    r19, 0x08       ; 8
    552e:       18 f4           brcc    .+6             ; 0x5536 <SetNeutral+0x290>
    5530:       81 30           cpi     r24, 0x01       ; 1
    5532:       98 40           sbci    r25, 0x08       ; 8
    5534:       a8 f1           brcs    .+106           ; 0x55a0 <SetNeutral+0x2fa>
                {
                        printf("\n\rACC not calibrated!\r\n");
    5536:       85 e0           ldi     r24, 0x05       ; 5
    5538:       93 e0           ldi     r25, 0x03       ; 3
    553a:       9f 93           push    r25
    553c:       8f 93           push    r24
    553e:       87 eb           ldi     r24, 0xB7       ; 183
    5540:       9c ea           ldi     r25, 0xAC       ; 172
    5542:       9f 93           push    r25
    5544:       8f 93           push    r24
    5546:       e0 91 78 06     lds     r30, 0x0678
    554a:       f0 91 79 06     lds     r31, 0x0679
    554e:       09 95           icall
                        NeutralAccX = abs(Mittelwert_AccNick) / (2*ACC_AMPLIFY);
    5550:       80 91 60 06     lds     r24, 0x0660
    5554:       90 91 61 06     lds     r25, 0x0661
    5558:       99 23           and     r25, r25
    555a:       1c f4           brge    .+6             ; 0x5562 <SetNeutral+0x2bc>
    555c:       91 95           neg     r25
    555e:       81 95           neg     r24
    5560:       91 09           sbc     r25, r1
    5562:       6c e0           ldi     r22, 0x0C       ; 12
    5564:       70 e0           ldi     r23, 0x00       ; 0
    5566:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    556a:       70 93 4e 04     sts     0x044E, r23
    556e:       60 93 4d 04     sts     0x044D, r22
                        NeutralAccY = abs(Mittelwert_AccRoll) / (2*ACC_AMPLIFY);
    5572:       80 91 72 06     lds     r24, 0x0672
    5576:       90 91 73 06     lds     r25, 0x0673
    557a:       99 23           and     r25, r25
    557c:       1c f4           brge    .+6             ; 0x5584 <SetNeutral+0x2de>
    557e:       91 95           neg     r25
    5580:       81 95           neg     r24
    5582:       91 09           sbc     r25, r1
    5584:       6c e0           ldi     r22, 0x0C       ; 12
    5586:       70 e0           ldi     r23, 0x00       ; 0
    5588:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    558c:       70 93 4c 04     sts     0x044C, r23
    5590:       60 93 4b 04     sts     0x044B, r22
    5594:       0f 90           pop     r0
    5596:       0f 90           pop     r0
    5598:       0f 90           pop     r0
    559a:       0f 90           pop     r0
                        sucess = 0;
    559c:       d0 e0           ldi     r29, 0x00       ; 0
    559e:       01 c0           rjmp    .+2             ; 0x55a2 <SetNeutral+0x2fc>
//  Parameter: 2 -> calibrate and store ACC
//  Parameter: 3 -> use stored Gyro calibration Data from EEPROM
unsigned char SetNeutral(unsigned char AdjustmentMode)  // retuns: "sucess"
//############################################################################
{
        unsigned char i, sucess = 1;
    55a0:       d1 e0           ldi     r29, 0x01       ; 1
                        printf("\n\rACC not calibrated!\r\n");
                        NeutralAccX = abs(Mittelwert_AccNick) / (2*ACC_AMPLIFY);
                        NeutralAccY = abs(Mittelwert_AccRoll) / (2*ACC_AMPLIFY);
                        sucess = 0;
                }
     if(FC_StatusFlags3 & FC_STATUS3_BOAT) // Read Gyro Data from eeprom
    55a2:       80 91 c9 03     lds     r24, 0x03C9
    55a6:       81 ff           sbrs    r24, 1
    55a8:       3f c0           rjmp    .+126           ; 0x5628 <SetNeutral+0x382>
     {
            unsigned int nick, roll, gier;
                // restore from eeprom
                nick = (int16_t)GetParamWord(PID_GYRO_NICK);
    55aa:       82 e1           ldi     r24, 0x12       ; 18
    55ac:       90 e0           ldi     r25, 0x00       ; 0
    55ae:       70 da           rcall   .-2848          ; 0x4a90 <GetParamWord>
    55b0:       8c 01           movw    r16, r24
                roll = (int16_t)GetParamWord(PID_GYRO_ROLL);
    55b2:       84 e1           ldi     r24, 0x14       ; 20
    55b4:       90 e0           ldi     r25, 0x00       ; 0
    55b6:       6c da           rcall   .-2856          ; 0x4a90 <GetParamWord>
    55b8:       7c 01           movw    r14, r24
                gier = (int16_t)GetParamWord(PID_GYRO_YAW);
    55ba:       86 e1           ldi     r24, 0x16       ; 22
    55bc:       90 e0           ldi     r25, 0x00       ; 0
    55be:       68 da           rcall   .-2864          ; 0x4a90 <GetParamWord>
                // strange settings?
                if(((unsigned int) nick > (600 * 16)) || ((unsigned int) nick < (400 * 16))
    55c0:       98 01           movw    r18, r16
    55c2:       39 51           subi    r19, 0x19       ; 25
    55c4:       21 38           cpi     r18, 0x81       ; 129
    55c6:       3c 40           sbci    r19, 0x0C       ; 12
    55c8:       58 f4           brcc    .+22            ; 0x55e0 <SetNeutral+0x33a>
                   || ((unsigned int) roll > (600 * 16)) || ((unsigned int) roll < (400 * 16))
    55ca:       97 01           movw    r18, r14
    55cc:       39 51           subi    r19, 0x19       ; 25
    55ce:       21 38           cpi     r18, 0x81       ; 129
    55d0:       3c 40           sbci    r19, 0x0C       ; 12
    55d2:       30 f4           brcc    .+12            ; 0x55e0 <SetNeutral+0x33a>
                   || ((unsigned int) gier > (600 * 2)) || ((unsigned int) gier < (400 * 2)))
    55d4:       9c 01           movw    r18, r24
    55d6:       20 52           subi    r18, 0x20       ; 32
    55d8:       33 40           sbci    r19, 0x03       ; 3
    55da:       21 39           cpi     r18, 0x91       ; 145
    55dc:       31 40           sbci    r19, 0x01       ; 1
    55de:       c0 f0           brcs    .+48            ; 0x5610 <SetNeutral+0x36a>
                {
                        printf("\n\rGyro calibration data not valid\r\n");
    55e0:       81 ee           ldi     r24, 0xE1       ; 225
    55e2:       92 e0           ldi     r25, 0x02       ; 2
    55e4:       9f 93           push    r25
    55e6:       8f 93           push    r24
    55e8:       87 eb           ldi     r24, 0xB7       ; 183
    55ea:       9c ea           ldi     r25, 0xAC       ; 172
    55ec:       9f 93           push    r25
    55ee:       8f 93           push    r24
    55f0:       e0 91 78 06     lds     r30, 0x0678
    55f4:       f0 91 79 06     lds     r31, 0x0679
    55f8:       09 95           icall
                        sucess = 0;
                        FC_StatusFlags3 &= ~FC_STATUS3_BOAT;
    55fa:       80 91 c9 03     lds     r24, 0x03C9
    55fe:       8d 7f           andi    r24, 0xFD       ; 253
    5600:       80 93 c9 03     sts     0x03C9, r24
    5604:       0f 90           pop     r0
    5606:       0f 90           pop     r0
    5608:       0f 90           pop     r0
    560a:       0f 90           pop     r0
                if(((unsigned int) nick > (600 * 16)) || ((unsigned int) nick < (400 * 16))
                   || ((unsigned int) roll > (600 * 16)) || ((unsigned int) roll < (400 * 16))
                   || ((unsigned int) gier > (600 * 2)) || ((unsigned int) gier < (400 * 2)))
                {
                        printf("\n\rGyro calibration data not valid\r\n");
                        sucess = 0;
    560c:       d0 e0           ldi     r29, 0x00       ; 0
                        FC_StatusFlags3 &= ~FC_STATUS3_BOAT;
    560e:       0c c0           rjmp    .+24            ; 0x5628 <SetNeutral+0x382>
                }
                else
                {
                        AdNeutralNick = nick;
    5610:       10 93 58 04     sts     0x0458, r17
    5614:       00 93 57 04     sts     0x0457, r16
                        AdNeutralRoll = roll;
    5618:       f0 92 56 04     sts     0x0456, r15
    561c:       e0 92 55 04     sts     0x0455, r14
                        AdNeutralGier = gier;
    5620:       90 93 54 04     sts     0x0454, r25
    5624:       80 93 53 04     sts     0x0453, r24
                }
     }
    }
        EEAR = EE_DUMMY;  // Set the EEPROM Address pointer to an unused space
    5628:       12 bc           out     0x22, r1        ; 34
    562a:       11 bc           out     0x21, r1        ; 33
        MesswertNick = 0;
    562c:       10 92 28 06     sts     0x0628, r1
    5630:       10 92 27 06     sts     0x0627, r1
    MesswertRoll = 0;
    5634:       10 92 1d 06     sts     0x061D, r1
    5638:       10 92 1c 06     sts     0x061C, r1
    MesswertGier = 0;
    563c:       10 92 68 06     sts     0x0668, r1
    5640:       10 92 67 06     sts     0x0667, r1
    Delay_ms_Mess(200);
    5644:       88 ec           ldi     r24, 0xC8       ; 200
    5646:       90 e0           ldi     r25, 0x00       ; 0
    5648:       0e 94 6e 9c     call    0x138dc ; 0x138dc <Delay_ms_Mess>
    Mittelwert_AccNick = ACC_AMPLIFY * AdWertAccNick;
    564c:       80 91 5d 03     lds     r24, 0x035D
    5650:       90 91 5e 03     lds     r25, 0x035E
    5654:       dc 01           movw    r26, r24
    5656:       aa 0f           add     r26, r26
    5658:       bb 1f           adc     r27, r27
    565a:       8a 0f           add     r24, r26
    565c:       9b 1f           adc     r25, r27
    565e:       dc 01           movw    r26, r24
    5660:       aa 0f           add     r26, r26
    5662:       bb 1f           adc     r27, r27
    5664:       b0 93 61 06     sts     0x0661, r27
    5668:       a0 93 60 06     sts     0x0660, r26
    Mittelwert_AccRoll = ACC_AMPLIFY * AdWertAccRoll;
    566c:       80 91 5f 03     lds     r24, 0x035F
    5670:       90 91 60 03     lds     r25, 0x0360
    5674:       fc 01           movw    r30, r24
    5676:       ee 0f           add     r30, r30
    5678:       ff 1f           adc     r31, r31
    567a:       8e 0f           add     r24, r30
    567c:       9f 1f           adc     r25, r31
    567e:       fc 01           movw    r30, r24
    5680:       ee 0f           add     r30, r30
    5682:       ff 1f           adc     r31, r31
    5684:       f0 93 73 06     sts     0x0673, r31
    5688:       e0 93 72 06     sts     0x0672, r30
    IntegralNick = EE_Parameter.GyroAccFaktor * (long)Mittelwert_AccNick;
    568c:       80 90 5a 05     lds     r8, 0x055A
    5690:       91 2c           mov     r9, r1
    5692:       a1 2c           mov     r10, r1
    5694:       b1 2c           mov     r11, r1
    5696:       a5 01           movw    r20, r10
    5698:       94 01           movw    r18, r8
    569a:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    569e:       6b 01           movw    r12, r22
    56a0:       7c 01           movw    r14, r24
    56a2:       60 93 42 04     sts     0x0442, r22
    56a6:       70 93 43 04     sts     0x0443, r23
    56aa:       80 93 44 04     sts     0x0444, r24
    56ae:       90 93 45 04     sts     0x0445, r25
    IntegralRoll = EE_Parameter.GyroAccFaktor * (long)Mittelwert_AccRoll;
    56b2:       df 01           movw    r26, r30
    56b4:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    56b8:       60 93 3e 04     sts     0x043E, r22
    56bc:       70 93 3f 04     sts     0x043F, r23
    56c0:       80 93 40 04     sts     0x0440, r24
    56c4:       90 93 41 04     sts     0x0441, r25
    Mess_IntegralNick = IntegralNick;
    56c8:       c0 92 36 04     sts     0x0436, r12
    56cc:       d0 92 37 04     sts     0x0437, r13
    56d0:       e0 92 38 04     sts     0x0438, r14
    56d4:       f0 92 39 04     sts     0x0439, r15
    Mess_IntegralRoll = IntegralRoll;
    56d8:       60 93 32 04     sts     0x0432, r22
    56dc:       70 93 33 04     sts     0x0433, r23
    56e0:       80 93 34 04     sts     0x0434, r24
    56e4:       90 93 35 04     sts     0x0435, r25
    Mess_Integral_Gier = 0;
    56e8:       10 92 2e 04     sts     0x042E, r1
    56ec:       10 92 2f 04     sts     0x042F, r1
    56f0:       10 92 30 04     sts     0x0430, r1
    56f4:       10 92 31 04     sts     0x0431, r1
    KompassSollWert = KompassValue;
    56f8:       e0 91 4e 01     lds     r30, 0x014E
    56fc:       f0 91 4f 01     lds     r31, 0x014F
    5700:       f0 93 1d 04     sts     0x041D, r31
    5704:       e0 93 1c 04     sts     0x041C, r30
        KompassSignalSchlecht = 100;
    5708:       84 e6           ldi     r24, 0x64       ; 100
    570a:       90 e0           ldi     r25, 0x00       ; 0
    570c:       90 93 4b 01     sts     0x014B, r25
    5710:       80 93 4a 01     sts     0x014A, r24
        Umschlag180Nick = ((long) EE_Parameter.WinkelUmschlagNick * 2500L) + 15000L;
    5714:       20 91 7f 05     lds     r18, 0x057F
    5718:       30 e0           ldi     r19, 0x00       ; 0
    571a:       a4 ec           ldi     r26, 0xC4       ; 196
    571c:       b9 e0           ldi     r27, 0x09       ; 9
    571e:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    5722:       dc 01           movw    r26, r24
    5724:       cb 01           movw    r24, r22
    5726:       88 56           subi    r24, 0x68       ; 104
    5728:       95 4c           sbci    r25, 0xC5       ; 197
    572a:       af 4f           sbci    r26, 0xFF       ; 255
    572c:       bf 4f           sbci    r27, 0xFF       ; 255
    572e:       80 93 46 01     sts     0x0146, r24
    5732:       90 93 47 01     sts     0x0147, r25
    5736:       a0 93 48 01     sts     0x0148, r26
    573a:       b0 93 49 01     sts     0x0149, r27
        Umschlag180Roll = ((long) EE_Parameter.WinkelUmschlagRoll * 2500L) + 15000L;
    573e:       20 91 80 05     lds     r18, 0x0580
    5742:       30 e0           ldi     r19, 0x00       ; 0
    5744:       a4 ec           ldi     r26, 0xC4       ; 196
    5746:       b9 e0           ldi     r27, 0x09       ; 9
    5748:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    574c:       dc 01           movw    r26, r24
    574e:       cb 01           movw    r24, r22
    5750:       88 56           subi    r24, 0x68       ; 104
    5752:       95 4c           sbci    r25, 0xC5       ; 197
    5754:       af 4f           sbci    r26, 0xFF       ; 255
    5756:       bf 4f           sbci    r27, 0xFF       ; 255
    5758:       80 93 42 01     sts     0x0142, r24
    575c:       90 93 43 01     sts     0x0143, r25
    5760:       a0 93 44 01     sts     0x0144, r26
    5764:       b0 93 45 01     sts     0x0145, r27
    ExternHoehenValue = 0;
    5768:       10 92 26 01     sts     0x0126, r1
    576c:       10 92 25 01     sts     0x0125, r1
    ErsatzKompass = KompassValue * GIER_GRAD_FAKTOR;
    5770:       20 91 21 01     lds     r18, 0x0121
    5774:       30 91 22 01     lds     r19, 0x0122
    5778:       40 91 23 01     lds     r20, 0x0123
    577c:       50 91 24 01     lds     r21, 0x0124
    5780:       df 01           movw    r26, r30
    5782:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    5786:       60 93 6e 06     sts     0x066E, r22
    578a:       70 93 6f 06     sts     0x066F, r23
    578e:       80 93 70 06     sts     0x0670, r24
    5792:       90 93 71 06     sts     0x0671, r25
    GierGyroFehler = 0;
    5796:       10 92 19 04     sts     0x0419, r1
    579a:       10 92 18 04     sts     0x0418, r1
    LED_Init();
    579e:       0e 94 80 85     call    0x10b00 ; 0x10b00 <LED_Init>
    if(AdjustmentMode != 0) FC_StatusFlags |= FC_STATUS_CALIBRATE;
    57a2:       cc 23           and     r28, r28
    57a4:       29 f0           breq    .+10            ; 0x57b0 <SetNeutral+0x50a>
    57a6:       80 91 cb 03     lds     r24, 0x03CB
    57aa:       84 60           ori     r24, 0x04       ; 4
    57ac:       80 93 cb 03     sts     0x03CB, r24
    FromNaviCtrl_Value.Kalman_K = -1;
    57b0:       8f ef           ldi     r24, 0xFF       ; 255
    57b2:       80 93 4c 09     sts     0x094C, r24
    FromNaviCtrl_Value.Kalman_MaxDrift = 0;
    57b6:       10 92 4d 09     sts     0x094D, r1
    FromNaviCtrl_Value.Kalman_MaxFusion = 32;
    57ba:       80 e2           ldi     r24, 0x20       ; 32
    57bc:       80 93 4e 09     sts     0x094E, r24
    SenderOkay = 100;
    57c0:       84 e6           ldi     r24, 0x64       ; 100
    57c2:       80 93 04 04     sts     0x0404, r24

    if(ServoActive)     DDRD  |=0x80; // enable J7 -> Servo signal
    57c6:       80 91 cb 04     lds     r24, 0x04CB
    57ca:       88 23           and     r24, r24
    57cc:       11 f0           breq    .+4             ; 0x57d2 <SetNeutral+0x52c>
    57ce:       57 9a           sbi     0x0a, 7 ; 10
    57d0:       19 c0           rjmp    .+50            ; 0x5804 <SetNeutral+0x55e>
    57d2:       80 91 b7 05     lds     r24, 0x05B7
    57d6:       85 70           andi    r24, 0x05       ; 5
        else 
         {
      if((EE_Parameter.ServoCompInvert & SERVO_NICK_INV) && (EE_Parameter.ServoCompInvert & SERVO_RELATIVE)) NickServoValue = 12000;//((128 + 60) * 4 * 16); // neutral position = upper 1/4//    else    
    57d8:       85 30           cpi     r24, 0x05       ; 5
    57da:       39 f4           brne    .+14            ; 0x57ea <SetNeutral+0x544>
    57dc:       80 ee           ldi     r24, 0xE0       ; 224
    57de:       9e e2           ldi     r25, 0x2E       ; 46
    57e0:       90 93 a8 02     sts     0x02A8, r25
    57e4:       80 93 a7 02     sts     0x02A7, r24
    57e8:       06 c0           rjmp    .+12            ; 0x57f6 <SetNeutral+0x550>
          else NickServoValue = ((128 - 60) * 4 * 16); // neutral position = lower 1/4
    57ea:       80 e0           ldi     r24, 0x00       ; 0
    57ec:       91 e1           ldi     r25, 0x11       ; 17
    57ee:       90 93 a8 02     sts     0x02A8, r25
    57f2:       80 93 a7 02     sts     0x02A7, r24
          CalculateServoSignals = 1;
    57f6:       81 e0           ldi     r24, 0x01       ; 1
    57f8:       80 93 af 02     sts     0x02AF, r24
          CalculateServo(); // nick
    57fc:       0e 94 14 9d     call    0x13a28 ; 0x13a28 <CalculateServo>
          CalculateServo(); // roll
    5800:       0e 94 14 9d     call    0x13a28 ; 0x13a28 <CalculateServo>
         } 

#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
    signed int tilt1, tilt2;
                tilt1 = (int)(IntegralNick/GIER_GRAD_FAKTOR);  // nick angle in deg
    5804:       c0 90 21 01     lds     r12, 0x0121
    5808:       d0 90 22 01     lds     r13, 0x0122
    580c:       e0 90 23 01     lds     r14, 0x0123
    5810:       f0 90 24 01     lds     r15, 0x0124
                tilt2 = (int)(IntegralRoll/GIER_GRAD_FAKTOR);  // roll angle in deg
    5814:       60 91 3e 04     lds     r22, 0x043E
    5818:       70 91 3f 04     lds     r23, 0x043F
    581c:       80 91 40 04     lds     r24, 0x0440
    5820:       90 91 41 04     lds     r25, 0x0441
    5824:       a7 01           movw    r20, r14
    5826:       96 01           movw    r18, r12
    5828:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    582c:       49 01           movw    r8, r18
    582e:       5a 01           movw    r10, r20
          CalculateServo(); // roll
         } 

#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
    signed int tilt1, tilt2;
                tilt1 = (int)(IntegralNick/GIER_GRAD_FAKTOR);  // nick angle in deg
    5830:       60 91 42 04     lds     r22, 0x0442
    5834:       70 91 43 04     lds     r23, 0x0443
    5838:       80 91 44 04     lds     r24, 0x0444
    583c:       90 91 45 04     lds     r25, 0x0445
    5840:       a7 01           movw    r20, r14
    5842:       96 01           movw    r18, r12
    5844:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
                tilt2 = (int)(IntegralRoll/GIER_GRAD_FAKTOR);  // roll angle in deg
                tilt1 = (int16_t)ihypot(tilt1,tilt2);                   // tilt angle over all 
    5848:       b4 01           movw    r22, r8
    584a:       c9 01           movw    r24, r18
    584c:       0e 94 a2 0d     call    0x1b44  ; 0x1b44 <ihypot>
    5850:       7c 01           movw    r14, r24
                CosAttitude = c_cos_8192(tilt1);                                
    5852:       0e 94 2d 91     call    0x1225a ; 0x1225a <c_cos_8192>
    5856:       9c 01           movw    r18, r24
    5858:       90 93 2e 06     sts     0x062E, r25
    585c:       80 93 2d 06     sts     0x062D, r24
                NeutralAccZ = (long)((long) (NeutralAccZ - 512) * 8192 + 4096) / CosAttitude + 512;
    5860:       60 91 47 04     lds     r22, 0x0447
    5864:       70 91 48 04     lds     r23, 0x0448
    5868:       72 50           subi    r23, 0x02       ; 2
    586a:       cb 01           movw    r24, r22
    586c:       aa 27           eor     r26, r26
    586e:       97 fd           sbrc    r25, 7
    5870:       a0 95           com     r26
    5872:       ba 2f           mov     r27, r26
    5874:       07 2e           mov     r0, r23
    5876:       7d e0           ldi     r23, 0x0D       ; 13
    5878:       88 0f           add     r24, r24
    587a:       99 1f           adc     r25, r25
    587c:       aa 1f           adc     r26, r26
    587e:       bb 1f           adc     r27, r27
    5880:       7a 95           dec     r23
    5882:       d1 f7           brne    .-12            ; 0x5878 <SetNeutral+0x5d2>
    5884:       70 2d           mov     r23, r0
    5886:       bc 01           movw    r22, r24
    5888:       cd 01           movw    r24, r26
    588a:       70 5f           subi    r23, 0xF0       ; 240
    588c:       8f 4f           sbci    r24, 0xFF       ; 255
    588e:       9f 4f           sbci    r25, 0xFF       ; 255
    5890:       44 27           eor     r20, r20
    5892:       37 fd           sbrc    r19, 7
    5894:       40 95           com     r20
    5896:       54 2f           mov     r21, r20
    5898:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    589c:       c9 01           movw    r24, r18
    589e:       b9 01           movw    r22, r18
    58a0:       7e 5f           subi    r23, 0xFE       ; 254
    58a2:       70 93 48 04     sts     0x0448, r23
    58a6:       60 93 47 04     sts     0x0447, r22
                if(tilt1 > 20) sucess = 0; // calibration must be within 20° Tilt angle 
    58aa:       65 e1           ldi     r22, 0x15       ; 21
    58ac:       e6 16           cp      r14, r22
    58ae:       f1 04           cpc     r15, r1
    58b0:       0c f0           brlt    .+2             ; 0x58b4 <SetNeutral+0x60e>
    58b2:       d0 e0           ldi     r29, 0x00       ; 0
                if(AdjustmentMode != 0 && ACC_AltitudeControl) if((NeutralAccZ < 682 - 30) || (NeutralAccZ > 682 + 35)) { VersionInfo.HardwareError[0] |= FC_ERROR0_ACC_TOP; sucess = 0;};
    58b4:       cc 23           and     r28, r28
    58b6:       79 f0           breq    .+30            ; 0x58d6 <SetNeutral+0x630>
    58b8:       60 91 c2 03     lds     r22, 0x03C2
    58bc:       66 23           and     r22, r22
    58be:       59 f0           breq    .+22            ; 0x58d6 <SetNeutral+0x630>
    58c0:       2c 58           subi    r18, 0x8C       ; 140
    58c2:       31 09           sbc     r19, r1
    58c4:       22 34           cpi     r18, 0x42       ; 66
    58c6:       31 05           cpc     r19, r1
    58c8:       30 f0           brcs    .+12            ; 0x58d6 <SetNeutral+0x630>
    58ca:       e2 e6           ldi     r30, 0x62       ; 98
    58cc:       fa e0           ldi     r31, 0x0A       ; 10
    58ce:       20 81           ld      r18, Z
    58d0:       20 62           ori     r18, 0x20       ; 32
    58d2:       20 83           st      Z, r18
    58d4:       d0 e0           ldi     r29, 0x00       ; 0
#else
        NeutralAccZ = (int16_t)GetParamWord(PID_ACC_TOP);
        EEAR = EE_DUMMY;  // Set the EEPROM Address pointer to an unused space
#endif
        if((AdNeutralNick < 150 * 16) || (AdNeutralNick > 850 * 16)) { VersionInfo.HardwareError[0] |= FC_ERROR0_GYRO_NICK; };
    58d6:       20 91 57 04     lds     r18, 0x0457
    58da:       30 91 58 04     lds     r19, 0x0458
    58de:       20 56           subi    r18, 0x60       ; 96
    58e0:       39 40           sbci    r19, 0x09       ; 9
    58e2:       21 3c           cpi     r18, 0xC1       ; 193
    58e4:       3b 42           sbci    r19, 0x2B       ; 43
    58e6:       28 f0           brcs    .+10            ; 0x58f2 <SetNeutral+0x64c>
    58e8:       e2 e6           ldi     r30, 0x62       ; 98
    58ea:       fa e0           ldi     r31, 0x0A       ; 10
    58ec:       20 81           ld      r18, Z
    58ee:       21 60           ori     r18, 0x01       ; 1
    58f0:       20 83           st      Z, r18
        if((AdNeutralRoll < 150 * 16) || (AdNeutralRoll > 850 * 16)) { VersionInfo.HardwareError[0] |= FC_ERROR0_GYRO_ROLL; };
    58f2:       20 91 55 04     lds     r18, 0x0455
    58f6:       30 91 56 04     lds     r19, 0x0456
    58fa:       20 56           subi    r18, 0x60       ; 96
    58fc:       39 40           sbci    r19, 0x09       ; 9
    58fe:       21 3c           cpi     r18, 0xC1       ; 193
    5900:       3b 42           sbci    r19, 0x2B       ; 43
    5902:       28 f0           brcs    .+10            ; 0x590e <SetNeutral+0x668>
    5904:       e2 e6           ldi     r30, 0x62       ; 98
    5906:       fa e0           ldi     r31, 0x0A       ; 10
    5908:       20 81           ld      r18, Z
    590a:       22 60           ori     r18, 0x02       ; 2
    590c:       20 83           st      Z, r18
        if((AdNeutralGier < 150 * 2)  || (AdNeutralGier > 850 * 2))  { VersionInfo.HardwareError[0] |= FC_ERROR0_GYRO_YAW; };
    590e:       20 91 53 04     lds     r18, 0x0453
    5912:       30 91 54 04     lds     r19, 0x0454
    5916:       2c 52           subi    r18, 0x2C       ; 44
    5918:       31 40           sbci    r19, 0x01       ; 1
    591a:       29 37           cpi     r18, 0x79       ; 121
    591c:       35 40           sbci    r19, 0x05       ; 5
    591e:       28 f0           brcs    .+10            ; 0x592a <SetNeutral+0x684>
    5920:       e2 e6           ldi     r30, 0x62       ; 98
    5922:       fa e0           ldi     r31, 0x0A       ; 10
    5924:       20 81           ld      r18, Z
    5926:       24 60           ori     r18, 0x04       ; 4
    5928:       20 83           st      Z, r18
        if((NeutralAccX < 300) || (NeutralAccX > 750)) { VersionInfo.HardwareError[0] |= FC_ERROR0_ACC_NICK; };
    592a:       20 91 4d 04     lds     r18, 0x044D
    592e:       30 91 4e 04     lds     r19, 0x044E
    5932:       2c 52           subi    r18, 0x2C       ; 44
    5934:       31 40           sbci    r19, 0x01       ; 1
    5936:       23 3c           cpi     r18, 0xC3       ; 195
    5938:       31 40           sbci    r19, 0x01       ; 1
    593a:       28 f0           brcs    .+10            ; 0x5946 <SetNeutral+0x6a0>
    593c:       e2 e6           ldi     r30, 0x62       ; 98
    593e:       fa e0           ldi     r31, 0x0A       ; 10
    5940:       20 81           ld      r18, Z
    5942:       28 60           ori     r18, 0x08       ; 8
    5944:       20 83           st      Z, r18
        if((NeutralAccY < 300) || (NeutralAccY > 750)) { VersionInfo.HardwareError[0] |= FC_ERROR0_ACC_ROLL; };
    5946:       20 91 4b 04     lds     r18, 0x044B
    594a:       30 91 4c 04     lds     r19, 0x044C
    594e:       2c 52           subi    r18, 0x2C       ; 44
    5950:       31 40           sbci    r19, 0x01       ; 1
    5952:       23 3c           cpi     r18, 0xC3       ; 195
    5954:       31 40           sbci    r19, 0x01       ; 1
    5956:       28 f0           brcs    .+10            ; 0x5962 <SetNeutral+0x6bc>
    5958:       e2 e6           ldi     r30, 0x62       ; 98
    595a:       fa e0           ldi     r31, 0x0A       ; 10
    595c:       20 81           ld      r18, Z
    595e:       20 61           ori     r18, 0x10       ; 16
    5960:       20 83           st      Z, r18
        if((NeutralAccZ < 512) || (NeutralAccZ > 850)) { VersionInfo.HardwareError[0] |= FC_ERROR0_ACC_TOP; };
    5962:       83 35           cpi     r24, 0x53       ; 83
    5964:       91 40           sbci    r25, 0x01       ; 1
    5966:       28 f0           brcs    .+10            ; 0x5972 <SetNeutral+0x6cc>
    5968:       e2 e6           ldi     r30, 0x62       ; 98
    596a:       fa e0           ldi     r31, 0x0A       ; 10
    596c:       80 81           ld      r24, Z
    596e:       80 62           ori     r24, 0x20       ; 32
    5970:       80 83           st      Z, r24
    if(VersionInfo.HardwareError[0]) sucess = 0;
    5972:       80 91 62 0a     lds     r24, 0x0A62
    5976:       81 11           cpse    r24, r1
    5978:       d0 e0           ldi     r29, 0x00       ; 0
    carefree_old = 70;
    597a:       86 e4           ldi     r24, 0x46       ; 70
    597c:       80 93 3d 01     sts     0x013D, r24
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
        LIBFC_HoTT_Clear();
    5980:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
        ACC_AltitudeFusion(2); // initalisation
    5984:       82 e0           ldi     r24, 0x02       ; 2
    5986:       0e 94 a0 16     call    0x2d40  ; 0x2d40 <ACC_AltitudeFusion>
#endif
    StartLuftdruck = Luftdruck;
    598a:       80 91 12 01     lds     r24, 0x0112
    598e:       90 91 13 01     lds     r25, 0x0113
    5992:       a0 91 14 01     lds     r26, 0x0114
    5996:       b0 91 15 01     lds     r27, 0x0115
    599a:       80 93 08 05     sts     0x0508, r24
    599e:       90 93 09 05     sts     0x0509, r25
    59a2:       a0 93 0a 05     sts     0x050A, r26
    59a6:       b0 93 0b 05     sts     0x050B, r27
    VarioMeter = 0;
    59aa:       10 92 55 03     sts     0x0355, r1
    59ae:       10 92 54 03     sts     0x0354, r1
        SummenHoehe = 0;    Mess_Integral_Hoch = 0;
    59b2:       10 92 57 03     sts     0x0357, r1
    59b6:       10 92 58 03     sts     0x0358, r1
    59ba:       10 92 59 03     sts     0x0359, r1
    59be:       10 92 5a 03     sts     0x035A, r1
    59c2:       10 92 1e 04     sts     0x041E, r1
    59c6:       10 92 1f 04     sts     0x041F, r1
    59ca:       10 92 20 04     sts     0x0420, r1
    59ce:       10 92 21 04     sts     0x0421, r1
        DebugOut.Analog[28] = 0; // I2C-Counter
    59d2:       10 92 81 0c     sts     0x0C81, r1
    59d6:       10 92 80 0c     sts     0x0C80, r1
        CalcExpandBaroStep();
    59da:       0e 94 14 1b     call    0x3628  ; 0x3628 <CalcExpandBaroStep>
        if(FC_StatusFlags3 & FC_STATUS3_BOAT && !EE_Parameter.Driftkomp) EE_Parameter.Driftkomp = 4;
    59de:       80 91 c9 03     lds     r24, 0x03C9
    59e2:       81 ff           sbrs    r24, 1
    59e4:       07 c0           rjmp    .+14            ; 0x59f4 <SetNeutral+0x74e>
    59e6:       80 91 82 05     lds     r24, 0x0582
    59ea:       81 11           cpse    r24, r1
    59ec:       03 c0           rjmp    .+6             ; 0x59f4 <SetNeutral+0x74e>
    59ee:       84 e0           ldi     r24, 0x04       ; 4
    59f0:       80 93 82 05     sts     0x0582, r24
 return(sucess);
}
    59f4:       8d 2f           mov     r24, r29
    59f6:       df 91           pop     r29
    59f8:       cf 91           pop     r28
    59fa:       1f 91           pop     r17
    59fc:       0f 91           pop     r16
    59fe:       ff 90           pop     r15
    5a00:       ef 90           pop     r14
    5a02:       df 90           pop     r13
    5a04:       cf 90           pop     r12
    5a06:       bf 90           pop     r11
    5a08:       af 90           pop     r10
    5a0a:       9f 90           pop     r9
    5a0c:       8f 90           pop     r8
    5a0e:       08 95           ret

00005a10 <Mittelwert>:

//############################################################################
// Bearbeitet die Messwerte
void Mittelwert(void)
//############################################################################
{
    5a10:       2f 92           push    r2
    5a12:       3f 92           push    r3
    5a14:       4f 92           push    r4
    5a16:       5f 92           push    r5
    5a18:       6f 92           push    r6
    5a1a:       7f 92           push    r7
    5a1c:       8f 92           push    r8
    5a1e:       9f 92           push    r9
    5a20:       af 92           push    r10
    5a22:       bf 92           push    r11
    5a24:       cf 92           push    r12
    5a26:       df 92           push    r13
    5a28:       ef 92           push    r14
    5a2a:       ff 92           push    r15
    5a2c:       0f 93           push    r16
    5a2e:       1f 93           push    r17
    5a30:       cf 93           push    r28
    5a32:       df 93           push    r29
    5a34:       cd b7           in      r28, 0x3d       ; 61
    5a36:       de b7           in      r29, 0x3e       ; 62
    5a38:       60 97           sbiw    r28, 0x10       ; 16
    5a3a:       0f b6           in      r0, 0x3f        ; 63
    5a3c:       f8 94           cli
    5a3e:       de bf           out     0x3e, r29       ; 62
    5a40:       0f be           out     0x3f, r0        ; 63
    5a42:       cd bf           out     0x3d, r28       ; 61
    static signed long tmpl,tmpl2,tmpl3,tmpl4;
        static signed int oldNick, oldRoll, d2Roll, d2Nick;
        signed long winkel_nick, winkel_roll;
        MesswertGier = (signed int) AdNeutralGier - AdWertGier;
    5a44:       20 91 61 03     lds     r18, 0x0361
    5a48:       30 91 62 03     lds     r19, 0x0362
    5a4c:       80 91 53 04     lds     r24, 0x0453
    5a50:       90 91 54 04     lds     r25, 0x0454
    5a54:       82 1b           sub     r24, r18
    5a56:       93 0b           sbc     r25, r19
    5a58:       90 93 68 06     sts     0x0668, r25
    5a5c:       80 93 67 06     sts     0x0667, r24
    MesswertNick = (signed int) AdWertNickFilter / 8;
    5a60:       80 91 69 03     lds     r24, 0x0369
    5a64:       90 91 6a 03     lds     r25, 0x036A
    5a68:       99 23           and     r25, r25
    5a6a:       0c f4           brge    .+2             ; 0x5a6e <Mittelwert+0x5e>
    5a6c:       07 96           adiw    r24, 0x07       ; 7
    5a6e:       9c 01           movw    r18, r24
    5a70:       35 95           asr     r19
    5a72:       27 95           ror     r18
    5a74:       35 95           asr     r19
    5a76:       27 95           ror     r18
    5a78:       35 95           asr     r19
    5a7a:       27 95           ror     r18
    5a7c:       30 93 28 06     sts     0x0628, r19
    5a80:       20 93 27 06     sts     0x0627, r18
    MesswertRoll = (signed int) AdWertRollFilter / 8;
    5a84:       80 91 67 03     lds     r24, 0x0367
    5a88:       90 91 68 03     lds     r25, 0x0368
    5a8c:       99 23           and     r25, r25
    5a8e:       0c f4           brge    .+2             ; 0x5a92 <Mittelwert+0x82>
    5a90:       07 96           adiw    r24, 0x07       ; 7
    5a92:       95 95           asr     r25
    5a94:       87 95           ror     r24
    5a96:       95 95           asr     r25
    5a98:       87 95           ror     r24
    5a9a:       95 95           asr     r25
    5a9c:       87 95           ror     r24
    5a9e:       90 93 1d 06     sts     0x061D, r25
    5aa2:       80 93 1c 06     sts     0x061C, r24
    RohMesswertNick = MesswertNick;
    5aa6:       30 93 30 06     sts     0x0630, r19
    5aaa:       20 93 2f 06     sts     0x062F, r18
    RohMesswertRoll = MesswertRoll;
    5aae:       90 93 2b 06     sts     0x062B, r25
    5ab2:       80 93 2a 06     sts     0x062A, r24

// Beschleunigungssensor  ++++++++++++++++++++++++++++++++++++++++++++++++
        Mittelwert_AccNick = (Mittelwert_AccNick * 3 + ((ACC_AMPLIFY * AdWertAccNick))) / 4L;
    5ab6:       20 91 5d 03     lds     r18, 0x035D
    5aba:       30 91 5e 03     lds     r19, 0x035E
    5abe:       80 91 60 06     lds     r24, 0x0660
    5ac2:       90 91 61 06     lds     r25, 0x0661
    5ac6:       ac 01           movw    r20, r24
    5ac8:       44 0f           add     r20, r20
    5aca:       55 1f           adc     r21, r21
    5acc:       84 0f           add     r24, r20
    5ace:       95 1f           adc     r25, r21
    5ad0:       a9 01           movw    r20, r18
    5ad2:       44 0f           add     r20, r20
    5ad4:       55 1f           adc     r21, r21
    5ad6:       24 0f           add     r18, r20
    5ad8:       35 1f           adc     r19, r21
    5ada:       22 0f           add     r18, r18
    5adc:       33 1f           adc     r19, r19
    5ade:       82 0f           add     r24, r18
    5ae0:       93 1f           adc     r25, r19
    5ae2:       99 23           and     r25, r25
    5ae4:       0c f4           brge    .+2             ; 0x5ae8 <Mittelwert+0xd8>
    5ae6:       03 96           adiw    r24, 0x03       ; 3
    5ae8:       95 95           asr     r25
    5aea:       87 95           ror     r24
    5aec:       95 95           asr     r25
    5aee:       87 95           ror     r24
    5af0:       90 93 61 06     sts     0x0661, r25
    5af4:       80 93 60 06     sts     0x0660, r24
        Mittelwert_AccRoll = (Mittelwert_AccRoll * 3 + ((ACC_AMPLIFY * AdWertAccRoll))) / 4L;
    5af8:       20 91 5f 03     lds     r18, 0x035F
    5afc:       30 91 60 03     lds     r19, 0x0360
    5b00:       80 91 72 06     lds     r24, 0x0672
    5b04:       90 91 73 06     lds     r25, 0x0673
    5b08:       ac 01           movw    r20, r24
    5b0a:       44 0f           add     r20, r20
    5b0c:       55 1f           adc     r21, r21
    5b0e:       84 0f           add     r24, r20
    5b10:       95 1f           adc     r25, r21
    5b12:       a9 01           movw    r20, r18
    5b14:       44 0f           add     r20, r20
    5b16:       55 1f           adc     r21, r21
    5b18:       24 0f           add     r18, r20
    5b1a:       35 1f           adc     r19, r21
    5b1c:       22 0f           add     r18, r18
    5b1e:       33 1f           adc     r19, r19
    5b20:       82 0f           add     r24, r18
    5b22:       93 1f           adc     r25, r19
    5b24:       99 23           and     r25, r25
    5b26:       0c f4           brge    .+2             ; 0x5b2a <Mittelwert+0x11a>
    5b28:       03 96           adiw    r24, 0x03       ; 3
    5b2a:       95 95           asr     r25
    5b2c:       87 95           ror     r24
    5b2e:       95 95           asr     r25
    5b30:       87 95           ror     r24
    5b32:       90 93 73 06     sts     0x0673, r25
    5b36:       80 93 72 06     sts     0x0672, r24
    NaviAccNick    += AdWertAccNick;
    5b3a:       80 91 5d 03     lds     r24, 0x035D
    5b3e:       90 91 5e 03     lds     r25, 0x035E
    5b42:       20 91 39 06     lds     r18, 0x0639
    5b46:       30 91 3a 06     lds     r19, 0x063A
    5b4a:       82 0f           add     r24, r18
    5b4c:       93 1f           adc     r25, r19
    5b4e:       90 93 3a 06     sts     0x063A, r25
    5b52:       80 93 39 06     sts     0x0639, r24
    NaviAccRoll    += AdWertAccRoll;
    5b56:       80 91 5f 03     lds     r24, 0x035F
    5b5a:       90 91 60 03     lds     r25, 0x0360
    5b5e:       20 91 6a 06     lds     r18, 0x066A
    5b62:       30 91 6b 06     lds     r19, 0x066B
    5b66:       82 0f           add     r24, r18
    5b68:       93 1f           adc     r25, r19
    5b6a:       90 93 6b 06     sts     0x066B, r25
    5b6e:       80 93 6a 06     sts     0x066A, r24
    NaviCntAcc++;
    5b72:       80 91 49 04     lds     r24, 0x0449
    5b76:       90 91 4a 04     lds     r25, 0x044A
    5b7a:       01 96           adiw    r24, 0x01       ; 1
    5b7c:       90 93 4a 04     sts     0x044A, r25
    5b80:       80 93 49 04     sts     0x0449, r24

//++++++++++++++++++++++++++++++++++++++++++++++++
        HoehenWert = HoehenWert_Mess;
    5b84:       80 91 46 03     lds     r24, 0x0346
    5b88:       90 91 47 03     lds     r25, 0x0347
    5b8c:       a0 91 48 03     lds     r26, 0x0348
    5b90:       b0 91 49 03     lds     r27, 0x0349
    5b94:       80 93 fe 03     sts     0x03FE, r24
    5b98:       90 93 ff 03     sts     0x03FF, r25
    5b9c:       a0 93 00 04     sts     0x0400, r26
    5ba0:       b0 93 01 04     sts     0x0401, r27
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
        HoehenWertF = HoehenWertF_Mess;
    5ba4:       80 91 42 03     lds     r24, 0x0342
    5ba8:       90 91 43 03     lds     r25, 0x0343
    5bac:       a0 91 44 03     lds     r26, 0x0344
    5bb0:       b0 91 45 03     lds     r27, 0x0345
    5bb4:       80 93 4a 03     sts     0x034A, r24
    5bb8:       90 93 4b 03     sts     0x034B, r25
    5bbc:       a0 93 4c 03     sts     0x034C, r26
    5bc0:       b0 93 4d 03     sts     0x034D, r27
#else
        HoehenWertF = HoehenWert;
#endif
//++++++++++++++++++++++++++++++++++++++++++++++++
// ADC einschalten
    ANALOG_ON;
    5bc4:       8f ec           ldi     r24, 0xCF       ; 207
    5bc6:       80 93 7a 00     sts     0x007A, r24
        AdReady = 0;
    5bca:       10 92 0f 01     sts     0x010F, r1
//++++++++++++++++++++++++++++++++++++++++++++++++

    if(Mess_IntegralRoll > 93000L) winkel_roll = 93000L;
    5bce:       00 91 32 04     lds     r16, 0x0432
    5bd2:       10 91 33 04     lds     r17, 0x0433
    5bd6:       70 91 34 04     lds     r23, 0x0434
    5bda:       60 91 35 04     lds     r22, 0x0435
        else if(Mess_IntegralRoll <-93000L) winkel_roll = -93000L;
        else winkel_roll = Mess_IntegralRoll;

    if(Mess_IntegralNick > 93000L) winkel_nick = 93000L;
    5bde:       50 91 36 04     lds     r21, 0x0436
    5be2:       40 91 37 04     lds     r20, 0x0437
    5be6:       30 91 38 04     lds     r19, 0x0438
    5bea:       20 91 39 04     lds     r18, 0x0439
        else if(Mess_IntegralNick <-93000L) winkel_nick = -93000L;
        else winkel_nick = Mess_IntegralNick;

// Gier  ++++++++++++++++++++++++++++++++++++++++++++++++
   Mess_Integral_Gier += MesswertGier;
    5bee:       20 90 67 06     lds     r2, 0x0667
    5bf2:       30 90 68 06     lds     r3, 0x0668
    5bf6:       61 01           movw    r12, r2
    5bf8:       ee 24           eor     r14, r14
    5bfa:       d7 fc           sbrc    r13, 7
    5bfc:       e0 94           com     r14
    5bfe:       fe 2c           mov     r15, r14
    5c00:       80 91 2e 04     lds     r24, 0x042E
    5c04:       90 91 2f 04     lds     r25, 0x042F
    5c08:       a0 91 30 04     lds     r26, 0x0430
    5c0c:       b0 91 31 04     lds     r27, 0x0431
    5c10:       46 01           movw    r8, r12
    5c12:       57 01           movw    r10, r14
    5c14:       88 0e           add     r8, r24
    5c16:       99 1e           adc     r9, r25
    5c18:       aa 1e           adc     r10, r26
    5c1a:       bb 1e           adc     r11, r27
    5c1c:       80 92 2e 04     sts     0x042E, r8
    5c20:       90 92 2f 04     sts     0x042F, r9
    5c24:       a0 92 30 04     sts     0x0430, r10
    5c28:       b0 92 31 04     sts     0x0431, r11
   ErsatzKompass += MesswertGier;
    5c2c:       80 91 6e 06     lds     r24, 0x066E
    5c30:       90 91 6f 06     lds     r25, 0x066F
    5c34:       a0 91 70 06     lds     r26, 0x0670
    5c38:       b0 91 71 06     lds     r27, 0x0671
    5c3c:       26 01           movw    r4, r12
    5c3e:       37 01           movw    r6, r14
    5c40:       48 0e           add     r4, r24
    5c42:       59 1e           adc     r5, r25
    5c44:       6a 1e           adc     r6, r26
    5c46:       7b 1e           adc     r7, r27
    5c48:       40 92 6e 06     sts     0x066E, r4
    5c4c:       50 92 6f 06     sts     0x066F, r5
    5c50:       60 92 70 06     sts     0x0670, r6
    5c54:       70 92 71 06     sts     0x0671, r7
// Kopplungsanteil  +++++++++++++++++++++++++++++++++++++
      if(!Looping_Nick && !Looping_Roll && (Parameter_GlobalConfig & CFG_ACHSENKOPPLUNG_AKTIV))
    5c58:       80 91 e7 03     lds     r24, 0x03E7
    5c5c:       81 11           cpse    r24, r1
    5c5e:       c5 c1           rjmp    .+906           ; 0x5fea <Mittelwert+0x5da>
    5c60:       80 91 e6 03     lds     r24, 0x03E6
    5c64:       81 11           cpse    r24, r1
    5c66:       c1 c1           rjmp    .+898           ; 0x5fea <Mittelwert+0x5da>
    5c68:       80 91 5c 06     lds     r24, 0x065C
    5c6c:       86 ff           sbrs    r24, 6
    5c6e:       bd c1           rjmp    .+890           ; 0x5fea <Mittelwert+0x5da>
    5c70:       09 87           std     Y+9, r16        ; 0x09
    5c72:       1a 87           std     Y+10, r17       ; 0x0a
    5c74:       7b 87           std     Y+11, r23       ; 0x0b
    5c76:       6c 87           std     Y+12, r22       ; 0x0c
    5c78:       89 85           ldd     r24, Y+9        ; 0x09
    5c7a:       9a 85           ldd     r25, Y+10       ; 0x0a
    5c7c:       ab 85           ldd     r26, Y+11       ; 0x0b
    5c7e:       bc 85           ldd     r27, Y+12       ; 0x0c
    5c80:       88 3b           cpi     r24, 0xB8       ; 184
    5c82:       94 49           sbci    r25, 0x94       ; 148
    5c84:       ae 4f           sbci    r26, 0xFE       ; 254
    5c86:       bf 4f           sbci    r27, 0xFF       ; 255
    5c88:       44 f4           brge    .+16            ; 0x5c9a <Mittelwert+0x28a>
    5c8a:       88 eb           ldi     r24, 0xB8       ; 184
    5c8c:       94 e9           ldi     r25, 0x94       ; 148
    5c8e:       ae ef           ldi     r26, 0xFE       ; 254
    5c90:       bf ef           ldi     r27, 0xFF       ; 255
    5c92:       89 87           std     Y+9, r24        ; 0x09
    5c94:       9a 87           std     Y+10, r25       ; 0x0a
    5c96:       ab 87           std     Y+11, r26       ; 0x0b
    5c98:       bc 87           std     Y+12, r27       ; 0x0c
    5c9a:       89 85           ldd     r24, Y+9        ; 0x09
    5c9c:       9a 85           ldd     r25, Y+10       ; 0x0a
    5c9e:       ab 85           ldd     r26, Y+11       ; 0x0b
    5ca0:       bc 85           ldd     r27, Y+12       ; 0x0c
    5ca2:       89 34           cpi     r24, 0x49       ; 73
    5ca4:       9b 46           sbci    r25, 0x6B       ; 107
    5ca6:       a1 40           sbci    r26, 0x01       ; 1
    5ca8:       b1 05           cpc     r27, r1
    5caa:       44 f0           brlt    .+16            ; 0x5cbc <Mittelwert+0x2ac>
    5cac:       88 e4           ldi     r24, 0x48       ; 72
    5cae:       9b e6           ldi     r25, 0x6B       ; 107
    5cb0:       a1 e0           ldi     r26, 0x01       ; 1
    5cb2:       b0 e0           ldi     r27, 0x00       ; 0
    5cb4:       89 87           std     Y+9, r24        ; 0x09
    5cb6:       9a 87           std     Y+10, r25       ; 0x0a
    5cb8:       ab 87           std     Y+11, r26       ; 0x0b
    5cba:       bc 87           std     Y+12, r27       ; 0x0c
    5cbc:       85 2f           mov     r24, r21
    5cbe:       94 2f           mov     r25, r20
    5cc0:       a3 2f           mov     r26, r19
    5cc2:       b2 2f           mov     r27, r18
    5cc4:       88 3b           cpi     r24, 0xB8       ; 184
    5cc6:       e4 e9           ldi     r30, 0x94       ; 148
    5cc8:       9e 07           cpc     r25, r30
    5cca:       ee ef           ldi     r30, 0xFE       ; 254
    5ccc:       ae 07           cpc     r26, r30
    5cce:       ef ef           ldi     r30, 0xFF       ; 255
    5cd0:       be 07           cpc     r27, r30
    5cd2:       24 f4           brge    .+8             ; 0x5cdc <Mittelwert+0x2cc>
    5cd4:       88 eb           ldi     r24, 0xB8       ; 184
    5cd6:       94 e9           ldi     r25, 0x94       ; 148
    5cd8:       ae ef           ldi     r26, 0xFE       ; 254
    5cda:       bf ef           ldi     r27, 0xFF       ; 255
    5cdc:       8d 83           std     Y+5, r24        ; 0x05
    5cde:       9e 83           std     Y+6, r25        ; 0x06
    5ce0:       af 83           std     Y+7, r26        ; 0x07
    5ce2:       b8 87           std     Y+8, r27        ; 0x08
    5ce4:       89 34           cpi     r24, 0x49       ; 73
    5ce6:       9b 46           sbci    r25, 0x6B       ; 107
    5ce8:       a1 40           sbci    r26, 0x01       ; 1
    5cea:       b1 05           cpc     r27, r1
    5cec:       44 f0           brlt    .+16            ; 0x5cfe <Mittelwert+0x2ee>
    5cee:       08 e4           ldi     r16, 0x48       ; 72
    5cf0:       1b e6           ldi     r17, 0x6B       ; 107
    5cf2:       21 e0           ldi     r18, 0x01       ; 1
    5cf4:       30 e0           ldi     r19, 0x00       ; 0
    5cf6:       0d 83           std     Y+5, r16        ; 0x05
    5cf8:       1e 83           std     Y+6, r17        ; 0x06
    5cfa:       2f 83           std     Y+7, r18        ; 0x07
    5cfc:       38 87           std     Y+8, r19        ; 0x08
         {
            tmpl3 = (MesswertRoll * winkel_nick) / 2048L;
            tmpl3 *= Parameter_AchsKopplung2; //65
    5cfe:       80 91 29 01     lds     r24, 0x0129
    5d02:       08 2f           mov     r16, r24
    5d04:       10 e0           ldi     r17, 0x00       ; 0
    5d06:       20 e0           ldi     r18, 0x00       ; 0
    5d08:       30 e0           ldi     r19, 0x00       ; 0
    5d0a:       0d 87           std     Y+13, r16       ; 0x0d
    5d0c:       1e 87           std     Y+14, r17       ; 0x0e
    5d0e:       2f 87           std     Y+15, r18       ; 0x0f
    5d10:       38 8b           std     Y+16, r19       ; 0x10
   Mess_Integral_Gier += MesswertGier;
   ErsatzKompass += MesswertGier;
// Kopplungsanteil  +++++++++++++++++++++++++++++++++++++
      if(!Looping_Nick && !Looping_Roll && (Parameter_GlobalConfig & CFG_ACHSENKOPPLUNG_AKTIV))
         {
            tmpl3 = (MesswertRoll * winkel_nick) / 2048L;
    5d12:       a0 91 1c 06     lds     r26, 0x061C
    5d16:       b0 91 1d 06     lds     r27, 0x061D
    5d1a:       2d 81           ldd     r18, Y+5        ; 0x05
    5d1c:       3e 81           ldd     r19, Y+6        ; 0x06
    5d1e:       4f 81           ldd     r20, Y+7        ; 0x07
    5d20:       58 85           ldd     r21, Y+8        ; 0x08
    5d22:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    5d26:       8b 01           movw    r16, r22
    5d28:       9c 01           movw    r18, r24
    5d2a:       99 23           and     r25, r25
    5d2c:       24 f4           brge    .+8             ; 0x5d36 <Mittelwert+0x326>
    5d2e:       01 50           subi    r16, 0x01       ; 1
    5d30:       18 4f           sbci    r17, 0xF8       ; 248
    5d32:       2f 4f           sbci    r18, 0xFF       ; 255
    5d34:       3f 4f           sbci    r19, 0xFF       ; 255
    5d36:       a9 01           movw    r20, r18
    5d38:       98 01           movw    r18, r16
    5d3a:       01 2e           mov     r0, r17
    5d3c:       1b e0           ldi     r17, 0x0B       ; 11
    5d3e:       55 95           asr     r21
    5d40:       47 95           ror     r20
    5d42:       37 95           ror     r19
    5d44:       27 95           ror     r18
    5d46:       1a 95           dec     r17
    5d48:       d1 f7           brne    .-12            ; 0x5d3e <Mittelwert+0x32e>
    5d4a:       10 2d           mov     r17, r0
            tmpl3 *= Parameter_AchsKopplung2; //65
    5d4c:       6d 85           ldd     r22, Y+13       ; 0x0d
    5d4e:       7e 85           ldd     r23, Y+14       ; 0x0e
    5d50:       8f 85           ldd     r24, Y+15       ; 0x0f
    5d52:       98 89           ldd     r25, Y+16       ; 0x10
    5d54:       0e 94 27 b1     call    0x1624e ; 0x1624e <__mulsi3>
            tmpl3 /= 4096L;
    5d58:       8b 01           movw    r16, r22
    5d5a:       9c 01           movw    r18, r24
    5d5c:       99 23           and     r25, r25
    5d5e:       24 f4           brge    .+8             ; 0x5d68 <Mittelwert+0x358>
    5d60:       01 50           subi    r16, 0x01       ; 1
    5d62:       10 4f           sbci    r17, 0xF0       ; 240
    5d64:       2f 4f           sbci    r18, 0xFF       ; 255
    5d66:       3f 4f           sbci    r19, 0xFF       ; 255
    5d68:       d9 01           movw    r26, r18
    5d6a:       c8 01           movw    r24, r16
    5d6c:       07 2e           mov     r0, r23
    5d6e:       7c e0           ldi     r23, 0x0C       ; 12
    5d70:       b5 95           asr     r27
    5d72:       a7 95           ror     r26
    5d74:       97 95           ror     r25
    5d76:       87 95           ror     r24
    5d78:       7a 95           dec     r23
    5d7a:       d1 f7           brne    .-12            ; 0x5d70 <Mittelwert+0x360>
    5d7c:       70 2d           mov     r23, r0
    5d7e:       89 83           std     Y+1, r24        ; 0x01
    5d80:       9a 83           std     Y+2, r25        ; 0x02
    5d82:       ab 83           std     Y+3, r26        ; 0x03
    5d84:       bc 83           std     Y+4, r27        ; 0x04
    5d86:       80 93 b8 03     sts     0x03B8, r24
    5d8a:       90 93 b9 03     sts     0x03B9, r25
    5d8e:       a0 93 ba 03     sts     0x03BA, r26
    5d92:       b0 93 bb 03     sts     0x03BB, r27
            tmpl4 = (MesswertNick * winkel_roll) / 2048L;
    5d96:       a0 91 27 06     lds     r26, 0x0627
    5d9a:       b0 91 28 06     lds     r27, 0x0628
    5d9e:       29 85           ldd     r18, Y+9        ; 0x09
    5da0:       3a 85           ldd     r19, Y+10       ; 0x0a
    5da2:       4b 85           ldd     r20, Y+11       ; 0x0b
    5da4:       5c 85           ldd     r21, Y+12       ; 0x0c
    5da6:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    5daa:       8b 01           movw    r16, r22
    5dac:       9c 01           movw    r18, r24
    5dae:       99 23           and     r25, r25
    5db0:       24 f4           brge    .+8             ; 0x5dba <Mittelwert+0x3aa>
    5db2:       01 50           subi    r16, 0x01       ; 1
    5db4:       18 4f           sbci    r17, 0xF8       ; 248
    5db6:       2f 4f           sbci    r18, 0xFF       ; 255
    5db8:       3f 4f           sbci    r19, 0xFF       ; 255
    5dba:       c9 01           movw    r24, r18
    5dbc:       b8 01           movw    r22, r16
    5dbe:       05 2e           mov     r0, r21
    5dc0:       5b e0           ldi     r21, 0x0B       ; 11
    5dc2:       95 95           asr     r25
    5dc4:       87 95           ror     r24
    5dc6:       77 95           ror     r23
    5dc8:       67 95           ror     r22
    5dca:       5a 95           dec     r21
    5dcc:       d1 f7           brne    .-12            ; 0x5dc2 <Mittelwert+0x3b2>
    5dce:       50 2d           mov     r21, r0
            tmpl4 *= Parameter_AchsKopplung2; //65
    5dd0:       2d 85           ldd     r18, Y+13       ; 0x0d
    5dd2:       3e 85           ldd     r19, Y+14       ; 0x0e
    5dd4:       4f 85           ldd     r20, Y+15       ; 0x0f
    5dd6:       58 89           ldd     r21, Y+16       ; 0x10
    5dd8:       0e 94 27 b1     call    0x1624e ; 0x1624e <__mulsi3>
            tmpl4 /= 4096L;
    5ddc:       8b 01           movw    r16, r22
    5dde:       9c 01           movw    r18, r24
    5de0:       99 23           and     r25, r25
    5de2:       24 f4           brge    .+8             ; 0x5dec <Mittelwert+0x3dc>
    5de4:       01 50           subi    r16, 0x01       ; 1
    5de6:       10 4f           sbci    r17, 0xF0       ; 240
    5de8:       2f 4f           sbci    r18, 0xFF       ; 255
    5dea:       3f 4f           sbci    r19, 0xFF       ; 255
    5dec:       d9 01           movw    r26, r18
    5dee:       c8 01           movw    r24, r16
    5df0:       07 2e           mov     r0, r23
    5df2:       7c e0           ldi     r23, 0x0C       ; 12
    5df4:       b5 95           asr     r27
    5df6:       a7 95           ror     r26
    5df8:       97 95           ror     r25
    5dfa:       87 95           ror     r24
    5dfc:       7a 95           dec     r23
    5dfe:       d1 f7           brne    .-12            ; 0x5df4 <Mittelwert+0x3e4>
    5e00:       70 2d           mov     r23, r0
            KopplungsteilNickRoll = tmpl3;
    5e02:       e9 81           ldd     r30, Y+1        ; 0x01
    5e04:       fa 81           ldd     r31, Y+2        ; 0x02
    5e06:       f0 93 16 06     sts     0x0616, r31
    5e0a:       e0 93 15 06     sts     0x0615, r30
            KopplungsteilRollNick = tmpl4;
    5e0e:       90 93 18 06     sts     0x0618, r25
    5e12:       80 93 17 06     sts     0x0617, r24
            tmpl4 -= tmpl3;
    5e16:       09 81           ldd     r16, Y+1        ; 0x01
    5e18:       1a 81           ldd     r17, Y+2        ; 0x02
    5e1a:       2b 81           ldd     r18, Y+3        ; 0x03
    5e1c:       3c 81           ldd     r19, Y+4        ; 0x04
    5e1e:       80 1b           sub     r24, r16
    5e20:       91 0b           sbc     r25, r17
    5e22:       a2 0b           sbc     r26, r18
    5e24:       b3 0b           sbc     r27, r19
    5e26:       80 93 b4 03     sts     0x03B4, r24
    5e2a:       90 93 b5 03     sts     0x03B5, r25
    5e2e:       a0 93 b6 03     sts     0x03B6, r26
    5e32:       b0 93 b7 03     sts     0x03B7, r27
            ErsatzKompass += tmpl4;
    5e36:       b3 01           movw    r22, r6
    5e38:       a2 01           movw    r20, r4
    5e3a:       48 0f           add     r20, r24
    5e3c:       59 1f           adc     r21, r25
    5e3e:       6a 1f           adc     r22, r26
    5e40:       7b 1f           adc     r23, r27
    5e42:       40 93 6e 06     sts     0x066E, r20
    5e46:       50 93 6f 06     sts     0x066F, r21
    5e4a:       60 93 70 06     sts     0x0670, r22
    5e4e:       70 93 71 06     sts     0x0671, r23
            if(!Parameter_CouplingYawCorrection) Mess_Integral_Gier -= tmpl4/2; // Gier nachhelfen
    5e52:       20 91 28 01     lds     r18, 0x0128
    5e56:       21 11           cpse    r18, r1
    5e58:       1a c0           rjmp    .+52            ; 0x5e8e <Mittelwert+0x47e>
    5e5a:       ac 01           movw    r20, r24
    5e5c:       bd 01           movw    r22, r26
    5e5e:       bb 23           and     r27, r27
    5e60:       24 f4           brge    .+8             ; 0x5e6a <Mittelwert+0x45a>
    5e62:       4f 5f           subi    r20, 0xFF       ; 255
    5e64:       5f 4f           sbci    r21, 0xFF       ; 255
    5e66:       6f 4f           sbci    r22, 0xFF       ; 255
    5e68:       7f 4f           sbci    r23, 0xFF       ; 255
    5e6a:       75 95           asr     r23
    5e6c:       67 95           ror     r22
    5e6e:       57 95           ror     r21
    5e70:       47 95           ror     r20
    5e72:       95 01           movw    r18, r10
    5e74:       84 01           movw    r16, r8
    5e76:       04 1b           sub     r16, r20
    5e78:       15 0b           sbc     r17, r21
    5e7a:       26 0b           sbc     r18, r22
    5e7c:       37 0b           sbc     r19, r23
    5e7e:       00 93 2e 04     sts     0x042E, r16
    5e82:       10 93 2f 04     sts     0x042F, r17
    5e86:       20 93 30 04     sts     0x0430, r18
    5e8a:       30 93 31 04     sts     0x0431, r19

            tmpl = ((MesswertGier + tmpl4) * winkel_nick) / 2048L;
    5e8e:       46 01           movw    r8, r12
    5e90:       57 01           movw    r10, r14
    5e92:       88 0e           add     r8, r24
    5e94:       99 1e           adc     r9, r25
    5e96:       aa 1e           adc     r10, r26
    5e98:       bb 1e           adc     r11, r27
            tmpl *= Parameter_AchsKopplung1;  // 90
    5e9a:       e0 90 2a 01     lds     r14, 0x012A
    5e9e:       ce 2c           mov     r12, r14
    5ea0:       d1 2c           mov     r13, r1
    5ea2:       e1 2c           mov     r14, r1
    5ea4:       f1 2c           mov     r15, r1
            KopplungsteilRollNick = tmpl4;
            tmpl4 -= tmpl3;
            ErsatzKompass += tmpl4;
            if(!Parameter_CouplingYawCorrection) Mess_Integral_Gier -= tmpl4/2; // Gier nachhelfen

            tmpl = ((MesswertGier + tmpl4) * winkel_nick) / 2048L;
    5ea6:       a5 01           movw    r20, r10
    5ea8:       94 01           movw    r18, r8
    5eaa:       6d 81           ldd     r22, Y+5        ; 0x05
    5eac:       7e 81           ldd     r23, Y+6        ; 0x06
    5eae:       8f 81           ldd     r24, Y+7        ; 0x07
    5eb0:       98 85           ldd     r25, Y+8        ; 0x08
    5eb2:       0e 94 27 b1     call    0x1624e ; 0x1624e <__mulsi3>
    5eb6:       8b 01           movw    r16, r22
    5eb8:       9c 01           movw    r18, r24
    5eba:       99 23           and     r25, r25
    5ebc:       24 f4           brge    .+8             ; 0x5ec6 <Mittelwert+0x4b6>
    5ebe:       01 50           subi    r16, 0x01       ; 1
    5ec0:       18 4f           sbci    r17, 0xF8       ; 248
    5ec2:       2f 4f           sbci    r18, 0xFF       ; 255
    5ec4:       3f 4f           sbci    r19, 0xFF       ; 255
    5ec6:       a9 01           movw    r20, r18
    5ec8:       98 01           movw    r18, r16
    5eca:       01 2e           mov     r0, r17
    5ecc:       1b e0           ldi     r17, 0x0B       ; 11
    5ece:       55 95           asr     r21
    5ed0:       47 95           ror     r20
    5ed2:       37 95           ror     r19
    5ed4:       27 95           ror     r18
    5ed6:       1a 95           dec     r17
    5ed8:       d1 f7           brne    .-12            ; 0x5ece <Mittelwert+0x4be>
    5eda:       10 2d           mov     r17, r0
            tmpl *= Parameter_AchsKopplung1;  // 90
    5edc:       c7 01           movw    r24, r14
    5ede:       b6 01           movw    r22, r12
    5ee0:       0e 94 27 b1     call    0x1624e ; 0x1624e <__mulsi3>
            tmpl /= 4096L;
    5ee4:       2b 01           movw    r4, r22
    5ee6:       3c 01           movw    r6, r24
    5ee8:       99 23           and     r25, r25
    5eea:       34 f4           brge    .+12            ; 0x5ef8 <Mittelwert+0x4e8>
    5eec:       1f ef           ldi     r17, 0xFF       ; 255
    5eee:       41 0e           add     r4, r17
    5ef0:       1f e0           ldi     r17, 0x0F       ; 15
    5ef2:       51 1e           adc     r5, r17
    5ef4:       61 1c           adc     r6, r1
    5ef6:       71 1c           adc     r7, r1
    5ef8:       03 2e           mov     r0, r19
    5efa:       3c e0           ldi     r19, 0x0C       ; 12
    5efc:       75 94           asr     r7
    5efe:       67 94           ror     r6
    5f00:       57 94           ror     r5
    5f02:       47 94           ror     r4
    5f04:       3a 95           dec     r19
    5f06:       d1 f7           brne    .-12            ; 0x5efc <Mittelwert+0x4ec>
    5f08:       30 2d           mov     r19, r0
    5f0a:       40 92 b0 03     sts     0x03B0, r4
    5f0e:       50 92 b1 03     sts     0x03B1, r5
    5f12:       60 92 b2 03     sts     0x03B2, r6
    5f16:       70 92 b3 03     sts     0x03B3, r7
            tmpl2 = ((MesswertGier + tmpl4) * winkel_roll) / 2048L;
    5f1a:       a5 01           movw    r20, r10
    5f1c:       94 01           movw    r18, r8
    5f1e:       69 85           ldd     r22, Y+9        ; 0x09
    5f20:       7a 85           ldd     r23, Y+10       ; 0x0a
    5f22:       8b 85           ldd     r24, Y+11       ; 0x0b
    5f24:       9c 85           ldd     r25, Y+12       ; 0x0c
    5f26:       0e 94 27 b1     call    0x1624e ; 0x1624e <__mulsi3>
    5f2a:       8b 01           movw    r16, r22
    5f2c:       9c 01           movw    r18, r24
    5f2e:       99 23           and     r25, r25
    5f30:       24 f4           brge    .+8             ; 0x5f3a <Mittelwert+0x52a>
    5f32:       01 50           subi    r16, 0x01       ; 1
    5f34:       18 4f           sbci    r17, 0xF8       ; 248
    5f36:       2f 4f           sbci    r18, 0xFF       ; 255
    5f38:       3f 4f           sbci    r19, 0xFF       ; 255
    5f3a:       c9 01           movw    r24, r18
    5f3c:       b8 01           movw    r22, r16
    5f3e:       05 2e           mov     r0, r21
    5f40:       5b e0           ldi     r21, 0x0B       ; 11
    5f42:       95 95           asr     r25
    5f44:       87 95           ror     r24
    5f46:       77 95           ror     r23
    5f48:       67 95           ror     r22
    5f4a:       5a 95           dec     r21
    5f4c:       d1 f7           brne    .-12            ; 0x5f42 <Mittelwert+0x532>
    5f4e:       50 2d           mov     r21, r0
            tmpl2 *= Parameter_AchsKopplung1;
    5f50:       a7 01           movw    r20, r14
    5f52:       96 01           movw    r18, r12
    5f54:       0e 94 27 b1     call    0x1624e ; 0x1624e <__mulsi3>
            tmpl2 /= 4096L;
    5f58:       8b 01           movw    r16, r22
    5f5a:       9c 01           movw    r18, r24
    5f5c:       99 23           and     r25, r25
    5f5e:       24 f4           brge    .+8             ; 0x5f68 <Mittelwert+0x558>
    5f60:       01 50           subi    r16, 0x01       ; 1
    5f62:       10 4f           sbci    r17, 0xF0       ; 240
    5f64:       2f 4f           sbci    r18, 0xFF       ; 255
    5f66:       3f 4f           sbci    r19, 0xFF       ; 255
    5f68:       d9 01           movw    r26, r18
    5f6a:       c8 01           movw    r24, r16
    5f6c:       07 2e           mov     r0, r23
    5f6e:       7c e0           ldi     r23, 0x0C       ; 12
    5f70:       b5 95           asr     r27
    5f72:       a7 95           ror     r26
    5f74:       97 95           ror     r25
    5f76:       87 95           ror     r24
    5f78:       7a 95           dec     r23
    5f7a:       d1 f7           brne    .-12            ; 0x5f70 <Mittelwert+0x560>
    5f7c:       70 2d           mov     r23, r0
    5f7e:       80 93 ac 03     sts     0x03AC, r24
    5f82:       90 93 ad 03     sts     0x03AD, r25
    5f86:       a0 93 ae 03     sts     0x03AE, r26
    5f8a:       b0 93 af 03     sts     0x03AF, r27
            if(abs(MesswertGier) > 64) if(labs(tmpl) > 128 || labs(tmpl2) > 128) TrichterFlug = 1;
    5f8e:       91 01           movw    r18, r2
    5f90:       33 20           and     r3, r3
    5f92:       24 f4           brge    .+8             ; 0x5f9c <Mittelwert+0x58c>
    5f94:       22 27           eor     r18, r18
    5f96:       33 27           eor     r19, r19
    5f98:       22 19           sub     r18, r2
    5f9a:       33 09           sbc     r19, r3
    5f9c:       21 34           cpi     r18, 0x41       ; 65
    5f9e:       31 05           cpc     r19, r1
    5fa0:       e4 f1           brlt    .+120           ; 0x601a <Mittelwert+0x60a>
    5fa2:       b3 01           movw    r22, r6
    5fa4:       a2 01           movw    r20, r4
    5fa6:       77 20           and     r7, r7
    5fa8:       3c f4           brge    .+14            ; 0x5fb8 <Mittelwert+0x5a8>
    5faa:       44 27           eor     r20, r20
    5fac:       55 27           eor     r21, r21
    5fae:       ba 01           movw    r22, r20
    5fb0:       44 19           sub     r20, r4
    5fb2:       55 09           sbc     r21, r5
    5fb4:       66 09           sbc     r22, r6
    5fb6:       77 09           sbc     r23, r7
    5fb8:       41 38           cpi     r20, 0x81       ; 129
    5fba:       51 05           cpc     r21, r1
    5fbc:       61 05           cpc     r22, r1
    5fbe:       71 05           cpc     r23, r1
    5fc0:       84 f4           brge    .+32            ; 0x5fe2 <Mittelwert+0x5d2>
    5fc2:       ac 01           movw    r20, r24
    5fc4:       bd 01           movw    r22, r26
    5fc6:       bb 23           and     r27, r27
    5fc8:       3c f4           brge    .+14            ; 0x5fd8 <Mittelwert+0x5c8>
    5fca:       44 27           eor     r20, r20
    5fcc:       55 27           eor     r21, r21
    5fce:       ba 01           movw    r22, r20
    5fd0:       48 1b           sub     r20, r24
    5fd2:       59 0b           sbc     r21, r25
    5fd4:       6a 0b           sbc     r22, r26
    5fd6:       7b 0b           sbc     r23, r27
    5fd8:       41 38           cpi     r20, 0x81       ; 129
    5fda:       51 05           cpc     r21, r1
    5fdc:       61 05           cpc     r22, r1
    5fde:       71 05           cpc     r23, r1
    5fe0:       e4 f0           brlt    .+56            ; 0x601a <Mittelwert+0x60a>
    5fe2:       81 e0           ldi     r24, 0x01       ; 1
    5fe4:       80 93 1a 04     sts     0x041A, r24
    5fe8:       18 c0           rjmp    .+48            ; 0x601a <Mittelwert+0x60a>
            //MesswertGier += (Parameter_CouplingYawCorrection * tmpl4) / 256;
         }
      else  tmpl = tmpl2 = KopplungsteilNickRoll = KopplungsteilRollNick = 0;
    5fea:       10 92 18 06     sts     0x0618, r1
    5fee:       10 92 17 06     sts     0x0617, r1
    5ff2:       10 92 16 06     sts     0x0616, r1
    5ff6:       10 92 15 06     sts     0x0615, r1
    5ffa:       10 92 ac 03     sts     0x03AC, r1
    5ffe:       10 92 ad 03     sts     0x03AD, r1
    6002:       10 92 ae 03     sts     0x03AE, r1
    6006:       10 92 af 03     sts     0x03AF, r1
    600a:       10 92 b0 03     sts     0x03B0, r1
    600e:       10 92 b1 03     sts     0x03B1, r1
    6012:       10 92 b2 03     sts     0x03B2, r1
    6016:       10 92 b3 03     sts     0x03B3, r1
                        TrimRoll = tmpl - tmpl2 / 100L;
    601a:       c0 90 b0 03     lds     r12, 0x03B0
    601e:       d0 90 b1 03     lds     r13, 0x03B1
    6022:       e0 90 b2 03     lds     r14, 0x03B2
    6026:       f0 90 b3 03     lds     r15, 0x03B3
    602a:       80 90 ac 03     lds     r8, 0x03AC
    602e:       90 90 ad 03     lds     r9, 0x03AD
    6032:       a0 90 ae 03     lds     r10, 0x03AE
    6036:       b0 90 af 03     lds     r11, 0x03AF
    603a:       0f 2e           mov     r0, r31
    603c:       f4 e6           ldi     r31, 0x64       ; 100
    603e:       4f 2e           mov     r4, r31
    6040:       51 2c           mov     r5, r1
    6042:       61 2c           mov     r6, r1
    6044:       71 2c           mov     r7, r1
    6046:       f0 2d           mov     r31, r0
    6048:       c5 01           movw    r24, r10
    604a:       b4 01           movw    r22, r8
    604c:       a3 01           movw    r20, r6
    604e:       92 01           movw    r18, r4
    6050:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    6054:       16 01           movw    r2, r12
    6056:       22 1a           sub     r2, r18
    6058:       33 0a           sbc     r3, r19
    605a:       30 92 26 06     sts     0x0626, r3
    605e:       20 92 25 06     sts     0x0625, r2
                        TrimNick = -tmpl2 + tmpl / 100L;
    6062:       c7 01           movw    r24, r14
    6064:       b6 01           movw    r22, r12
    6066:       a3 01           movw    r20, r6
    6068:       92 01           movw    r18, r4
    606a:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    606e:       f9 01           movw    r30, r18
    6070:       e8 19           sub     r30, r8
    6072:       f9 09           sbc     r31, r9
    6074:       f0 93 1f 06     sts     0x061F, r31
    6078:       e0 93 1e 06     sts     0x061E, r30
// Kompasswert begrenzen  ++++++++++++++++++++++++++++++++++++++++++++++++
                    if(ErsatzKompass >= (360L * GIER_GRAD_FAKTOR)) ErsatzKompass -= 360L * GIER_GRAD_FAKTOR;  // 360° Umschlag
    607c:       40 90 21 01     lds     r4, 0x0121
    6080:       50 90 22 01     lds     r5, 0x0122
    6084:       60 90 23 01     lds     r6, 0x0123
    6088:       70 90 24 01     lds     r7, 0x0124
    608c:       a8 e6           ldi     r26, 0x68       ; 104
    608e:       b1 e0           ldi     r27, 0x01       ; 1
    6090:       a3 01           movw    r20, r6
    6092:       92 01           movw    r18, r4
    6094:       0e 94 c8 b1     call    0x16390 ; 0x16390 <__muluhisi3>
    6098:       6b 01           movw    r12, r22
    609a:       7c 01           movw    r14, r24
    609c:       80 90 6e 06     lds     r8, 0x066E
    60a0:       90 90 6f 06     lds     r9, 0x066F
    60a4:       a0 90 70 06     lds     r10, 0x0670
    60a8:       b0 90 71 06     lds     r11, 0x0671
    60ac:       86 16           cp      r8, r22
    60ae:       97 06           cpc     r9, r23
    60b0:       a8 06           cpc     r10, r24
    60b2:       b9 06           cpc     r11, r25
    60b4:       84 f0           brlt    .+32            ; 0x60d6 <Mittelwert+0x6c6>
    60b6:       a8 e9           ldi     r26, 0x98       ; 152
    60b8:       be ef           ldi     r27, 0xFE       ; 254
    60ba:       0e 94 d4 b1     call    0x163a8 ; 0x163a8 <__mulohisi3>
    60be:       86 0e           add     r8, r22
    60c0:       97 1e           adc     r9, r23
    60c2:       a8 1e           adc     r10, r24
    60c4:       b9 1e           adc     r11, r25
    60c6:       80 92 6e 06     sts     0x066E, r8
    60ca:       90 92 6f 06     sts     0x066F, r9
    60ce:       a0 92 70 06     sts     0x0670, r10
    60d2:       b0 92 71 06     sts     0x0671, r11
                    if(ErsatzKompass < 0)                          ErsatzKompass += 360L * GIER_GRAD_FAKTOR;
    60d6:       80 91 6e 06     lds     r24, 0x066E
    60da:       90 91 6f 06     lds     r25, 0x066F
    60de:       a0 91 70 06     lds     r26, 0x0670
    60e2:       b0 91 71 06     lds     r27, 0x0671
    60e6:       bb 23           and     r27, r27
    60e8:       64 f4           brge    .+24            ; 0x6102 <Mittelwert+0x6f2>
    60ea:       8c 0d           add     r24, r12
    60ec:       9d 1d           adc     r25, r13
    60ee:       ae 1d           adc     r26, r14
    60f0:       bf 1d           adc     r27, r15
    60f2:       80 93 6e 06     sts     0x066E, r24
    60f6:       90 93 6f 06     sts     0x066F, r25
    60fa:       a0 93 70 06     sts     0x0670, r26
    60fe:       b0 93 71 06     sts     0x0671, r27
// Roll  ++++++++++++++++++++++++++++++++++++++++++++++++
            Mess_IntegralRoll +=  MesswertRoll + TrimRoll - LageKorrekturRoll;
    6102:       80 91 1c 06     lds     r24, 0x061C
    6106:       90 91 1d 06     lds     r25, 0x061D
    610a:       82 0d           add     r24, r2
    610c:       93 1d           adc     r25, r3
    610e:       20 91 ec 03     lds     r18, 0x03EC
    6112:       30 91 ed 03     lds     r19, 0x03ED
    6116:       82 1b           sub     r24, r18
    6118:       93 0b           sbc     r25, r19
    611a:       aa 27           eor     r26, r26
    611c:       97 fd           sbrc    r25, 7
    611e:       a0 95           com     r26
    6120:       ba 2f           mov     r27, r26
    6122:       40 91 32 04     lds     r20, 0x0432
    6126:       50 91 33 04     lds     r21, 0x0433
    612a:       60 91 34 04     lds     r22, 0x0434
    612e:       70 91 35 04     lds     r23, 0x0435
    6132:       48 0f           add     r20, r24
    6134:       59 1f           adc     r21, r25
    6136:       6a 1f           adc     r22, r26
    6138:       7b 1f           adc     r23, r27
    613a:       40 93 32 04     sts     0x0432, r20
    613e:       50 93 33 04     sts     0x0433, r21
    6142:       60 93 34 04     sts     0x0434, r22
    6146:       70 93 35 04     sts     0x0435, r23
            if(Mess_IntegralRoll > Umschlag180Roll)
    614a:       80 91 42 01     lds     r24, 0x0142
    614e:       90 91 43 01     lds     r25, 0x0143
    6152:       a0 91 44 01     lds     r26, 0x0144
    6156:       b0 91 45 01     lds     r27, 0x0145
    615a:       84 17           cp      r24, r20
    615c:       95 07           cpc     r25, r21
    615e:       a6 07           cpc     r26, r22
    6160:       b7 07           cpc     r27, r23
    6162:       84 f4           brge    .+32            ; 0x6184 <Mittelwert+0x774>
            {
             Mess_IntegralRoll  = -(Umschlag180Roll - 25000L);
    6164:       48 ea           ldi     r20, 0xA8       ; 168
    6166:       51 e6           ldi     r21, 0x61       ; 97
    6168:       60 e0           ldi     r22, 0x00       ; 0
    616a:       70 e0           ldi     r23, 0x00       ; 0
    616c:       48 1b           sub     r20, r24
    616e:       59 0b           sbc     r21, r25
    6170:       6a 0b           sbc     r22, r26
    6172:       7b 0b           sbc     r23, r27
    6174:       40 93 32 04     sts     0x0432, r20
    6178:       50 93 33 04     sts     0x0433, r21
    617c:       60 93 34 04     sts     0x0434, r22
    6180:       70 93 35 04     sts     0x0435, r23
            }
            if(Mess_IntegralRoll <-Umschlag180Roll)
    6184:       88 24           eor     r8, r8
    6186:       99 24           eor     r9, r9
    6188:       54 01           movw    r10, r8
    618a:       88 1a           sub     r8, r24
    618c:       99 0a           sbc     r9, r25
    618e:       aa 0a           sbc     r10, r26
    6190:       bb 0a           sbc     r11, r27
    6192:       40 91 32 04     lds     r20, 0x0432
    6196:       50 91 33 04     lds     r21, 0x0433
    619a:       60 91 34 04     lds     r22, 0x0434
    619e:       70 91 35 04     lds     r23, 0x0435
    61a2:       48 15           cp      r20, r8
    61a4:       59 05           cpc     r21, r9
    61a6:       6a 05           cpc     r22, r10
    61a8:       7b 05           cpc     r23, r11
    61aa:       64 f4           brge    .+24            ; 0x61c4 <Mittelwert+0x7b4>
            {
             Mess_IntegralRoll =  (Umschlag180Roll - 25000L);
    61ac:       88 5a           subi    r24, 0xA8       ; 168
    61ae:       91 46           sbci    r25, 0x61       ; 97
    61b0:       a1 09           sbc     r26, r1
    61b2:       b1 09           sbc     r27, r1
    61b4:       80 93 32 04     sts     0x0432, r24
    61b8:       90 93 33 04     sts     0x0433, r25
    61bc:       a0 93 34 04     sts     0x0434, r26
    61c0:       b0 93 35 04     sts     0x0435, r27
            }
// Nick  ++++++++++++++++++++++++++++++++++++++++++++++++
            Mess_IntegralNick  += MesswertNick + TrimNick - LageKorrekturNick;
    61c4:       40 91 27 06     lds     r20, 0x0627
    61c8:       50 91 28 06     lds     r21, 0x0628
    61cc:       4e 0f           add     r20, r30
    61ce:       5f 1f           adc     r21, r31
    61d0:       20 91 ea 03     lds     r18, 0x03EA
    61d4:       30 91 eb 03     lds     r19, 0x03EB
    61d8:       42 1b           sub     r20, r18
    61da:       53 0b           sbc     r21, r19
    61dc:       66 27           eor     r22, r22
    61de:       57 fd           sbrc    r21, 7
    61e0:       60 95           com     r22
    61e2:       76 2f           mov     r23, r22
    61e4:       80 91 36 04     lds     r24, 0x0436
    61e8:       90 91 37 04     lds     r25, 0x0437
    61ec:       a0 91 38 04     lds     r26, 0x0438
    61f0:       b0 91 39 04     lds     r27, 0x0439
    61f4:       84 0f           add     r24, r20
    61f6:       95 1f           adc     r25, r21
    61f8:       a6 1f           adc     r26, r22
    61fa:       b7 1f           adc     r27, r23
    61fc:       80 93 36 04     sts     0x0436, r24
    6200:       90 93 37 04     sts     0x0437, r25
    6204:       a0 93 38 04     sts     0x0438, r26
    6208:       b0 93 39 04     sts     0x0439, r27
            if(Mess_IntegralNick > Umschlag180Nick)
    620c:       40 91 46 01     lds     r20, 0x0146
    6210:       50 91 47 01     lds     r21, 0x0147
    6214:       60 91 48 01     lds     r22, 0x0148
    6218:       70 91 49 01     lds     r23, 0x0149
    621c:       48 17           cp      r20, r24
    621e:       59 07           cpc     r21, r25
    6220:       6a 07           cpc     r22, r26
    6222:       7b 07           cpc     r23, r27
    6224:       84 f4           brge    .+32            ; 0x6246 <Mittelwert+0x836>
             {
              Mess_IntegralNick = -(Umschlag180Nick - 25000L);
    6226:       88 ea           ldi     r24, 0xA8       ; 168
    6228:       91 e6           ldi     r25, 0x61       ; 97
    622a:       a0 e0           ldi     r26, 0x00       ; 0
    622c:       b0 e0           ldi     r27, 0x00       ; 0
    622e:       84 1b           sub     r24, r20
    6230:       95 0b           sbc     r25, r21
    6232:       a6 0b           sbc     r26, r22
    6234:       b7 0b           sbc     r27, r23
    6236:       80 93 36 04     sts     0x0436, r24
    623a:       90 93 37 04     sts     0x0437, r25
    623e:       a0 93 38 04     sts     0x0438, r26
    6242:       b0 93 39 04     sts     0x0439, r27
             }
            if(Mess_IntegralNick <-Umschlag180Nick)
    6246:       88 24           eor     r8, r8
    6248:       99 24           eor     r9, r9
    624a:       54 01           movw    r10, r8
    624c:       84 1a           sub     r8, r20
    624e:       95 0a           sbc     r9, r21
    6250:       a6 0a           sbc     r10, r22
    6252:       b7 0a           sbc     r11, r23
    6254:       80 91 36 04     lds     r24, 0x0436
    6258:       90 91 37 04     lds     r25, 0x0437
    625c:       a0 91 38 04     lds     r26, 0x0438
    6260:       b0 91 39 04     lds     r27, 0x0439
    6264:       88 15           cp      r24, r8
    6266:       99 05           cpc     r25, r9
    6268:       aa 05           cpc     r26, r10
    626a:       bb 05           cpc     r27, r11
    626c:       74 f4           brge    .+28            ; 0x628a <Mittelwert+0x87a>
            {
             Mess_IntegralNick =  (Umschlag180Nick - 25000L);
    626e:       db 01           movw    r26, r22
    6270:       ca 01           movw    r24, r20
    6272:       88 5a           subi    r24, 0xA8       ; 168
    6274:       91 46           sbci    r25, 0x61       ; 97
    6276:       a1 09           sbc     r26, r1
    6278:       b1 09           sbc     r27, r1
    627a:       80 93 36 04     sts     0x0436, r24
    627e:       90 93 37 04     sts     0x0437, r25
    6282:       a0 93 38 04     sts     0x0438, r26
    6286:       b0 93 39 04     sts     0x0439, r27
            }

    Integral_Gier  = Mess_Integral_Gier;
    628a:       80 91 2e 04     lds     r24, 0x042E
    628e:       90 91 2f 04     lds     r25, 0x042F
    6292:       a0 91 30 04     lds     r26, 0x0430
    6296:       b0 91 31 04     lds     r27, 0x0431
    629a:       80 93 3a 04     sts     0x043A, r24
    629e:       90 93 3b 04     sts     0x043B, r25
    62a2:       a0 93 3c 04     sts     0x043C, r26
    62a6:       b0 93 3d 04     sts     0x043D, r27
    IntegralNick = Mess_IntegralNick;
    62aa:       80 91 36 04     lds     r24, 0x0436
    62ae:       90 91 37 04     lds     r25, 0x0437
    62b2:       a0 91 38 04     lds     r26, 0x0438
    62b6:       b0 91 39 04     lds     r27, 0x0439
    62ba:       80 93 42 04     sts     0x0442, r24
    62be:       90 93 43 04     sts     0x0443, r25
    62c2:       a0 93 44 04     sts     0x0444, r26
    62c6:       b0 93 45 04     sts     0x0445, r27
    IntegralRoll = Mess_IntegralRoll;
    62ca:       80 91 32 04     lds     r24, 0x0432
    62ce:       90 91 33 04     lds     r25, 0x0433
    62d2:       a0 91 34 04     lds     r26, 0x0434
    62d6:       b0 91 35 04     lds     r27, 0x0435
    62da:       80 93 3e 04     sts     0x043E, r24
    62de:       90 93 3f 04     sts     0x043F, r25
    62e2:       a0 93 40 04     sts     0x0440, r26
    62e6:       b0 93 41 04     sts     0x0441, r27


#define D_LIMIT 128

   MesswertNick = HiResNick / 8;
    62ea:       80 91 18 01     lds     r24, 0x0118
    62ee:       90 91 19 01     lds     r25, 0x0119
    62f2:       99 23           and     r25, r25
    62f4:       0c f4           brge    .+2             ; 0x62f8 <Mittelwert+0x8e8>
    62f6:       07 96           adiw    r24, 0x07       ; 7
    62f8:       95 95           asr     r25
    62fa:       87 95           ror     r24
    62fc:       95 95           asr     r25
    62fe:       87 95           ror     r24
    6300:       95 95           asr     r25
    6302:       87 95           ror     r24
    6304:       90 93 28 06     sts     0x0628, r25
    6308:       80 93 27 06     sts     0x0627, r24
   MesswertRoll = HiResRoll / 8;
    630c:       80 91 16 01     lds     r24, 0x0116
    6310:       90 91 17 01     lds     r25, 0x0117
    6314:       99 23           and     r25, r25
    6316:       0c f4           brge    .+2             ; 0x631a <Mittelwert+0x90a>
    6318:       07 96           adiw    r24, 0x07       ; 7
    631a:       95 95           asr     r25
    631c:       87 95           ror     r24
    631e:       95 95           asr     r25
    6320:       87 95           ror     r24
    6322:       95 95           asr     r25
    6324:       87 95           ror     r24
    6326:       90 93 1d 06     sts     0x061D, r25
    632a:       80 93 1c 06     sts     0x061C, r24

   if(AdWertNick < 15)   MesswertNick = -1000;  if(AdWertNick <  7)   MesswertNick = -2000;
    632e:       80 91 65 03     lds     r24, 0x0365
    6332:       90 91 66 03     lds     r25, 0x0366
    6336:       0f 97           sbiw    r24, 0x0f       ; 15
    6338:       34 f4           brge    .+12            ; 0x6346 <Mittelwert+0x936>
    633a:       88 e1           ldi     r24, 0x18       ; 24
    633c:       9c ef           ldi     r25, 0xFC       ; 252
    633e:       90 93 28 06     sts     0x0628, r25
    6342:       80 93 27 06     sts     0x0627, r24
    6346:       80 91 65 03     lds     r24, 0x0365
    634a:       90 91 66 03     lds     r25, 0x0366
    634e:       07 97           sbiw    r24, 0x07       ; 7
    6350:       34 f4           brge    .+12            ; 0x635e <Mittelwert+0x94e>
    6352:       80 e3           ldi     r24, 0x30       ; 48
    6354:       98 ef           ldi     r25, 0xF8       ; 248
    6356:       90 93 28 06     sts     0x0628, r25
    635a:       80 93 27 06     sts     0x0627, r24
//   if(PlatinenVersion == 10)  { if(AdWertNick > 1010) MesswertNick = +1000;  if(AdWertNick > 1017) MesswertNick = +2000; }
//   else  
   {  if(AdWertNick > 2000) MesswertNick = +1000;  if(AdWertNick > 2015) MesswertNick = +2000; }
    635e:       80 91 65 03     lds     r24, 0x0365
    6362:       90 91 66 03     lds     r25, 0x0366
    6366:       81 3d           cpi     r24, 0xD1       ; 209
    6368:       97 40           sbci    r25, 0x07       ; 7
    636a:       34 f0           brlt    .+12            ; 0x6378 <Mittelwert+0x968>
    636c:       88 ee           ldi     r24, 0xE8       ; 232
    636e:       93 e0           ldi     r25, 0x03       ; 3
    6370:       90 93 28 06     sts     0x0628, r25
    6374:       80 93 27 06     sts     0x0627, r24
    6378:       80 91 65 03     lds     r24, 0x0365
    637c:       90 91 66 03     lds     r25, 0x0366
    6380:       80 3e           cpi     r24, 0xE0       ; 224
    6382:       97 40           sbci    r25, 0x07       ; 7
    6384:       34 f0           brlt    .+12            ; 0x6392 <Mittelwert+0x982>
    6386:       80 ed           ldi     r24, 0xD0       ; 208
    6388:       97 e0           ldi     r25, 0x07       ; 7
    638a:       90 93 28 06     sts     0x0628, r25
    638e:       80 93 27 06     sts     0x0627, r24
   if(AdWertRoll < 15)   MesswertRoll = -1000;  if(AdWertRoll <  7)   MesswertRoll = -2000;
    6392:       80 91 63 03     lds     r24, 0x0363
    6396:       90 91 64 03     lds     r25, 0x0364
    639a:       0f 97           sbiw    r24, 0x0f       ; 15
    639c:       34 f4           brge    .+12            ; 0x63aa <Mittelwert+0x99a>
    639e:       88 e1           ldi     r24, 0x18       ; 24
    63a0:       9c ef           ldi     r25, 0xFC       ; 252
    63a2:       90 93 1d 06     sts     0x061D, r25
    63a6:       80 93 1c 06     sts     0x061C, r24
    63aa:       80 91 63 03     lds     r24, 0x0363
    63ae:       90 91 64 03     lds     r25, 0x0364
    63b2:       07 97           sbiw    r24, 0x07       ; 7
    63b4:       34 f4           brge    .+12            ; 0x63c2 <Mittelwert+0x9b2>
    63b6:       80 e3           ldi     r24, 0x30       ; 48
    63b8:       98 ef           ldi     r25, 0xF8       ; 248
    63ba:       90 93 1d 06     sts     0x061D, r25
    63be:       80 93 1c 06     sts     0x061C, r24
//   if(PlatinenVersion == 10) { if(AdWertRoll > 1010) MesswertRoll = +1000;  if(AdWertRoll > 1017) MesswertRoll = +2000; }
//   else 
   { if(AdWertRoll > 2000) MesswertRoll = +1000;  if(AdWertRoll > 2015) MesswertRoll = +2000;  }
    63c2:       80 91 63 03     lds     r24, 0x0363
    63c6:       90 91 64 03     lds     r25, 0x0364
    63ca:       81 3d           cpi     r24, 0xD1       ; 209
    63cc:       97 40           sbci    r25, 0x07       ; 7
    63ce:       34 f0           brlt    .+12            ; 0x63dc <Mittelwert+0x9cc>
    63d0:       88 ee           ldi     r24, 0xE8       ; 232
    63d2:       93 e0           ldi     r25, 0x03       ; 3
    63d4:       90 93 1d 06     sts     0x061D, r25
    63d8:       80 93 1c 06     sts     0x061C, r24
    63dc:       80 91 63 03     lds     r24, 0x0363
    63e0:       90 91 64 03     lds     r25, 0x0364
    63e4:       80 3e           cpi     r24, 0xE0       ; 224
    63e6:       97 40           sbci    r25, 0x07       ; 7
    63e8:       34 f0           brlt    .+12            ; 0x63f6 <Mittelwert+0x9e6>
    63ea:       80 ed           ldi     r24, 0xD0       ; 208
    63ec:       97 e0           ldi     r25, 0x07       ; 7
    63ee:       90 93 1d 06     sts     0x061D, r25
    63f2:       80 93 1c 06     sts     0x061C, r24

  if(Parameter_Gyro_D)
    63f6:       40 91 35 01     lds     r20, 0x0135
    63fa:       44 23           and     r20, r20
    63fc:       09 f4           brne    .+2             ; 0x6400 <Mittelwert+0x9f0>
    63fe:       ba c0           rjmp    .+372           ; 0x6574 <Mittelwert+0xb64>
  {
   d2Nick = HiResNick - oldNick;
    6400:       80 91 18 01     lds     r24, 0x0118
    6404:       90 91 19 01     lds     r25, 0x0119
    6408:       20 91 aa 03     lds     r18, 0x03AA
    640c:       30 91 ab 03     lds     r19, 0x03AB
    6410:       82 1b           sub     r24, r18
    6412:       93 0b           sbc     r25, r19
    6414:       90 93 a9 03     sts     0x03A9, r25
    6418:       80 93 a8 03     sts     0x03A8, r24
   oldNick = (oldNick + HiResNick)/2;
    641c:       60 91 18 01     lds     r22, 0x0118
    6420:       70 91 19 01     lds     r23, 0x0119
    6424:       26 0f           add     r18, r22
    6426:       37 1f           adc     r19, r23
    6428:       33 23           and     r19, r19
    642a:       14 f4           brge    .+4             ; 0x6430 <Mittelwert+0xa20>
    642c:       2f 5f           subi    r18, 0xFF       ; 255
    642e:       3f 4f           sbci    r19, 0xFF       ; 255
    6430:       35 95           asr     r19
    6432:       27 95           ror     r18
    6434:       30 93 ab 03     sts     0x03AB, r19
    6438:       20 93 aa 03     sts     0x03AA, r18
   if(d2Nick > D_LIMIT) d2Nick = D_LIMIT;
    643c:       81 38           cpi     r24, 0x81       ; 129
    643e:       91 05           cpc     r25, r1
    6440:       3c f0           brlt    .+14            ; 0x6450 <Mittelwert+0xa40>
    6442:       80 e8           ldi     r24, 0x80       ; 128
    6444:       90 e0           ldi     r25, 0x00       ; 0
    6446:       90 93 a9 03     sts     0x03A9, r25
    644a:       80 93 a8 03     sts     0x03A8, r24
    644e:       09 c0           rjmp    .+18            ; 0x6462 <Mittelwert+0xa52>
   else if(d2Nick < -D_LIMIT) d2Nick = -D_LIMIT;
    6450:       80 38           cpi     r24, 0x80       ; 128
    6452:       9f 4f           sbci    r25, 0xFF       ; 255
    6454:       34 f4           brge    .+12            ; 0x6462 <Mittelwert+0xa52>
    6456:       80 e8           ldi     r24, 0x80       ; 128
    6458:       9f ef           ldi     r25, 0xFF       ; 255
    645a:       90 93 a9 03     sts     0x03A9, r25
    645e:       80 93 a8 03     sts     0x03A8, r24

   d2Roll = HiResRoll - oldRoll;
    6462:       80 91 16 01     lds     r24, 0x0116
    6466:       90 91 17 01     lds     r25, 0x0117
    646a:       20 91 a6 03     lds     r18, 0x03A6
    646e:       30 91 a7 03     lds     r19, 0x03A7
    6472:       82 1b           sub     r24, r18
    6474:       93 0b           sbc     r25, r19
    6476:       90 93 a5 03     sts     0x03A5, r25
    647a:       80 93 a4 03     sts     0x03A4, r24
   oldRoll = (oldRoll + HiResRoll)/2;
    647e:       60 91 16 01     lds     r22, 0x0116
    6482:       70 91 17 01     lds     r23, 0x0117
    6486:       26 0f           add     r18, r22
    6488:       37 1f           adc     r19, r23
    648a:       33 23           and     r19, r19
    648c:       14 f4           brge    .+4             ; 0x6492 <Mittelwert+0xa82>
    648e:       2f 5f           subi    r18, 0xFF       ; 255
    6490:       3f 4f           sbci    r19, 0xFF       ; 255
    6492:       35 95           asr     r19
    6494:       27 95           ror     r18
    6496:       30 93 a7 03     sts     0x03A7, r19
    649a:       20 93 a6 03     sts     0x03A6, r18
   if(d2Roll > D_LIMIT) d2Roll = D_LIMIT;
    649e:       81 38           cpi     r24, 0x81       ; 129
    64a0:       91 05           cpc     r25, r1
    64a2:       3c f0           brlt    .+14            ; 0x64b2 <Mittelwert+0xaa2>
    64a4:       80 e8           ldi     r24, 0x80       ; 128
    64a6:       90 e0           ldi     r25, 0x00       ; 0
    64a8:       90 93 a5 03     sts     0x03A5, r25
    64ac:       80 93 a4 03     sts     0x03A4, r24
    64b0:       09 c0           rjmp    .+18            ; 0x64c4 <Mittelwert+0xab4>
   else if(d2Roll < -D_LIMIT) d2Roll = -D_LIMIT;
    64b2:       80 38           cpi     r24, 0x80       ; 128
    64b4:       9f 4f           sbci    r25, 0xFF       ; 255
    64b6:       34 f4           brge    .+12            ; 0x64c4 <Mittelwert+0xab4>
    64b8:       80 e8           ldi     r24, 0x80       ; 128
    64ba:       9f ef           ldi     r25, 0xFF       ; 255
    64bc:       90 93 a5 03     sts     0x03A5, r25
    64c0:       80 93 a4 03     sts     0x03A4, r24

   MesswertNick += (d2Nick * (signed int) Parameter_Gyro_D) / 16;
    64c4:       50 e0           ldi     r21, 0x00       ; 0
    64c6:       80 91 a8 03     lds     r24, 0x03A8
    64ca:       90 91 a9 03     lds     r25, 0x03A9
    64ce:       48 9f           mul     r20, r24
    64d0:       90 01           movw    r18, r0
    64d2:       49 9f           mul     r20, r25
    64d4:       30 0d           add     r19, r0
    64d6:       58 9f           mul     r21, r24
    64d8:       30 0d           add     r19, r0
    64da:       11 24           eor     r1, r1
    64dc:       c9 01           movw    r24, r18
    64de:       33 23           and     r19, r19
    64e0:       0c f4           brge    .+2             ; 0x64e4 <Mittelwert+0xad4>
    64e2:       0f 96           adiw    r24, 0x0f       ; 15
    64e4:       95 95           asr     r25
    64e6:       87 95           ror     r24
    64e8:       95 95           asr     r25
    64ea:       87 95           ror     r24
    64ec:       95 95           asr     r25
    64ee:       87 95           ror     r24
    64f0:       95 95           asr     r25
    64f2:       87 95           ror     r24
    64f4:       60 91 27 06     lds     r22, 0x0627
    64f8:       70 91 28 06     lds     r23, 0x0628
    64fc:       86 0f           add     r24, r22
    64fe:       97 1f           adc     r25, r23
    6500:       90 93 28 06     sts     0x0628, r25
    6504:       80 93 27 06     sts     0x0627, r24
   MesswertRoll += (d2Roll * (signed int) Parameter_Gyro_D) / 16;
    6508:       60 91 a4 03     lds     r22, 0x03A4
    650c:       70 91 a5 03     lds     r23, 0x03A5
    6510:       46 9f           mul     r20, r22
    6512:       c0 01           movw    r24, r0
    6514:       47 9f           mul     r20, r23
    6516:       90 0d           add     r25, r0
    6518:       56 9f           mul     r21, r22
    651a:       90 0d           add     r25, r0
    651c:       11 24           eor     r1, r1
    651e:       ac 01           movw    r20, r24
    6520:       99 23           and     r25, r25
    6522:       14 f4           brge    .+4             ; 0x6528 <Mittelwert+0xb18>
    6524:       41 5f           subi    r20, 0xF1       ; 241
    6526:       5f 4f           sbci    r21, 0xFF       ; 255
    6528:       55 95           asr     r21
    652a:       47 95           ror     r20
    652c:       55 95           asr     r21
    652e:       47 95           ror     r20
    6530:       55 95           asr     r21
    6532:       47 95           ror     r20
    6534:       55 95           asr     r21
    6536:       47 95           ror     r20
    6538:       60 91 1c 06     lds     r22, 0x061C
    653c:       70 91 1d 06     lds     r23, 0x061D
    6540:       46 0f           add     r20, r22
    6542:       57 1f           adc     r21, r23
    6544:       50 93 1d 06     sts     0x061D, r21
    6548:       40 93 1c 06     sts     0x061C, r20
   HiResNick += (d2Nick * (signed int) Parameter_Gyro_D);
    654c:       40 91 18 01     lds     r20, 0x0118
    6550:       50 91 19 01     lds     r21, 0x0119
    6554:       24 0f           add     r18, r20
    6556:       35 1f           adc     r19, r21
    6558:       30 93 19 01     sts     0x0119, r19
    655c:       20 93 18 01     sts     0x0118, r18
   HiResRoll += (d2Roll * (signed int) Parameter_Gyro_D);
    6560:       20 91 16 01     lds     r18, 0x0116
    6564:       30 91 17 01     lds     r19, 0x0117
    6568:       82 0f           add     r24, r18
    656a:       93 1f           adc     r25, r19
    656c:       90 93 17 01     sts     0x0117, r25
    6570:       80 93 16 01     sts     0x0116, r24
  }

 if(RohMesswertRoll > 0) TrimRoll  += ((long) abs(KopplungsteilNickRoll) * Parameter_CouplingYawCorrection) / 64L;
    6574:       40 91 2a 06     lds     r20, 0x062A
    6578:       50 91 2b 06     lds     r21, 0x062B
    657c:       14 16           cp      r1, r20
    657e:       15 06           cpc     r1, r21
    6580:       3c f5           brge    .+78            ; 0x65d0 <Mittelwert+0xbc0>
    6582:       a0 91 15 06     lds     r26, 0x0615
    6586:       b0 91 16 06     lds     r27, 0x0616
    658a:       bb 23           and     r27, r27
    658c:       1c f4           brge    .+6             ; 0x6594 <Mittelwert+0xb84>
    658e:       b1 95           neg     r27
    6590:       a1 95           neg     r26
    6592:       b1 09           sbc     r27, r1
    6594:       20 91 28 01     lds     r18, 0x0128
    6598:       30 e0           ldi     r19, 0x00       ; 0
    659a:       0e 94 c2 b1     call    0x16384 ; 0x16384 <__usmulhisi3>
    659e:       8b 01           movw    r16, r22
    65a0:       9c 01           movw    r18, r24
    65a2:       99 23           and     r25, r25
    65a4:       24 f4           brge    .+8             ; 0x65ae <Mittelwert+0xb9e>
    65a6:       01 5c           subi    r16, 0xC1       ; 193
    65a8:       1f 4f           sbci    r17, 0xFF       ; 255
    65aa:       2f 4f           sbci    r18, 0xFF       ; 255
    65ac:       3f 4f           sbci    r19, 0xFF       ; 255
    65ae:       d9 01           movw    r26, r18
    65b0:       c8 01           movw    r24, r16
    65b2:       68 94           set
    65b4:       15 f8           bld     r1, 5
    65b6:       b5 95           asr     r27
    65b8:       a7 95           ror     r26
    65ba:       97 95           ror     r25
    65bc:       87 95           ror     r24
    65be:       16 94           lsr     r1
    65c0:       d1 f7           brne    .-12            ; 0x65b6 <Mittelwert+0xba6>
    65c2:       82 0d           add     r24, r2
    65c4:       93 1d           adc     r25, r3
    65c6:       90 93 26 06     sts     0x0626, r25
    65ca:       80 93 25 06     sts     0x0625, r24
    65ce:       27 c0           rjmp    .+78            ; 0x661e <Mittelwert+0xc0e>
 else                    TrimRoll -= ((long) abs(KopplungsteilNickRoll) * Parameter_CouplingYawCorrection) / 64L;
    65d0:       a0 91 15 06     lds     r26, 0x0615
    65d4:       b0 91 16 06     lds     r27, 0x0616
    65d8:       bb 23           and     r27, r27
    65da:       1c f4           brge    .+6             ; 0x65e2 <Mittelwert+0xbd2>
    65dc:       b1 95           neg     r27
    65de:       a1 95           neg     r26
    65e0:       b1 09           sbc     r27, r1
    65e2:       20 91 28 01     lds     r18, 0x0128
    65e6:       30 e0           ldi     r19, 0x00       ; 0
    65e8:       0e 94 c2 b1     call    0x16384 ; 0x16384 <__usmulhisi3>
    65ec:       8b 01           movw    r16, r22
    65ee:       9c 01           movw    r18, r24
    65f0:       99 23           and     r25, r25
    65f2:       24 f4           brge    .+8             ; 0x65fc <Mittelwert+0xbec>
    65f4:       01 5c           subi    r16, 0xC1       ; 193
    65f6:       1f 4f           sbci    r17, 0xFF       ; 255
    65f8:       2f 4f           sbci    r18, 0xFF       ; 255
    65fa:       3f 4f           sbci    r19, 0xFF       ; 255
    65fc:       d9 01           movw    r26, r18
    65fe:       c8 01           movw    r24, r16
    6600:       68 94           set
    6602:       15 f8           bld     r1, 5
    6604:       b5 95           asr     r27
    6606:       a7 95           ror     r26
    6608:       97 95           ror     r25
    660a:       87 95           ror     r24
    660c:       16 94           lsr     r1
    660e:       d1 f7           brne    .-12            ; 0x6604 <Mittelwert+0xbf4>
    6610:       71 01           movw    r14, r2
    6612:       e8 1a           sub     r14, r24
    6614:       f9 0a           sbc     r15, r25
    6616:       f0 92 26 06     sts     0x0626, r15
    661a:       e0 92 25 06     sts     0x0625, r14
 if(RohMesswertNick > 0) TrimNick += ((long) abs(KopplungsteilRollNick) * Parameter_CouplingYawCorrection) / 64L;
    661e:       e0 90 2f 06     lds     r14, 0x062F
    6622:       f0 90 30 06     lds     r15, 0x0630
    6626:       1e 14           cp      r1, r14
    6628:       1f 04           cpc     r1, r15
    662a:       3c f5           brge    .+78            ; 0x667a <Mittelwert+0xc6a>
    662c:       a0 91 17 06     lds     r26, 0x0617
    6630:       b0 91 18 06     lds     r27, 0x0618
    6634:       bb 23           and     r27, r27
    6636:       1c f4           brge    .+6             ; 0x663e <Mittelwert+0xc2e>
    6638:       b1 95           neg     r27
    663a:       a1 95           neg     r26
    663c:       b1 09           sbc     r27, r1
    663e:       20 91 28 01     lds     r18, 0x0128
    6642:       30 e0           ldi     r19, 0x00       ; 0
    6644:       0e 94 c2 b1     call    0x16384 ; 0x16384 <__usmulhisi3>
    6648:       8b 01           movw    r16, r22
    664a:       9c 01           movw    r18, r24
    664c:       99 23           and     r25, r25
    664e:       24 f4           brge    .+8             ; 0x6658 <Mittelwert+0xc48>
    6650:       01 5c           subi    r16, 0xC1       ; 193
    6652:       1f 4f           sbci    r17, 0xFF       ; 255
    6654:       2f 4f           sbci    r18, 0xFF       ; 255
    6656:       3f 4f           sbci    r19, 0xFF       ; 255
    6658:       d9 01           movw    r26, r18
    665a:       c8 01           movw    r24, r16
    665c:       68 94           set
    665e:       15 f8           bld     r1, 5
    6660:       b5 95           asr     r27
    6662:       a7 95           ror     r26
    6664:       97 95           ror     r25
    6666:       87 95           ror     r24
    6668:       16 94           lsr     r1
    666a:       d1 f7           brne    .-12            ; 0x6660 <Mittelwert+0xc50>
    666c:       8e 0f           add     r24, r30
    666e:       9f 1f           adc     r25, r31
    6670:       90 93 1f 06     sts     0x061F, r25
    6674:       80 93 1e 06     sts     0x061E, r24
    6678:       26 c0           rjmp    .+76            ; 0x66c6 <Mittelwert+0xcb6>
 else                    TrimNick -= ((long) abs(KopplungsteilRollNick) * Parameter_CouplingYawCorrection) / 64L;
    667a:       a0 91 17 06     lds     r26, 0x0617
    667e:       b0 91 18 06     lds     r27, 0x0618
    6682:       bb 23           and     r27, r27
    6684:       1c f4           brge    .+6             ; 0x668c <Mittelwert+0xc7c>
    6686:       b1 95           neg     r27
    6688:       a1 95           neg     r26
    668a:       b1 09           sbc     r27, r1
    668c:       20 91 28 01     lds     r18, 0x0128
    6690:       30 e0           ldi     r19, 0x00       ; 0
    6692:       0e 94 c2 b1     call    0x16384 ; 0x16384 <__usmulhisi3>
    6696:       8b 01           movw    r16, r22
    6698:       9c 01           movw    r18, r24
    669a:       99 23           and     r25, r25
    669c:       24 f4           brge    .+8             ; 0x66a6 <Mittelwert+0xc96>
    669e:       01 5c           subi    r16, 0xC1       ; 193
    66a0:       1f 4f           sbci    r17, 0xFF       ; 255
    66a2:       2f 4f           sbci    r18, 0xFF       ; 255
    66a4:       3f 4f           sbci    r19, 0xFF       ; 255
    66a6:       d9 01           movw    r26, r18
    66a8:       c8 01           movw    r24, r16
    66aa:       68 94           set
    66ac:       15 f8           bld     r1, 5
    66ae:       b5 95           asr     r27
    66b0:       a7 95           ror     r26
    66b2:       97 95           ror     r25
    66b4:       87 95           ror     r24
    66b6:       16 94           lsr     r1
    66b8:       d1 f7           brne    .-12            ; 0x66ae <Mittelwert+0xc9e>
    66ba:       e8 1b           sub     r30, r24
    66bc:       f9 0b           sbc     r31, r25
    66be:       f0 93 1f 06     sts     0x061F, r31
    66c2:       e0 93 1e 06     sts     0x061E, r30

  if(Parameter_GlobalConfig & CFG_DREHRATEN_BEGRENZER && !Looping_Nick && !Looping_Roll)
    66c6:       80 91 5c 06     lds     r24, 0x065C
    66ca:       88 23           and     r24, r24
    66cc:       0c f0           brlt    .+2             ; 0x66d0 <Mittelwert+0xcc0>
    66ce:       46 c0           rjmp    .+140           ; 0x675c <Mittelwert+0xd4c>
    66d0:       80 91 e7 03     lds     r24, 0x03E7
    66d4:       81 11           cpse    r24, r1
    66d6:       42 c0           rjmp    .+132           ; 0x675c <Mittelwert+0xd4c>
    66d8:       80 91 e6 03     lds     r24, 0x03E6
    66dc:       81 11           cpse    r24, r1
    66de:       3e c0           rjmp    .+124           ; 0x675c <Mittelwert+0xd4c>
  {
    if(RohMesswertNick > 256)       MesswertNick += 1 * (RohMesswertNick - 256);
    66e0:       b1 e0           ldi     r27, 0x01       ; 1
    66e2:       eb 16           cp      r14, r27
    66e4:       fb 06           cpc     r15, r27
    66e6:       64 f0           brlt    .+24            ; 0x6700 <Mittelwert+0xcf0>
    66e8:       fa 94           dec     r15
    66ea:       80 91 27 06     lds     r24, 0x0627
    66ee:       90 91 28 06     lds     r25, 0x0628
    66f2:       e8 0e           add     r14, r24
    66f4:       f9 1e           adc     r15, r25
    66f6:       f0 92 28 06     sts     0x0628, r15
    66fa:       e0 92 27 06     sts     0x0627, r14
    66fe:       0f c0           rjmp    .+30            ; 0x671e <Mittelwert+0xd0e>
    else if(RohMesswertNick < -256) MesswertNick += 1 * (RohMesswertNick + 256);
    6700:       e1 14           cp      r14, r1
    6702:       ff ef           ldi     r31, 0xFF       ; 255
    6704:       ff 06           cpc     r15, r31
    6706:       5c f4           brge    .+22            ; 0x671e <Mittelwert+0xd0e>
    6708:       f3 94           inc     r15
    670a:       80 91 27 06     lds     r24, 0x0627
    670e:       90 91 28 06     lds     r25, 0x0628
    6712:       e8 0e           add     r14, r24
    6714:       f9 1e           adc     r15, r25
    6716:       f0 92 28 06     sts     0x0628, r15
    671a:       e0 92 27 06     sts     0x0627, r14
    if(RohMesswertRoll > 256)       MesswertRoll += 1 * (RohMesswertRoll - 256);
    671e:       41 30           cpi     r20, 0x01       ; 1
    6720:       11 e0           ldi     r17, 0x01       ; 1
    6722:       51 07           cpc     r21, r17
    6724:       64 f0           brlt    .+24            ; 0x673e <Mittelwert+0xd2e>
    6726:       5a 95           dec     r21
    6728:       80 91 1c 06     lds     r24, 0x061C
    672c:       90 91 1d 06     lds     r25, 0x061D
    6730:       48 0f           add     r20, r24
    6732:       59 1f           adc     r21, r25
    6734:       50 93 1d 06     sts     0x061D, r21
    6738:       40 93 1c 06     sts     0x061C, r20
    673c:       0f c0           rjmp    .+30            ; 0x675c <Mittelwert+0xd4c>
    else if(RohMesswertRoll < -256) MesswertRoll += 1 * (RohMesswertRoll + 256);
    673e:       41 15           cp      r20, r1
    6740:       2f ef           ldi     r18, 0xFF       ; 255
    6742:       52 07           cpc     r21, r18
    6744:       5c f4           brge    .+22            ; 0x675c <Mittelwert+0xd4c>
    6746:       53 95           inc     r21
    6748:       80 91 1c 06     lds     r24, 0x061C
    674c:       90 91 1d 06     lds     r25, 0x061D
    6750:       48 0f           add     r20, r24
    6752:       59 1f           adc     r21, r25
    6754:       50 93 1d 06     sts     0x061D, r21
    6758:       40 93 1c 06     sts     0x061C, r20
  }
}
    675c:       60 96           adiw    r28, 0x10       ; 16
    675e:       0f b6           in      r0, 0x3f        ; 63
    6760:       f8 94           cli
    6762:       de bf           out     0x3e, r29       ; 62
    6764:       0f be           out     0x3f, r0        ; 63
    6766:       cd bf           out     0x3d, r28       ; 61
    6768:       df 91           pop     r29
    676a:       cf 91           pop     r28
    676c:       1f 91           pop     r17
    676e:       0f 91           pop     r16
    6770:       ff 90           pop     r15
    6772:       ef 90           pop     r14
    6774:       df 90           pop     r13
    6776:       cf 90           pop     r12
    6778:       bf 90           pop     r11
    677a:       af 90           pop     r10
    677c:       9f 90           pop     r9
    677e:       8f 90           pop     r8
    6780:       7f 90           pop     r7
    6782:       6f 90           pop     r6
    6784:       5f 90           pop     r5
    6786:       4f 90           pop     r4
    6788:       3f 90           pop     r3
    678a:       2f 90           pop     r2
    678c:       08 95           ret

0000678e <SendMotorData>:

//############################################################################
// Senden der Motorwerte per I2C-Bus
void SendMotorData(void)
//############################################################################
{
    678e:       cf 93           push    r28
    6790:       df 93           push    r29
 unsigned char i;
    if(!MotorenEin)
    6792:       80 91 03 04     lds     r24, 0x0403
    6796:       81 11           cpse    r24, r1
    6798:       28 c0           rjmp    .+80            ; 0x67ea <SendMotorData+0x5c>
        {
         FC_StatusFlags &= ~(FC_STATUS_MOTOR_RUN | FC_STATUS_FLY);
    679a:       80 91 cb 03     lds     r24, 0x03CB
    679e:       8c 7f           andi    r24, 0xFC       ; 252
    67a0:       80 93 cb 03     sts     0x03CB, r24
                 FC_StatusFlags2 &= ~FC_STATUS2_WAIT_FOR_TAKEOFF;
    67a4:       80 91 ca 03     lds     r24, 0x03CA
    67a8:       8f 7d           andi    r24, 0xDF       ; 223
    67aa:       80 93 ca 03     sts     0x03CA, r24
    67ae:       a7 e6           ldi     r26, 0x67       ; 103
    67b0:       ba e0           ldi     r27, 0x0A       ; 10
    67b2:       e9 e9           ldi     r30, 0x99       ; 153
    67b4:       f9 e0           ldi     r31, 0x09       ; 9
    67b6:       83 e7           ldi     r24, 0x73       ; 115
    67b8:       9a e0           ldi     r25, 0x0A       ; 10
                 for(i=0;i<MAX_MOTORS;i++)
                  {
                   if(!PC_MotortestActive)  MotorTest[i] = 0;
    67ba:       20 91 f5 04     lds     r18, 0x04F5
    67be:       21 11           cpse    r18, r1
    67c0:       01 c0           rjmp    .+2             ; 0x67c4 <SendMotorData+0x36>
    67c2:       1c 92           st      X, r1
                   Motor[i].SetPoint = MotorTest[i];
    67c4:       2d 91           ld      r18, X+
    67c6:       ef 01           movw    r28, r30
    67c8:       21 97           sbiw    r28, 0x01       ; 1
    67ca:       28 83           st      Y, r18
                   Motor[i].SetPointLowerBits = 0;
    67cc:       10 82           st      Z, r1
    67ce:       3f 96           adiw    r30, 0x0f       ; 15
 unsigned char i;
    if(!MotorenEin)
        {
         FC_StatusFlags &= ~(FC_STATUS_MOTOR_RUN | FC_STATUS_FLY);
                 FC_StatusFlags2 &= ~FC_STATUS2_WAIT_FOR_TAKEOFF;
                 for(i=0;i<MAX_MOTORS;i++)
    67d0:       a8 17           cp      r26, r24
    67d2:       b9 07           cpc     r27, r25
    67d4:       91 f7           brne    .-28            ; 0x67ba <SendMotorData+0x2c>
/*
 Motor[i].SetPoint = MotorTest[i] / 4;            // testing the high resolution
 Motor[i].SetPointLowerBits = MotorTest[i] % 4;
*/
                  }
          if(PC_MotortestActive) PC_MotortestActive--;
    67d6:       80 91 f5 04     lds     r24, 0x04F5
    67da:       88 23           and     r24, r24
    67dc:       59 f0           breq    .+22            ; 0x67f4 <SendMotorData+0x66>
    67de:       80 91 f5 04     lds     r24, 0x04F5
    67e2:       81 50           subi    r24, 0x01       ; 1
    67e4:       80 93 f5 04     sts     0x04F5, r24
    67e8:       05 c0           rjmp    .+10            ; 0x67f4 <SendMotorData+0x66>
        }
        else FC_StatusFlags |= FC_STATUS_MOTOR_RUN;
    67ea:       80 91 cb 03     lds     r24, 0x03CB
    67ee:       81 60           ori     r24, 0x01       ; 1
    67f0:       80 93 cb 03     sts     0x03CB, r24
          return;
         } 
 }
#endif

    if(I2C_TransferActive)
    67f4:       80 91 e0 04     lds     r24, 0x04E0
    67f8:       88 23           and     r24, r24
    67fa:       19 f0           breq    .+6             ; 0x6802 <SendMotorData+0x74>
         {
          I2C_TransferActive = 0; // enable for the next time
    67fc:       10 92 e0 04     sts     0x04E0, r1
    6800:       0a c0           rjmp    .+20            ; 0x6816 <SendMotorData+0x88>
         }
        else
    {
//     motor_write = 0;
     I2C_Start(TWI_STATE_MOTOR_TX); //Start I2C Interrupt Mode
    6802:       10 92 e3 04     sts     0x04E3, r1
    6806:       80 91 de 04     lds     r24, 0x04DE
    680a:       8e 7f           andi    r24, 0xFE       ; 254
    680c:       80 93 de 04     sts     0x04DE, r24
    6810:       85 ea           ldi     r24, 0xA5       ; 165
    6812:       80 93 bc 00     sts     0x00BC, r24
        }
}
    6816:       df 91           pop     r29
    6818:       cf 91           pop     r28
    681a:       08 95           ret

0000681c <GetChannelValue>:

unsigned char GetChannelValue(unsigned char ch) // gives the unsigned value of the channel
{
 int tmp2;
 if(ch == 0) return(0);
    681c:       88 23           and     r24, r24
    681e:       a9 f0           breq    .+42            ; 0x684a <GetChannelValue+0x2e>
 tmp2 = PPM_in[ch] + 127;
    6820:       e8 2f           mov     r30, r24
    6822:       f0 e0           ldi     r31, 0x00       ; 0
    6824:       ee 0f           add     r30, r30
    6826:       ff 1f           adc     r31, r31
    6828:       ef 5c           subi    r30, 0xCF       ; 207
    682a:       f7 4f           sbci    r31, 0xF7       ; 247
    682c:       80 81           ld      r24, Z
    682e:       91 81           ldd     r25, Z+1        ; 0x01
    6830:       81 58           subi    r24, 0x81       ; 129
    6832:       9f 4f           sbci    r25, 0xFF       ; 255
    6834:       99 23           and     r25, r25
    6836:       14 f4           brge    .+4             ; 0x683c <GetChannelValue+0x20>
    6838:       80 e0           ldi     r24, 0x00       ; 0
    683a:       90 e0           ldi     r25, 0x00       ; 0
    683c:       8f 3f           cpi     r24, 0xFF       ; 255
    683e:       91 05           cpc     r25, r1
    6840:       29 f0           breq    .+10            ; 0x684c <GetChannelValue+0x30>
    6842:       24 f0           brlt    .+8             ; 0x684c <GetChannelValue+0x30>
    6844:       8f ef           ldi     r24, 0xFF       ; 255
    6846:       90 e0           ldi     r25, 0x00       ; 0
 if(tmp2 > 255) tmp2 = 255; else if(tmp2 < 0) tmp2 = 0;
 return(tmp2);   
    6848:       08 95           ret
}

unsigned char GetChannelValue(unsigned char ch) // gives the unsigned value of the channel
{
 int tmp2;
 if(ch == 0) return(0);
    684a:       80 e0           ldi     r24, 0x00       ; 0
 tmp2 = PPM_in[ch] + 127;
 if(tmp2 > 255) tmp2 = 255; else if(tmp2 < 0) tmp2 = 0;
 return(tmp2);   
}
    684c:       08 95           ret

0000684e <ParameterZuordnung>:

//############################################################################
// Trägt ggf. das Poti als Parameter ein
void ParameterZuordnung(void)
//############################################################################
{
    684e:       df 92           push    r13
    6850:       ef 92           push    r14
    6852:       ff 92           push    r15
    6854:       0f 93           push    r16
    6856:       1f 93           push    r17
    6858:       cf 93           push    r28
    685a:       df 93           push    r29
    685c:       a3 e4           ldi     r26, 0x43       ; 67
    685e:       b5 e0           ldi     r27, 0x05       ; 5
    6860:       e5 e0           ldi     r30, 0x05       ; 5
    6862:       f4 e0           ldi     r31, 0x04       ; 4
    6864:       4b e4           ldi     r20, 0x4B       ; 75
    6866:       55 e0           ldi     r21, 0x05       ; 5
    6868:       e1 2c           mov     r14, r1
    686a:       f1 2c           mov     r15, r1
    686c:       0f ef           ldi     r16, 0xFF       ; 255
    686e:       10 e0           ldi     r17, 0x00       ; 0
 unsigned char tmp,i;
  for(i=0;i<8;i++)
    {
     int tmp2;
         tmp = EE_Parameter.Kanalbelegung[K_POTI1 + i];
    6870:       2d 91           ld      r18, X+
         tmp2 = PPM_in[tmp] + 127;
    6872:       c2 2f           mov     r28, r18
    6874:       d0 e0           ldi     r29, 0x00       ; 0
    6876:       cc 0f           add     r28, r28
    6878:       dd 1f           adc     r29, r29
    687a:       cf 5c           subi    r28, 0xCF       ; 207
    687c:       d7 4f           sbci    r29, 0xF7       ; 247
    687e:       88 81           ld      r24, Y
    6880:       99 81           ldd     r25, Y+1        ; 0x01
    6882:       81 58           subi    r24, 0x81       ; 129
    6884:       9f 4f           sbci    r25, 0xFF       ; 255
    6886:       99 23           and     r25, r25
    6888:       14 f4           brge    .+4             ; 0x688e <ParameterZuordnung+0x40>
    688a:       8e 2d           mov     r24, r14
    688c:       9f 2d           mov     r25, r15
    688e:       8f 3f           cpi     r24, 0xFF       ; 255
    6890:       91 05           cpc     r25, r1
    6892:       19 f0           breq    .+6             ; 0x689a <ParameterZuordnung+0x4c>
    6894:       14 f0           brlt    .+4             ; 0x689a <ParameterZuordnung+0x4c>
    6896:       80 2f           mov     r24, r16
    6898:       91 2f           mov     r25, r17
         if(tmp2 > 255) tmp2 = 255; else if(tmp2 < 0) tmp2 = 0;

         if(tmp == 25) Poti[i] = tmp2; // 25 = WaypointEvent channel -> no filter
    689a:       29 31           cpi     r18, 0x19       ; 25
    689c:       11 f4           brne    .+4             ; 0x68a2 <ParameterZuordnung+0x54>
    689e:       80 83           st      Z, r24
    68a0:       1e c0           rjmp    .+60            ; 0x68de <ParameterZuordnung+0x90>
    68a2:       ef 01           movw    r28, r30
         else 
     if(tmp2 != Poti[i])
    68a4:       d0 80           ld      r13, Z
    68a6:       2d 2d           mov     r18, r13
    68a8:       30 e0           ldi     r19, 0x00       ; 0
    68aa:       28 17           cp      r18, r24
    68ac:       39 07           cpc     r19, r25
    68ae:       b9 f0           breq    .+46            ; 0x68de <ParameterZuordnung+0x90>
          {
           Poti[i] += (tmp2 - Poti[i]) / 4;
    68b0:       bc 01           movw    r22, r24
    68b2:       62 1b           sub     r22, r18
    68b4:       73 0b           sbc     r23, r19
    68b6:       9b 01           movw    r18, r22
    68b8:       12 f4           brpl    .+4             ; 0x68be <ParameterZuordnung+0x70>
    68ba:       2d 5f           subi    r18, 0xFD       ; 253
    68bc:       3f 4f           sbci    r19, 0xFF       ; 255
    68be:       35 95           asr     r19
    68c0:       27 95           ror     r18
    68c2:       35 95           asr     r19
    68c4:       27 95           ror     r18
    68c6:       2d 0d           add     r18, r13
    68c8:       28 83           st      Y, r18
       if(Poti[i] > tmp2) Poti[i]--;
    68ca:       62 2f           mov     r22, r18
    68cc:       70 e0           ldi     r23, 0x00       ; 0
    68ce:       86 17           cp      r24, r22
    68d0:       97 07           cpc     r25, r23
    68d2:       1c f4           brge    .+6             ; 0x68da <ParameterZuordnung+0x8c>
    68d4:       21 50           subi    r18, 0x01       ; 1
    68d6:       28 83           st      Y, r18
    68d8:       02 c0           rjmp    .+4             ; 0x68de <ParameterZuordnung+0x90>
           else Poti[i]++;
    68da:       2f 5f           subi    r18, 0xFF       ; 255
    68dc:       28 83           st      Y, r18
    68de:       31 96           adiw    r30, 0x01       ; 1
// Trägt ggf. das Poti als Parameter ein
void ParameterZuordnung(void)
//############################################################################
{
 unsigned char tmp,i;
  for(i=0;i<8;i++)
    68e0:       a4 17           cp      r26, r20
    68e2:       b5 07           cpc     r27, r21
    68e4:       29 f6           brne    .-118           ; 0x6870 <ParameterZuordnung+0x22>
           Poti[i] += (tmp2 - Poti[i]) / 4;
       if(Poti[i] > tmp2) Poti[i]--;
           else Poti[i]++;
          }
        }
 CHK_POTI_MM(Parameter_Luftdruck_D,EE_Parameter.Luftdruck_D,0,100);
    68e6:       80 91 4d 05     lds     r24, 0x054D
    68ea:       88 3f           cpi     r24, 0xF8       ; 248
    68ec:       18 f4           brcc    .+6             ; 0x68f4 <ParameterZuordnung+0xa6>
    68ee:       80 93 3a 01     sts     0x013A, r24
    68f2:       09 c0           rjmp    .+18            ; 0x6906 <ParameterZuordnung+0xb8>
    68f4:       ef ef           ldi     r30, 0xFF       ; 255
    68f6:       f0 e0           ldi     r31, 0x00       ; 0
    68f8:       e8 1b           sub     r30, r24
    68fa:       f1 09           sbc     r31, r1
    68fc:       eb 5f           subi    r30, 0xFB       ; 251
    68fe:       fb 4f           sbci    r31, 0xFB       ; 251
    6900:       80 81           ld      r24, Z
    6902:       80 93 3a 01     sts     0x013A, r24
    6906:       80 91 3a 01     lds     r24, 0x013A
    690a:       84 36           cpi     r24, 0x64       ; 100
    690c:       18 f0           brcs    .+6             ; 0x6914 <ParameterZuordnung+0xc6>
    690e:       84 e6           ldi     r24, 0x64       ; 100
    6910:       80 93 3a 01     sts     0x013A, r24
 CHK_POTI_MM(Parameter_Hoehe_P,EE_Parameter.Hoehe_P,0,100);
    6914:       80 91 4f 05     lds     r24, 0x054F
    6918:       88 3f           cpi     r24, 0xF8       ; 248
    691a:       18 f4           brcc    .+6             ; 0x6922 <ParameterZuordnung+0xd4>
    691c:       80 93 39 01     sts     0x0139, r24
    6920:       09 c0           rjmp    .+18            ; 0x6934 <ParameterZuordnung+0xe6>
    6922:       ef ef           ldi     r30, 0xFF       ; 255
    6924:       f0 e0           ldi     r31, 0x00       ; 0
    6926:       e8 1b           sub     r30, r24
    6928:       f1 09           sbc     r31, r1
    692a:       eb 5f           subi    r30, 0xFB       ; 251
    692c:       fb 4f           sbci    r31, 0xFB       ; 251
    692e:       80 81           ld      r24, Z
    6930:       80 93 39 01     sts     0x0139, r24
    6934:       80 91 39 01     lds     r24, 0x0139
    6938:       84 36           cpi     r24, 0x64       ; 100
    693a:       18 f0           brcs    .+6             ; 0x6942 <ParameterZuordnung+0xf4>
    693c:       84 e6           ldi     r24, 0x64       ; 100
    693e:       80 93 39 01     sts     0x0139, r24
 CHK_POTI_MM(Parameter_Gyro_P,EE_Parameter.Gyro_P,10,255);
    6942:       80 91 5c 05     lds     r24, 0x055C
    6946:       88 3f           cpi     r24, 0xF8       ; 248
    6948:       18 f4           brcc    .+6             ; 0x6950 <ParameterZuordnung+0x102>
    694a:       80 93 34 01     sts     0x0134, r24
    694e:       09 c0           rjmp    .+18            ; 0x6962 <ParameterZuordnung+0x114>
    6950:       ef ef           ldi     r30, 0xFF       ; 255
    6952:       f0 e0           ldi     r31, 0x00       ; 0
    6954:       e8 1b           sub     r30, r24
    6956:       f1 09           sbc     r31, r1
    6958:       eb 5f           subi    r30, 0xFB       ; 251
    695a:       fb 4f           sbci    r31, 0xFB       ; 251
    695c:       80 81           ld      r24, Z
    695e:       80 93 34 01     sts     0x0134, r24
    6962:       80 91 34 01     lds     r24, 0x0134
    6966:       8b 30           cpi     r24, 0x0B       ; 11
    6968:       18 f4           brcc    .+6             ; 0x6970 <ParameterZuordnung+0x122>
    696a:       8a e0           ldi     r24, 0x0A       ; 10
    696c:       80 93 34 01     sts     0x0134, r24
 CHK_POTI_MM(Parameter_J16Timing,EE_Parameter.J16Timing,5,255);
    6970:       80 91 89 05     lds     r24, 0x0589
    6974:       88 3f           cpi     r24, 0xF8       ; 248
    6976:       18 f4           brcc    .+6             ; 0x697e <ParameterZuordnung+0x130>
    6978:       80 93 3b 06     sts     0x063B, r24
    697c:       09 c0           rjmp    .+18            ; 0x6990 <ParameterZuordnung+0x142>
    697e:       ef ef           ldi     r30, 0xFF       ; 255
    6980:       f0 e0           ldi     r31, 0x00       ; 0
    6982:       e8 1b           sub     r30, r24
    6984:       f1 09           sbc     r31, r1
    6986:       eb 5f           subi    r30, 0xFB       ; 251
    6988:       fb 4f           sbci    r31, 0xFB       ; 251
    698a:       80 81           ld      r24, Z
    698c:       80 93 3b 06     sts     0x063B, r24
    6990:       80 91 3b 06     lds     r24, 0x063B
    6994:       86 30           cpi     r24, 0x06       ; 6
    6996:       18 f4           brcc    .+6             ; 0x699e <ParameterZuordnung+0x150>
    6998:       85 e0           ldi     r24, 0x05       ; 5
    699a:       80 93 3b 06     sts     0x063B, r24
 CHK_POTI_MM(Parameter_J17Timing,EE_Parameter.J17Timing,5,255);
    699e:       80 91 8b 05     lds     r24, 0x058B
    69a2:       88 3f           cpi     r24, 0xF8       ; 248
    69a4:       18 f4           brcc    .+6             ; 0x69ac <ParameterZuordnung+0x15e>
    69a6:       80 93 63 06     sts     0x0663, r24
    69aa:       09 c0           rjmp    .+18            ; 0x69be <ParameterZuordnung+0x170>
    69ac:       ef ef           ldi     r30, 0xFF       ; 255
    69ae:       f0 e0           ldi     r31, 0x00       ; 0
    69b0:       e8 1b           sub     r30, r24
    69b2:       f1 09           sbc     r31, r1
    69b4:       eb 5f           subi    r30, 0xFB       ; 251
    69b6:       fb 4f           sbci    r31, 0xFB       ; 251
    69b8:       80 81           ld      r24, Z
    69ba:       80 93 63 06     sts     0x0663, r24
    69be:       80 91 63 06     lds     r24, 0x0663
    69c2:       86 30           cpi     r24, 0x06       ; 6
    69c4:       18 f4           brcc    .+6             ; 0x69cc <ParameterZuordnung+0x17e>
    69c6:       85 e0           ldi     r24, 0x05       ; 5
    69c8:       80 93 63 06     sts     0x0663, r24
 if(EE_Parameter.Servo3 == 247) { if(PORTC & (1<<PORTC2)) Parameter_Servo3 = EE_Parameter.Servo3OnValue; else Parameter_Servo3 = EE_Parameter.Servo3OffValue;}       // Out1 (J16)
    69cc:       80 91 76 05     lds     r24, 0x0576
    69d0:       87 3f           cpi     r24, 0xF7       ; 247
    69d2:       61 f4           brne    .+24            ; 0x69ec <ParameterZuordnung+0x19e>
    69d4:       42 9b           sbis    0x08, 2 ; 8
    69d6:       05 c0           rjmp    .+10            ; 0x69e2 <ParameterZuordnung+0x194>
    69d8:       80 91 ab 05     lds     r24, 0x05AB
    69dc:       80 93 38 06     sts     0x0638, r24
    69e0:       28 c0           rjmp    .+80            ; 0x6a32 <ParameterZuordnung+0x1e4>
    69e2:       80 91 ac 05     lds     r24, 0x05AC
    69e6:       80 93 38 06     sts     0x0638, r24
    69ea:       23 c0           rjmp    .+70            ; 0x6a32 <ParameterZuordnung+0x1e4>
 else if(EE_Parameter.Servo3 == 246) { if(PORTC & (1<<PORTC3)) Parameter_Servo3 = EE_Parameter.Servo3OnValue; else Parameter_Servo3 = EE_Parameter.Servo3OffValue;}
    69ec:       86 3f           cpi     r24, 0xF6       ; 246
    69ee:       61 f4           brne    .+24            ; 0x6a08 <ParameterZuordnung+0x1ba>
    69f0:       43 9b           sbis    0x08, 3 ; 8
    69f2:       05 c0           rjmp    .+10            ; 0x69fe <ParameterZuordnung+0x1b0>
    69f4:       80 91 ab 05     lds     r24, 0x05AB
    69f8:       80 93 38 06     sts     0x0638, r24
    69fc:       1a c0           rjmp    .+52            ; 0x6a32 <ParameterZuordnung+0x1e4>
    69fe:       80 91 ac 05     lds     r24, 0x05AC
    6a02:       80 93 38 06     sts     0x0638, r24
    6a06:       15 c0           rjmp    .+42            ; 0x6a32 <ParameterZuordnung+0x1e4>
 else CHK_POTI_MM(Parameter_Servo3,EE_Parameter.Servo3, 24, 255);
    6a08:       88 3f           cpi     r24, 0xF8       ; 248
    6a0a:       18 f4           brcc    .+6             ; 0x6a12 <ParameterZuordnung+0x1c4>
    6a0c:       80 93 38 06     sts     0x0638, r24
    6a10:       09 c0           rjmp    .+18            ; 0x6a24 <ParameterZuordnung+0x1d6>
    6a12:       ef ef           ldi     r30, 0xFF       ; 255
    6a14:       f0 e0           ldi     r31, 0x00       ; 0
    6a16:       e8 1b           sub     r30, r24
    6a18:       f1 09           sbc     r31, r1
    6a1a:       eb 5f           subi    r30, 0xFB       ; 251
    6a1c:       fb 4f           sbci    r31, 0xFB       ; 251
    6a1e:       80 81           ld      r24, Z
    6a20:       80 93 38 06     sts     0x0638, r24
    6a24:       80 91 38 06     lds     r24, 0x0638
    6a28:       89 31           cpi     r24, 0x19       ; 25
    6a2a:       18 f4           brcc    .+6             ; 0x6a32 <ParameterZuordnung+0x1e4>
    6a2c:       88 e1           ldi     r24, 0x18       ; 24
    6a2e:       80 93 38 06     sts     0x0638, r24

 if(EE_Parameter.Servo4 == 247) { if(PORTC & (1<<PORTC2)) Parameter_Servo4 = EE_Parameter.Servo4OnValue; else Parameter_Servo4 = EE_Parameter.Servo4OffValue;}
    6a32:       80 91 77 05     lds     r24, 0x0577
    6a36:       87 3f           cpi     r24, 0xF7       ; 247
    6a38:       61 f4           brne    .+24            ; 0x6a52 <ParameterZuordnung+0x204>
    6a3a:       42 9b           sbis    0x08, 2 ; 8
    6a3c:       05 c0           rjmp    .+10            ; 0x6a48 <ParameterZuordnung+0x1fa>
    6a3e:       80 91 ad 05     lds     r24, 0x05AD
    6a42:       80 93 19 06     sts     0x0619, r24
    6a46:       28 c0           rjmp    .+80            ; 0x6a98 <ParameterZuordnung+0x24a>
    6a48:       80 91 ae 05     lds     r24, 0x05AE
    6a4c:       80 93 19 06     sts     0x0619, r24
    6a50:       23 c0           rjmp    .+70            ; 0x6a98 <ParameterZuordnung+0x24a>
 else if(EE_Parameter.Servo4 == 246) { if(PORTC & (1<<PORTC3)) Parameter_Servo4 = EE_Parameter.Servo4OnValue; else Parameter_Servo4 = EE_Parameter.Servo4OffValue;}  // Out2 (J17)
    6a52:       86 3f           cpi     r24, 0xF6       ; 246
    6a54:       61 f4           brne    .+24            ; 0x6a6e <ParameterZuordnung+0x220>
    6a56:       43 9b           sbis    0x08, 3 ; 8
    6a58:       05 c0           rjmp    .+10            ; 0x6a64 <ParameterZuordnung+0x216>
    6a5a:       80 91 ad 05     lds     r24, 0x05AD
    6a5e:       80 93 19 06     sts     0x0619, r24
    6a62:       1a c0           rjmp    .+52            ; 0x6a98 <ParameterZuordnung+0x24a>
    6a64:       80 91 ae 05     lds     r24, 0x05AE
    6a68:       80 93 19 06     sts     0x0619, r24
    6a6c:       15 c0           rjmp    .+42            ; 0x6a98 <ParameterZuordnung+0x24a>
 else CHK_POTI_MM(Parameter_Servo4,EE_Parameter.Servo4, 24, 255);
    6a6e:       88 3f           cpi     r24, 0xF8       ; 248
    6a70:       18 f4           brcc    .+6             ; 0x6a78 <ParameterZuordnung+0x22a>
    6a72:       80 93 19 06     sts     0x0619, r24
    6a76:       09 c0           rjmp    .+18            ; 0x6a8a <ParameterZuordnung+0x23c>
    6a78:       ef ef           ldi     r30, 0xFF       ; 255
    6a7a:       f0 e0           ldi     r31, 0x00       ; 0
    6a7c:       e8 1b           sub     r30, r24
    6a7e:       f1 09           sbc     r31, r1
    6a80:       eb 5f           subi    r30, 0xFB       ; 251
    6a82:       fb 4f           sbci    r31, 0xFB       ; 251
    6a84:       80 81           ld      r24, Z
    6a86:       80 93 19 06     sts     0x0619, r24
    6a8a:       80 91 19 06     lds     r24, 0x0619
    6a8e:       89 31           cpi     r24, 0x19       ; 25
    6a90:       18 f4           brcc    .+6             ; 0x6a98 <ParameterZuordnung+0x24a>
    6a92:       88 e1           ldi     r24, 0x18       ; 24
    6a94:       80 93 19 06     sts     0x0619, r24

 CHK_POTI_MM(Parameter_Servo5,EE_Parameter.Servo5, 24, 255);
    6a98:       80 91 78 05     lds     r24, 0x0578
    6a9c:       88 3f           cpi     r24, 0xF8       ; 248
    6a9e:       18 f4           brcc    .+6             ; 0x6aa6 <ParameterZuordnung+0x258>
    6aa0:       80 93 41 06     sts     0x0641, r24
    6aa4:       09 c0           rjmp    .+18            ; 0x6ab8 <ParameterZuordnung+0x26a>
    6aa6:       ef ef           ldi     r30, 0xFF       ; 255
    6aa8:       f0 e0           ldi     r31, 0x00       ; 0
    6aaa:       e8 1b           sub     r30, r24
    6aac:       f1 09           sbc     r31, r1
    6aae:       eb 5f           subi    r30, 0xFB       ; 251
    6ab0:       fb 4f           sbci    r31, 0xFB       ; 251
    6ab2:       80 81           ld      r24, Z
    6ab4:       80 93 41 06     sts     0x0641, r24
    6ab8:       80 91 41 06     lds     r24, 0x0641
    6abc:       89 31           cpi     r24, 0x19       ; 25
    6abe:       18 f4           brcc    .+6             ; 0x6ac6 <ParameterZuordnung+0x278>
    6ac0:       88 e1           ldi     r24, 0x18       ; 24
    6ac2:       80 93 41 06     sts     0x0641, r24
 Parameter_HoehenSchalter = GetChannelValue(EE_Parameter.HoeheChannel);
    6ac6:       80 91 4e 05     lds     r24, 0x054E
    6aca:       a8 de           rcall   .-688           ; 0x681c <GetChannelValue>
    6acc:       80 93 e1 03     sts     0x03E1, r24
 CHK_POTI(Parameter_Hoehe_ACC_Wirkung,EE_Parameter.Hoehe_ACC_Wirkung);
    6ad0:       80 91 51 05     lds     r24, 0x0551
    6ad4:       88 3f           cpi     r24, 0xF8       ; 248
    6ad6:       18 f4           brcc    .+6             ; 0x6ade <ParameterZuordnung+0x290>
    6ad8:       80 93 38 01     sts     0x0138, r24
    6adc:       09 c0           rjmp    .+18            ; 0x6af0 <ParameterZuordnung+0x2a2>
    6ade:       ef ef           ldi     r30, 0xFF       ; 255
    6ae0:       f0 e0           ldi     r31, 0x00       ; 0
    6ae2:       e8 1b           sub     r30, r24
    6ae4:       f1 09           sbc     r31, r1
    6ae6:       eb 5f           subi    r30, 0xFB       ; 251
    6ae8:       fb 4f           sbci    r31, 0xFB       ; 251
    6aea:       80 81           ld      r24, Z
    6aec:       80 93 38 01     sts     0x0138, r24
 CHK_POTI(Parameter_Hoehe_TiltCompensation,EE_Parameter.Hoehe_TiltCompensation);
    6af0:       80 91 53 05     lds     r24, 0x0553
    6af4:       88 3f           cpi     r24, 0xF8       ; 248
    6af6:       18 f4           brcc    .+6             ; 0x6afe <ParameterZuordnung+0x2b0>
    6af8:       80 93 36 01     sts     0x0136, r24
    6afc:       09 c0           rjmp    .+18            ; 0x6b10 <ParameterZuordnung+0x2c2>
    6afe:       ef ef           ldi     r30, 0xFF       ; 255
    6b00:       f0 e0           ldi     r31, 0x00       ; 0
    6b02:       e8 1b           sub     r30, r24
    6b04:       f1 09           sbc     r31, r1
    6b06:       eb 5f           subi    r30, 0xFB       ; 251
    6b08:       fb 4f           sbci    r31, 0xFB       ; 251
    6b0a:       80 81           ld      r24, Z
    6b0c:       80 93 36 01     sts     0x0136, r24
 CHK_POTI(Parameter_KompassWirkung,EE_Parameter.KompassWirkung);
    6b10:       80 91 5b 05     lds     r24, 0x055B
    6b14:       88 3f           cpi     r24, 0xF8       ; 248
    6b16:       18 f4           brcc    .+6             ; 0x6b1e <ParameterZuordnung+0x2d0>
    6b18:       80 93 37 01     sts     0x0137, r24
    6b1c:       09 c0           rjmp    .+18            ; 0x6b30 <ParameterZuordnung+0x2e2>
    6b1e:       ef ef           ldi     r30, 0xFF       ; 255
    6b20:       f0 e0           ldi     r31, 0x00       ; 0
    6b22:       e8 1b           sub     r30, r24
    6b24:       f1 09           sbc     r31, r1
    6b26:       eb 5f           subi    r30, 0xFB       ; 251
    6b28:       fb 4f           sbci    r31, 0xFB       ; 251
    6b2a:       80 81           ld      r24, Z
    6b2c:       80 93 37 01     sts     0x0137, r24
 CHK_POTI(Parameter_Gyro_I,EE_Parameter.Gyro_I);
    6b30:       80 91 5d 05     lds     r24, 0x055D
    6b34:       88 3f           cpi     r24, 0xF8       ; 248
    6b36:       18 f4           brcc    .+6             ; 0x6b3e <ParameterZuordnung+0x2f0>
    6b38:       80 93 33 01     sts     0x0133, r24
    6b3c:       09 c0           rjmp    .+18            ; 0x6b50 <ParameterZuordnung+0x302>
    6b3e:       ef ef           ldi     r30, 0xFF       ; 255
    6b40:       f0 e0           ldi     r31, 0x00       ; 0
    6b42:       e8 1b           sub     r30, r24
    6b44:       f1 09           sbc     r31, r1
    6b46:       eb 5f           subi    r30, 0xFB       ; 251
    6b48:       fb 4f           sbci    r31, 0xFB       ; 251
    6b4a:       80 81           ld      r24, Z
    6b4c:       80 93 33 01     sts     0x0133, r24
 CHK_POTI(Parameter_Gyro_D,EE_Parameter.Gyro_D);
    6b50:       80 91 5e 05     lds     r24, 0x055E
    6b54:       88 3f           cpi     r24, 0xF8       ; 248
    6b56:       18 f4           brcc    .+6             ; 0x6b5e <ParameterZuordnung+0x310>
    6b58:       80 93 35 01     sts     0x0135, r24
    6b5c:       09 c0           rjmp    .+18            ; 0x6b70 <ParameterZuordnung+0x322>
    6b5e:       ef ef           ldi     r30, 0xFF       ; 255
    6b60:       f0 e0           ldi     r31, 0x00       ; 0
    6b62:       e8 1b           sub     r30, r24
    6b64:       f1 09           sbc     r31, r1
    6b66:       eb 5f           subi    r30, 0xFB       ; 251
    6b68:       fb 4f           sbci    r31, 0xFB       ; 251
    6b6a:       80 81           ld      r24, Z
    6b6c:       80 93 35 01     sts     0x0135, r24
 CHK_POTI(Parameter_Gyro_Gier_P,EE_Parameter.Gyro_Gier_P);
    6b70:       80 91 5f 05     lds     r24, 0x055F
    6b74:       88 3f           cpi     r24, 0xF8       ; 248
    6b76:       18 f4           brcc    .+6             ; 0x6b7e <ParameterZuordnung+0x330>
    6b78:       80 93 32 01     sts     0x0132, r24
    6b7c:       09 c0           rjmp    .+18            ; 0x6b90 <ParameterZuordnung+0x342>
    6b7e:       ef ef           ldi     r30, 0xFF       ; 255
    6b80:       f0 e0           ldi     r31, 0x00       ; 0
    6b82:       e8 1b           sub     r30, r24
    6b84:       f1 09           sbc     r31, r1
    6b86:       eb 5f           subi    r30, 0xFB       ; 251
    6b88:       fb 4f           sbci    r31, 0xFB       ; 251
    6b8a:       80 81           ld      r24, Z
    6b8c:       80 93 32 01     sts     0x0132, r24
 CHK_POTI(Parameter_Gyro_Gier_I,EE_Parameter.Gyro_Gier_I);
    6b90:       80 91 60 05     lds     r24, 0x0560
    6b94:       88 3f           cpi     r24, 0xF8       ; 248
    6b96:       18 f4           brcc    .+6             ; 0x6b9e <ParameterZuordnung+0x350>
    6b98:       80 93 31 01     sts     0x0131, r24
    6b9c:       09 c0           rjmp    .+18            ; 0x6bb0 <ParameterZuordnung+0x362>
    6b9e:       ef ef           ldi     r30, 0xFF       ; 255
    6ba0:       f0 e0           ldi     r31, 0x00       ; 0
    6ba2:       e8 1b           sub     r30, r24
    6ba4:       f1 09           sbc     r31, r1
    6ba6:       eb 5f           subi    r30, 0xFB       ; 251
    6ba8:       fb 4f           sbci    r31, 0xFB       ; 251
    6baa:       80 81           ld      r24, Z
    6bac:       80 93 31 01     sts     0x0131, r24
 CHK_POTI(Parameter_I_Faktor,EE_Parameter.I_Faktor);
    6bb0:       80 91 66 05     lds     r24, 0x0566
    6bb4:       88 3f           cpi     r24, 0xF8       ; 248
    6bb6:       18 f4           brcc    .+6             ; 0x6bbe <ParameterZuordnung+0x370>
    6bb8:       80 93 30 01     sts     0x0130, r24
    6bbc:       09 c0           rjmp    .+18            ; 0x6bd0 <ParameterZuordnung+0x382>
    6bbe:       ef ef           ldi     r30, 0xFF       ; 255
    6bc0:       f0 e0           ldi     r31, 0x00       ; 0
    6bc2:       e8 1b           sub     r30, r24
    6bc4:       f1 09           sbc     r31, r1
    6bc6:       eb 5f           subi    r30, 0xFB       ; 251
    6bc8:       fb 4f           sbci    r31, 0xFB       ; 251
    6bca:       80 81           ld      r24, Z
    6bcc:       80 93 30 01     sts     0x0130, r24
 CHK_POTI(Parameter_UserParam1,EE_Parameter.UserParam1);
    6bd0:       80 91 67 05     lds     r24, 0x0567
    6bd4:       88 3f           cpi     r24, 0xF8       ; 248
    6bd6:       18 f4           brcc    .+6             ; 0x6bde <ParameterZuordnung+0x390>
    6bd8:       80 93 e0 03     sts     0x03E0, r24
    6bdc:       09 c0           rjmp    .+18            ; 0x6bf0 <ParameterZuordnung+0x3a2>
    6bde:       ef ef           ldi     r30, 0xFF       ; 255
    6be0:       f0 e0           ldi     r31, 0x00       ; 0
    6be2:       e8 1b           sub     r30, r24
    6be4:       f1 09           sbc     r31, r1
    6be6:       eb 5f           subi    r30, 0xFB       ; 251
    6be8:       fb 4f           sbci    r31, 0xFB       ; 251
    6bea:       80 81           ld      r24, Z
    6bec:       80 93 e0 03     sts     0x03E0, r24
 CHK_POTI(Parameter_UserParam2,EE_Parameter.UserParam2);
    6bf0:       80 91 68 05     lds     r24, 0x0568
    6bf4:       88 3f           cpi     r24, 0xF8       ; 248
    6bf6:       18 f4           brcc    .+6             ; 0x6bfe <ParameterZuordnung+0x3b0>
    6bf8:       80 93 df 03     sts     0x03DF, r24
    6bfc:       09 c0           rjmp    .+18            ; 0x6c10 <ParameterZuordnung+0x3c2>
    6bfe:       ef ef           ldi     r30, 0xFF       ; 255
    6c00:       f0 e0           ldi     r31, 0x00       ; 0
    6c02:       e8 1b           sub     r30, r24
    6c04:       f1 09           sbc     r31, r1
    6c06:       eb 5f           subi    r30, 0xFB       ; 251
    6c08:       fb 4f           sbci    r31, 0xFB       ; 251
    6c0a:       80 81           ld      r24, Z
    6c0c:       80 93 df 03     sts     0x03DF, r24
 CHK_POTI(Parameter_UserParam3,EE_Parameter.UserParam3);
    6c10:       80 91 69 05     lds     r24, 0x0569
    6c14:       88 3f           cpi     r24, 0xF8       ; 248
    6c16:       18 f4           brcc    .+6             ; 0x6c1e <ParameterZuordnung+0x3d0>
    6c18:       80 93 de 03     sts     0x03DE, r24
    6c1c:       09 c0           rjmp    .+18            ; 0x6c30 <ParameterZuordnung+0x3e2>
    6c1e:       ef ef           ldi     r30, 0xFF       ; 255
    6c20:       f0 e0           ldi     r31, 0x00       ; 0
    6c22:       e8 1b           sub     r30, r24
    6c24:       f1 09           sbc     r31, r1
    6c26:       eb 5f           subi    r30, 0xFB       ; 251
    6c28:       fb 4f           sbci    r31, 0xFB       ; 251
    6c2a:       80 81           ld      r24, Z
    6c2c:       80 93 de 03     sts     0x03DE, r24
 CHK_POTI(Parameter_UserParam4,EE_Parameter.UserParam4);
    6c30:       80 91 6a 05     lds     r24, 0x056A
    6c34:       88 3f           cpi     r24, 0xF8       ; 248
    6c36:       18 f4           brcc    .+6             ; 0x6c3e <ParameterZuordnung+0x3f0>
    6c38:       80 93 dd 03     sts     0x03DD, r24
    6c3c:       09 c0           rjmp    .+18            ; 0x6c50 <ParameterZuordnung+0x402>
    6c3e:       ef ef           ldi     r30, 0xFF       ; 255
    6c40:       f0 e0           ldi     r31, 0x00       ; 0
    6c42:       e8 1b           sub     r30, r24
    6c44:       f1 09           sbc     r31, r1
    6c46:       eb 5f           subi    r30, 0xFB       ; 251
    6c48:       fb 4f           sbci    r31, 0xFB       ; 251
    6c4a:       80 81           ld      r24, Z
    6c4c:       80 93 dd 03     sts     0x03DD, r24
 CHK_POTI(Parameter_UserParam5,EE_Parameter.UserParam5);
    6c50:       80 91 84 05     lds     r24, 0x0584
    6c54:       88 3f           cpi     r24, 0xF8       ; 248
    6c56:       18 f4           brcc    .+6             ; 0x6c5e <ParameterZuordnung+0x410>
    6c58:       80 93 dc 03     sts     0x03DC, r24
    6c5c:       09 c0           rjmp    .+18            ; 0x6c70 <ParameterZuordnung+0x422>
    6c5e:       ef ef           ldi     r30, 0xFF       ; 255
    6c60:       f0 e0           ldi     r31, 0x00       ; 0
    6c62:       e8 1b           sub     r30, r24
    6c64:       f1 09           sbc     r31, r1
    6c66:       eb 5f           subi    r30, 0xFB       ; 251
    6c68:       fb 4f           sbci    r31, 0xFB       ; 251
    6c6a:       80 81           ld      r24, Z
    6c6c:       80 93 dc 03     sts     0x03DC, r24
 CHK_POTI(Parameter_UserParam6,EE_Parameter.UserParam6);
    6c70:       80 91 85 05     lds     r24, 0x0585
    6c74:       88 3f           cpi     r24, 0xF8       ; 248
    6c76:       18 f4           brcc    .+6             ; 0x6c7e <ParameterZuordnung+0x430>
    6c78:       80 93 db 03     sts     0x03DB, r24
    6c7c:       09 c0           rjmp    .+18            ; 0x6c90 <ParameterZuordnung+0x442>
    6c7e:       ef ef           ldi     r30, 0xFF       ; 255
    6c80:       f0 e0           ldi     r31, 0x00       ; 0
    6c82:       e8 1b           sub     r30, r24
    6c84:       f1 09           sbc     r31, r1
    6c86:       eb 5f           subi    r30, 0xFB       ; 251
    6c88:       fb 4f           sbci    r31, 0xFB       ; 251
    6c8a:       80 81           ld      r24, Z
    6c8c:       80 93 db 03     sts     0x03DB, r24
 CHK_POTI(Parameter_UserParam7,EE_Parameter.UserParam7);
    6c90:       80 91 86 05     lds     r24, 0x0586
    6c94:       88 3f           cpi     r24, 0xF8       ; 248
    6c96:       18 f4           brcc    .+6             ; 0x6c9e <ParameterZuordnung+0x450>
    6c98:       80 93 da 03     sts     0x03DA, r24
    6c9c:       09 c0           rjmp    .+18            ; 0x6cb0 <ParameterZuordnung+0x462>
    6c9e:       ef ef           ldi     r30, 0xFF       ; 255
    6ca0:       f0 e0           ldi     r31, 0x00       ; 0
    6ca2:       e8 1b           sub     r30, r24
    6ca4:       f1 09           sbc     r31, r1
    6ca6:       eb 5f           subi    r30, 0xFB       ; 251
    6ca8:       fb 4f           sbci    r31, 0xFB       ; 251
    6caa:       80 81           ld      r24, Z
    6cac:       80 93 da 03     sts     0x03DA, r24
 CHK_POTI(Parameter_UserParam8,EE_Parameter.UserParam8);
    6cb0:       80 91 87 05     lds     r24, 0x0587
    6cb4:       88 3f           cpi     r24, 0xF8       ; 248
    6cb6:       18 f4           brcc    .+6             ; 0x6cbe <ParameterZuordnung+0x470>
    6cb8:       80 93 d9 03     sts     0x03D9, r24
    6cbc:       09 c0           rjmp    .+18            ; 0x6cd0 <ParameterZuordnung+0x482>
    6cbe:       ef ef           ldi     r30, 0xFF       ; 255
    6cc0:       f0 e0           ldi     r31, 0x00       ; 0
    6cc2:       e8 1b           sub     r30, r24
    6cc4:       f1 09           sbc     r31, r1
    6cc6:       eb 5f           subi    r30, 0xFB       ; 251
    6cc8:       fb 4f           sbci    r31, 0xFB       ; 251
    6cca:       80 81           ld      r24, Z
    6ccc:       80 93 d9 03     sts     0x03D9, r24
 CHK_POTI(Parameter_ServoNickControl,EE_Parameter.ServoNickControl);
    6cd0:       80 91 6b 05     lds     r24, 0x056B
    6cd4:       88 3f           cpi     r24, 0xF8       ; 248
    6cd6:       18 f4           brcc    .+6             ; 0x6cde <ParameterZuordnung+0x490>
    6cd8:       80 93 2f 01     sts     0x012F, r24
    6cdc:       09 c0           rjmp    .+18            ; 0x6cf0 <ParameterZuordnung+0x4a2>
    6cde:       ef ef           ldi     r30, 0xFF       ; 255
    6ce0:       f0 e0           ldi     r31, 0x00       ; 0
    6ce2:       e8 1b           sub     r30, r24
    6ce4:       f1 09           sbc     r31, r1
    6ce6:       eb 5f           subi    r30, 0xFB       ; 251
    6ce8:       fb 4f           sbci    r31, 0xFB       ; 251
    6cea:       80 81           ld      r24, Z
    6cec:       80 93 2f 01     sts     0x012F, r24
 CHK_POTI(Parameter_ServoRollControl,EE_Parameter.ServoRollControl);
    6cf0:       80 91 6f 05     lds     r24, 0x056F
    6cf4:       88 3f           cpi     r24, 0xF8       ; 248
    6cf6:       18 f4           brcc    .+6             ; 0x6cfe <ParameterZuordnung+0x4b0>
    6cf8:       80 93 2e 01     sts     0x012E, r24
    6cfc:       09 c0           rjmp    .+18            ; 0x6d10 <ParameterZuordnung+0x4c2>
    6cfe:       ef ef           ldi     r30, 0xFF       ; 255
    6d00:       f0 e0           ldi     r31, 0x00       ; 0
    6d02:       e8 1b           sub     r30, r24
    6d04:       f1 09           sbc     r31, r1
    6d06:       eb 5f           subi    r30, 0xFB       ; 251
    6d08:       fb 4f           sbci    r31, 0xFB       ; 251
    6d0a:       80 81           ld      r24, Z
    6d0c:       80 93 2e 01     sts     0x012E, r24
 CHK_POTI(Parameter_ServoNickComp,EE_Parameter.ServoNickComp);
    6d10:       80 91 6c 05     lds     r24, 0x056C
    6d14:       88 3f           cpi     r24, 0xF8       ; 248
    6d16:       18 f4           brcc    .+6             ; 0x6d1e <ParameterZuordnung+0x4d0>
    6d18:       80 93 2d 01     sts     0x012D, r24
    6d1c:       09 c0           rjmp    .+18            ; 0x6d30 <ParameterZuordnung+0x4e2>
    6d1e:       ef ef           ldi     r30, 0xFF       ; 255
    6d20:       f0 e0           ldi     r31, 0x00       ; 0
    6d22:       e8 1b           sub     r30, r24
    6d24:       f1 09           sbc     r31, r1
    6d26:       eb 5f           subi    r30, 0xFB       ; 251
    6d28:       fb 4f           sbci    r31, 0xFB       ; 251
    6d2a:       80 81           ld      r24, Z
    6d2c:       80 93 2d 01     sts     0x012D, r24
 CHK_POTI(Parameter_ServoRollComp,EE_Parameter.ServoRollComp);
    6d30:       80 91 70 05     lds     r24, 0x0570
    6d34:       88 3f           cpi     r24, 0xF8       ; 248
    6d36:       18 f4           brcc    .+6             ; 0x6d3e <ParameterZuordnung+0x4f0>
    6d38:       80 93 2c 01     sts     0x012C, r24
    6d3c:       09 c0           rjmp    .+18            ; 0x6d50 <ParameterZuordnung+0x502>
    6d3e:       ef ef           ldi     r30, 0xFF       ; 255
    6d40:       f0 e0           ldi     r31, 0x00       ; 0
    6d42:       e8 1b           sub     r30, r24
    6d44:       f1 09           sbc     r31, r1
    6d46:       eb 5f           subi    r30, 0xFB       ; 251
    6d48:       fb 4f           sbci    r31, 0xFB       ; 251
    6d4a:       80 81           ld      r24, Z
    6d4c:       80 93 2c 01     sts     0x012C, r24
 CHK_POTI(Parameter_LoopGasLimit,EE_Parameter.LoopGasLimit);
    6d50:       80 91 79 05     lds     r24, 0x0579
    6d54:       88 3f           cpi     r24, 0xF8       ; 248
    6d56:       18 f4           brcc    .+6             ; 0x6d5e <ParameterZuordnung+0x510>
    6d58:       80 93 2b 01     sts     0x012B, r24
    6d5c:       09 c0           rjmp    .+18            ; 0x6d70 <ParameterZuordnung+0x522>
    6d5e:       ef ef           ldi     r30, 0xFF       ; 255
    6d60:       f0 e0           ldi     r31, 0x00       ; 0
    6d62:       e8 1b           sub     r30, r24
    6d64:       f1 09           sbc     r31, r1
    6d66:       eb 5f           subi    r30, 0xFB       ; 251
    6d68:       fb 4f           sbci    r31, 0xFB       ; 251
    6d6a:       80 81           ld      r24, Z
    6d6c:       80 93 2b 01     sts     0x012B, r24
 CHK_POTI(Parameter_AchsKopplung1,EE_Parameter.AchsKopplung1);
    6d70:       80 91 7c 05     lds     r24, 0x057C
    6d74:       88 3f           cpi     r24, 0xF8       ; 248
    6d76:       18 f4           brcc    .+6             ; 0x6d7e <ParameterZuordnung+0x530>
    6d78:       80 93 2a 01     sts     0x012A, r24
    6d7c:       09 c0           rjmp    .+18            ; 0x6d90 <ParameterZuordnung+0x542>
    6d7e:       ef ef           ldi     r30, 0xFF       ; 255
    6d80:       f0 e0           ldi     r31, 0x00       ; 0
    6d82:       e8 1b           sub     r30, r24
    6d84:       f1 09           sbc     r31, r1
    6d86:       eb 5f           subi    r30, 0xFB       ; 251
    6d88:       fb 4f           sbci    r31, 0xFB       ; 251
    6d8a:       80 81           ld      r24, Z
    6d8c:       80 93 2a 01     sts     0x012A, r24
 CHK_POTI(Parameter_AchsKopplung2,EE_Parameter.AchsKopplung2);
    6d90:       80 91 7d 05     lds     r24, 0x057D
    6d94:       88 3f           cpi     r24, 0xF8       ; 248
    6d96:       18 f4           brcc    .+6             ; 0x6d9e <ParameterZuordnung+0x550>
    6d98:       80 93 29 01     sts     0x0129, r24
    6d9c:       09 c0           rjmp    .+18            ; 0x6db0 <ParameterZuordnung+0x562>
    6d9e:       ef ef           ldi     r30, 0xFF       ; 255
    6da0:       f0 e0           ldi     r31, 0x00       ; 0
    6da2:       e8 1b           sub     r30, r24
    6da4:       f1 09           sbc     r31, r1
    6da6:       eb 5f           subi    r30, 0xFB       ; 251
    6da8:       fb 4f           sbci    r31, 0xFB       ; 251
    6daa:       80 81           ld      r24, Z
    6dac:       80 93 29 01     sts     0x0129, r24
 CHK_POTI(Parameter_CouplingYawCorrection,EE_Parameter.CouplingYawCorrection);
    6db0:       80 91 7e 05     lds     r24, 0x057E
    6db4:       88 3f           cpi     r24, 0xF8       ; 248
    6db6:       18 f4           brcc    .+6             ; 0x6dbe <ParameterZuordnung+0x570>
    6db8:       80 93 28 01     sts     0x0128, r24
    6dbc:       09 c0           rjmp    .+18            ; 0x6dd0 <ParameterZuordnung+0x582>
    6dbe:       ef ef           ldi     r30, 0xFF       ; 255
    6dc0:       f0 e0           ldi     r31, 0x00       ; 0
    6dc2:       e8 1b           sub     r30, r24
    6dc4:       f1 09           sbc     r31, r1
    6dc6:       eb 5f           subi    r30, 0xFB       ; 251
    6dc8:       fb 4f           sbci    r31, 0xFB       ; 251
    6dca:       80 81           ld      r24, Z
    6dcc:       80 93 28 01     sts     0x0128, r24
 CHK_POTI(Parameter_MaximumAltitude,EE_Parameter.MaxAltitude);
    6dd0:       80 91 a7 05     lds     r24, 0x05A7
    6dd4:       88 3f           cpi     r24, 0xF8       ; 248
    6dd6:       18 f4           brcc    .+6             ; 0x6dde <ParameterZuordnung+0x590>
    6dd8:       80 93 24 06     sts     0x0624, r24
    6ddc:       09 c0           rjmp    .+18            ; 0x6df0 <ParameterZuordnung+0x5a2>
    6dde:       ef ef           ldi     r30, 0xFF       ; 255
    6de0:       f0 e0           ldi     r31, 0x00       ; 0
    6de2:       e8 1b           sub     r30, r24
    6de4:       f1 09           sbc     r31, r1
    6de6:       eb 5f           subi    r30, 0xFB       ; 251
    6de8:       fb 4f           sbci    r31, 0xFB       ; 251
    6dea:       80 81           ld      r24, Z
    6dec:       80 93 24 06     sts     0x0624, r24
// if((NC_To_FC_MaxAltitude && NC_To_FC_MaxAltitude < Parameter_MaximumAltitude) || Parameter_MaximumAltitude == 0) Parameter_MaximumAltitude = NC_To_FC_MaxAltitude;
 Parameter_GlobalConfig = EE_Parameter.GlobalConfig;
    6df0:       80 91 4b 05     lds     r24, 0x054B
    6df4:       80 93 5c 06     sts     0x065C, r24
 Parameter_ExtraConfig = EE_Parameter.ExtraConfig;
    6df8:       80 91 b8 05     lds     r24, 0x05B8
    6dfc:       80 93 40 06     sts     0x0640, r24
// CHK_POTI(Parameter_AchsGegenKopplung1,EE_Parameter.AchsGegenKopplung1,0,255);
 CHK_POTI(Parameter_DynamicStability,EE_Parameter.DynamicStability);
    6e00:       80 91 83 05     lds     r24, 0x0583
    6e04:       88 3f           cpi     r24, 0xF8       ; 248
    6e06:       18 f4           brcc    .+6             ; 0x6e0e <ParameterZuordnung+0x5c0>
    6e08:       80 93 27 01     sts     0x0127, r24
    6e0c:       09 c0           rjmp    .+18            ; 0x6e20 <ParameterZuordnung+0x5d2>
    6e0e:       ef ef           ldi     r30, 0xFF       ; 255
    6e10:       f0 e0           ldi     r31, 0x00       ; 0
    6e12:       e8 1b           sub     r30, r24
    6e14:       f1 09           sbc     r31, r1
    6e16:       eb 5f           subi    r30, 0xFB       ; 251
    6e18:       fb 4f           sbci    r31, 0xFB       ; 251
    6e1a:       80 81           ld      r24, Z
    6e1c:       80 93 27 01     sts     0x0127, r24
 CHK_POTI(Parameter_ExternalControl,EE_Parameter.ExternalControl);
    6e20:       80 91 a0 05     lds     r24, 0x05A0
    6e24:       88 3f           cpi     r24, 0xF8       ; 248
    6e26:       18 f4           brcc    .+6             ; 0x6e2e <ParameterZuordnung+0x5e0>
    6e28:       80 93 75 06     sts     0x0675, r24
    6e2c:       09 c0           rjmp    .+18            ; 0x6e40 <ParameterZuordnung+0x5f2>
    6e2e:       ef ef           ldi     r30, 0xFF       ; 255
    6e30:       f0 e0           ldi     r31, 0x00       ; 0
    6e32:       e8 1b           sub     r30, r24
    6e34:       f1 09           sbc     r31, r1
    6e36:       eb 5f           subi    r30, 0xFB       ; 251
    6e38:       fb 4f           sbci    r31, 0xFB       ; 251
    6e3a:       80 81           ld      r24, Z
    6e3c:       80 93 75 06     sts     0x0675, r24
 Ki = 10300 / (Parameter_I_Faktor + 1);
    6e40:       60 91 30 01     lds     r22, 0x0130
    6e44:       70 e0           ldi     r23, 0x00       ; 0
    6e46:       6f 5f           subi    r22, 0xFF       ; 255
    6e48:       7f 4f           sbci    r23, 0xFF       ; 255
    6e4a:       8c e3           ldi     r24, 0x3C       ; 60
    6e4c:       98 e2           ldi     r25, 0x28       ; 40
    6e4e:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    6e52:       70 93 3c 01     sts     0x013C, r23
    6e56:       60 93 3b 01     sts     0x013B, r22
 MAX_GAS = EE_Parameter.Gas_Max;
    6e5a:       80 91 59 05     lds     r24, 0x0559
    6e5e:       80 93 64 06     sts     0x0664, r24
 MIN_GAS = EE_Parameter.Gas_Min;
    6e62:       80 91 58 05     lds     r24, 0x0558
    6e66:       80 93 2c 06     sts     0x062C, r24

 if(EE_Parameter.CareFreeChannel)
    6e6a:       e0 91 a2 05     lds     r30, 0x05A2
    6e6e:       ee 23           and     r30, r30
    6e70:       09 f4           brne    .+2             ; 0x6e74 <ParameterZuordnung+0x626>
    6e72:       4b c0           rjmp    .+150           ; 0x6f0a <ParameterZuordnung+0x6bc>
   {
        CareFree = 1;
    6e74:       81 e0           ldi     r24, 0x01       ; 1
    6e76:       80 93 d8 03     sts     0x03D8, r24
        if(PPM_in[EE_Parameter.CareFreeChannel] < -64) CareFree = 0; 
    6e7a:       f0 e0           ldi     r31, 0x00       ; 0
    6e7c:       ee 0f           add     r30, r30
    6e7e:       ff 1f           adc     r31, r31
    6e80:       ef 5c           subi    r30, 0xCF       ; 207
    6e82:       f7 4f           sbci    r31, 0xF7       ; 247
    6e84:       80 81           ld      r24, Z
    6e86:       91 81           ldd     r25, Z+1        ; 0x01
    6e88:       80 3c           cpi     r24, 0xC0       ; 192
    6e8a:       9f 4f           sbci    r25, 0xFF       ; 255
    6e8c:       14 f4           brge    .+4             ; 0x6e92 <ParameterZuordnung+0x644>
    6e8e:       10 92 d8 03     sts     0x03D8, r1
//    if(tmp >= 248 && Poti[255 - tmp] < 50) CareFree = 0; 
    if(carefree_old != CareFree) 
    6e92:       80 91 3d 01     lds     r24, 0x013D
    6e96:       20 91 d8 03     lds     r18, 0x03D8
    6e9a:       82 17           cp      r24, r18
    6e9c:       41 f1           breq    .+80            ; 0x6eee <ParameterZuordnung+0x6a0>
    {
      if(carefree_old < 3)
    6e9e:       83 30           cpi     r24, 0x03       ; 3
    6ea0:       18 f5           brcc    .+70            ; 0x6ee8 <ParameterZuordnung+0x69a>
           {
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                if(CareFree) { beeptime = 1500;  if(!SpeakHoTT) SpeakHoTT = SPEAK_CF_ON; }
    6ea2:       22 23           and     r18, r18
    6ea4:       71 f0           breq    .+28            ; 0x6ec2 <ParameterZuordnung+0x674>
    6ea6:       8c ed           ldi     r24, 0xDC       ; 220
    6ea8:       95 e0           ldi     r25, 0x05       ; 5
    6eaa:       90 93 ce 04     sts     0x04CE, r25
    6eae:       80 93 cd 04     sts     0x04CD, r24
    6eb2:       80 91 57 01     lds     r24, 0x0157
    6eb6:       81 11           cpse    r24, r1
    6eb8:       11 c0           rjmp    .+34            ; 0x6edc <ParameterZuordnung+0x68e>
    6eba:       8e e2           ldi     r24, 0x2E       ; 46
    6ebc:       80 93 57 01     sts     0x0157, r24
    6ec0:       0d c0           rjmp    .+26            ; 0x6edc <ParameterZuordnung+0x68e>
            else { beeptime = 200;  if(!SpeakHoTT) SpeakHoTT = SPEAK_CF_OFF; }
    6ec2:       88 ec           ldi     r24, 0xC8       ; 200
    6ec4:       90 e0           ldi     r25, 0x00       ; 0
    6ec6:       90 93 ce 04     sts     0x04CE, r25
    6eca:       80 93 cd 04     sts     0x04CD, r24
    6ece:       80 91 57 01     lds     r24, 0x0157
    6ed2:       81 11           cpse    r24, r1
    6ed4:       03 c0           rjmp    .+6             ; 0x6edc <ParameterZuordnung+0x68e>
    6ed6:       87 e1           ldi     r24, 0x17       ; 23
    6ed8:       80 93 57 01     sts     0x0157, r24
#else
                if(CareFree) beeptime = 1500; 
            else beeptime = 200;
#endif
                NeueKompassRichtungMerken = 5;
    6edc:       85 e0           ldi     r24, 0x05       ; 5
    6ede:       80 93 ee 03     sts     0x03EE, r24
        carefree_old = CareFree;
    6ee2:       20 93 3d 01     sts     0x013D, r18
    6ee6:       03 c0           rjmp    .+6             ; 0x6eee <ParameterZuordnung+0x6a0>
           } else carefree_old--;
    6ee8:       81 50           subi    r24, 0x01       ; 1
    6eea:       80 93 3d 01     sts     0x013D, r24
        }  
        if(FromNaviCtrl.CompassValue < 0 && CareFree) VersionInfo.HardwareError[0] |= FC_ERROR0_CAREFREE; //else VersionInfo.HardwareError[0] &= ~FC_ERROR0_CAREFREE;
    6eee:       80 91 13 09     lds     r24, 0x0913
    6ef2:       90 91 14 09     lds     r25, 0x0914
    6ef6:       99 23           and     r25, r25
    6ef8:       84 f5           brge    .+96            ; 0x6f5a <ParameterZuordnung+0x70c>
    6efa:       22 23           and     r18, r18
    6efc:       89 f0           breq    .+34            ; 0x6f20 <ParameterZuordnung+0x6d2>
    6efe:       e2 e6           ldi     r30, 0x62       ; 98
    6f00:       fa e0           ldi     r31, 0x0A       ; 10
    6f02:       80 81           ld      r24, Z
    6f04:       80 68           ori     r24, 0x80       ; 128
    6f06:       80 83           st      Z, r24
    6f08:       05 c0           rjmp    .+10            ; 0x6f14 <ParameterZuordnung+0x6c6>
   }
   else 
   {
    CareFree = 0;
    6f0a:       10 92 d8 03     sts     0x03D8, r1
        carefree_old = 10;
    6f0e:       8a e0           ldi     r24, 0x0A       ; 10
    6f10:       80 93 3d 01     sts     0x013D, r24
   }    

 if(FromNaviCtrl.CompassValue < 0 && MotorenEin && CareFree && BeepMuster == 0xffff) // ungültiger Kompasswert
    6f14:       80 91 13 09     lds     r24, 0x0913
    6f18:       90 91 14 09     lds     r25, 0x0914
    6f1c:       99 23           and     r25, r25
    6f1e:       ec f4           brge    .+58            ; 0x6f5a <ParameterZuordnung+0x70c>
    6f20:       80 91 03 04     lds     r24, 0x0403
    6f24:       88 23           and     r24, r24
    6f26:       c9 f0           breq    .+50            ; 0x6f5a <ParameterZuordnung+0x70c>
    6f28:       80 91 d8 03     lds     r24, 0x03D8
    6f2c:       88 23           and     r24, r24
    6f2e:       f9 f0           breq    .+62            ; 0x6f6e <ParameterZuordnung+0x720>
    6f30:       80 91 a9 02     lds     r24, 0x02A9
    6f34:       90 91 aa 02     lds     r25, 0x02AA
    6f38:       01 96           adiw    r24, 0x01       ; 1
    6f3a:       99 f4           brne    .+38            ; 0x6f62 <ParameterZuordnung+0x714>
        {
         beeptime = 15000;
    6f3c:       88 e9           ldi     r24, 0x98       ; 152
    6f3e:       9a e3           ldi     r25, 0x3A       ; 58
    6f40:       90 93 ce 04     sts     0x04CE, r25
    6f44:       80 93 cd 04     sts     0x04CD, r24
         BeepMuster = 0xA400;
    6f48:       80 e0           ldi     r24, 0x00       ; 0
    6f4a:       94 ea           ldi     r25, 0xA4       ; 164
    6f4c:       90 93 aa 02     sts     0x02AA, r25
    6f50:       80 93 a9 02     sts     0x02A9, r24
         CareFree = 0;
    6f54:       10 92 d8 03     sts     0x03D8, r1
    6f58:       0a c0           rjmp    .+20            ; 0x6f6e <ParameterZuordnung+0x720>
    }
 if(CareFree) { FC_StatusFlags2 |= FC_STATUS2_CAREFREE; /*if(Parameter_AchsKopplung1 < 210) Parameter_AchsKopplung1 += 30;*/} else FC_StatusFlags2 &= ~FC_STATUS2_CAREFREE;
    6f5a:       80 91 d8 03     lds     r24, 0x03D8
    6f5e:       88 23           and     r24, r24
    6f60:       31 f0           breq    .+12            ; 0x6f6e <ParameterZuordnung+0x720>
    6f62:       80 91 ca 03     lds     r24, 0x03CA
    6f66:       81 60           ori     r24, 0x01       ; 1
    6f68:       80 93 ca 03     sts     0x03CA, r24
    6f6c:       05 c0           rjmp    .+10            ; 0x6f78 <ParameterZuordnung+0x72a>
    6f6e:       80 91 ca 03     lds     r24, 0x03CA
    6f72:       8e 7f           andi    r24, 0xFE       ; 254
    6f74:       80 93 ca 03     sts     0x03CA, r24
}
    6f78:       df 91           pop     r29
    6f7a:       cf 91           pop     r28
    6f7c:       1f 91           pop     r17
    6f7e:       0f 91           pop     r16
    6f80:       ff 90           pop     r15
    6f82:       ef 90           pop     r14
    6f84:       df 90           pop     r13
    6f86:       08 95           ret

00006f88 <CalcStickGasHover>:

void CalcStickGasHover(void)
{
 if(!EE_Parameter.Hoehe_StickNeutralPoint)
    6f88:       80 91 54 05     lds     r24, 0x0554
    6f8c:       81 11           cpse    r24, r1
    6f8e:       21 c0           rjmp    .+66            ; 0x6fd2 <CalcStickGasHover+0x4a>
        {
          StickGasHover = HoverGas/STICK_GAIN; // rescale back to stick value
          StickGasHover = (unsigned int)((unsigned int) StickGasHover * UBat) / BattLowVoltageWarning;
    6f90:       20 91 1a 01     lds     r18, 0x011A
    6f94:       30 91 1b 01     lds     r19, 0x011B

void CalcStickGasHover(void)
{
 if(!EE_Parameter.Hoehe_StickNeutralPoint)
        {
          StickGasHover = HoverGas/STICK_GAIN; // rescale back to stick value
    6f98:       80 91 e8 03     lds     r24, 0x03E8
    6f9c:       90 91 e9 03     lds     r25, 0x03E9
    6fa0:       99 23           and     r25, r25
    6fa2:       0c f4           brge    .+2             ; 0x6fa6 <CalcStickGasHover+0x1e>
    6fa4:       03 96           adiw    r24, 0x03       ; 3
    6fa6:       ac 01           movw    r20, r24
    6fa8:       55 95           asr     r21
    6faa:       47 95           ror     r20
    6fac:       55 95           asr     r21
    6fae:       47 95           ror     r20
          StickGasHover = (unsigned int)((unsigned int) StickGasHover * UBat) / BattLowVoltageWarning;
    6fb0:       42 9f           mul     r20, r18
    6fb2:       c0 01           movw    r24, r0
    6fb4:       43 9f           mul     r20, r19
    6fb6:       90 0d           add     r25, r0
    6fb8:       52 9f           mul     r21, r18
    6fba:       90 0d           add     r25, r0
    6fbc:       11 24           eor     r1, r1
    6fbe:       60 91 53 01     lds     r22, 0x0153
    6fc2:       70 e0           ldi     r23, 0x00       ; 0
    6fc4:       0e 94 42 b1     call    0x16284 ; 0x16284 <__udivmodhi4>
    6fc8:       70 93 41 01     sts     0x0141, r23
    6fcc:       60 93 40 01     sts     0x0140, r22
    6fd0:       05 c0           rjmp    .+10            ; 0x6fdc <CalcStickGasHover+0x54>
        }
  else StickGasHover = EE_Parameter.Hoehe_StickNeutralPoint;
    6fd2:       90 e0           ldi     r25, 0x00       ; 0
    6fd4:       90 93 41 01     sts     0x0141, r25
    6fd8:       80 93 40 01     sts     0x0140, r24
  LIMIT_MIN_MAX(StickGasHover, 70, 175); // reserve some range for trim up and down
    6fdc:       80 91 40 01     lds     r24, 0x0140
    6fe0:       90 91 41 01     lds     r25, 0x0141
    6fe4:       87 34           cpi     r24, 0x47       ; 71
    6fe6:       91 05           cpc     r25, r1
    6fe8:       38 f4           brcc    .+14            ; 0x6ff8 <CalcStickGasHover+0x70>
    6fea:       86 e4           ldi     r24, 0x46       ; 70
    6fec:       90 e0           ldi     r25, 0x00       ; 0
    6fee:       90 93 41 01     sts     0x0141, r25
    6ff2:       80 93 40 01     sts     0x0140, r24
    6ff6:       08 95           ret
    6ff8:       8f 3a           cpi     r24, 0xAF       ; 175
    6ffa:       91 05           cpc     r25, r1
    6ffc:       30 f0           brcs    .+12            ; 0x700a <CalcStickGasHover+0x82>
    6ffe:       8f ea           ldi     r24, 0xAF       ; 175
    7000:       90 e0           ldi     r25, 0x00       ; 0
    7002:       90 93 41 01     sts     0x0141, r25
    7006:       80 93 40 01     sts     0x0140, r24
    700a:       08 95           ret

0000700c <MotorRegler>:

//############################################################################
//
void MotorRegler(void)
//############################################################################
{
    700c:       2f 92           push    r2
    700e:       3f 92           push    r3
    7010:       4f 92           push    r4
    7012:       5f 92           push    r5
    7014:       6f 92           push    r6
    7016:       7f 92           push    r7
    7018:       8f 92           push    r8
    701a:       9f 92           push    r9
    701c:       af 92           push    r10
    701e:       bf 92           push    r11
    7020:       cf 92           push    r12
    7022:       df 92           push    r13
    7024:       ef 92           push    r14
    7026:       ff 92           push    r15
    7028:       0f 93           push    r16
    702a:       1f 93           push    r17
    702c:       cf 93           push    r28
    702e:       df 93           push    r29
    7030:       cd b7           in      r28, 0x3d       ; 61
    7032:       de b7           in      r29, 0x3e       ; 62
    7034:       a6 97           sbiw    r28, 0x26       ; 38
    7036:       0f b6           in      r0, 0x3f        ; 63
    7038:       f8 94           cli
    703a:       de bf           out     0x3e, r29       ; 62
    703c:       0f be           out     0x3f, r0        ; 63
    703e:       cd bf           out     0x3d, r28       ; 61
         static unsigned char delay_neutral = 0;
         static unsigned char delay_einschalten = 0,delay_ausschalten = 0;
         static signed char move_safety_switch = 0;
     int IntegralNickMalFaktor,IntegralRollMalFaktor;
         unsigned char i;
        Mittelwert();
    7040:       0e 94 08 2d     call    0x5a10  ; 0x5a10 <Mittelwert>
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gaswert ermitteln
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  if(!(FC_StatusFlags & (FC_STATUS_EMERGENCY_LANDING | FC_STATUS2_RC_FAILSAVE_ACTIVE)))
    7044:       80 91 cb 03     lds     r24, 0x03CB
    7048:       84 71           andi    r24, 0x14       ; 20
    704a:       a9 f5           brne    .+106           ; 0x70b6 <MotorRegler+0xaa>
   {
        if(EE_Parameter.GlobalConfig3 & CFG3_VARIO_FAILSAFE) 
    704c:       80 91 b9 05     lds     r24, 0x05B9
    7050:       82 ff           sbrs    r24, 2
    7052:       2a c0           rjmp    .+84            ; 0x70a8 <MotorRegler+0x9c>
        {
     if(HoverGas && HoverGas < 150 * STICK_GAIN)
    7054:       80 91 e8 03     lds     r24, 0x03E8
    7058:       90 91 e9 03     lds     r25, 0x03E9
    705c:       00 97           sbiw    r24, 0x00       ; 0
    705e:       e9 f0           breq    .+58            ; 0x709a <MotorRegler+0x8e>
    7060:       88 35           cpi     r24, 0x58       ; 88
    7062:       02 e0           ldi     r16, 0x02       ; 2
    7064:       90 07           cpc     r25, r16
    7066:       cc f4           brge    .+50            ; 0x709a <MotorRegler+0x8e>
           {
                HooverGasEmergencyPercent = (HoverGas/(STICK_GAIN) * EE_Parameter.NotGas) / 100; // i.e. 80% of Hovergas
    7068:       9c 01           movw    r18, r24
    706a:       99 23           and     r25, r25
    706c:       14 f4           brge    .+4             ; 0x7072 <MotorRegler+0x66>
    706e:       2d 5f           subi    r18, 0xFD       ; 253
    7070:       3f 4f           sbci    r19, 0xFF       ; 255
    7072:       35 95           asr     r19
    7074:       27 95           ror     r18
    7076:       35 95           asr     r19
    7078:       27 95           ror     r18
    707a:       40 91 63 05     lds     r20, 0x0563
    707e:       42 9f           mul     r20, r18
    7080:       c0 01           movw    r24, r0
    7082:       43 9f           mul     r20, r19
    7084:       90 0d           add     r25, r0
    7086:       11 24           eor     r1, r1
    7088:       64 e6           ldi     r22, 0x64       ; 100
    708a:       70 e0           ldi     r23, 0x00       ; 0
    708c:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    7090:       70 93 c8 03     sts     0x03C8, r23
    7094:       60 93 c7 03     sts     0x03C7, r22
    7098:       0e c0           rjmp    .+28            ; 0x70b6 <MotorRegler+0xaa>
           }
      else HooverGasEmergencyPercent = 45;  // default if the Hoovergas was could not calculated yet
    709a:       8d e2           ldi     r24, 0x2D       ; 45
    709c:       90 e0           ldi     r25, 0x00       ; 0
    709e:       90 93 c8 03     sts     0x03C8, r25
    70a2:       80 93 c7 03     sts     0x03C7, r24
    70a6:       07 c0           rjmp    .+14            ; 0x70b6 <MotorRegler+0xaa>
    } else HooverGasEmergencyPercent = EE_Parameter.NotGas;
    70a8:       80 91 63 05     lds     r24, 0x0563
    70ac:       90 e0           ldi     r25, 0x00       ; 0
    70ae:       90 93 c8 03     sts     0x03C8, r25
    70b2:       80 93 c7 03     sts     0x03C7, r24
   }
   if(GasIsZeroCnt == 30000)  // in that case we have RC-Lost, but the MK is probably landed
    70b6:       20 91 c5 03     lds     r18, 0x03C5
    70ba:       30 91 c6 03     lds     r19, 0x03C6
    70be:       20 33           cpi     r18, 0x30       ; 48
    70c0:       15 e7           ldi     r17, 0x75       ; 117
    70c2:       31 07           cpc     r19, r17
    70c4:       59 f4           brne    .+22            ; 0x70dc <MotorRegler+0xd0>
    {
         StickGas = 0; // Hold Gas down in that case 
    70c6:       10 92 0f 04     sts     0x040F, r1
    70ca:       10 92 0e 04     sts     0x040E, r1
         HooverGasEmergencyPercent = MIN_GAS;
    70ce:       80 91 2c 06     lds     r24, 0x062C
    70d2:       90 e0           ldi     r25, 0x00       ; 0
    70d4:       90 93 c8 03     sts     0x03C8, r25
    70d8:       80 93 c7 03     sts     0x03C7, r24
        } 
        GasMischanteil = StickGas;
    70dc:       80 91 0e 04     lds     r24, 0x040E
    70e0:       90 91 0f 04     lds     r25, 0x040F
    if(GasMischanteil < MIN_GAS + 10) GasMischanteil = MIN_GAS + 10;
    70e4:       20 90 2c 06     lds     r2, 0x062C
    70e8:       31 2c           mov     r3, r1
    70ea:       4a e0           ldi     r20, 0x0A       ; 10
    70ec:       24 0e           add     r2, r20
    70ee:       31 1c           adc     r3, r1
    70f0:       28 16           cp      r2, r24
    70f2:       39 06           cpc     r3, r25
    70f4:       0c f4           brge    .+2             ; 0x70f8 <MotorRegler+0xec>
    70f6:       1c 01           movw    r2, r24
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Empfang schlecht
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   if(SenderOkay < 100 && !(FC_StatusFlags2 & FC_STATUS2_RC_FAILSAVE_ACTIVE))
    70f8:       80 91 04 04     lds     r24, 0x0404
    70fc:       84 36           cpi     r24, 0x64       ; 100
    70fe:       a0 f5           brcc    .+104           ; 0x7168 <MotorRegler+0x15c>
    7100:       80 91 ca 03     lds     r24, 0x03CA
    7104:       82 fd           sbrc    r24, 2
    7106:       30 c0           rjmp    .+96            ; 0x7168 <MotorRegler+0x15c>
        {
        if(RcLostTimer) RcLostTimer--;
    7108:       80 91 a2 03     lds     r24, 0x03A2
    710c:       90 91 a3 03     lds     r25, 0x03A3
    7110:       00 97           sbiw    r24, 0x00       ; 0
    7112:       31 f0           breq    .+12            ; 0x7120 <MotorRegler+0x114>
    7114:       01 97           sbiw    r24, 0x01       ; 1
    7116:       90 93 a3 03     sts     0x03A3, r25
    711a:       80 93 a2 03     sts     0x03A2, r24
    711e:       0b c0           rjmp    .+22            ; 0x7136 <MotorRegler+0x12a>
        else
         {
          MotorenEin = 0;
    7120:       10 92 03 04     sts     0x0403, r1
                  modell_fliegt = 0;
    7124:       10 92 cd 03     sts     0x03CD, r1
    7128:       10 92 cc 03     sts     0x03CC, r1
          FC_StatusFlags &= ~(FC_STATUS_EMERGENCY_LANDING | FC_STATUS_FLY);
    712c:       80 91 cb 03     lds     r24, 0x03CB
    7130:       8d 7e           andi    r24, 0xED       ; 237
    7132:       80 93 cb 03     sts     0x03CB, r24
         }
        ROT_ON;
    7136:       28 9a           sbi     0x05, 0 ; 5
        if(modell_fliegt > 1000 && Capacity.MinOfMaxPWM > 100)  // wahrscheinlich in der Luft --> langsam absenken
    7138:       80 91 cc 03     lds     r24, 0x03CC
    713c:       90 91 cd 03     lds     r25, 0x03CD
    7140:       89 3e           cpi     r24, 0xE9       ; 233
    7142:       93 40           sbci    r25, 0x03       ; 3
    7144:       70 f0           brcs    .+28            ; 0x7162 <MotorRegler+0x156>
    7146:       80 91 1b 05     lds     r24, 0x051B
    714a:       85 36           cpi     r24, 0x65       ; 101
    714c:       50 f0           brcs    .+20            ; 0x7162 <MotorRegler+0x156>
            {
            GasMischanteil = HooverGasEmergencyPercent;
    714e:       20 90 c7 03     lds     r2, 0x03C7
    7152:       30 90 c8 03     lds     r3, 0x03C8
            FC_StatusFlags |= FC_STATUS_EMERGENCY_LANDING;
    7156:       80 91 cb 03     lds     r24, 0x03CB
    715a:       80 61           ori     r24, 0x10       ; 16
    715c:       80 93 cb 03     sts     0x03CB, r24
    7160:       f1 c5           rjmp    .+3042          ; 0x7d44 <MotorRegler+0xd38>
            }
         else 
                    {
                          MotorenEin = 0;
    7162:       10 92 03 04     sts     0x0403, r1
    7166:       ee c5           rjmp    .+3036          ; 0x7d44 <MotorRegler+0xd38>
        }
        else
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Emfang gut
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        if(SenderOkay > 140)
    7168:       80 91 04 04     lds     r24, 0x0404
    716c:       8d 38           cpi     r24, 0x8D       ; 141
    716e:       08 f4           brcc    .+2             ; 0x7172 <MotorRegler+0x166>
    7170:       bf c5           rjmp    .+2942          ; 0x7cf0 <MotorRegler+0xce4>
            {
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                     static unsigned int trigger = 1000;
                         static unsigned char old_switch = 100;
                        if(EE_Parameter.StartLandChannel && EE_Parameter.LandingSpeed)
    7172:       80 91 af 05     lds     r24, 0x05AF
    7176:       88 23           and     r24, r24
    7178:       09 f4           brne    .+2             ; 0x717c <MotorRegler+0x170>
    717a:       4d c0           rjmp    .+154           ; 0x7216 <MotorRegler+0x20a>
    717c:       90 91 b0 05     lds     r25, 0x05B0
    7180:       99 23           and     r25, r25
    7182:       09 f4           brne    .+2             ; 0x7186 <MotorRegler+0x17a>
    7184:       48 c0           rjmp    .+144           ; 0x7216 <MotorRegler+0x20a>
                        {
                                if(PPM_in[EE_Parameter.StartLandChannel] > 50) 
    7186:       90 e0           ldi     r25, 0x00       ; 0
    7188:       fc 01           movw    r30, r24
    718a:       ee 0f           add     r30, r30
    718c:       ff 1f           adc     r31, r31
    718e:       ef 5c           subi    r30, 0xCF       ; 207
    7190:       f7 4f           sbci    r31, 0xF7       ; 247
    7192:       20 81           ld      r18, Z
    7194:       31 81           ldd     r19, Z+1        ; 0x01
    7196:       23 33           cpi     r18, 0x33       ; 51
    7198:       31 05           cpc     r19, r1
    719a:       cc f0           brlt    .+50            ; 0x71ce <MotorRegler+0x1c2>
                                {
                                 if(old_switch == 50) if(FC_StatusFlags2 & FC_STATUS2_WAIT_FOR_TAKEOFF) { FC_StatusFlags2 |= FC_STATUS2_AUTO_STARTING; SpeakHoTT = SPEAK_RISING;}
    719c:       80 91 1f 01     lds     r24, 0x011F
    71a0:       82 33           cpi     r24, 0x32       ; 50
    71a2:       61 f4           brne    .+24            ; 0x71bc <MotorRegler+0x1b0>
    71a4:       80 91 ca 03     lds     r24, 0x03CA
    71a8:       85 ff           sbrs    r24, 5
    71aa:       08 c0           rjmp    .+16            ; 0x71bc <MotorRegler+0x1b0>
    71ac:       80 91 ca 03     lds     r24, 0x03CA
    71b0:       80 64           ori     r24, 0x40       ; 64
    71b2:       80 93 ca 03     sts     0x03CA, r24
    71b6:       80 e3           ldi     r24, 0x30       ; 48
    71b8:       80 93 57 01     sts     0x0157, r24
                                 FC_StatusFlags2 &= ~FC_STATUS2_AUTO_LANDING;
    71bc:       80 91 ca 03     lds     r24, 0x03CA
    71c0:       8f 77           andi    r24, 0x7F       ; 127
    71c2:       80 93 ca 03     sts     0x03CA, r24
                                 old_switch = 150;
    71c6:       86 e9           ldi     r24, 0x96       ; 150
    71c8:       80 93 1f 01     sts     0x011F, r24
    71cc:       24 c0           rjmp    .+72            ; 0x7216 <MotorRegler+0x20a>
                                }
                                else 
                                if(PPM_in[EE_Parameter.StartLandChannel] < -50) 
    71ce:       fc 01           movw    r30, r24
    71d0:       ee 0f           add     r30, r30
    71d2:       ff 1f           adc     r31, r31
    71d4:       ef 5c           subi    r30, 0xCF       ; 207
    71d6:       f7 4f           sbci    r31, 0xF7       ; 247
    71d8:       80 81           ld      r24, Z
    71da:       91 81           ldd     r25, Z+1        ; 0x01
    71dc:       8e 3c           cpi     r24, 0xCE       ; 206
    71de:       9f 4f           sbci    r25, 0xFF       ; 255
    71e0:       ac f4           brge    .+42            ; 0x720c <MotorRegler+0x200>
                                {
                                 if(old_switch == 150) { FC_StatusFlags2 |= FC_STATUS2_AUTO_LANDING; SpeakHoTT = SPEAK_SINKING;}
    71e2:       80 91 1f 01     lds     r24, 0x011F
    71e6:       86 39           cpi     r24, 0x96       ; 150
    71e8:       41 f4           brne    .+16            ; 0x71fa <MotorRegler+0x1ee>
    71ea:       80 91 ca 03     lds     r24, 0x03CA
    71ee:       80 68           ori     r24, 0x80       ; 128
    71f0:       80 93 ca 03     sts     0x03CA, r24
    71f4:       8f e2           ldi     r24, 0x2F       ; 47
    71f6:       80 93 57 01     sts     0x0157, r24
                                 FC_StatusFlags2 &= ~FC_STATUS2_AUTO_STARTING;
    71fa:       80 91 ca 03     lds     r24, 0x03CA
    71fe:       8f 7b           andi    r24, 0xBF       ; 191
    7200:       80 93 ca 03     sts     0x03CA, r24
                                 old_switch = 50;
    7204:       82 e3           ldi     r24, 0x32       ; 50
    7206:       80 93 1f 01     sts     0x011F, r24
    720a:       05 c0           rjmp    .+10            ; 0x7216 <MotorRegler+0x20a>
                                }
                                else 
                                {
                                 FC_StatusFlags2 &= ~(FC_STATUS2_AUTO_STARTING | FC_STATUS2_AUTO_LANDING);
    720c:       80 91 ca 03     lds     r24, 0x03CA
    7210:       8f 73           andi    r24, 0x3F       ; 63
    7212:       80 93 ca 03     sts     0x03CA, r24
                                }
                        }
#endif
                        FC_StatusFlags &= ~FC_STATUS_EMERGENCY_LANDING;
    7216:       80 91 cb 03     lds     r24, 0x03CB
    721a:       8f 7e           andi    r24, 0xEF       ; 239
    721c:       80 93 cb 03     sts     0x03CB, r24
            RcLostTimer = EE_Parameter.NotGasZeit * 50;
    7220:       80 91 64 05     lds     r24, 0x0564
    7224:       72 e3           ldi     r23, 0x32       ; 50
    7226:       87 9f           mul     r24, r23
    7228:       c0 01           movw    r24, r0
    722a:       11 24           eor     r1, r1
    722c:       90 93 a3 03     sts     0x03A3, r25
    7230:       80 93 a2 03     sts     0x03A2, r24
            if(GasMischanteil > 40 && MotorenEin)
    7234:       89 e2           ldi     r24, 0x29       ; 41
    7236:       28 16           cp      r2, r24
    7238:       31 04           cpc     r3, r1
    723a:       8c f0           brlt    .+34            ; 0x725e <MotorRegler+0x252>
    723c:       80 91 03 04     lds     r24, 0x0403
    7240:       88 23           and     r24, r24
    7242:       69 f0           breq    .+26            ; 0x725e <MotorRegler+0x252>
                {
                if(modell_fliegt < 0xffff) modell_fliegt++;
    7244:       80 91 cc 03     lds     r24, 0x03CC
    7248:       90 91 cd 03     lds     r25, 0x03CD
    724c:       8f 3f           cpi     r24, 0xFF       ; 255
    724e:       af ef           ldi     r26, 0xFF       ; 255
    7250:       9a 07           cpc     r25, r26
    7252:       b1 f1           breq    .+108           ; 0x72c0 <MotorRegler+0x2b4>
    7254:       01 96           adiw    r24, 0x01       ; 1
    7256:       90 93 cd 03     sts     0x03CD, r25
    725a:       80 93 cc 03     sts     0x03CC, r24
                }
            if((modell_fliegt < 256))
    725e:       80 91 cc 03     lds     r24, 0x03CC
    7262:       90 91 cd 03     lds     r25, 0x03CD
    7266:       8f 3f           cpi     r24, 0xFF       ; 255
    7268:       91 05           cpc     r25, r1
    726a:       09 f0           breq    .+2             ; 0x726e <MotorRegler+0x262>
    726c:       48 f5           brcc    .+82            ; 0x72c0 <MotorRegler+0x2b4>
             {
                SummeNick = 0;
    726e:       10 92 26 04     sts     0x0426, r1
    7272:       10 92 27 04     sts     0x0427, r1
    7276:       10 92 28 04     sts     0x0428, r1
    727a:       10 92 29 04     sts     0x0429, r1
                SummeRoll = 0;
    727e:       10 92 22 04     sts     0x0422, r1
    7282:       10 92 23 04     sts     0x0423, r1
    7286:       10 92 24 04     sts     0x0424, r1
    728a:       10 92 25 04     sts     0x0425, r1
                sollGier = 0;
    728e:       10 92 9e 03     sts     0x039E, r1
    7292:       10 92 9f 03     sts     0x039F, r1
    7296:       10 92 a0 03     sts     0x03A0, r1
    729a:       10 92 a1 03     sts     0x03A1, r1
                Mess_Integral_Gier = 0;
    729e:       10 92 2e 04     sts     0x042E, r1
    72a2:       10 92 2f 04     sts     0x042F, r1
    72a6:       10 92 30 04     sts     0x0430, r1
    72aa:       10 92 31 04     sts     0x0431, r1
                                FC_StatusFlags2 |= FC_STATUS2_WAIT_FOR_TAKEOFF;
    72ae:       80 91 ca 03     lds     r24, 0x03CA
    72b2:       80 62           ori     r24, 0x20       ; 32
    72b4:       80 93 ca 03     sts     0x03CA, r24
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                old_switch = 100;
    72b8:       84 e6           ldi     r24, 0x64       ; 100
    72ba:       80 93 1f 01     sts     0x011F, r24
    72be:       38 c1           rjmp    .+624           ; 0x7530 <MotorRegler+0x524>
#endif
             } 
                        else 
                         {
               FC_StatusFlags |= FC_STATUS_FLY;
    72c0:       80 91 cb 03     lds     r24, 0x03CB
    72c4:       82 60           ori     r24, 0x02       ; 2
    72c6:       80 93 cb 03     sts     0x03CB, r24
                           if(FC_StatusFlags2 & FC_STATUS2_WAIT_FOR_TAKEOFF)
    72ca:       80 91 ca 03     lds     r24, 0x03CA
    72ce:       85 ff           sbrs    r24, 5
    72d0:       9a c0           rjmp    .+308           ; 0x7406 <MotorRegler+0x3fa>
                           {
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                if((NC_To_FC_Flags & NC_TO_FC_AUTOSTART || FC_StatusFlags2 & FC_STATUS2_AUTO_STARTING) && (VarioCharacter == '=') && ACC_AltitudeControl)
    72d2:       80 91 b7 04     lds     r24, 0x04B7
    72d6:       28 2f           mov     r18, r24
    72d8:       24 70           andi    r18, 0x04       ; 4
    72da:       82 fd           sbrc    r24, 2
    72dc:       04 c0           rjmp    .+8             ; 0x72e6 <MotorRegler+0x2da>
    72de:       80 91 ca 03     lds     r24, 0x03CA
    72e2:       86 ff           sbrs    r24, 6
    72e4:       2a c0           rjmp    .+84            ; 0x733a <MotorRegler+0x32e>
    72e6:       80 91 20 01     lds     r24, 0x0120
    72ea:       8d 33           cpi     r24, 0x3D       ; 61
    72ec:       31 f5           brne    .+76            ; 0x733a <MotorRegler+0x32e>
    72ee:       80 91 c2 03     lds     r24, 0x03C2
    72f2:       88 23           and     r24, r24
    72f4:       11 f1           breq    .+68            ; 0x733a <MotorRegler+0x32e>
                                {
                                   FromNC_AltitudeSpeed = 80;
    72f6:       80 e5           ldi     r24, 0x50       ; 80
    72f8:       80 93 f3 03     sts     0x03F3, r24
                                   FromNC_AltitudeSetpoint = 500;
    72fc:       84 ef           ldi     r24, 0xF4       ; 244
    72fe:       91 e0           ldi     r25, 0x01       ; 1
    7300:       a0 e0           ldi     r26, 0x00       ; 0
    7302:       b0 e0           ldi     r27, 0x00       ; 0
    7304:       80 93 f4 03     sts     0x03F4, r24
    7308:       90 93 f5 03     sts     0x03F5, r25
    730c:       a0 93 f6 03     sts     0x03F6, r26
    7310:       b0 93 f7 03     sts     0x03F7, r27
                                   SollHoehe = 500;
    7314:       80 93 fa 03     sts     0x03FA, r24
    7318:       90 93 fb 03     sts     0x03FB, r25
    731c:       a0 93 fc 03     sts     0x03FC, r26
    7320:       b0 93 fd 03     sts     0x03FD, r27
                                   trigger = 1000;
    7324:       88 ee           ldi     r24, 0xE8       ; 232
    7326:       93 e0           ldi     r25, 0x03       ; 3
    7328:       90 93 1e 01     sts     0x011E, r25
    732c:       80 93 1d 01     sts     0x011D, r24
                                   if(NC_To_FC_Flags & NC_TO_FC_AUTOSTART) SpeakHoTT = SPEAK_NEXT_WP; 
    7330:       22 23           and     r18, r18
    7332:       19 f0           breq    .+6             ; 0x733a <MotorRegler+0x32e>
    7334:       8d e0           ldi     r24, 0x0D       ; 13
    7336:       80 93 57 01     sts     0x0157, r24
                                                }
*/
                            }
//                              else FC_StatusFlags2 &= ~(FC_STATUS2_AUTO_STARTING);
#endif
                            if(HoehenWertF > 150 || HoehenWert < -350 || !(Parameter_GlobalConfig & CFG_HOEHENREGELUNG)) 
    733a:       80 91 4a 03     lds     r24, 0x034A
    733e:       90 91 4b 03     lds     r25, 0x034B
    7342:       a0 91 4c 03     lds     r26, 0x034C
    7346:       b0 91 4d 03     lds     r27, 0x034D
    734a:       87 39           cpi     r24, 0x97       ; 151
    734c:       91 05           cpc     r25, r1
    734e:       a1 05           cpc     r26, r1
    7350:       b1 05           cpc     r27, r1
    7352:       8c f4           brge    .+34            ; 0x7376 <MotorRegler+0x36a>
    7354:       80 91 fe 03     lds     r24, 0x03FE
    7358:       90 91 ff 03     lds     r25, 0x03FF
    735c:       a0 91 00 04     lds     r26, 0x0400
    7360:       b0 91 01 04     lds     r27, 0x0401
    7364:       82 3a           cpi     r24, 0xA2       ; 162
    7366:       9e 4f           sbci    r25, 0xFE       ; 254
    7368:       af 4f           sbci    r26, 0xFF       ; 255
    736a:       bf 4f           sbci    r27, 0xFF       ; 255
    736c:       24 f0           brlt    .+8             ; 0x7376 <MotorRegler+0x36a>
    736e:       80 91 5c 06     lds     r24, 0x065C
    7372:       80 fd           sbrc    r24, 0
    7374:       21 c0           rjmp    .+66            ; 0x73b8 <MotorRegler+0x3ac>
                                 {
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                  trigger = 1000;
    7376:       88 ee           ldi     r24, 0xE8       ; 232
    7378:       93 e0           ldi     r25, 0x03       ; 3
    737a:       90 93 1e 01     sts     0x011E, r25
    737e:       80 93 1d 01     sts     0x011D, r24
                                  if(FC_StatusFlags2 & FC_STATUS2_AUTO_STARTING) { FromNC_AltitudeSpeed = 0; SollHoehe = 300;/*HoehenWertF + 100;*/}
    7382:       80 91 ca 03     lds     r24, 0x03CA
    7386:       86 ff           sbrs    r24, 6
    7388:       0f c0           rjmp    .+30            ; 0x73a8 <MotorRegler+0x39c>
    738a:       10 92 f3 03     sts     0x03F3, r1
    738e:       8c e2           ldi     r24, 0x2C       ; 44
    7390:       91 e0           ldi     r25, 0x01       ; 1
    7392:       a0 e0           ldi     r26, 0x00       ; 0
    7394:       b0 e0           ldi     r27, 0x00       ; 0
    7396:       80 93 fa 03     sts     0x03FA, r24
    739a:       90 93 fb 03     sts     0x03FB, r25
    739e:       a0 93 fc 03     sts     0x03FC, r26
    73a2:       b0 93 fd 03     sts     0x03FD, r27
    73a6:       03 c0           rjmp    .+6             ; 0x73ae <MotorRegler+0x3a2>
                                  else SpeakHoTT = SPEAK_RISING;
    73a8:       80 e3           ldi     r24, 0x30       ; 48
    73aa:       80 93 57 01     sts     0x0157, r24
#endif
                                  FC_StatusFlags2 &= ~(FC_STATUS2_WAIT_FOR_TAKEOFF | FC_STATUS2_AUTO_STARTING | FC_STATUS2_AUTO_LANDING);
    73ae:       80 91 ca 03     lds     r24, 0x03CA
    73b2:       8f 71           andi    r24, 0x1F       ; 31
    73b4:       80 93 ca 03     sts     0x03CA, r24
                                 }
                SummeNick = 0;
    73b8:       10 92 26 04     sts     0x0426, r1
    73bc:       10 92 27 04     sts     0x0427, r1
    73c0:       10 92 28 04     sts     0x0428, r1
    73c4:       10 92 29 04     sts     0x0429, r1
                SummeRoll = 0;
    73c8:       10 92 22 04     sts     0x0422, r1
    73cc:       10 92 23 04     sts     0x0423, r1
    73d0:       10 92 24 04     sts     0x0424, r1
    73d4:       10 92 25 04     sts     0x0425, r1
                Mess_Integral_Gier = 0;
    73d8:       10 92 2e 04     sts     0x042E, r1
    73dc:       10 92 2f 04     sts     0x042F, r1
    73e0:       10 92 30 04     sts     0x0430, r1
    73e4:       10 92 31 04     sts     0x0431, r1
//                              sollGier = 0;
                                if(modell_fliegt > 1000) modell_fliegt = 1000;  // for the Hooverpoint-Estimation
    73e8:       80 91 cc 03     lds     r24, 0x03CC
    73ec:       90 91 cd 03     lds     r25, 0x03CD
    73f0:       89 3e           cpi     r24, 0xE9       ; 233
    73f2:       93 40           sbci    r25, 0x03       ; 3
    73f4:       08 f4           brcc    .+2             ; 0x73f8 <MotorRegler+0x3ec>
    73f6:       9c c0           rjmp    .+312           ; 0x7530 <MotorRegler+0x524>
    73f8:       88 ee           ldi     r24, 0xE8       ; 232
    73fa:       93 e0           ldi     r25, 0x03       ; 3
    73fc:       90 93 cd 03     sts     0x03CD, r25
    7400:       80 93 cc 03     sts     0x03CC, r24
    7404:       95 c0           rjmp    .+298           ; 0x7530 <MotorRegler+0x524>
                           }
                                else  // Flying mode
                                {
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                if((FC_StatusFlags2 & FC_STATUS2_AUTO_LANDING) && (VarioCharacter == 'v' || VarioCharacter == '=') && ACC_AltitudeControl)
    7406:       80 91 ca 03     lds     r24, 0x03CA
    740a:       88 23           and     r24, r24
    740c:       d4 f4           brge    .+52            ; 0x7442 <MotorRegler+0x436>
    740e:       80 91 20 01     lds     r24, 0x0120
    7412:       86 37           cpi     r24, 0x76       ; 118
    7414:       11 f0           breq    .+4             ; 0x741a <MotorRegler+0x40e>
    7416:       8d 33           cpi     r24, 0x3D       ; 61
    7418:       a1 f4           brne    .+40            ; 0x7442 <MotorRegler+0x436>
    741a:       80 91 c2 03     lds     r24, 0x03C2
    741e:       88 23           and     r24, r24
    7420:       81 f0           breq    .+32            ; 0x7442 <MotorRegler+0x436>
                                {
                                   FromNC_AltitudeSpeed = EE_Parameter.LandingSpeed;
    7422:       80 91 b0 05     lds     r24, 0x05B0
    7426:       80 93 f3 03     sts     0x03F3, r24
                                   FromNC_AltitudeSetpoint = -20000;
    742a:       80 ee           ldi     r24, 0xE0       ; 224
    742c:       91 eb           ldi     r25, 0xB1       ; 177
    742e:       af ef           ldi     r26, 0xFF       ; 255
    7430:       bf ef           ldi     r27, 0xFF       ; 255
    7432:       80 93 f4 03     sts     0x03F4, r24
    7436:       90 93 f5 03     sts     0x03F5, r25
    743a:       a0 93 f6 03     sts     0x03F6, r26
    743e:       b0 93 f7 03     sts     0x03F7, r27
                            }
                                 if(trigger < 1000) 
    7442:       80 91 1d 01     lds     r24, 0x011D
    7446:       90 91 1e 01     lds     r25, 0x011E
    744a:       88 3e           cpi     r24, 0xE8       ; 232
    744c:       03 e0           ldi     r16, 0x03       ; 3
    744e:       90 07           cpc     r25, r16
    7450:       08 f0           brcs    .+2             ; 0x7454 <MotorRegler+0x448>
    7452:       49 c0           rjmp    .+146           ; 0x74e6 <MotorRegler+0x4da>
                                        {
                                                trigger++;
    7454:       9c 01           movw    r18, r24
    7456:       2f 5f           subi    r18, 0xFF       ; 255
    7458:       3f 4f           sbci    r19, 0xFF       ; 255
    745a:       30 93 1e 01     sts     0x011E, r19
    745e:       20 93 1d 01     sts     0x011D, r18
                                                SummeNick = 0;
    7462:       10 92 26 04     sts     0x0426, r1
    7466:       10 92 27 04     sts     0x0427, r1
    746a:       10 92 28 04     sts     0x0428, r1
    746e:       10 92 29 04     sts     0x0429, r1
                                                SummeRoll = 0;
    7472:       10 92 22 04     sts     0x0422, r1
    7476:       10 92 23 04     sts     0x0423, r1
    747a:       10 92 24 04     sts     0x0424, r1
    747e:       10 92 25 04     sts     0x0425, r1
                                                Mess_Integral_Gier = 0;
    7482:       10 92 2e 04     sts     0x042E, r1
    7486:       10 92 2f 04     sts     0x042F, r1
    748a:       10 92 30 04     sts     0x0430, r1
    748e:       10 92 31 04     sts     0x0431, r1
                                                SollHoehe = HoehenWertF - 300;
    7492:       80 91 4a 03     lds     r24, 0x034A
    7496:       90 91 4b 03     lds     r25, 0x034B
    749a:       a0 91 4c 03     lds     r26, 0x034C
    749e:       b0 91 4d 03     lds     r27, 0x034D
    74a2:       8c 52           subi    r24, 0x2C       ; 44
    74a4:       91 40           sbci    r25, 0x01       ; 1
    74a6:       a1 09           sbc     r26, r1
    74a8:       b1 09           sbc     r27, r1
    74aa:       80 93 fa 03     sts     0x03FA, r24
    74ae:       90 93 fb 03     sts     0x03FB, r25
    74b2:       a0 93 fc 03     sts     0x03FC, r26
    74b6:       b0 93 fd 03     sts     0x03FD, r27
                                                if(trigger == 1000 && FC_StatusFlags2 & FC_STATUS2_AUTO_LANDING && VarioCharacter != '+') 
    74ba:       28 3e           cpi     r18, 0xE8       ; 232
    74bc:       33 40           sbci    r19, 0x03       ; 3
    74be:       c1 f5           brne    .+112           ; 0x7530 <MotorRegler+0x524>
    74c0:       80 91 ca 03     lds     r24, 0x03CA
    74c4:       88 23           and     r24, r24
    74c6:       a4 f5           brge    .+104           ; 0x7530 <MotorRegler+0x524>
    74c8:       80 91 20 01     lds     r24, 0x0120
    74cc:       8b 32           cpi     r24, 0x2B       ; 43
    74ce:       81 f1           breq    .+96            ; 0x7530 <MotorRegler+0x524>
                                                 {
                                                   FC_StatusFlags2 &= ~FC_STATUS2_AUTO_LANDING; 
    74d0:       80 91 ca 03     lds     r24, 0x03CA
    74d4:       8f 77           andi    r24, 0x7F       ; 127
    74d6:       80 93 ca 03     sts     0x03CA, r24
                                                   FC_StatusFlags2 |= FC_STATUS2_WAIT_FOR_TAKEOFF;  // go back into starting state
    74da:       80 91 ca 03     lds     r24, 0x03CA
    74de:       80 62           ori     r24, 0x20       ; 32
    74e0:       80 93 ca 03     sts     0x03CA, r24
    74e4:       25 c0           rjmp    .+74            ; 0x7530 <MotorRegler+0x524>
                                             }  
                                        }
                                 else 
                                 if(ACC_AltitudeControl && (VarioCharacter == 'v' || VarioCharacter == '-') && HoehenWert < 1000 /*&& FromNC_AltitudeSetpoint < 0*/)
    74e6:       80 91 c2 03     lds     r24, 0x03C2
    74ea:       88 23           and     r24, r24
    74ec:       09 f1           breq    .+66            ; 0x7530 <MotorRegler+0x524>
    74ee:       80 91 20 01     lds     r24, 0x0120
    74f2:       86 37           cpi     r24, 0x76       ; 118
    74f4:       11 f0           breq    .+4             ; 0x74fa <MotorRegler+0x4ee>
    74f6:       8d 32           cpi     r24, 0x2D       ; 45
    74f8:       d9 f4           brne    .+54            ; 0x7530 <MotorRegler+0x524>
    74fa:       80 91 fe 03     lds     r24, 0x03FE
    74fe:       90 91 ff 03     lds     r25, 0x03FF
    7502:       a0 91 00 04     lds     r26, 0x0400
    7506:       b0 91 01 04     lds     r27, 0x0401
    750a:       88 3e           cpi     r24, 0xE8       ; 232
    750c:       93 40           sbci    r25, 0x03       ; 3
    750e:       a1 05           cpc     r26, r1
    7510:       b1 05           cpc     r27, r1
    7512:       74 f4           brge    .+28            ; 0x7530 <MotorRegler+0x524>
                                  {
                                        if(Aktuell_az > 940) 
    7514:       80 91 06 05     lds     r24, 0x0506
    7518:       90 91 07 05     lds     r25, 0x0507
    751c:       8d 3a           cpi     r24, 0xAD       ; 173
    751e:       93 40           sbci    r25, 0x03       ; 3
    7520:       3c f0           brlt    .+14            ; 0x7530 <MotorRegler+0x524>
                                         { 
                                          trigger = 0; 
    7522:       10 92 1e 01     sts     0x011E, r1
    7526:       10 92 1d 01     sts     0x011D, r1
                                          SpeakHoTT = SPEAK_LANDING; 
    752a:       8e e0           ldi     r24, 0x0E       ; 14
    752c:       80 93 57 01     sts     0x0157, r24
                                         };
                                  }
#endif
               }
                          }  // end of: modell_fliegt > 256                        
            if((PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] > 80) && MotorenEin == 0 && !(NC_To_FC_Flags & NC_TO_FC_SIMULATION_ACTIVE)) 
    7530:       e0 91 41 05     lds     r30, 0x0541
    7534:       f0 e0           ldi     r31, 0x00       ; 0
    7536:       ee 0f           add     r30, r30
    7538:       ff 1f           adc     r31, r31
    753a:       ef 5c           subi    r30, 0xCF       ; 207
    753c:       f7 4f           sbci    r31, 0xF7       ; 247
    753e:       80 81           ld      r24, Z
    7540:       91 81           ldd     r25, Z+1        ; 0x01
    7542:       81 35           cpi     r24, 0x51       ; 81
    7544:       91 05           cpc     r25, r1
    7546:       0c f4           brge    .+2             ; 0x754a <MotorRegler+0x53e>
    7548:       87 c1           rjmp    .+782           ; 0x7858 <MotorRegler+0x84c>
    754a:       80 91 03 04     lds     r24, 0x0403
    754e:       81 11           cpse    r24, r1
    7550:       83 c1           rjmp    .+774           ; 0x7858 <MotorRegler+0x84c>
    7552:       80 91 b7 04     lds     r24, 0x04B7
    7556:       84 fd           sbrc    r24, 4
    7558:       7f c1           rjmp    .+766           ; 0x7858 <MotorRegler+0x84c>
                {
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// auf Nullwerte kalibrieren
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                if(abs(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]) > 75)  // Neutralwerte
    755a:       e0 91 42 05     lds     r30, 0x0542
    755e:       f0 e0           ldi     r31, 0x00       ; 0
    7560:       ee 0f           add     r30, r30
    7562:       ff 1f           adc     r31, r31
    7564:       ef 5c           subi    r30, 0xCF       ; 207
    7566:       f7 4f           sbci    r31, 0xF7       ; 247
    7568:       80 81           ld      r24, Z
    756a:       91 81           ldd     r25, Z+1        ; 0x01
    756c:       99 23           and     r25, r25
    756e:       1c f4           brge    .+6             ; 0x7576 <MotorRegler+0x56a>
    7570:       91 95           neg     r25
    7572:       81 95           neg     r24
    7574:       91 09           sbc     r25, r1
    7576:       8c 34           cpi     r24, 0x4C       ; 76
    7578:       91 05           cpc     r25, r1
    757a:       0c f4           brge    .+2             ; 0x757e <MotorRegler+0x572>
    757c:       6b c1           rjmp    .+726           ; 0x7854 <MotorRegler+0x848>
                    {
                    if(++delay_neutral > 200)  // nicht sofort
    757e:       80 91 9d 03     lds     r24, 0x039D
    7582:       8f 5f           subi    r24, 0xFF       ; 255
    7584:       89 3c           cpi     r24, 0xC9       ; 201
    7586:       18 f4           brcc    .+6             ; 0x758e <MotorRegler+0x582>
    7588:       80 93 9d 03     sts     0x039D, r24
    758c:       65 c1           rjmp    .+714           ; 0x7858 <MotorRegler+0x84c>
                        {
                        unsigned char setting = 0;
                        delay_neutral = 0;
    758e:       10 92 9d 03     sts     0x039D, r1
                        modell_fliegt = 0;
    7592:       10 92 cd 03     sts     0x03CD, r1
    7596:       10 92 cc 03     sts     0x03CC, r1
                        if(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70 || abs(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]) > 70)
    759a:       20 91 3f 05     lds     r18, 0x053F
    759e:       30 e0           ldi     r19, 0x00       ; 0
    75a0:       f9 01           movw    r30, r18
    75a2:       ee 0f           add     r30, r30
    75a4:       ff 1f           adc     r31, r31
    75a6:       ef 5c           subi    r30, 0xCF       ; 207
    75a8:       f7 4f           sbci    r31, 0xF7       ; 247
    75aa:       80 81           ld      r24, Z
    75ac:       91 81           ldd     r25, Z+1        ; 0x01
    75ae:       87 34           cpi     r24, 0x47       ; 71
    75b0:       91 05           cpc     r25, r1
    75b2:       94 f4           brge    .+36            ; 0x75d8 <MotorRegler+0x5cc>
    75b4:       e0 91 40 05     lds     r30, 0x0540
    75b8:       f0 e0           ldi     r31, 0x00       ; 0
    75ba:       ee 0f           add     r30, r30
    75bc:       ff 1f           adc     r31, r31
    75be:       ef 5c           subi    r30, 0xCF       ; 207
    75c0:       f7 4f           sbci    r31, 0xF7       ; 247
    75c2:       80 81           ld      r24, Z
    75c4:       91 81           ldd     r25, Z+1        ; 0x01
    75c6:       99 23           and     r25, r25
    75c8:       1c f4           brge    .+6             ; 0x75d0 <MotorRegler+0x5c4>
    75ca:       91 95           neg     r25
    75cc:       81 95           neg     r24
    75ce:       91 09           sbc     r25, r1
    75d0:       87 34           cpi     r24, 0x47       ; 71
    75d2:       91 05           cpc     r25, r1
    75d4:       0c f4           brge    .+2             ; 0x75d8 <MotorRegler+0x5cc>
    75d6:       8c c0           rjmp    .+280           ; 0x76f0 <MotorRegler+0x6e4>
                        {
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > -70) setting = 1;
    75d8:       40 91 40 05     lds     r20, 0x0540
    75dc:       50 e0           ldi     r21, 0x00       ; 0
    75de:       fa 01           movw    r30, r20
    75e0:       ee 0f           add     r30, r30
    75e2:       ff 1f           adc     r31, r31
    75e4:       ef 5c           subi    r30, 0xCF       ; 207
    75e6:       f7 4f           sbci    r31, 0xF7       ; 247
    75e8:       80 81           ld      r24, Z
    75ea:       91 81           ldd     r25, Z+1        ; 0x01
    75ec:       87 34           cpi     r24, 0x47       ; 71
    75ee:       91 05           cpc     r25, r1
    75f0:       bc f0           brlt    .+46            ; 0x7620 <MotorRegler+0x614>
    75f2:       f9 01           movw    r30, r18
    75f4:       ee 0f           add     r30, r30
    75f6:       ff 1f           adc     r31, r31
    75f8:       ef 5c           subi    r30, 0xCF       ; 207
    75fa:       f7 4f           sbci    r31, 0xF7       ; 247
    75fc:       80 81           ld      r24, Z
    75fe:       91 81           ldd     r25, Z+1        ; 0x01
    7600:       86 34           cpi     r24, 0x46       ; 70
    7602:       91 05           cpc     r25, r1
    7604:       7c f4           brge    .+30            ; 0x7624 <MotorRegler+0x618>
    7606:       f9 01           movw    r30, r18
    7608:       ee 0f           add     r30, r30
    760a:       ff 1f           adc     r31, r31
    760c:       ef 5c           subi    r30, 0xCF       ; 207
    760e:       f7 4f           sbci    r31, 0xF7       ; 247
    7610:       80 81           ld      r24, Z
    7612:       91 81           ldd     r25, Z+1        ; 0x01
    7614:       11 e0           ldi     r17, 0x01       ; 1
    7616:       8b 3b           cpi     r24, 0xBB       ; 187
    7618:       9f 4f           sbci    r25, 0xFF       ; 255
    761a:       2c f4           brge    .+10            ; 0x7626 <MotorRegler+0x61a>
    761c:       10 e0           ldi     r17, 0x00       ; 0
    761e:       03 c0           rjmp    .+6             ; 0x7626 <MotorRegler+0x61a>
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                if(abs(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]) > 75)  // Neutralwerte
                    {
                    if(++delay_neutral > 200)  // nicht sofort
                        {
                        unsigned char setting = 0;
    7620:       10 e0           ldi     r17, 0x00       ; 0
    7622:       01 c0           rjmp    .+2             ; 0x7626 <MotorRegler+0x61a>
    7624:       10 e0           ldi     r17, 0x00       ; 0
                        delay_neutral = 0;
                        modell_fliegt = 0;
                        if(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70 || abs(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]) > 70)
                        {
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > -70) setting = 1;
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 2;
    7626:       fa 01           movw    r30, r20
    7628:       ee 0f           add     r30, r30
    762a:       ff 1f           adc     r31, r31
    762c:       ef 5c           subi    r30, 0xCF       ; 207
    762e:       f7 4f           sbci    r31, 0xF7       ; 247
    7630:       80 81           ld      r24, Z
    7632:       91 81           ldd     r25, Z+1        ; 0x01
    7634:       87 34           cpi     r24, 0x47       ; 71
    7636:       91 05           cpc     r25, r1
    7638:       5c f0           brlt    .+22            ; 0x7650 <MotorRegler+0x644>
    763a:       f9 01           movw    r30, r18
    763c:       ee 0f           add     r30, r30
    763e:       ff 1f           adc     r31, r31
    7640:       ef 5c           subi    r30, 0xCF       ; 207
    7642:       f7 4f           sbci    r31, 0xF7       ; 247
    7644:       80 81           ld      r24, Z
    7646:       91 81           ldd     r25, Z+1        ; 0x01
    7648:       87 34           cpi     r24, 0x47       ; 71
    764a:       91 05           cpc     r25, r1
    764c:       0c f0           brlt    .+2             ; 0x7650 <MotorRegler+0x644>
    764e:       12 e0           ldi     r17, 0x02       ; 2
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 3;
    7650:       fa 01           movw    r30, r20
    7652:       ee 0f           add     r30, r30
    7654:       ff 1f           adc     r31, r31
    7656:       ef 5c           subi    r30, 0xCF       ; 207
    7658:       f7 4f           sbci    r31, 0xF7       ; 247
    765a:       80 81           ld      r24, Z
    765c:       91 81           ldd     r25, Z+1        ; 0x01
    765e:       86 34           cpi     r24, 0x46       ; 70
    7660:       91 05           cpc     r25, r1
    7662:       5c f4           brge    .+22            ; 0x767a <MotorRegler+0x66e>
    7664:       f9 01           movw    r30, r18
    7666:       ee 0f           add     r30, r30
    7668:       ff 1f           adc     r31, r31
    766a:       ef 5c           subi    r30, 0xCF       ; 207
    766c:       f7 4f           sbci    r31, 0xF7       ; 247
    766e:       80 81           ld      r24, Z
    7670:       91 81           ldd     r25, Z+1        ; 0x01
    7672:       87 34           cpi     r24, 0x47       ; 71
    7674:       91 05           cpc     r25, r1
    7676:       0c f0           brlt    .+2             ; 0x767a <MotorRegler+0x66e>
    7678:       13 e0           ldi     r17, 0x03       ; 3
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 4;
    767a:       fa 01           movw    r30, r20
    767c:       ee 0f           add     r30, r30
    767e:       ff 1f           adc     r31, r31
    7680:       ef 5c           subi    r30, 0xCF       ; 207
    7682:       f7 4f           sbci    r31, 0xF7       ; 247
    7684:       80 81           ld      r24, Z
    7686:       91 81           ldd     r25, Z+1        ; 0x01
    7688:       8a 3b           cpi     r24, 0xBA       ; 186
    768a:       9f 4f           sbci    r25, 0xFF       ; 255
    768c:       5c f4           brge    .+22            ; 0x76a4 <MotorRegler+0x698>
    768e:       f9 01           movw    r30, r18
    7690:       ee 0f           add     r30, r30
    7692:       ff 1f           adc     r31, r31
    7694:       ef 5c           subi    r30, 0xCF       ; 207
    7696:       f7 4f           sbci    r31, 0xF7       ; 247
    7698:       80 81           ld      r24, Z
    769a:       91 81           ldd     r25, Z+1        ; 0x01
    769c:       87 34           cpi     r24, 0x47       ; 71
    769e:       91 05           cpc     r25, r1
    76a0:       0c f0           brlt    .+2             ; 0x76a4 <MotorRegler+0x698>
    76a2:       14 e0           ldi     r17, 0x04       ; 4
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70  && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > -70) setting = 5;
    76a4:       44 0f           add     r20, r20
    76a6:       55 1f           adc     r21, r21
    76a8:       fa 01           movw    r30, r20
    76aa:       ef 5c           subi    r30, 0xCF       ; 207
    76ac:       f7 4f           sbci    r31, 0xF7       ; 247
    76ae:       80 81           ld      r24, Z
    76b0:       91 81           ldd     r25, Z+1        ; 0x01
    76b2:       8a 3b           cpi     r24, 0xBA       ; 186
    76b4:       9f 4f           sbci    r25, 0xFF       ; 255
    76b6:       a4 f4           brge    .+40            ; 0x76e0 <MotorRegler+0x6d4>
    76b8:       f9 01           movw    r30, r18
    76ba:       ee 0f           add     r30, r30
    76bc:       ff 1f           adc     r31, r31
    76be:       ef 5c           subi    r30, 0xCF       ; 207
    76c0:       f7 4f           sbci    r31, 0xF7       ; 247
    76c2:       80 81           ld      r24, Z
    76c4:       91 81           ldd     r25, Z+1        ; 0x01
    76c6:       86 34           cpi     r24, 0x46       ; 70
    76c8:       91 05           cpc     r25, r1
    76ca:       54 f4           brge    .+20            ; 0x76e0 <MotorRegler+0x6d4>
    76cc:       22 0f           add     r18, r18
    76ce:       33 1f           adc     r19, r19
    76d0:       f9 01           movw    r30, r18
    76d2:       ef 5c           subi    r30, 0xCF       ; 207
    76d4:       f7 4f           sbci    r31, 0xF7       ; 247
    76d6:       80 81           ld      r24, Z
    76d8:       91 81           ldd     r25, Z+1        ; 0x01
    76da:       8b 3b           cpi     r24, 0xBB       ; 187
    76dc:       9f 4f           sbci    r25, 0xFF       ; 255
    76de:       1c f4           brge    .+6             ; 0x76e6 <MotorRegler+0x6da>
                         if(setting) SetActiveParamSet(setting);  // aktiven Datensatz merken
    76e0:       11 23           and     r17, r17
    76e2:       39 f0           breq    .+14            ; 0x76f2 <MotorRegler+0x6e6>
    76e4:       01 c0           rjmp    .+2             ; 0x76e8 <MotorRegler+0x6dc>
                        {
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > -70) setting = 1;
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 2;
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 3;
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 4;
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70  && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > -70) setting = 5;
    76e6:       15 e0           ldi     r17, 0x05       ; 5
                         if(setting) SetActiveParamSet(setting);  // aktiven Datensatz merken
    76e8:       81 2f           mov     r24, r17
    76ea:       0e 94 18 26     call    0x4c30  ; 0x4c30 <SetActiveParamSet>
    76ee:       01 c0           rjmp    .+2             ; 0x76f2 <MotorRegler+0x6e6>
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                if(abs(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]) > 75)  // Neutralwerte
                    {
                    if(++delay_neutral > 200)  // nicht sofort
                        {
                        unsigned char setting = 0;
    76f0:       10 e0           ldi     r17, 0x00       ; 0
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < 70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 3;
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > 70) setting = 4;
                         if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] <-70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70  && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > -70) setting = 5;
                         if(setting) SetActiveParamSet(setting);  // aktiven Datensatz merken
                        }
                         if(abs(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]) < 30 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < -70)
    76f2:       e0 91 40 05     lds     r30, 0x0540
    76f6:       f0 e0           ldi     r31, 0x00       ; 0
    76f8:       ee 0f           add     r30, r30
    76fa:       ff 1f           adc     r31, r31
    76fc:       ef 5c           subi    r30, 0xCF       ; 207
    76fe:       f7 4f           sbci    r31, 0xF7       ; 247
    7700:       20 81           ld      r18, Z
    7702:       31 81           ldd     r19, Z+1        ; 0x01
    7704:       33 23           and     r19, r19
    7706:       1c f4           brge    .+6             ; 0x770e <MotorRegler+0x702>
    7708:       31 95           neg     r19
    770a:       21 95           neg     r18
    770c:       31 09           sbc     r19, r1
    770e:       2e 31           cpi     r18, 0x1E       ; 30
    7710:       31 05           cpc     r19, r1
    7712:       c4 f4           brge    .+48            ; 0x7744 <MotorRegler+0x738>
    7714:       e0 91 3f 05     lds     r30, 0x053F
    7718:       f0 e0           ldi     r31, 0x00       ; 0
    771a:       ee 0f           add     r30, r30
    771c:       ff 1f           adc     r31, r31
    771e:       ef 5c           subi    r30, 0xCF       ; 207
    7720:       f7 4f           sbci    r31, 0xF7       ; 247
    7722:       20 81           ld      r18, Z
    7724:       31 81           ldd     r19, Z+1        ; 0x01
    7726:       2a 3b           cpi     r18, 0xBA       ; 186
    7728:       3f 4f           sbci    r19, 0xFF       ; 255
    772a:       64 f4           brge    .+24            ; 0x7744 <MotorRegler+0x738>
                          {
                           WinkelOut.CalcState = 1;
    772c:       81 e0           ldi     r24, 0x01       ; 1
    772e:       80 93 7d 0a     sts     0x0A7D, r24
                                                   CalibrationDone = 0;
    7732:       10 92 ef 03     sts     0x03EF, r1
                           beeptime = 1000;
    7736:       88 ee           ldi     r24, 0xE8       ; 232
    7738:       93 e0           ldi     r25, 0x03       ; 3
    773a:       90 93 ce 04     sts     0x04CE, r25
    773e:       80 93 cd 04     sts     0x04CD, r24
    7742:       8a c0           rjmp    .+276           ; 0x7858 <MotorRegler+0x84c>
                          }
                          else
                          {
                               ParamSet_ReadFromEEProm(ActiveParamSet);
    7744:       80 91 52 01     lds     r24, 0x0152
    7748:       0e 94 4e 25     call    0x4a9c  ; 0x4a9c <ParamSet_ReadFromEEProm>
                               LipoDetection(0);
    774c:       80 e0           ldi     r24, 0x00       ; 0
    774e:       0e 94 90 59     call    0xb320  ; 0xb320 <LipoDetection>
                                                   LIBFC_ReceiverInit(EE_Parameter.Receiver);
    7752:       80 91 65 05     lds     r24, 0x0565
    7756:       0e 94 68 18     call    0x30d0  ; 0x30d0 <LIBFC_ReceiverInit>
                           if((Parameter_GlobalConfig & CFG_HOEHENREGELUNG))  // Höhenregelung aktiviert?
    775a:       80 91 5c 06     lds     r24, 0x065C
    775e:       80 ff           sbrs    r24, 0
    7760:       10 c0           rjmp    .+32            ; 0x7782 <MotorRegler+0x776>
                            {
                             if((MessLuftdruck > 950) || (MessLuftdruck < 750)) SucheLuftruckOffset();
    7762:       20 91 10 01     lds     r18, 0x0110
    7766:       30 91 11 01     lds     r19, 0x0111
    776a:       27 3b           cpi     r18, 0xB7       ; 183
    776c:       33 40           sbci    r19, 0x03       ; 3
    776e:       38 f4           brcc    .+14            ; 0x777e <MotorRegler+0x772>
    7770:       20 91 10 01     lds     r18, 0x0110
    7774:       30 91 11 01     lds     r19, 0x0111
    7778:       2e 3e           cpi     r18, 0xEE       ; 238
    777a:       32 40           sbci    r19, 0x02       ; 2
    777c:       10 f4           brcc    .+4             ; 0x7782 <MotorRegler+0x776>
    777e:       0e 94 4b 1b     call    0x3696  ; 0x3696 <SucheLuftruckOffset>
                            }
                           if(!setting && PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < -70 && PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < 70) CalibrationDone = SetNeutral(3);
    7782:       11 11           cpse    r17, r1
    7784:       41 c0           rjmp    .+130           ; 0x7808 <MotorRegler+0x7fc>
    7786:       e0 91 40 05     lds     r30, 0x0540
    778a:       f0 e0           ldi     r31, 0x00       ; 0
    778c:       ee 0f           add     r30, r30
    778e:       ff 1f           adc     r31, r31
    7790:       ef 5c           subi    r30, 0xCF       ; 207
    7792:       f7 4f           sbci    r31, 0xF7       ; 247
    7794:       80 81           ld      r24, Z
    7796:       91 81           ldd     r25, Z+1        ; 0x01
    7798:       8a 3b           cpi     r24, 0xBA       ; 186
    779a:       9f 4f           sbci    r25, 0xFF       ; 255
    779c:       94 f4           brge    .+36            ; 0x77c2 <MotorRegler+0x7b6>
    779e:       e0 91 3f 05     lds     r30, 0x053F
    77a2:       f0 e0           ldi     r31, 0x00       ; 0
    77a4:       ee 0f           add     r30, r30
    77a6:       ff 1f           adc     r31, r31
    77a8:       ef 5c           subi    r30, 0xCF       ; 207
    77aa:       f7 4f           sbci    r31, 0xF7       ; 247
    77ac:       80 81           ld      r24, Z
    77ae:       91 81           ldd     r25, Z+1        ; 0x01
    77b0:       86 34           cpi     r24, 0x46       ; 70
    77b2:       91 05           cpc     r25, r1
    77b4:       34 f4           brge    .+12            ; 0x77c2 <MotorRegler+0x7b6>
    77b6:       83 e0           ldi     r24, 0x03       ; 3
    77b8:       0e 94 53 29     call    0x52a6  ; 0x52a6 <SetNeutral>
    77bc:       80 93 ef 03     sts     0x03EF, r24
    77c0:       28 c0           rjmp    .+80            ; 0x7812 <MotorRegler+0x806>
                                                   else
                                                   if(!setting && PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -75 && abs(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]]) < 70)  CalibrationDone = SetNeutral(2); // store ACC values into EEPROM
    77c2:       e0 91 42 05     lds     r30, 0x0542
    77c6:       f0 e0           ldi     r31, 0x00       ; 0
    77c8:       ee 0f           add     r30, r30
    77ca:       ff 1f           adc     r31, r31
    77cc:       ef 5c           subi    r30, 0xCF       ; 207
    77ce:       f7 4f           sbci    r31, 0xF7       ; 247
    77d0:       80 81           ld      r24, Z
    77d2:       91 81           ldd     r25, Z+1        ; 0x01
    77d4:       85 3b           cpi     r24, 0xB5       ; 181
    77d6:       9f 4f           sbci    r25, 0xFF       ; 255
    77d8:       bc f4           brge    .+46            ; 0x7808 <MotorRegler+0x7fc>
    77da:       e0 91 3f 05     lds     r30, 0x053F
    77de:       f0 e0           ldi     r31, 0x00       ; 0
    77e0:       ee 0f           add     r30, r30
    77e2:       ff 1f           adc     r31, r31
    77e4:       ef 5c           subi    r30, 0xCF       ; 207
    77e6:       f7 4f           sbci    r31, 0xF7       ; 247
    77e8:       80 81           ld      r24, Z
    77ea:       91 81           ldd     r25, Z+1        ; 0x01
    77ec:       99 23           and     r25, r25
    77ee:       1c f4           brge    .+6             ; 0x77f6 <MotorRegler+0x7ea>
    77f0:       91 95           neg     r25
    77f2:       81 95           neg     r24
    77f4:       91 09           sbc     r25, r1
    77f6:       86 34           cpi     r24, 0x46       ; 70
    77f8:       91 05           cpc     r25, r1
    77fa:       34 f4           brge    .+12            ; 0x7808 <MotorRegler+0x7fc>
    77fc:       82 e0           ldi     r24, 0x02       ; 2
    77fe:       0e 94 53 29     call    0x52a6  ; 0x52a6 <SetNeutral>
    7802:       80 93 ef 03     sts     0x03EF, r24
    7806:       05 c0           rjmp    .+10            ; 0x7812 <MotorRegler+0x806>
                                                   else    CalibrationDone = SetNeutral(1);
    7808:       81 e0           ldi     r24, 0x01       ; 1
    780a:       0e 94 53 29     call    0x52a6  ; 0x52a6 <SetNeutral>
    780e:       80 93 ef 03     sts     0x03EF, r24
                                                   ServoActive = 1;
    7812:       81 e0           ldi     r24, 0x01       ; 1
    7814:       80 93 cb 04     sts     0x04CB, r24
                                                   DDRD  |=0x80; // enable J7 -> Servo signal
    7818:       57 9a           sbi     0x0a, 7 ; 10
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                                   if(VersionInfo.HardwareError[0]) SpeakHoTT = SPEAK_ERR_SENSOR; 
    781a:       80 91 62 0a     lds     r24, 0x0A62
    781e:       88 23           and     r24, r24
    7820:       21 f0           breq    .+8             ; 0x782a <MotorRegler+0x81e>
    7822:       87 e0           ldi     r24, 0x07       ; 7
    7824:       80 93 57 01     sts     0x0157, r24
    7828:       0b c0           rjmp    .+22            ; 0x7840 <MotorRegler+0x834>
                                                   else 
                                                   if(!CalibrationDone) SpeakHoTT = SPEAK_ERR_CALIBARTION; 
    782a:       80 91 ef 03     lds     r24, 0x03EF
    782e:       81 11           cpse    r24, r1
    7830:       04 c0           rjmp    .+8             ; 0x783a <MotorRegler+0x82e>
    7832:       81 e0           ldi     r24, 0x01       ; 1
    7834:       80 93 57 01     sts     0x0157, r24
    7838:       03 c0           rjmp    .+6             ; 0x7840 <MotorRegler+0x834>
                                                   else SpeakHoTT = SPEAK_CALIBRATE; 
    783a:       88 e1           ldi     r24, 0x18       ; 24
    783c:       80 93 57 01     sts     0x0157, r24
                                                   ShowSettingNameTime = 10; // for HoTT & Jeti 
    7840:       8a e0           ldi     r24, 0x0A       ; 10
    7842:       80 93 80 04     sts     0x0480, r24
#endif
                           Piep(ActiveParamSet,120);
    7846:       68 e7           ldi     r22, 0x78       ; 120
    7848:       70 e0           ldi     r23, 0x00       ; 0
    784a:       80 91 52 01     lds     r24, 0x0152
    784e:       0e 94 ba 28     call    0x5174  ; 0x5174 <Piep>
    7852:       02 c0           rjmp    .+4             ; 0x7858 <MotorRegler+0x84c>
#endif
                        Piep(ActiveParamSet,120);
                        }
                    }
*/
                 else delay_neutral = 0;
    7854:       10 92 9d 03     sts     0x039D, r1
                }
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gas ist unten
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            if(PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] < -100)
    7858:       e0 91 41 05     lds     r30, 0x0541
    785c:       f0 e0           ldi     r31, 0x00       ; 0
    785e:       ee 0f           add     r30, r30
    7860:       ff 1f           adc     r31, r31
    7862:       ef 5c           subi    r30, 0xCF       ; 207
    7864:       f7 4f           sbci    r31, 0xF7       ; 247
    7866:       80 81           ld      r24, Z
    7868:       91 81           ldd     r25, Z+1        ; 0x01
    786a:       8c 39           cpi     r24, 0x9C       ; 156
    786c:       9f 4f           sbci    r25, 0xFF       ; 255
    786e:       0c f0           brlt    .+2             ; 0x7872 <MotorRegler+0x866>
    7870:       38 c2           rjmp    .+1136          ; 0x7ce2 <MotorRegler+0xcd6>
                {
                                        if(PPM_diff[EE_Parameter.MotorSafetySwitch & 127] > 5) move_safety_switch = 100;
    7872:       40 91 a3 05     lds     r20, 0x05A3
    7876:       84 2f           mov     r24, r20
    7878:       8f 77           andi    r24, 0x7F       ; 127
    787a:       90 e0           ldi     r25, 0x00       ; 0
    787c:       fc 01           movw    r30, r24
    787e:       ee 0f           add     r30, r30
    7880:       ff 1f           adc     r31, r31
    7882:       e9 58           subi    r30, 0x89       ; 137
    7884:       f7 4f           sbci    r31, 0xF7       ; 247
    7886:       20 81           ld      r18, Z
    7888:       31 81           ldd     r19, Z+1        ; 0x01
    788a:       26 30           cpi     r18, 0x06       ; 6
    788c:       31 05           cpc     r19, r1
    788e:       24 f0           brlt    .+8             ; 0x7898 <MotorRegler+0x88c>
    7890:       84 e6           ldi     r24, 0x64       ; 100
    7892:       80 93 9c 03     sts     0x039C, r24
    7896:       0d c0           rjmp    .+26            ; 0x78b2 <MotorRegler+0x8a6>
                                        else
                                        if(PPM_diff[EE_Parameter.MotorSafetySwitch & 127] < -5) move_safety_switch = -100;
    7898:       fc 01           movw    r30, r24
    789a:       ee 0f           add     r30, r30
    789c:       ff 1f           adc     r31, r31
    789e:       e9 58           subi    r30, 0x89       ; 137
    78a0:       f7 4f           sbci    r31, 0xF7       ; 247
    78a2:       80 81           ld      r24, Z
    78a4:       91 81           ldd     r25, Z+1        ; 0x01
    78a6:       8b 3f           cpi     r24, 0xFB       ; 251
    78a8:       9f 4f           sbci    r25, 0xFF       ; 255
    78aa:       1c f4           brge    .+6             ; 0x78b2 <MotorRegler+0x8a6>
    78ac:       8c e9           ldi     r24, 0x9C       ; 156
    78ae:       80 93 9c 03     sts     0x039C, r24
                                        // Motoren Starten
                                        if(!MotorenEin)
    78b2:       80 91 03 04     lds     r24, 0x0403
    78b6:       81 11           cpse    r24, r1
    78b8:       66 c1           rjmp    .+716           ; 0x7b86 <MotorRegler+0xb7a>
                        {
                                                if(((((PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] < -100) && ((!(EE_Parameter.GlobalConfig3 & CFG3_MOTOR_SWITCH_MODE) && PPM_in[EE_Parameter.MotorSafetySwitch] < -75) || EE_Parameter.MotorSafetySwitch == 0)))
    78ba:       e0 91 42 05     lds     r30, 0x0542
    78be:       f0 e0           ldi     r31, 0x00       ; 0
    78c0:       ee 0f           add     r30, r30
    78c2:       ff 1f           adc     r31, r31
    78c4:       ef 5c           subi    r30, 0xCF       ; 207
    78c6:       f7 4f           sbci    r31, 0xF7       ; 247
    78c8:       80 81           ld      r24, Z
    78ca:       91 81           ldd     r25, Z+1        ; 0x01
    78cc:       8c 39           cpi     r24, 0x9C       ; 156
    78ce:       9f 4f           sbci    r25, 0xFF       ; 255
    78d0:       8c f4           brge    .+34            ; 0x78f4 <MotorRegler+0x8e8>
    78d2:       80 91 b9 05     lds     r24, 0x05B9
    78d6:       83 fd           sbrc    r24, 3
    78d8:       0b c0           rjmp    .+22            ; 0x78f0 <MotorRegler+0x8e4>
    78da:       e4 2f           mov     r30, r20
    78dc:       f0 e0           ldi     r31, 0x00       ; 0
    78de:       ee 0f           add     r30, r30
    78e0:       ff 1f           adc     r31, r31
    78e2:       ef 5c           subi    r30, 0xCF       ; 207
    78e4:       f7 4f           sbci    r31, 0xF7       ; 247
    78e6:       80 81           ld      r24, Z
    78e8:       91 81           ldd     r25, Z+1        ; 0x01
    78ea:       85 3b           cpi     r24, 0xB5       ; 181
    78ec:       9f 4f           sbci    r25, 0xFF       ; 255
    78ee:       bc f0           brlt    .+46            ; 0x791e <MotorRegler+0x912>
    78f0:       44 23           and     r20, r20
    78f2:       a9 f0           breq    .+42            ; 0x791e <MotorRegler+0x912>
                                                || (((EE_Parameter.GlobalConfig3 & CFG3_MOTOR_SWITCH_MODE) && PPM_in[EE_Parameter.MotorSafetySwitch] > -10 && move_safety_switch == 100))) 
    78f4:       80 91 b9 05     lds     r24, 0x05B9
    78f8:       83 ff           sbrs    r24, 3
    78fa:       42 c1           rjmp    .+644           ; 0x7b80 <MotorRegler+0xb74>
    78fc:       e4 2f           mov     r30, r20
    78fe:       f0 e0           ldi     r31, 0x00       ; 0
    7900:       ee 0f           add     r30, r30
    7902:       ff 1f           adc     r31, r31
    7904:       ef 5c           subi    r30, 0xCF       ; 207
    7906:       f7 4f           sbci    r31, 0xF7       ; 247
    7908:       80 81           ld      r24, Z
    790a:       91 81           ldd     r25, Z+1        ; 0x01
    790c:       87 3f           cpi     r24, 0xF7       ; 247
    790e:       9f 4f           sbci    r25, 0xFF       ; 255
    7910:       0c f4           brge    .+2             ; 0x7914 <MotorRegler+0x908>
    7912:       36 c1           rjmp    .+620           ; 0x7b80 <MotorRegler+0xb74>
    7914:       80 91 9c 03     lds     r24, 0x039C
    7918:       84 36           cpi     r24, 0x64       ; 100
    791a:       09 f0           breq    .+2             ; 0x791e <MotorRegler+0x912>
    791c:       31 c1           rjmp    .+610           ; 0x7b80 <MotorRegler+0xb74>
                                                && !(NC_To_FC_Flags & NC_TO_FC_SIMULATION_ACTIVE))  
    791e:       80 91 b7 04     lds     r24, 0x04B7
    7922:       84 fd           sbrc    r24, 4
    7924:       2d c1           rjmp    .+602           ; 0x7b80 <MotorRegler+0xb74>
                                                {
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Einschalten
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                                                        if(CalibrationDone) FC_StatusFlags |= FC_STATUS_START;
    7926:       80 91 ef 03     lds     r24, 0x03EF
    792a:       88 23           and     r24, r24
    792c:       29 f0           breq    .+10            ; 0x7938 <MotorRegler+0x92c>
    792e:       80 91 cb 03     lds     r24, 0x03CB
    7932:       88 60           ori     r24, 0x08       ; 8
    7934:       80 93 cb 03     sts     0x03CB, r24

                                                        StartLuftdruck = Luftdruck;
    7938:       80 91 12 01     lds     r24, 0x0112
    793c:       90 91 13 01     lds     r25, 0x0113
    7940:       a0 91 14 01     lds     r26, 0x0114
    7944:       b0 91 15 01     lds     r27, 0x0115
    7948:       80 93 08 05     sts     0x0508, r24
    794c:       90 93 09 05     sts     0x0509, r25
    7950:       a0 93 0a 05     sts     0x050A, r26
    7954:       b0 93 0b 05     sts     0x050B, r27
                                                        HoehenWert = 0;
    7958:       10 92 fe 03     sts     0x03FE, r1
    795c:       10 92 ff 03     sts     0x03FF, r1
    7960:       10 92 00 04     sts     0x0400, r1
    7964:       10 92 01 04     sts     0x0401, r1
                                                        HoehenWert_Mess = 0;
    7968:       10 92 46 03     sts     0x0346, r1
    796c:       10 92 47 03     sts     0x0347, r1
    7970:       10 92 48 03     sts     0x0348, r1
    7974:       10 92 49 03     sts     0x0349, r1
                                                        GasIsZeroCnt = 600;
    7978:       88 e5           ldi     r24, 0x58       ; 88
    797a:       92 e0           ldi     r25, 0x02       ; 2
    797c:       90 93 c6 03     sts     0x03C6, r25
    7980:       80 93 c5 03     sts     0x03C5, r24
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                                        HoehenWertF_Mess = 0;
    7984:       10 92 42 03     sts     0x0342, r1
    7988:       10 92 43 03     sts     0x0343, r1
    798c:       10 92 44 03     sts     0x0344, r1
    7990:       10 92 45 03     sts     0x0345, r1
#endif
                                                        SummenHoehe = 0;
    7994:       10 92 57 03     sts     0x0357, r1
    7998:       10 92 58 03     sts     0x0358, r1
    799c:       10 92 59 03     sts     0x0359, r1
    79a0:       10 92 5a 03     sts     0x035A, r1
                                                        if((PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > -100 || abs(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]) < 100) && EE_Parameter.MotorSafetySwitch == 0) delay_einschalten = 0;
    79a4:       e0 91 3f 05     lds     r30, 0x053F
    79a8:       f0 e0           ldi     r31, 0x00       ; 0
    79aa:       ee 0f           add     r30, r30
    79ac:       ff 1f           adc     r31, r31
    79ae:       ef 5c           subi    r30, 0xCF       ; 207
    79b0:       f7 4f           sbci    r31, 0xF7       ; 247
    79b2:       80 81           ld      r24, Z
    79b4:       91 81           ldd     r25, Z+1        ; 0x01
    79b6:       8d 39           cpi     r24, 0x9D       ; 157
    79b8:       9f 4f           sbci    r25, 0xFF       ; 255
    79ba:       8c f4           brge    .+34            ; 0x79de <MotorRegler+0x9d2>
    79bc:       e0 91 40 05     lds     r30, 0x0540
    79c0:       f0 e0           ldi     r31, 0x00       ; 0
    79c2:       ee 0f           add     r30, r30
    79c4:       ff 1f           adc     r31, r31
    79c6:       ef 5c           subi    r30, 0xCF       ; 207
    79c8:       f7 4f           sbci    r31, 0xF7       ; 247
    79ca:       80 81           ld      r24, Z
    79cc:       91 81           ldd     r25, Z+1        ; 0x01
    79ce:       99 23           and     r25, r25
    79d0:       1c f4           brge    .+6             ; 0x79d8 <MotorRegler+0x9cc>
    79d2:       91 95           neg     r25
    79d4:       81 95           neg     r24
    79d6:       91 09           sbc     r25, r1
    79d8:       84 36           cpi     r24, 0x64       ; 100
    79da:       91 05           cpc     r25, r1
    79dc:       34 f4           brge    .+12            ; 0x79ea <MotorRegler+0x9de>
    79de:       41 11           cpse    r20, r1
    79e0:       04 c0           rjmp    .+8             ; 0x79ea <MotorRegler+0x9de>
                                                        if(++delay_einschalten > 253)
    79e2:       81 e0           ldi     r24, 0x01       ; 1
    79e4:       80 93 9b 03     sts     0x039B, r24
    79e8:       5e c1           rjmp    .+700           ; 0x7ca6 <MotorRegler+0xc9a>
    79ea:       80 91 9b 03     lds     r24, 0x039B
    79ee:       8f 5f           subi    r24, 0xFF       ; 255
    79f0:       80 93 9b 03     sts     0x039B, r24
    79f4:       8e 3f           cpi     r24, 0xFE       ; 254
    79f6:       08 f4           brcc    .+2             ; 0x79fa <MotorRegler+0x9ee>
    79f8:       56 c1           rjmp    .+684           ; 0x7ca6 <MotorRegler+0xc9a>
                                                        {
if(FC_StatusFlags3 & FC_STATUS3_BOAT) { if((abs(MesswertGier) > 32*2 || abs(MesswertNick) > 20*3) || abs(MesswertRoll) > 20*3)  CalibrationDone = 0; } // dann ist der Gyro defekt, schlecht kalibriert oder der MK dreht sich
    79fa:       80 91 c9 03     lds     r24, 0x03C9
    79fe:       81 ff           sbrs    r24, 1
    7a00:       25 c0           rjmp    .+74            ; 0x7a4c <MotorRegler+0xa40>
    7a02:       80 91 67 06     lds     r24, 0x0667
    7a06:       90 91 68 06     lds     r25, 0x0668
    7a0a:       99 23           and     r25, r25
    7a0c:       1c f4           brge    .+6             ; 0x7a14 <MotorRegler+0xa08>
    7a0e:       91 95           neg     r25
    7a10:       81 95           neg     r24
    7a12:       91 09           sbc     r25, r1
    7a14:       81 34           cpi     r24, 0x41       ; 65
    7a16:       91 05           cpc     r25, r1
    7a18:       b4 f4           brge    .+44            ; 0x7a46 <MotorRegler+0xa3a>
    7a1a:       80 91 27 06     lds     r24, 0x0627
    7a1e:       90 91 28 06     lds     r25, 0x0628
    7a22:       99 23           and     r25, r25
    7a24:       1c f4           brge    .+6             ; 0x7a2c <MotorRegler+0xa20>
    7a26:       91 95           neg     r25
    7a28:       81 95           neg     r24
    7a2a:       91 09           sbc     r25, r1
    7a2c:       cd 97           sbiw    r24, 0x3d       ; 61
    7a2e:       5c f4           brge    .+22            ; 0x7a46 <MotorRegler+0xa3a>
    7a30:       80 91 1c 06     lds     r24, 0x061C
    7a34:       90 91 1d 06     lds     r25, 0x061D
    7a38:       99 23           and     r25, r25
    7a3a:       1c f4           brge    .+6             ; 0x7a42 <MotorRegler+0xa36>
    7a3c:       91 95           neg     r25
    7a3e:       81 95           neg     r24
    7a40:       91 09           sbc     r25, r1
    7a42:       cd 97           sbiw    r24, 0x3d       ; 61
    7a44:       34 f1           brlt    .+76            ; 0x7a92 <MotorRegler+0xa86>
    7a46:       10 92 ef 03     sts     0x03EF, r1
    7a4a:       23 c0           rjmp    .+70            ; 0x7a92 <MotorRegler+0xa86>
else
                                                                if((abs(MesswertGier) > 32 || abs(MesswertNick) > 20) || abs(MesswertRoll) > 20)  CalibrationDone = 0; // dann ist der Gyro defekt, schlecht kalibriert oder der MK dreht sich
    7a4c:       80 91 67 06     lds     r24, 0x0667
    7a50:       90 91 68 06     lds     r25, 0x0668
    7a54:       99 23           and     r25, r25
    7a56:       1c f4           brge    .+6             ; 0x7a5e <MotorRegler+0xa52>
    7a58:       91 95           neg     r25
    7a5a:       81 95           neg     r24
    7a5c:       91 09           sbc     r25, r1
    7a5e:       81 97           sbiw    r24, 0x21       ; 33
    7a60:       b4 f4           brge    .+44            ; 0x7a8e <MotorRegler+0xa82>
    7a62:       80 91 27 06     lds     r24, 0x0627
    7a66:       90 91 28 06     lds     r25, 0x0628
    7a6a:       99 23           and     r25, r25
    7a6c:       1c f4           brge    .+6             ; 0x7a74 <MotorRegler+0xa68>
    7a6e:       91 95           neg     r25
    7a70:       81 95           neg     r24
    7a72:       91 09           sbc     r25, r1
    7a74:       45 97           sbiw    r24, 0x15       ; 21
    7a76:       5c f4           brge    .+22            ; 0x7a8e <MotorRegler+0xa82>
    7a78:       80 91 1c 06     lds     r24, 0x061C
    7a7c:       90 91 1d 06     lds     r25, 0x061D
    7a80:       99 23           and     r25, r25
    7a82:       1c f4           brge    .+6             ; 0x7a8a <MotorRegler+0xa7e>
    7a84:       91 95           neg     r25
    7a86:       81 95           neg     r24
    7a88:       91 09           sbc     r25, r1
    7a8a:       45 97           sbiw    r24, 0x15       ; 21
    7a8c:       14 f0           brlt    .+4             ; 0x7a92 <MotorRegler+0xa86>
    7a8e:       10 92 ef 03     sts     0x03EF, r1
                                                                delay_einschalten = 0;
    7a92:       10 92 9b 03     sts     0x039B, r1
                                                                if(!VersionInfo.HardwareError[0] && CalibrationDone && !NC_ErrorCode)
    7a96:       80 91 62 0a     lds     r24, 0x0A62
    7a9a:       81 11           cpse    r24, r1
    7a9c:       63 c0           rjmp    .+198           ; 0x7b64 <MotorRegler+0xb58>
    7a9e:       80 91 ef 03     lds     r24, 0x03EF
    7aa2:       88 23           and     r24, r24
    7aa4:       09 f4           brne    .+2             ; 0x7aa8 <MotorRegler+0xa9c>
    7aa6:       5e c0           rjmp    .+188           ; 0x7b64 <MotorRegler+0xb58>
    7aa8:       80 91 bb 04     lds     r24, 0x04BB
    7aac:       81 11           cpse    r24, r1
    7aae:       5a c0           rjmp    .+180           ; 0x7b64 <MotorRegler+0xb58>
                                                                {
                                                                        modell_fliegt = 1;
    7ab0:       81 e0           ldi     r24, 0x01       ; 1
    7ab2:       90 e0           ldi     r25, 0x00       ; 0
    7ab4:       90 93 cd 03     sts     0x03CD, r25
    7ab8:       80 93 cc 03     sts     0x03CC, r24
                                                                        MotorenEin = 1;
    7abc:       80 93 03 04     sts     0x0403, r24
                                                                        sollGier = 0;
    7ac0:       10 92 9e 03     sts     0x039E, r1
    7ac4:       10 92 9f 03     sts     0x039F, r1
    7ac8:       10 92 a0 03     sts     0x03A0, r1
    7acc:       10 92 a1 03     sts     0x03A1, r1
                                                                        Mess_Integral_Gier = 0;
    7ad0:       10 92 2e 04     sts     0x042E, r1
    7ad4:       10 92 2f 04     sts     0x042F, r1
    7ad8:       10 92 30 04     sts     0x0430, r1
    7adc:       10 92 31 04     sts     0x0431, r1
                                                                        Mess_Integral_Gier2 = 0;
    7ae0:       10 92 2a 04     sts     0x042A, r1
    7ae4:       10 92 2b 04     sts     0x042B, r1
    7ae8:       10 92 2c 04     sts     0x042C, r1
    7aec:       10 92 2d 04     sts     0x042D, r1
                                                                        Mess_IntegralNick = EE_Parameter.GyroAccFaktor * (long)Mittelwert_AccNick;
    7af0:       c0 90 5a 05     lds     r12, 0x055A
    7af4:       d1 2c           mov     r13, r1
    7af6:       e1 2c           mov     r14, r1
    7af8:       f1 2c           mov     r15, r1
    7afa:       a0 91 60 06     lds     r26, 0x0660
    7afe:       b0 91 61 06     lds     r27, 0x0661
    7b02:       a7 01           movw    r20, r14
    7b04:       96 01           movw    r18, r12
    7b06:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    7b0a:       60 93 36 04     sts     0x0436, r22
    7b0e:       70 93 37 04     sts     0x0437, r23
    7b12:       80 93 38 04     sts     0x0438, r24
    7b16:       90 93 39 04     sts     0x0439, r25
                                                                        Mess_IntegralRoll = EE_Parameter.GyroAccFaktor * (long)Mittelwert_AccRoll;
    7b1a:       a0 91 72 06     lds     r26, 0x0672
    7b1e:       b0 91 73 06     lds     r27, 0x0673
    7b22:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    7b26:       60 93 32 04     sts     0x0432, r22
    7b2a:       70 93 33 04     sts     0x0433, r23
    7b2e:       80 93 34 04     sts     0x0434, r24
    7b32:       90 93 35 04     sts     0x0435, r25
                                                                        SummeNick = 0;
    7b36:       10 92 26 04     sts     0x0426, r1
    7b3a:       10 92 27 04     sts     0x0427, r1
    7b3e:       10 92 28 04     sts     0x0428, r1
    7b42:       10 92 29 04     sts     0x0429, r1
                                                                        SummeRoll = 0;
    7b46:       10 92 22 04     sts     0x0422, r1
    7b4a:       10 92 23 04     sts     0x0423, r1
    7b4e:       10 92 24 04     sts     0x0424, r1
    7b52:       10 92 25 04     sts     0x0425, r1
//                                                                      ControlHeading = (((int) EE_Parameter.OrientationAngle * 15 + KompassValue) % 360) / 2;
                                                                        NeueKompassRichtungMerken = 100; // 2 sekunden
    7b56:       84 e6           ldi     r24, 0x64       ; 100
    7b58:       80 93 ee 03     sts     0x03EE, r24
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                                                        SpeakHoTT = SPEAK_STARTING; 
    7b5c:       84 e3           ldi     r24, 0x34       ; 52
    7b5e:       80 93 57 01     sts     0x0157, r24
    7b62:       a1 c0           rjmp    .+322           ; 0x7ca6 <MotorRegler+0xc9a>
#endif
                                                                }
                                                                else
                                                                {
                                                                        beeptime = 1500; // indicate missing calibration
    7b64:       8c ed           ldi     r24, 0xDC       ; 220
    7b66:       95 e0           ldi     r25, 0x05       ; 5
    7b68:       90 93 ce 04     sts     0x04CE, r25
    7b6c:       80 93 cd 04     sts     0x04CD, r24
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                                                        if(!CalibrationDone) SpeakHoTT = SPEAK_ERR_CALIBARTION; 
    7b70:       80 91 ef 03     lds     r24, 0x03EF
    7b74:       81 11           cpse    r24, r1
    7b76:       97 c0           rjmp    .+302           ; 0x7ca6 <MotorRegler+0xc9a>
    7b78:       81 e0           ldi     r24, 0x01       ; 1
    7b7a:       80 93 57 01     sts     0x0157, r24
    7b7e:       93 c0           rjmp    .+294           ; 0x7ca6 <MotorRegler+0xc9a>
#endif
                                                                }
                                                        }
                                                }
                                                else delay_einschalten = 0;
    7b80:       10 92 9b 03     sts     0x039B, r1
    7b84:       90 c0           rjmp    .+288           ; 0x7ca6 <MotorRegler+0xc9a>
// Auschalten
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                                        else // only if motors are running
                                        {
//                                              if((PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 75) && (PPM_in[EE_Parameter.MotorSafetySwitch] < -75 || EE_Parameter.MotorSafetySwitch == 0))
                                                if((((PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] > 100) && ((!(EE_Parameter.GlobalConfig3 & CFG3_MOTOR_SWITCH_MODE) && PPM_in[EE_Parameter.MotorSafetySwitch] < -75) || EE_Parameter.MotorSafetySwitch == 0)))
    7b86:       e0 91 42 05     lds     r30, 0x0542
    7b8a:       f0 e0           ldi     r31, 0x00       ; 0
    7b8c:       ee 0f           add     r30, r30
    7b8e:       ff 1f           adc     r31, r31
    7b90:       ef 5c           subi    r30, 0xCF       ; 207
    7b92:       f7 4f           sbci    r31, 0xF7       ; 247
    7b94:       80 81           ld      r24, Z
    7b96:       91 81           ldd     r25, Z+1        ; 0x01
    7b98:       85 36           cpi     r24, 0x65       ; 101
    7b9a:       91 05           cpc     r25, r1
    7b9c:       8c f0           brlt    .+34            ; 0x7bc0 <MotorRegler+0xbb4>
    7b9e:       80 91 b9 05     lds     r24, 0x05B9
    7ba2:       83 fd           sbrc    r24, 3
    7ba4:       0b c0           rjmp    .+22            ; 0x7bbc <MotorRegler+0xbb0>
    7ba6:       e4 2f           mov     r30, r20
    7ba8:       f0 e0           ldi     r31, 0x00       ; 0
    7baa:       ee 0f           add     r30, r30
    7bac:       ff 1f           adc     r31, r31
    7bae:       ef 5c           subi    r30, 0xCF       ; 207
    7bb0:       f7 4f           sbci    r31, 0xF7       ; 247
    7bb2:       80 81           ld      r24, Z
    7bb4:       91 81           ldd     r25, Z+1        ; 0x01
    7bb6:       85 3b           cpi     r24, 0xB5       ; 181
    7bb8:       9f 4f           sbci    r25, 0xFF       ; 255
    7bba:       bc f0           brlt    .+46            ; 0x7bea <MotorRegler+0xbde>
    7bbc:       44 23           and     r20, r20
    7bbe:       a9 f0           breq    .+42            ; 0x7bea <MotorRegler+0xbde>
                                                || (((EE_Parameter.GlobalConfig3 & CFG3_MOTOR_SWITCH_MODE) && PPM_in[EE_Parameter.MotorSafetySwitch] < -50 && move_safety_switch == -100)))
    7bc0:       80 91 b9 05     lds     r24, 0x05B9
    7bc4:       83 ff           sbrs    r24, 3
    7bc6:       6d c0           rjmp    .+218           ; 0x7ca2 <MotorRegler+0xc96>
    7bc8:       e4 2f           mov     r30, r20
    7bca:       f0 e0           ldi     r31, 0x00       ; 0
    7bcc:       ee 0f           add     r30, r30
    7bce:       ff 1f           adc     r31, r31
    7bd0:       ef 5c           subi    r30, 0xCF       ; 207
    7bd2:       f7 4f           sbci    r31, 0xF7       ; 247
    7bd4:       80 81           ld      r24, Z
    7bd6:       91 81           ldd     r25, Z+1        ; 0x01
    7bd8:       8e 3c           cpi     r24, 0xCE       ; 206
    7bda:       9f 4f           sbci    r25, 0xFF       ; 255
    7bdc:       0c f0           brlt    .+2             ; 0x7be0 <MotorRegler+0xbd4>
    7bde:       61 c0           rjmp    .+194           ; 0x7ca2 <MotorRegler+0xc96>
    7be0:       80 91 9c 03     lds     r24, 0x039C
    7be4:       8c 39           cpi     r24, 0x9C       ; 156
    7be6:       09 f0           breq    .+2             ; 0x7bea <MotorRegler+0xbde>
    7be8:       5c c0           rjmp    .+184           ; 0x7ca2 <MotorRegler+0xc96>
                                                {
                                                        if((PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > -100 || abs(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]) < 100) && EE_Parameter.MotorSafetySwitch == 0)
    7bea:       e0 91 3f 05     lds     r30, 0x053F
    7bee:       f0 e0           ldi     r31, 0x00       ; 0
    7bf0:       ee 0f           add     r30, r30
    7bf2:       ff 1f           adc     r31, r31
    7bf4:       ef 5c           subi    r30, 0xCF       ; 207
    7bf6:       f7 4f           sbci    r31, 0xF7       ; 247
    7bf8:       80 81           ld      r24, Z
    7bfa:       91 81           ldd     r25, Z+1        ; 0x01
    7bfc:       8d 39           cpi     r24, 0x9D       ; 157
    7bfe:       9f 4f           sbci    r25, 0xFF       ; 255
    7c00:       8c f4           brge    .+34            ; 0x7c24 <MotorRegler+0xc18>
    7c02:       e0 91 40 05     lds     r30, 0x0540
    7c06:       f0 e0           ldi     r31, 0x00       ; 0
    7c08:       ee 0f           add     r30, r30
    7c0a:       ff 1f           adc     r31, r31
    7c0c:       ef 5c           subi    r30, 0xCF       ; 207
    7c0e:       f7 4f           sbci    r31, 0xF7       ; 247
    7c10:       80 81           ld      r24, Z
    7c12:       91 81           ldd     r25, Z+1        ; 0x01
    7c14:       99 23           and     r25, r25
    7c16:       1c f4           brge    .+6             ; 0x7c1e <MotorRegler+0xc12>
    7c18:       91 95           neg     r25
    7c1a:       81 95           neg     r24
    7c1c:       91 09           sbc     r25, r1
    7c1e:       84 36           cpi     r24, 0x64       ; 100
    7c20:       91 05           cpc     r25, r1
    7c22:       34 f4           brge    .+12            ; 0x7c30 <MotorRegler+0xc24>
    7c24:       41 11           cpse    r20, r1
    7c26:       04 c0           rjmp    .+8             ; 0x7c30 <MotorRegler+0xc24>
                                                          SummeNick = 0;
                                                          SummeRoll = 0;
                                                          StickNick = 0;
                                                          StickRoll = 0;
                                                        } 
                                                        if(++delay_ausschalten > 250)  // nicht sofort
    7c28:       81 e0           ldi     r24, 0x01       ; 1
    7c2a:       80 93 9a 03     sts     0x039A, r24
    7c2e:       3b c0           rjmp    .+118           ; 0x7ca6 <MotorRegler+0xc9a>
                                                        {
                                                                delay_ausschalten = 0;
                                                        }
                                                        else 
                                                        {
                                                          SummeNick = 0;
    7c30:       10 92 26 04     sts     0x0426, r1
    7c34:       10 92 27 04     sts     0x0427, r1
    7c38:       10 92 28 04     sts     0x0428, r1
    7c3c:       10 92 29 04     sts     0x0429, r1
                                                          SummeRoll = 0;
    7c40:       10 92 22 04     sts     0x0422, r1
    7c44:       10 92 23 04     sts     0x0423, r1
    7c48:       10 92 24 04     sts     0x0424, r1
    7c4c:       10 92 25 04     sts     0x0425, r1
                                                          StickNick = 0;
    7c50:       10 92 15 04     sts     0x0415, r1
    7c54:       10 92 14 04     sts     0x0414, r1
                                                          StickRoll = 0;
    7c58:       10 92 13 04     sts     0x0413, r1
    7c5c:       10 92 12 04     sts     0x0412, r1
                                                        } 
                                                        if(++delay_ausschalten > 250)  // nicht sofort
    7c60:       80 91 9a 03     lds     r24, 0x039A
    7c64:       8f 5f           subi    r24, 0xFF       ; 255
    7c66:       80 93 9a 03     sts     0x039A, r24
    7c6a:       8b 3f           cpi     r24, 0xFB       ; 251
    7c6c:       88 f0           brcs    .+34            ; 0x7c90 <MotorRegler+0xc84>
                                                        {
                                                                MotorenEin = 0;
    7c6e:       10 92 03 04     sts     0x0403, r1
                                                                delay_ausschalten = 0;
    7c72:       10 92 9a 03     sts     0x039A, r1
                                                                modell_fliegt = 0;
    7c76:       10 92 cd 03     sts     0x03CD, r1
    7c7a:       10 92 cc 03     sts     0x03CC, r1
                                                                FC_StatusFlags2 &= ~(FC_STATUS2_WAIT_FOR_TAKEOFF | FC_STATUS2_AUTO_STARTING | FC_STATUS2_AUTO_LANDING);
    7c7e:       80 91 ca 03     lds     r24, 0x03CA
    7c82:       8f 71           andi    r24, 0x1F       ; 31
    7c84:       80 93 ca 03     sts     0x03CA, r24
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                                                SpeakHoTT = SPEAK_MK_OFF; 
    7c88:       86 e2           ldi     r24, 0x26       ; 38
    7c8a:       80 93 57 01     sts     0x0157, r24
    7c8e:       0b c0           rjmp    .+22            ; 0x7ca6 <MotorRegler+0xc9a>
#endif
                                                        }
                                                        else 
                                                         if(delay_ausschalten == 100) beeptime = 3500;
    7c90:       84 36           cpi     r24, 0x64       ; 100
    7c92:       49 f4           brne    .+18            ; 0x7ca6 <MotorRegler+0xc9a>
    7c94:       8c ea           ldi     r24, 0xAC       ; 172
    7c96:       9d e0           ldi     r25, 0x0D       ; 13
    7c98:       90 93 ce 04     sts     0x04CE, r25
    7c9c:       80 93 cd 04     sts     0x04CD, r24
    7ca0:       02 c0           rjmp    .+4             ; 0x7ca6 <MotorRegler+0xc9a>
                                                }
                                                else delay_ausschalten = 0;
    7ca2:       10 92 9a 03     sts     0x039A, r1
                                        }
                  if(GasIsZeroCnt < 1000) 
    7ca6:       80 91 c5 03     lds     r24, 0x03C5
    7caa:       90 91 c6 03     lds     r25, 0x03C6
    7cae:       88 3e           cpi     r24, 0xE8       ; 232
    7cb0:       13 e0           ldi     r17, 0x03       ; 3
    7cb2:       91 07           cpc     r25, r17
    7cb4:       08 f0           brcs    .+2             ; 0x7cb8 <MotorRegler+0xcac>
    7cb6:       46 c0           rjmp    .+140           ; 0x7d44 <MotorRegler+0xd38>
                                   {
                                    if(VarioMeter > -150) GasIsZeroCnt++;
    7cb8:       20 91 54 03     lds     r18, 0x0354
    7cbc:       30 91 55 03     lds     r19, 0x0355
    7cc0:       2b 36           cpi     r18, 0x6B       ; 107
    7cc2:       3f 4f           sbci    r19, 0xFF       ; 255
    7cc4:       34 f0           brlt    .+12            ; 0x7cd2 <MotorRegler+0xcc6>
    7cc6:       01 96           adiw    r24, 0x01       ; 1
    7cc8:       90 93 c6 03     sts     0x03C6, r25
    7ccc:       80 93 c5 03     sts     0x03C5, r24
    7cd0:       39 c0           rjmp    .+114           ; 0x7d44 <MotorRegler+0xd38>
                                        else if(GasIsZeroCnt) GasIsZeroCnt--;
    7cd2:       00 97           sbiw    r24, 0x00       ; 0
    7cd4:       b9 f1           breq    .+110           ; 0x7d44 <MotorRegler+0xd38>
    7cd6:       01 97           sbiw    r24, 0x01       ; 1
    7cd8:       90 93 c6 03     sts     0x03C6, r25
    7cdc:       80 93 c5 03     sts     0x03C5, r24
    7ce0:       31 c0           rjmp    .+98            ; 0x7d44 <MotorRegler+0xd38>
                                   }    
                                }
                                else // gas not at minimum
                                {
                                  move_safety_switch = 0; 
    7ce2:       10 92 9c 03     sts     0x039C, r1
                                  GasIsZeroCnt = 0;
    7ce6:       10 92 c6 03     sts     0x03C6, r1
    7cea:       10 92 c5 03     sts     0x03C5, r1
    7cee:       2a c0           rjmp    .+84            ; 0x7d44 <MotorRegler+0xd38>
                                }  
            }
                        else  // Empfang zwischen 100 und 140 -> schlecht
                        {
                        if(GasIsZeroCnt >= 750)  // gas-stick was down for 1.5 seconds before RC-Lost
    7cf0:       2e 3e           cpi     r18, 0xEE       ; 238
    7cf2:       32 40           sbci    r19, 0x02       ; 2
    7cf4:       38 f1           brcs    .+78            ; 0x7d44 <MotorRegler+0xd38>
                         {
                           if((GPSInfo.HomeDistance < 40 * 10) && (HoehenWert < 15 * 100))  // and we are at the starting point -> maybe landed? 
    7cf6:       80 91 db 08     lds     r24, 0x08DB
    7cfa:       90 91 dc 08     lds     r25, 0x08DC
    7cfe:       80 39           cpi     r24, 0x90       ; 144
    7d00:       91 40           sbci    r25, 0x01       ; 1
    7d02:       00 f5           brcc    .+64            ; 0x7d44 <MotorRegler+0xd38>
    7d04:       80 91 fe 03     lds     r24, 0x03FE
    7d08:       90 91 ff 03     lds     r25, 0x03FF
    7d0c:       a0 91 00 04     lds     r26, 0x0400
    7d10:       b0 91 01 04     lds     r27, 0x0401
    7d14:       8c 3d           cpi     r24, 0xDC       ; 220
    7d16:       95 40           sbci    r25, 0x05       ; 5
    7d18:       a1 05           cpc     r26, r1
    7d1a:       b1 05           cpc     r27, r1
    7d1c:       9c f4           brge    .+38            ; 0x7d44 <MotorRegler+0xd38>
                                {
                                 GasIsZeroCnt = 30000;
    7d1e:       80 e3           ldi     r24, 0x30       ; 48
    7d20:       95 e7           ldi     r25, 0x75       ; 117
    7d22:       90 93 c6 03     sts     0x03C6, r25
    7d26:       80 93 c5 03     sts     0x03C5, r24
                                 if(modell_fliegt > 1001) modell_fliegt = 1001;
    7d2a:       80 91 cc 03     lds     r24, 0x03CC
    7d2e:       90 91 cd 03     lds     r25, 0x03CD
    7d32:       8a 3e           cpi     r24, 0xEA       ; 234
    7d34:       93 40           sbci    r25, 0x03       ; 3
    7d36:       30 f0           brcs    .+12            ; 0x7d44 <MotorRegler+0xd38>
    7d38:       89 ee           ldi     r24, 0xE9       ; 233
    7d3a:       93 e0           ldi     r25, 0x03       ; 3
    7d3c:       90 93 cd 03     sts     0x03CD, r25
    7d40:       80 93 cc 03     sts     0x03CC, r24
                        }
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// neue Werte von der Funke
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 if(!NewPpmData-- || (FC_StatusFlags & FC_STATUS_EMERGENCY_LANDING))
    7d44:       80 91 93 02     lds     r24, 0x0293
    7d48:       9f ef           ldi     r25, 0xFF       ; 255
    7d4a:       98 0f           add     r25, r24
    7d4c:       90 93 93 02     sts     0x0293, r25
    7d50:       88 23           and     r24, r24
    7d52:       21 f0           breq    .+8             ; 0x7d5c <MotorRegler+0xd50>
    7d54:       80 91 cb 03     lds     r24, 0x03CB
    7d58:       84 ff           sbrs    r24, 4
    7d5a:       d2 c3           rjmp    .+1956          ; 0x8500 <MotorRegler+0x14f4>
  {
        static int stick_nick,stick_roll;
        unsigned char stick_p;
    ParameterZuordnung();
    7d5c:       0e 94 27 34     call    0x684e  ; 0x684e <ParameterZuordnung>
        stick_p = EE_Parameter.Stick_P;
    stick_nick = (stick_nick * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] * stick_p) / 4;
    7d60:       80 91 3f 05     lds     r24, 0x053F
    7d64:       90 e0           ldi     r25, 0x00       ; 0
    7d66:       88 0f           add     r24, r24
    7d68:       99 1f           adc     r25, r25
    7d6a:       fc 01           movw    r30, r24
    7d6c:       ef 5c           subi    r30, 0xCF       ; 207
    7d6e:       f7 4f           sbci    r31, 0xF7       ; 247
    7d70:       a0 81           ld      r26, Z
    7d72:       b1 81           ldd     r27, Z+1        ; 0x01
    7d74:       60 91 55 05     lds     r22, 0x0555
    7d78:       70 e0           ldi     r23, 0x00       ; 0
    stick_nick += PPM_diff[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_D;
    7d7a:       fc 01           movw    r30, r24
    7d7c:       e9 58           subi    r30, 0x89       ; 137
    7d7e:       f7 4f           sbci    r31, 0xF7       ; 247
    7d80:       01 90           ld      r0, Z+
    7d82:       f0 81           ld      r31, Z
    7d84:       e0 2d           mov     r30, r0
    7d86:       40 91 56 05     lds     r20, 0x0556
    7d8a:       50 e0           ldi     r21, 0x00       ; 0
  {
        static int stick_nick,stick_roll;
        unsigned char stick_p;
    ParameterZuordnung();
        stick_p = EE_Parameter.Stick_P;
    stick_nick = (stick_nick * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] * stick_p) / 4;
    7d8c:       80 91 98 03     lds     r24, 0x0398
    7d90:       90 91 99 03     lds     r25, 0x0399
    7d94:       9c 01           movw    r18, r24
    7d96:       22 0f           add     r18, r18
    7d98:       33 1f           adc     r19, r19
    7d9a:       82 0f           add     r24, r18
    7d9c:       93 1f           adc     r25, r19
    7d9e:       a6 9f           mul     r26, r22
    7da0:       90 01           movw    r18, r0
    7da2:       a7 9f           mul     r26, r23
    7da4:       30 0d           add     r19, r0
    7da6:       b6 9f           mul     r27, r22
    7da8:       30 0d           add     r19, r0
    7daa:       11 24           eor     r1, r1
    7dac:       82 0f           add     r24, r18
    7dae:       93 1f           adc     r25, r19
    7db0:       99 23           and     r25, r25
    7db2:       0c f4           brge    .+2             ; 0x7db6 <MotorRegler+0xdaa>
    7db4:       03 96           adiw    r24, 0x03       ; 3
    7db6:       95 95           asr     r25
    7db8:       87 95           ror     r24
    7dba:       95 95           asr     r25
    7dbc:       87 95           ror     r24
    stick_nick += PPM_diff[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_D;
    7dbe:       e4 9f           mul     r30, r20
    7dc0:       90 01           movw    r18, r0
    7dc2:       e5 9f           mul     r30, r21
    7dc4:       30 0d           add     r19, r0
    7dc6:       f4 9f           mul     r31, r20
    7dc8:       30 0d           add     r19, r0
    7dca:       11 24           eor     r1, r1
    7dcc:       82 0f           add     r24, r18
    7dce:       93 1f           adc     r25, r19
    7dd0:       90 93 99 03     sts     0x0399, r25
    7dd4:       80 93 98 03     sts     0x0398, r24
    stick_roll = (stick_roll * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] * stick_p) / 4;
    7dd8:       20 91 40 05     lds     r18, 0x0540
    7ddc:       30 e0           ldi     r19, 0x00       ; 0
    7dde:       22 0f           add     r18, r18
    7de0:       33 1f           adc     r19, r19
    7de2:       f9 01           movw    r30, r18
    7de4:       ef 5c           subi    r30, 0xCF       ; 207
    7de6:       f7 4f           sbci    r31, 0xF7       ; 247
    7de8:       00 81           ld      r16, Z
    7dea:       11 81           ldd     r17, Z+1        ; 0x01
    stick_roll += PPM_diff[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_D;
    7dec:       f9 01           movw    r30, r18
    7dee:       e9 58           subi    r30, 0x89       ; 137
    7df0:       f7 4f           sbci    r31, 0xF7       ; 247
    7df2:       01 90           ld      r0, Z+
    7df4:       f0 81           ld      r31, Z
    7df6:       e0 2d           mov     r30, r0
        unsigned char stick_p;
    ParameterZuordnung();
        stick_p = EE_Parameter.Stick_P;
    stick_nick = (stick_nick * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] * stick_p) / 4;
    stick_nick += PPM_diff[EE_Parameter.Kanalbelegung[K_NICK]] * EE_Parameter.Stick_D;
    stick_roll = (stick_roll * 3 + PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] * stick_p) / 4;
    7df8:       20 91 96 03     lds     r18, 0x0396
    7dfc:       30 91 97 03     lds     r19, 0x0397
    7e00:       d9 01           movw    r26, r18
    7e02:       aa 0f           add     r26, r26
    7e04:       bb 1f           adc     r27, r27
    7e06:       2a 0f           add     r18, r26
    7e08:       3b 1f           adc     r19, r27
    7e0a:       60 9f           mul     r22, r16
    7e0c:       d0 01           movw    r26, r0
    7e0e:       61 9f           mul     r22, r17
    7e10:       b0 0d           add     r27, r0
    7e12:       70 9f           mul     r23, r16
    7e14:       b0 0d           add     r27, r0
    7e16:       11 24           eor     r1, r1
    7e18:       2a 0f           add     r18, r26
    7e1a:       3b 1f           adc     r19, r27
    7e1c:       33 23           and     r19, r19
    7e1e:       14 f4           brge    .+4             ; 0x7e24 <MotorRegler+0xe18>
    7e20:       2d 5f           subi    r18, 0xFD       ; 253
    7e22:       3f 4f           sbci    r19, 0xFF       ; 255
    7e24:       35 95           asr     r19
    7e26:       27 95           ror     r18
    7e28:       35 95           asr     r19
    7e2a:       27 95           ror     r18
    stick_roll += PPM_diff[EE_Parameter.Kanalbelegung[K_ROLL]] * EE_Parameter.Stick_D;
    7e2c:       4e 9f           mul     r20, r30
    7e2e:       b0 01           movw    r22, r0
    7e30:       4f 9f           mul     r20, r31
    7e32:       70 0d           add     r23, r0
    7e34:       5e 9f           mul     r21, r30
    7e36:       70 0d           add     r23, r0
    7e38:       11 24           eor     r1, r1
    7e3a:       26 0f           add     r18, r22
    7e3c:       37 1f           adc     r19, r23
    7e3e:       30 93 97 03     sts     0x0397, r19
    7e42:       20 93 96 03     sts     0x0396, r18

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// CareFree und freie Wahl der vorderen Richtung
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        if(CareFree)
    7e46:       40 91 d8 03     lds     r20, 0x03D8
    7e4a:       44 23           and     r20, r20
    7e4c:       09 f4           brne    .+2             ; 0x7e50 <MotorRegler+0xe44>
    7e4e:       59 c0           rjmp    .+178           ; 0x7f02 <MotorRegler+0xef6>
        {
                signed int nick, roll;
                nick = stick_nick / 4;
    7e50:       ac 01           movw    r20, r24
    7e52:       99 23           and     r25, r25
    7e54:       14 f4           brge    .+4             ; 0x7e5a <MotorRegler+0xe4e>
    7e56:       4d 5f           subi    r20, 0xFD       ; 253
    7e58:       5f 4f           sbci    r21, 0xFF       ; 255
    7e5a:       55 95           asr     r21
    7e5c:       47 95           ror     r20
    7e5e:       55 95           asr     r21
    7e60:       47 95           ror     r20
                roll = stick_roll / 4;
    7e62:       c9 01           movw    r24, r18
    7e64:       99 23           and     r25, r25
    7e66:       0c f4           brge    .+2             ; 0x7e6a <MotorRegler+0xe5e>
    7e68:       03 96           adiw    r24, 0x03       ; 3
    7e6a:       fc 01           movw    r30, r24
    7e6c:       f5 95           asr     r31
    7e6e:       e7 95           ror     r30
    7e70:       f5 95           asr     r31
    7e72:       e7 95           ror     r30
                StickNick = ((FromNC_Rotate_C * nick) + (FromNC_Rotate_S * roll)) / (32 / 4);
    7e74:       60 91 a5 02     lds     r22, 0x02A5
    7e78:       77 27           eor     r23, r23
    7e7a:       67 fd           sbrc    r22, 7
    7e7c:       70 95           com     r23
    7e7e:       20 91 be 04     lds     r18, 0x04BE
    7e82:       33 27           eor     r19, r19
    7e84:       27 fd           sbrc    r18, 7
    7e86:       30 95           com     r19
    7e88:       64 9f           mul     r22, r20
    7e8a:       d0 01           movw    r26, r0
    7e8c:       65 9f           mul     r22, r21
    7e8e:       b0 0d           add     r27, r0
    7e90:       74 9f           mul     r23, r20
    7e92:       b0 0d           add     r27, r0
    7e94:       11 24           eor     r1, r1
    7e96:       2e 9f           mul     r18, r30
    7e98:       c0 01           movw    r24, r0
    7e9a:       2f 9f           mul     r18, r31
    7e9c:       90 0d           add     r25, r0
    7e9e:       3e 9f           mul     r19, r30
    7ea0:       90 0d           add     r25, r0
    7ea2:       11 24           eor     r1, r1
    7ea4:       8a 0f           add     r24, r26
    7ea6:       9b 1f           adc     r25, r27
    7ea8:       99 23           and     r25, r25
    7eaa:       0c f4           brge    .+2             ; 0x7eae <MotorRegler+0xea2>
    7eac:       07 96           adiw    r24, 0x07       ; 7
    7eae:       95 95           asr     r25
    7eb0:       87 95           ror     r24
    7eb2:       95 95           asr     r25
    7eb4:       87 95           ror     r24
    7eb6:       95 95           asr     r25
    7eb8:       87 95           ror     r24
    7eba:       90 93 15 04     sts     0x0415, r25
    7ebe:       80 93 14 04     sts     0x0414, r24
                StickRoll = ((FromNC_Rotate_C * roll) - (FromNC_Rotate_S * nick)) / (32 / 4);
    7ec2:       e6 9f           mul     r30, r22
    7ec4:       d0 01           movw    r26, r0
    7ec6:       e7 9f           mul     r30, r23
    7ec8:       b0 0d           add     r27, r0
    7eca:       f6 9f           mul     r31, r22
    7ecc:       b0 0d           add     r27, r0
    7ece:       11 24           eor     r1, r1
    7ed0:       42 9f           mul     r20, r18
    7ed2:       c0 01           movw    r24, r0
    7ed4:       43 9f           mul     r20, r19
    7ed6:       90 0d           add     r25, r0
    7ed8:       52 9f           mul     r21, r18
    7eda:       90 0d           add     r25, r0
    7edc:       11 24           eor     r1, r1
    7ede:       9d 01           movw    r18, r26
    7ee0:       28 1b           sub     r18, r24
    7ee2:       39 0b           sbc     r19, r25
    7ee4:       c9 01           movw    r24, r18
    7ee6:       99 23           and     r25, r25
    7ee8:       0c f4           brge    .+2             ; 0x7eec <MotorRegler+0xee0>
    7eea:       07 96           adiw    r24, 0x07       ; 7
    7eec:       95 95           asr     r25
    7eee:       87 95           ror     r24
    7ef0:       95 95           asr     r25
    7ef2:       87 95           ror     r24
    7ef4:       95 95           asr     r25
    7ef6:       87 95           ror     r24
    7ef8:       90 93 13 04     sts     0x0413, r25
    7efc:       80 93 12 04     sts     0x0412, r24
    7f00:       50 c0           rjmp    .+160           ; 0x7fa2 <MotorRegler+0xf96>
        }
        else
        {
                FromNC_Rotate_C = sintab[EE_Parameter.OrientationAngle + 6];
    7f02:       a0 91 a1 05     lds     r26, 0x05A1
    7f06:       b0 e0           ldi     r27, 0x00       ; 0
    7f08:       a5 53           subi    r26, 0x35       ; 53
    7f0a:       bd 4f           sbci    r27, 0xFD       ; 253
    7f0c:       16 96           adiw    r26, 0x06       ; 6
    7f0e:       ec 91           ld      r30, X
    7f10:       16 97           sbiw    r26, 0x06       ; 6
    7f12:       e0 93 a5 02     sts     0x02A5, r30
                FromNC_Rotate_S = sintab[EE_Parameter.OrientationAngle];
    7f16:       6c 91           ld      r22, X
    7f18:       60 93 be 04     sts     0x04BE, r22
                StickNick = ((FromNC_Rotate_C * stick_nick) + (FromNC_Rotate_S * stick_roll)) / 8;
    7f1c:       ff 27           eor     r31, r31
    7f1e:       e7 fd           sbrc    r30, 7
    7f20:       f0 95           com     r31
    7f22:       77 27           eor     r23, r23
    7f24:       67 fd           sbrc    r22, 7
    7f26:       70 95           com     r23
    7f28:       8e 9f           mul     r24, r30
    7f2a:       d0 01           movw    r26, r0
    7f2c:       8f 9f           mul     r24, r31
    7f2e:       b0 0d           add     r27, r0
    7f30:       9e 9f           mul     r25, r30
    7f32:       b0 0d           add     r27, r0
    7f34:       11 24           eor     r1, r1
    7f36:       26 9f           mul     r18, r22
    7f38:       a0 01           movw    r20, r0
    7f3a:       27 9f           mul     r18, r23
    7f3c:       50 0d           add     r21, r0
    7f3e:       36 9f           mul     r19, r22
    7f40:       50 0d           add     r21, r0
    7f42:       11 24           eor     r1, r1
    7f44:       4a 0f           add     r20, r26
    7f46:       5b 1f           adc     r21, r27
    7f48:       55 23           and     r21, r21
    7f4a:       14 f4           brge    .+4             ; 0x7f50 <MotorRegler+0xf44>
    7f4c:       49 5f           subi    r20, 0xF9       ; 249
    7f4e:       5f 4f           sbci    r21, 0xFF       ; 255
    7f50:       55 95           asr     r21
    7f52:       47 95           ror     r20
    7f54:       55 95           asr     r21
    7f56:       47 95           ror     r20
    7f58:       55 95           asr     r21
    7f5a:       47 95           ror     r20
    7f5c:       50 93 15 04     sts     0x0415, r21
    7f60:       40 93 14 04     sts     0x0414, r20
                StickRoll = ((FromNC_Rotate_C * stick_roll) - (FromNC_Rotate_S * stick_nick)) / 8;
    7f64:       2e 9f           mul     r18, r30
    7f66:       d0 01           movw    r26, r0
    7f68:       2f 9f           mul     r18, r31
    7f6a:       b0 0d           add     r27, r0
    7f6c:       3e 9f           mul     r19, r30
    7f6e:       b0 0d           add     r27, r0
    7f70:       11 24           eor     r1, r1
    7f72:       86 9f           mul     r24, r22
    7f74:       a0 01           movw    r20, r0
    7f76:       87 9f           mul     r24, r23
    7f78:       50 0d           add     r21, r0
    7f7a:       96 9f           mul     r25, r22
    7f7c:       50 0d           add     r21, r0
    7f7e:       11 24           eor     r1, r1
    7f80:       9d 01           movw    r18, r26
    7f82:       24 1b           sub     r18, r20
    7f84:       35 0b           sbc     r19, r21
    7f86:       c9 01           movw    r24, r18
    7f88:       99 23           and     r25, r25
    7f8a:       0c f4           brge    .+2             ; 0x7f8e <MotorRegler+0xf82>
    7f8c:       07 96           adiw    r24, 0x07       ; 7
    7f8e:       95 95           asr     r25
    7f90:       87 95           ror     r24
    7f92:       95 95           asr     r25
    7f94:       87 95           ror     r24
    7f96:       95 95           asr     r25
    7f98:       87 95           ror     r24
    7f9a:       90 93 13 04     sts     0x0413, r25
    7f9e:       80 93 12 04     sts     0x0412, r24
        }

    StickGier = -PPM_in[EE_Parameter.Kanalbelegung[K_GIER]];
    7fa2:       e0 91 42 05     lds     r30, 0x0542
    7fa6:       f0 e0           ldi     r31, 0x00       ; 0
    7fa8:       ee 0f           add     r30, r30
    7faa:       ff 1f           adc     r31, r31
    7fac:       ef 5c           subi    r30, 0xCF       ; 207
    7fae:       f7 4f           sbci    r31, 0xF7       ; 247
    7fb0:       80 81           ld      r24, Z
    7fb2:       91 81           ldd     r25, Z+1        ; 0x01
    7fb4:       22 27           eor     r18, r18
    7fb6:       33 27           eor     r19, r19
    7fb8:       28 1b           sub     r18, r24
    7fba:       39 0b           sbc     r19, r25
        if(StickGier > 4) StickGier -= 4;       else
    7fbc:       25 30           cpi     r18, 0x05       ; 5
    7fbe:       31 05           cpc     r19, r1
    7fc0:       54 f0           brlt    .+20            ; 0x7fd6 <MotorRegler+0xfca>
    7fc2:       2c ef           ldi     r18, 0xFC       ; 252
    7fc4:       3f ef           ldi     r19, 0xFF       ; 255
    7fc6:       f9 01           movw    r30, r18
    7fc8:       e8 1b           sub     r30, r24
    7fca:       f9 0b           sbc     r31, r25
    7fcc:       f0 93 11 04     sts     0x0411, r31
    7fd0:       e0 93 10 04     sts     0x0410, r30
    7fd4:       11 c0           rjmp    .+34            ; 0x7ff8 <MotorRegler+0xfec>
        if(StickGier < -4) StickGier += 4; else StickGier = 0;
    7fd6:       2c 3f           cpi     r18, 0xFC       ; 252
    7fd8:       3f 4f           sbci    r19, 0xFF       ; 255
    7fda:       54 f4           brge    .+20            ; 0x7ff0 <MotorRegler+0xfe4>
    7fdc:       24 e0           ldi     r18, 0x04       ; 4
    7fde:       30 e0           ldi     r19, 0x00       ; 0
    7fe0:       49 01           movw    r8, r18
    7fe2:       88 1a           sub     r8, r24
    7fe4:       99 0a           sbc     r9, r25
    7fe6:       90 92 11 04     sts     0x0411, r9
    7fea:       80 92 10 04     sts     0x0410, r8
    7fee:       04 c0           rjmp    .+8             ; 0x7ff8 <MotorRegler+0xfec>
    7ff0:       10 92 11 04     sts     0x0411, r1
    7ff4:       10 92 10 04     sts     0x0410, r1

if(GasIsZeroCnt > 512) // About to switch - off
    7ff8:       80 91 c5 03     lds     r24, 0x03C5
    7ffc:       90 91 c6 03     lds     r25, 0x03C6
    8000:       81 30           cpi     r24, 0x01       ; 1
    8002:       92 40           sbci    r25, 0x02       ; 2
    8004:       98 f1           brcs    .+102           ; 0x806c <MotorRegler+0x1060>
 {
  StickNick = StickNick/8; 
    8006:       80 91 14 04     lds     r24, 0x0414
    800a:       90 91 15 04     lds     r25, 0x0415
    800e:       99 23           and     r25, r25
    8010:       0c f4           brge    .+2             ; 0x8014 <MotorRegler+0x1008>
    8012:       07 96           adiw    r24, 0x07       ; 7
    8014:       95 95           asr     r25
    8016:       87 95           ror     r24
    8018:       95 95           asr     r25
    801a:       87 95           ror     r24
    801c:       95 95           asr     r25
    801e:       87 95           ror     r24
    8020:       90 93 15 04     sts     0x0415, r25
    8024:       80 93 14 04     sts     0x0414, r24
  StickRoll = StickRoll/8;  
    8028:       80 91 12 04     lds     r24, 0x0412
    802c:       90 91 13 04     lds     r25, 0x0413
    8030:       99 23           and     r25, r25
    8032:       0c f4           brge    .+2             ; 0x8036 <MotorRegler+0x102a>
    8034:       07 96           adiw    r24, 0x07       ; 7
    8036:       95 95           asr     r25
    8038:       87 95           ror     r24
    803a:       95 95           asr     r25
    803c:       87 95           ror     r24
    803e:       95 95           asr     r25
    8040:       87 95           ror     r24
    8042:       90 93 13 04     sts     0x0413, r25
    8046:       80 93 12 04     sts     0x0412, r24
  SummeNick = 0;
    804a:       10 92 26 04     sts     0x0426, r1
    804e:       10 92 27 04     sts     0x0427, r1
    8052:       10 92 28 04     sts     0x0428, r1
    8056:       10 92 29 04     sts     0x0429, r1
  SummeRoll = 0;
    805a:       10 92 22 04     sts     0x0422, r1
    805e:       10 92 23 04     sts     0x0423, r1
    8062:       10 92 24 04     sts     0x0424, r1
    8066:       10 92 25 04     sts     0x0425, r1
    806a:       4e c0           rjmp    .+156           ; 0x8108 <MotorRegler+0x10fc>
 }
else
    if(GPS_Aid_StickMultiplikator) // in that case the GPS controls stronger
    806c:       20 91 67 04     lds     r18, 0x0467
    8070:       22 23           and     r18, r18
    8072:       09 f4           brne    .+2             ; 0x8076 <MotorRegler+0x106a>
    8074:       49 c0           rjmp    .+146           ; 0x8108 <MotorRegler+0x10fc>
         { 
          StickNick = (GPS_Aid_StickMultiplikator * (StickNick / 8)) / 16; 
    8076:       30 e0           ldi     r19, 0x00       ; 0
    8078:       80 91 14 04     lds     r24, 0x0414
    807c:       90 91 15 04     lds     r25, 0x0415
    8080:       99 23           and     r25, r25
    8082:       0c f4           brge    .+2             ; 0x8086 <MotorRegler+0x107a>
    8084:       07 96           adiw    r24, 0x07       ; 7
    8086:       ac 01           movw    r20, r24
    8088:       55 95           asr     r21
    808a:       47 95           ror     r20
    808c:       55 95           asr     r21
    808e:       47 95           ror     r20
    8090:       55 95           asr     r21
    8092:       47 95           ror     r20
    8094:       24 9f           mul     r18, r20
    8096:       c0 01           movw    r24, r0
    8098:       25 9f           mul     r18, r21
    809a:       90 0d           add     r25, r0
    809c:       34 9f           mul     r19, r20
    809e:       90 0d           add     r25, r0
    80a0:       11 24           eor     r1, r1
    80a2:       99 23           and     r25, r25
    80a4:       0c f4           brge    .+2             ; 0x80a8 <MotorRegler+0x109c>
    80a6:       0f 96           adiw    r24, 0x0f       ; 15
    80a8:       95 95           asr     r25
    80aa:       87 95           ror     r24
    80ac:       95 95           asr     r25
    80ae:       87 95           ror     r24
    80b0:       95 95           asr     r25
    80b2:       87 95           ror     r24
    80b4:       95 95           asr     r25
    80b6:       87 95           ror     r24
    80b8:       90 93 15 04     sts     0x0415, r25
    80bc:       80 93 14 04     sts     0x0414, r24
          StickRoll = (GPS_Aid_StickMultiplikator * (StickRoll / 8)) / 16; 
    80c0:       80 91 12 04     lds     r24, 0x0412
    80c4:       90 91 13 04     lds     r25, 0x0413
    80c8:       99 23           and     r25, r25
    80ca:       0c f4           brge    .+2             ; 0x80ce <MotorRegler+0x10c2>
    80cc:       07 96           adiw    r24, 0x07       ; 7
    80ce:       ac 01           movw    r20, r24
    80d0:       55 95           asr     r21
    80d2:       47 95           ror     r20
    80d4:       55 95           asr     r21
    80d6:       47 95           ror     r20
    80d8:       55 95           asr     r21
    80da:       47 95           ror     r20
    80dc:       24 9f           mul     r18, r20
    80de:       c0 01           movw    r24, r0
    80e0:       25 9f           mul     r18, r21
    80e2:       90 0d           add     r25, r0
    80e4:       34 9f           mul     r19, r20
    80e6:       90 0d           add     r25, r0
    80e8:       11 24           eor     r1, r1
    80ea:       99 23           and     r25, r25
    80ec:       0c f4           brge    .+2             ; 0x80f0 <MotorRegler+0x10e4>
    80ee:       0f 96           adiw    r24, 0x0f       ; 15
    80f0:       95 95           asr     r25
    80f2:       87 95           ror     r24
    80f4:       95 95           asr     r25
    80f6:       87 95           ror     r24
    80f8:       95 95           asr     r25
    80fa:       87 95           ror     r24
    80fc:       95 95           asr     r25
    80fe:       87 95           ror     r24
    8100:       90 93 13 04     sts     0x0413, r25
    8104:       80 93 12 04     sts     0x0412, r24
         }
    StickNick -= GPS_Nick;
    8108:       c0 90 14 04     lds     r12, 0x0414
    810c:       d0 90 15 04     lds     r13, 0x0415
    8110:       80 91 6a 04     lds     r24, 0x046A
    8114:       90 91 6b 04     lds     r25, 0x046B
    8118:       c8 1a           sub     r12, r24
    811a:       d9 0a           sbc     r13, r25
    811c:       d0 92 15 04     sts     0x0415, r13
    8120:       c0 92 14 04     sts     0x0414, r12
    StickRoll -= GPS_Roll;
    8124:       e0 90 12 04     lds     r14, 0x0412
    8128:       f0 90 13 04     lds     r15, 0x0413
    812c:       80 91 68 04     lds     r24, 0x0468
    8130:       90 91 69 04     lds     r25, 0x0469
    8134:       e8 1a           sub     r14, r24
    8136:       f9 0a           sbc     r15, r25
    8138:       f0 92 13 04     sts     0x0413, r15
    813c:       e0 92 12 04     sts     0x0412, r14
        StickGas  = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] + 127;
    8140:       e0 91 41 05     lds     r30, 0x0541
    8144:       f0 e0           ldi     r31, 0x00       ; 0
    8146:       ee 0f           add     r30, r30
    8148:       ff 1f           adc     r31, r31
    814a:       ef 5c           subi    r30, 0xCF       ; 207
    814c:       f7 4f           sbci    r31, 0xF7       ; 247
    814e:       00 81           ld      r16, Z
    8150:       11 81           ldd     r17, Z+1        ; 0x01
    8152:       01 58           subi    r16, 0x81       ; 129
    8154:       1f 4f           sbci    r17, 0xFF       ; 255
    8156:       10 93 0f 04     sts     0x040F, r17
    815a:       00 93 0e 04     sts     0x040E, r16

    GyroFaktor     = (Parameter_Gyro_P + 10.0);
    815e:       60 91 34 01     lds     r22, 0x0134
    8162:       70 e0           ldi     r23, 0x00       ; 0
    8164:       80 e0           ldi     r24, 0x00       ; 0
    8166:       90 e0           ldi     r25, 0x00       ; 0
    8168:       0e 94 9b b0     call    0x16136 ; 0x16136 <__floatsisf>
    816c:       20 e0           ldi     r18, 0x00       ; 0
    816e:       30 e0           ldi     r19, 0x00       ; 0
    8170:       40 e2           ldi     r20, 0x20       ; 32
    8172:       51 e4           ldi     r21, 0x41       ; 65
    8174:       0e 94 09 b0     call    0x16012 ; 0x16012 <__addsf3>
    8178:       0e 94 6d b0     call    0x160da ; 0x160da <__fixunssfsi>
    817c:       60 93 6c 06     sts     0x066C, r22
    IntegralFaktor = Parameter_Gyro_I;
    8180:       80 91 33 01     lds     r24, 0x0133
    8184:       80 93 42 06     sts     0x0642, r24
    GyroFaktorGier     = (Parameter_Gyro_Gier_P + 10.0);
    8188:       60 91 32 01     lds     r22, 0x0132
    818c:       70 e0           ldi     r23, 0x00       ; 0
    818e:       80 e0           ldi     r24, 0x00       ; 0
    8190:       90 e0           ldi     r25, 0x00       ; 0
    8192:       0e 94 9b b0     call    0x16136 ; 0x16136 <__floatsisf>
    8196:       20 e0           ldi     r18, 0x00       ; 0
    8198:       30 e0           ldi     r19, 0x00       ; 0
    819a:       40 e2           ldi     r20, 0x20       ; 32
    819c:       51 e4           ldi     r21, 0x41       ; 65
    819e:       0e 94 09 b0     call    0x16012 ; 0x16012 <__addsf3>
    81a2:       0e 94 6d b0     call    0x160da ; 0x160da <__fixunssfsi>
    81a6:       60 93 23 06     sts     0x0623, r22
    IntegralFaktorGier = Parameter_Gyro_Gier_I;
    81aa:       80 91 31 01     lds     r24, 0x0131
    81ae:       80 93 31 06     sts     0x0631, r24

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+ Analoge Steuerung per Seriell
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   if(ExternControl.Config & 0x01 && Parameter_ExternalControl > 128)
    81b2:       80 91 89 0a     lds     r24, 0x0A89
    81b6:       80 ff           sbrs    r24, 0
    81b8:       45 c0           rjmp    .+138           ; 0x8244 <MotorRegler+0x1238>
    81ba:       80 91 75 06     lds     r24, 0x0675
    81be:       81 38           cpi     r24, 0x81       ; 129
    81c0:       08 f4           brcc    .+2             ; 0x81c4 <MotorRegler+0x11b8>
    81c2:       40 c0           rjmp    .+128           ; 0x8244 <MotorRegler+0x1238>
    {
         StickNick += (int) ExternControl.Nick * (int) EE_Parameter.Stick_P;
    81c4:       20 91 55 05     lds     r18, 0x0555
    81c8:       30 e0           ldi     r19, 0x00       ; 0
    81ca:       40 91 82 0a     lds     r20, 0x0A82
    81ce:       42 03           mulsu   r20, r18
    81d0:       c0 01           movw    r24, r0
    81d2:       43 9f           mul     r20, r19
    81d4:       90 0d           add     r25, r0
    81d6:       11 24           eor     r1, r1
    81d8:       c8 0e           add     r12, r24
    81da:       d9 1e           adc     r13, r25
    81dc:       d0 92 15 04     sts     0x0415, r13
    81e0:       c0 92 14 04     sts     0x0414, r12
         StickRoll += (int) ExternControl.Roll * (int) EE_Parameter.Stick_P;
    81e4:       40 91 83 0a     lds     r20, 0x0A83
    81e8:       42 03           mulsu   r20, r18
    81ea:       c0 01           movw    r24, r0
    81ec:       43 9f           mul     r20, r19
    81ee:       90 0d           add     r25, r0
    81f0:       11 24           eor     r1, r1
    81f2:       e8 0e           add     r14, r24
    81f4:       f9 1e           adc     r15, r25
    81f6:       f0 92 13 04     sts     0x0413, r15
    81fa:       e0 92 12 04     sts     0x0412, r14
         StickGier += ExternControl.Gier;
    81fe:       20 91 84 0a     lds     r18, 0x0A84
    8202:       80 91 10 04     lds     r24, 0x0410
    8206:       90 91 11 04     lds     r25, 0x0411
    820a:       82 0f           add     r24, r18
    820c:       91 1d           adc     r25, r1
    820e:       27 fd           sbrc    r18, 7
    8210:       9a 95           dec     r25
    8212:       90 93 11 04     sts     0x0411, r25
    8216:       80 93 10 04     sts     0x0410, r24
     ExternHoehenValue =  (int) ExternControl.Hight * (int)EE_Parameter.Hoehe_Verstaerkung;
    821a:       30 91 86 0a     lds     r19, 0x0A86
    821e:       20 91 50 05     lds     r18, 0x0550
    8222:       32 03           mulsu   r19, r18
    8224:       c0 01           movw    r24, r0
    8226:       11 24           eor     r1, r1
    8228:       90 93 26 01     sts     0x0126, r25
    822c:       80 93 25 01     sts     0x0125, r24
     if(ExternControl.Gas < StickGas) StickGas = ExternControl.Gas;
    8230:       80 91 85 0a     lds     r24, 0x0A85
    8234:       90 e0           ldi     r25, 0x00       ; 0
    8236:       80 17           cp      r24, r16
    8238:       91 07           cpc     r25, r17
    823a:       24 f4           brge    .+8             ; 0x8244 <MotorRegler+0x1238>
    823c:       90 93 0f 04     sts     0x040F, r25
    8240:       80 93 0e 04     sts     0x040E, r24
    }
    if(StickGas < 0) StickGas = 0;
    8244:       80 91 0e 04     lds     r24, 0x040E
    8248:       90 91 0f 04     lds     r25, 0x040F
    824c:       99 23           and     r25, r25
    824e:       24 f4           brge    .+8             ; 0x8258 <MotorRegler+0x124c>
    8250:       10 92 0f 04     sts     0x040F, r1
    8254:       10 92 0e 04     sts     0x040E, r1

    if(Parameter_GlobalConfig & CFG_HEADING_HOLD) IntegralFaktor =  0;
    8258:       80 91 5c 06     lds     r24, 0x065C
    825c:       82 fd           sbrc    r24, 2
    825e:       10 92 42 06     sts     0x0642, r1

    if(abs(StickNick/STICK_GAIN) > MaxStickNick)
    8262:       80 91 14 04     lds     r24, 0x0414
    8266:       90 91 15 04     lds     r25, 0x0415
    826a:       40 91 d0 03     lds     r20, 0x03D0
    826e:       50 91 d1 03     lds     r21, 0x03D1
    8272:       9c 01           movw    r18, r24
    8274:       99 23           and     r25, r25
    8276:       14 f4           brge    .+4             ; 0x827c <MotorRegler+0x1270>
    8278:       2d 5f           subi    r18, 0xFD       ; 253
    827a:       3f 4f           sbci    r19, 0xFF       ; 255
    827c:       35 95           asr     r19
    827e:       27 95           ror     r18
    8280:       35 95           asr     r19
    8282:       27 95           ror     r18
    8284:       33 23           and     r19, r19
    8286:       1c f4           brge    .+6             ; 0x828e <MotorRegler+0x1282>
    8288:       31 95           neg     r19
    828a:       21 95           neg     r18
    828c:       31 09           sbc     r19, r1
    828e:       42 17           cp      r20, r18
    8290:       53 07           cpc     r21, r19
    8292:       f4 f4           brge    .+60            ; 0x82d0 <MotorRegler+0x12c4>
     {
      MaxStickNick = abs(StickNick)/STICK_GAIN;
    8294:       9c 01           movw    r18, r24
    8296:       99 23           and     r25, r25
    8298:       24 f4           brge    .+8             ; 0x82a2 <MotorRegler+0x1296>
    829a:       22 27           eor     r18, r18
    829c:       33 27           eor     r19, r19
    829e:       28 1b           sub     r18, r24
    82a0:       39 0b           sbc     r19, r25
    82a2:       c9 01           movw    r24, r18
    82a4:       99 23           and     r25, r25
    82a6:       0c f4           brge    .+2             ; 0x82aa <MotorRegler+0x129e>
    82a8:       03 96           adiw    r24, 0x03       ; 3
    82aa:       95 95           asr     r25
    82ac:       87 95           ror     r24
    82ae:       95 95           asr     r25
    82b0:       87 95           ror     r24
      if(MaxStickNick > 100) MaxStickNick = 100;
    82b2:       85 36           cpi     r24, 0x65       ; 101
    82b4:       91 05           cpc     r25, r1
    82b6:       2c f4           brge    .+10            ; 0x82c2 <MotorRegler+0x12b6>

    if(Parameter_GlobalConfig & CFG_HEADING_HOLD) IntegralFaktor =  0;

    if(abs(StickNick/STICK_GAIN) > MaxStickNick)
     {
      MaxStickNick = abs(StickNick)/STICK_GAIN;
    82b8:       90 93 d1 03     sts     0x03D1, r25
    82bc:       80 93 d0 03     sts     0x03D0, r24
    82c0:       0d c0           rjmp    .+26            ; 0x82dc <MotorRegler+0x12d0>
      if(MaxStickNick > 100) MaxStickNick = 100;
    82c2:       84 e6           ldi     r24, 0x64       ; 100
    82c4:       90 e0           ldi     r25, 0x00       ; 0
    82c6:       90 93 d1 03     sts     0x03D1, r25
    82ca:       80 93 d0 03     sts     0x03D0, r24
    82ce:       06 c0           rjmp    .+12            ; 0x82dc <MotorRegler+0x12d0>
     }
     else MaxStickNick--;
    82d0:       41 50           subi    r20, 0x01       ; 1
    82d2:       51 09           sbc     r21, r1
    82d4:       50 93 d1 03     sts     0x03D1, r21
    82d8:       40 93 d0 03     sts     0x03D0, r20
    if(abs(StickRoll/STICK_GAIN) > MaxStickRoll)
    82dc:       80 91 12 04     lds     r24, 0x0412
    82e0:       90 91 13 04     lds     r25, 0x0413
    82e4:       40 91 ce 03     lds     r20, 0x03CE
    82e8:       50 91 cf 03     lds     r21, 0x03CF
    82ec:       9c 01           movw    r18, r24
    82ee:       99 23           and     r25, r25
    82f0:       14 f4           brge    .+4             ; 0x82f6 <MotorRegler+0x12ea>
    82f2:       2d 5f           subi    r18, 0xFD       ; 253
    82f4:       3f 4f           sbci    r19, 0xFF       ; 255
    82f6:       35 95           asr     r19
    82f8:       27 95           ror     r18
    82fa:       35 95           asr     r19
    82fc:       27 95           ror     r18
    82fe:       33 23           and     r19, r19
    8300:       1c f4           brge    .+6             ; 0x8308 <MotorRegler+0x12fc>
    8302:       31 95           neg     r19
    8304:       21 95           neg     r18
    8306:       31 09           sbc     r19, r1
    8308:       42 17           cp      r20, r18
    830a:       53 07           cpc     r21, r19
    830c:       f4 f4           brge    .+60            ; 0x834a <MotorRegler+0x133e>
     {
      MaxStickRoll = abs(StickRoll)/STICK_GAIN;
    830e:       9c 01           movw    r18, r24
    8310:       99 23           and     r25, r25
    8312:       24 f4           brge    .+8             ; 0x831c <MotorRegler+0x1310>
    8314:       22 27           eor     r18, r18
    8316:       33 27           eor     r19, r19
    8318:       28 1b           sub     r18, r24
    831a:       39 0b           sbc     r19, r25
    831c:       c9 01           movw    r24, r18
    831e:       99 23           and     r25, r25
    8320:       0c f4           brge    .+2             ; 0x8324 <MotorRegler+0x1318>
    8322:       03 96           adiw    r24, 0x03       ; 3
    8324:       95 95           asr     r25
    8326:       87 95           ror     r24
    8328:       95 95           asr     r25
    832a:       87 95           ror     r24
      if(MaxStickRoll > 100) MaxStickRoll = 100;
    832c:       85 36           cpi     r24, 0x65       ; 101
    832e:       91 05           cpc     r25, r1
    8330:       2c f4           brge    .+10            ; 0x833c <MotorRegler+0x1330>
      if(MaxStickNick > 100) MaxStickNick = 100;
     }
     else MaxStickNick--;
    if(abs(StickRoll/STICK_GAIN) > MaxStickRoll)
     {
      MaxStickRoll = abs(StickRoll)/STICK_GAIN;
    8332:       90 93 cf 03     sts     0x03CF, r25
    8336:       80 93 ce 03     sts     0x03CE, r24
    833a:       0d c0           rjmp    .+26            ; 0x8356 <MotorRegler+0x134a>
      if(MaxStickRoll > 100) MaxStickRoll = 100;
    833c:       84 e6           ldi     r24, 0x64       ; 100
    833e:       90 e0           ldi     r25, 0x00       ; 0
    8340:       90 93 cf 03     sts     0x03CF, r25
    8344:       80 93 ce 03     sts     0x03CE, r24
    8348:       06 c0           rjmp    .+12            ; 0x8356 <MotorRegler+0x134a>
     }
     else MaxStickRoll--;
    834a:       41 50           subi    r20, 0x01       ; 1
    834c:       51 09           sbc     r21, r1
    834e:       50 93 cf 03     sts     0x03CF, r21
    8352:       40 93 ce 03     sts     0x03CE, r20
    if(FC_StatusFlags & FC_STATUS_EMERGENCY_LANDING)  {MaxStickNick = 0; MaxStickRoll = 0;}
    8356:       80 91 cb 03     lds     r24, 0x03CB
    835a:       84 ff           sbrs    r24, 4
    835c:       08 c0           rjmp    .+16            ; 0x836e <MotorRegler+0x1362>
    835e:       10 92 d1 03     sts     0x03D1, r1
    8362:       10 92 d0 03     sts     0x03D0, r1
    8366:       10 92 cf 03     sts     0x03CF, r1
    836a:       10 92 ce 03     sts     0x03CE, r1

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Looping?
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  if((PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > EE_Parameter.LoopThreshold) && EE_Parameter.BitConfig & CFG_LOOP_LINKS)  Looping_Links = 1;
    836e:       20 91 40 05     lds     r18, 0x0540
    8372:       30 e0           ldi     r19, 0x00       ; 0
    8374:       f9 01           movw    r30, r18
    8376:       ee 0f           add     r30, r30
    8378:       ff 1f           adc     r31, r31
    837a:       ef 5c           subi    r30, 0xCF       ; 207
    837c:       f7 4f           sbci    r31, 0xF7       ; 247
    837e:       40 81           ld      r20, Z
    8380:       51 81           ldd     r21, Z+1        ; 0x01
    8382:       80 91 7a 05     lds     r24, 0x057A
    8386:       90 e0           ldi     r25, 0x00       ; 0
    8388:       84 17           cp      r24, r20
    838a:       95 07           cpc     r25, r21
    838c:       44 f4           brge    .+16            ; 0x839e <MotorRegler+0x1392>
    838e:       40 91 b6 05     lds     r20, 0x05B6
    8392:       42 ff           sbrs    r20, 2
    8394:       04 c0           rjmp    .+8             ; 0x839e <MotorRegler+0x1392>
    8396:       41 e0           ldi     r20, 0x01       ; 1
    8398:       40 93 e5 03     sts     0x03E5, r20
    839c:       11 c0           rjmp    .+34            ; 0x83c0 <MotorRegler+0x13b4>
  else
   {
     {
      if((PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < (EE_Parameter.LoopThreshold - EE_Parameter.LoopHysterese))) Looping_Links = 0;
    839e:       f9 01           movw    r30, r18
    83a0:       ee 0f           add     r30, r30
    83a2:       ff 1f           adc     r31, r31
    83a4:       ef 5c           subi    r30, 0xCF       ; 207
    83a6:       f7 4f           sbci    r31, 0xF7       ; 247
    83a8:       60 81           ld      r22, Z
    83aa:       71 81           ldd     r23, Z+1        ; 0x01
    83ac:       40 91 7b 05     lds     r20, 0x057B
    83b0:       dc 01           movw    r26, r24
    83b2:       a4 1b           sub     r26, r20
    83b4:       b1 09           sbc     r27, r1
    83b6:       6a 17           cp      r22, r26
    83b8:       7b 07           cpc     r23, r27
    83ba:       14 f4           brge    .+4             ; 0x83c0 <MotorRegler+0x13b4>
    83bc:       10 92 e5 03     sts     0x03E5, r1
     }
   }
  if((PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] < -EE_Parameter.LoopThreshold) && EE_Parameter.BitConfig & CFG_LOOP_RECHTS) Looping_Rechts = 1;
    83c0:       f9 01           movw    r30, r18
    83c2:       ee 0f           add     r30, r30
    83c4:       ff 1f           adc     r31, r31
    83c6:       ef 5c           subi    r30, 0xCF       ; 207
    83c8:       f7 4f           sbci    r31, 0xF7       ; 247
    83ca:       60 81           ld      r22, Z
    83cc:       71 81           ldd     r23, Z+1        ; 0x01
    83ce:       44 27           eor     r20, r20
    83d0:       55 27           eor     r21, r21
    83d2:       48 1b           sub     r20, r24
    83d4:       59 0b           sbc     r21, r25
    83d6:       64 17           cp      r22, r20
    83d8:       75 07           cpc     r23, r21
    83da:       44 f4           brge    .+16            ; 0x83ec <MotorRegler+0x13e0>
    83dc:       60 91 b6 05     lds     r22, 0x05B6
    83e0:       63 ff           sbrs    r22, 3
    83e2:       04 c0           rjmp    .+8             ; 0x83ec <MotorRegler+0x13e0>
    83e4:       21 e0           ldi     r18, 0x01       ; 1
    83e6:       20 93 e4 03     sts     0x03E4, r18
    83ea:       15 c0           rjmp    .+42            ; 0x8416 <MotorRegler+0x140a>
   else
   {
   if(Looping_Rechts) // Hysterese
    83ec:       60 91 e4 03     lds     r22, 0x03E4
    83f0:       66 23           and     r22, r22
    83f2:       89 f0           breq    .+34            ; 0x8416 <MotorRegler+0x140a>
     {
      if(PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] > -(EE_Parameter.LoopThreshold - EE_Parameter.LoopHysterese)) Looping_Rechts = 0;
    83f4:       f9 01           movw    r30, r18
    83f6:       ee 0f           add     r30, r30
    83f8:       ff 1f           adc     r31, r31
    83fa:       ef 5c           subi    r30, 0xCF       ; 207
    83fc:       f7 4f           sbci    r31, 0xF7       ; 247
    83fe:       60 81           ld      r22, Z
    8400:       71 81           ldd     r23, Z+1        ; 0x01
    8402:       20 91 7b 05     lds     r18, 0x057B
    8406:       30 e0           ldi     r19, 0x00       ; 0
    8408:       28 1b           sub     r18, r24
    840a:       39 0b           sbc     r19, r25
    840c:       26 17           cp      r18, r22
    840e:       37 07           cpc     r19, r23
    8410:       14 f4           brge    .+4             ; 0x8416 <MotorRegler+0x140a>
    8412:       10 92 e4 03     sts     0x03E4, r1
     }
   }

  if((PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > EE_Parameter.LoopThreshold) && EE_Parameter.BitConfig & CFG_LOOP_OBEN) Looping_Oben = 1;
    8416:       20 91 3f 05     lds     r18, 0x053F
    841a:       30 e0           ldi     r19, 0x00       ; 0
    841c:       f9 01           movw    r30, r18
    841e:       ee 0f           add     r30, r30
    8420:       ff 1f           adc     r31, r31
    8422:       ef 5c           subi    r30, 0xCF       ; 207
    8424:       f7 4f           sbci    r31, 0xF7       ; 247
    8426:       60 81           ld      r22, Z
    8428:       71 81           ldd     r23, Z+1        ; 0x01
    842a:       86 17           cp      r24, r22
    842c:       97 07           cpc     r25, r23
    842e:       44 f4           brge    .+16            ; 0x8440 <MotorRegler+0x1434>
    8430:       60 91 b6 05     lds     r22, 0x05B6
    8434:       60 ff           sbrs    r22, 0
    8436:       04 c0           rjmp    .+8             ; 0x8440 <MotorRegler+0x1434>
    8438:       61 e0           ldi     r22, 0x01       ; 1
    843a:       60 93 e2 03     sts     0x03E2, r22
    843e:       16 c0           rjmp    .+44            ; 0x846c <MotorRegler+0x1460>
  else
   {
    if(Looping_Oben)  // Hysterese
    8440:       60 91 e2 03     lds     r22, 0x03E2
    8444:       66 23           and     r22, r22
    8446:       91 f0           breq    .+36            ; 0x846c <MotorRegler+0x1460>
     {
      if((PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < (EE_Parameter.LoopThreshold - EE_Parameter.LoopHysterese))) Looping_Oben = 0;
    8448:       f9 01           movw    r30, r18
    844a:       ee 0f           add     r30, r30
    844c:       ff 1f           adc     r31, r31
    844e:       ef 5c           subi    r30, 0xCF       ; 207
    8450:       f7 4f           sbci    r31, 0xF7       ; 247
    8452:       01 90           ld      r0, Z+
    8454:       f0 81           ld      r31, Z
    8456:       e0 2d           mov     r30, r0
    8458:       60 91 7b 05     lds     r22, 0x057B
    845c:       4c 01           movw    r8, r24
    845e:       86 1a           sub     r8, r22
    8460:       91 08           sbc     r9, r1
    8462:       e8 15           cp      r30, r8
    8464:       f9 05           cpc     r31, r9
    8466:       14 f4           brge    .+4             ; 0x846c <MotorRegler+0x1460>
    8468:       10 92 e2 03     sts     0x03E2, r1
     }
   }
  if((PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < -EE_Parameter.LoopThreshold) && EE_Parameter.BitConfig & CFG_LOOP_UNTEN) Looping_Unten = 1;
    846c:       f9 01           movw    r30, r18
    846e:       ee 0f           add     r30, r30
    8470:       ff 1f           adc     r31, r31
    8472:       ef 5c           subi    r30, 0xCF       ; 207
    8474:       f7 4f           sbci    r31, 0xF7       ; 247
    8476:       60 81           ld      r22, Z
    8478:       71 81           ldd     r23, Z+1        ; 0x01
    847a:       64 17           cp      r22, r20
    847c:       75 07           cpc     r23, r21
    847e:       44 f4           brge    .+16            ; 0x8490 <MotorRegler+0x1484>
    8480:       40 91 b6 05     lds     r20, 0x05B6
    8484:       41 ff           sbrs    r20, 1
    8486:       04 c0           rjmp    .+8             ; 0x8490 <MotorRegler+0x1484>
    8488:       81 e0           ldi     r24, 0x01       ; 1
    848a:       80 93 e3 03     sts     0x03E3, r24
    848e:       16 c0           rjmp    .+44            ; 0x84bc <MotorRegler+0x14b0>
   else
   {
    if(Looping_Unten) // Hysterese
    8490:       40 91 e3 03     lds     r20, 0x03E3
    8494:       44 23           and     r20, r20
    8496:       91 f0           breq    .+36            ; 0x84bc <MotorRegler+0x14b0>
     {
      if(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > -(EE_Parameter.LoopThreshold - EE_Parameter.LoopHysterese)) Looping_Unten = 0;
    8498:       f9 01           movw    r30, r18
    849a:       ee 0f           add     r30, r30
    849c:       ff 1f           adc     r31, r31
    849e:       ef 5c           subi    r30, 0xCF       ; 207
    84a0:       f7 4f           sbci    r31, 0xF7       ; 247
    84a2:       20 81           ld      r18, Z
    84a4:       31 81           ldd     r19, Z+1        ; 0x01
    84a6:       40 91 7b 05     lds     r20, 0x057B
    84aa:       50 e0           ldi     r21, 0x00       ; 0
    84ac:       5a 01           movw    r10, r20
    84ae:       a8 1a           sub     r10, r24
    84b0:       b9 0a           sbc     r11, r25
    84b2:       a2 16           cp      r10, r18
    84b4:       b3 06           cpc     r11, r19
    84b6:       14 f4           brge    .+4             ; 0x84bc <MotorRegler+0x14b0>
    84b8:       10 92 e3 03     sts     0x03E3, r1
     }
   }

   if(Looping_Links || Looping_Rechts)   Looping_Roll = 1; else Looping_Roll = 0;
    84bc:       80 91 e5 03     lds     r24, 0x03E5
    84c0:       81 11           cpse    r24, r1
    84c2:       04 c0           rjmp    .+8             ; 0x84cc <MotorRegler+0x14c0>
    84c4:       80 91 e4 03     lds     r24, 0x03E4
    84c8:       88 23           and     r24, r24
    84ca:       21 f0           breq    .+8             ; 0x84d4 <MotorRegler+0x14c8>
    84cc:       81 e0           ldi     r24, 0x01       ; 1
    84ce:       80 93 e6 03     sts     0x03E6, r24
    84d2:       02 c0           rjmp    .+4             ; 0x84d8 <MotorRegler+0x14cc>
    84d4:       10 92 e6 03     sts     0x03E6, r1
   if(Looping_Oben  || Looping_Unten) {  Looping_Nick = 1; Looping_Roll = 0; Looping_Links = 0; Looping_Rechts = 0;} else Looping_Nick = 0;
    84d8:       80 91 e2 03     lds     r24, 0x03E2
    84dc:       81 11           cpse    r24, r1
    84de:       04 c0           rjmp    .+8             ; 0x84e8 <MotorRegler+0x14dc>
    84e0:       80 91 e3 03     lds     r24, 0x03E3
    84e4:       88 23           and     r24, r24
    84e6:       51 f0           breq    .+20            ; 0x84fc <MotorRegler+0x14f0>
    84e8:       81 e0           ldi     r24, 0x01       ; 1
    84ea:       80 93 e7 03     sts     0x03E7, r24
    84ee:       10 92 e6 03     sts     0x03E6, r1
    84f2:       10 92 e5 03     sts     0x03E5, r1
    84f6:       10 92 e4 03     sts     0x03E4, r1
    84fa:       02 c0           rjmp    .+4             ; 0x8500 <MotorRegler+0x14f4>
    84fc:       10 92 e7 03     sts     0x03E7, r1
  } // Ende neue Funken-Werte

  if(Looping_Roll || Looping_Nick)
    8500:       80 91 e6 03     lds     r24, 0x03E6
    8504:       81 11           cpse    r24, r1
    8506:       04 c0           rjmp    .+8             ; 0x8510 <MotorRegler+0x1504>
    8508:       80 91 e7 03     lds     r24, 0x03E7
    850c:       88 23           and     r24, r24
    850e:       51 f0           breq    .+20            ; 0x8524 <MotorRegler+0x1518>
   {
    if(GasMischanteil > EE_Parameter.LoopGasLimit) GasMischanteil = EE_Parameter.LoopGasLimit;
    8510:       80 91 79 05     lds     r24, 0x0579
    8514:       90 e0           ldi     r25, 0x00       ; 0
    8516:       82 15           cp      r24, r2
    8518:       93 05           cpc     r25, r3
    851a:       0c f4           brge    .+2             ; 0x851e <MotorRegler+0x1512>
    851c:       1c 01           movw    r2, r24
        TrichterFlug = 1;
    851e:       81 e0           ldi     r24, 0x01       ; 1
    8520:       80 93 1a 04     sts     0x041A, r24


// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Bei Empfangsausfall im Flug
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   if(FC_StatusFlags2 & FC_STATUS2_RC_FAILSAVE_ACTIVE) 
    8524:       80 91 ca 03     lds     r24, 0x03CA
    8528:       82 ff           sbrs    r24, 2
    852a:       31 c0           rjmp    .+98            ; 0x858e <MotorRegler+0x1582>
   {
    StickNick = -GPS_Nick;
    852c:       80 91 6a 04     lds     r24, 0x046A
    8530:       90 91 6b 04     lds     r25, 0x046B
    8534:       91 95           neg     r25
    8536:       81 95           neg     r24
    8538:       91 09           sbc     r25, r1
    853a:       90 93 15 04     sts     0x0415, r25
    853e:       80 93 14 04     sts     0x0414, r24
    StickRoll = -GPS_Roll;
    8542:       80 91 68 04     lds     r24, 0x0468
    8546:       90 91 69 04     lds     r25, 0x0469
    854a:       91 95           neg     r25
    854c:       81 95           neg     r24
    854e:       91 09           sbc     r25, r1
    8550:       90 93 13 04     sts     0x0413, r25
    8554:       80 93 12 04     sts     0x0412, r24
        StickGas = StickGasHover;
    8558:       80 91 40 01     lds     r24, 0x0140
    855c:       90 91 41 01     lds     r25, 0x0141
    8560:       90 93 0f 04     sts     0x040F, r25
    8564:       80 93 0e 04     sts     0x040E, r24
    StickGier = 0;
    8568:       10 92 11 04     sts     0x0411, r1
    856c:       10 92 10 04     sts     0x0410, r1
        Parameter_GlobalConfig &= ~(CFG_HEADING_HOLD | CFG_DREHRATEN_BEGRENZER);
    8570:       80 91 5c 06     lds     r24, 0x065C
    8574:       8b 77           andi    r24, 0x7B       ; 123
        Parameter_GlobalConfig |= CFG_HOEHENREGELUNG | CFG_ACHSENKOPPLUNG_AKTIV | CFG_KOMPASS_AKTIV | CFG_GPS_AKTIV | CFG_HOEHEN_SCHALTER | CFG_GPS_AKTIV;
    8576:       8b 66           ori     r24, 0x6B       ; 107
    8578:       80 93 5c 06     sts     0x065C, r24
        Parameter_ExtraConfig &= ~(CFG2_HEIGHT_LIMIT | CFG_LEARNABLE_CAREFREE | CFG2_VARIO_BEEP);
    857c:       80 91 40 06     lds     r24, 0x0640
    8580:       8c 7b           andi    r24, 0xBC       ; 188
    8582:       80 93 40 06     sts     0x0640, r24
        Parameter_HoehenSchalter = 200; // switch on
    8586:       88 ec           ldi     r24, 0xC8       ; 200
    8588:       80 93 e1 03     sts     0x03E1, r24
    858c:       1e c0           rjmp    .+60            ; 0x85ca <MotorRegler+0x15be>
   }
   else 
   if(FC_StatusFlags & FC_STATUS_EMERGENCY_LANDING)
    858e:       80 91 cb 03     lds     r24, 0x03CB
    8592:       84 ff           sbrs    r24, 4
    8594:       1a c0           rjmp    .+52            ; 0x85ca <MotorRegler+0x15be>
    {
     StickGier = 0;
    8596:       10 92 11 04     sts     0x0411, r1
    859a:       10 92 10 04     sts     0x0410, r1
     StickNick = 0;
    859e:       10 92 15 04     sts     0x0415, r1
    85a2:       10 92 14 04     sts     0x0414, r1
     StickRoll = 0;
    85a6:       10 92 13 04     sts     0x0413, r1
    85aa:       10 92 12 04     sts     0x0412, r1
     GyroFaktor     = 90;
    85ae:       9a e5           ldi     r25, 0x5A       ; 90
    85b0:       90 93 6c 06     sts     0x066C, r25
     IntegralFaktor = 120;
    85b4:       88 e7           ldi     r24, 0x78       ; 120
    85b6:       80 93 42 06     sts     0x0642, r24
     GyroFaktorGier     = 90;
    85ba:       90 93 23 06     sts     0x0623, r25
     IntegralFaktorGier = 120;
    85be:       80 93 31 06     sts     0x0631, r24
     Looping_Roll = 0;
    85c2:       10 92 e6 03     sts     0x03E6, r1
     Looping_Nick = 0;
    85c6:       10 92 e7 03     sts     0x03E7, r1
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Integrale auf ACC-Signal abgleichen
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#define ABGLEICH_ANZAHL 256L

 MittelIntegralNick  += IntegralNick;    // Für die Mittelwertbildung aufsummieren
    85ca:       c0 90 42 04     lds     r12, 0x0442
    85ce:       d0 90 43 04     lds     r13, 0x0443
    85d2:       e0 90 44 04     lds     r14, 0x0444
    85d6:       f0 90 45 04     lds     r15, 0x0445
    85da:       80 91 34 06     lds     r24, 0x0634
    85de:       90 91 35 06     lds     r25, 0x0635
    85e2:       a0 91 36 06     lds     r26, 0x0636
    85e6:       b0 91 37 06     lds     r27, 0x0637
    85ea:       8c 0d           add     r24, r12
    85ec:       9d 1d           adc     r25, r13
    85ee:       ae 1d           adc     r26, r14
    85f0:       bf 1d           adc     r27, r15
    85f2:       80 93 34 06     sts     0x0634, r24
    85f6:       90 93 35 06     sts     0x0635, r25
    85fa:       a0 93 36 06     sts     0x0636, r26
    85fe:       b0 93 37 06     sts     0x0637, r27
 MittelIntegralRoll  += IntegralRoll;
    8602:       80 90 3e 04     lds     r8, 0x043E
    8606:       90 90 3f 04     lds     r9, 0x043F
    860a:       a0 90 40 04     lds     r10, 0x0440
    860e:       b0 90 41 04     lds     r11, 0x0441
    8612:       80 91 3c 06     lds     r24, 0x063C
    8616:       90 91 3d 06     lds     r25, 0x063D
    861a:       a0 91 3e 06     lds     r26, 0x063E
    861e:       b0 91 3f 06     lds     r27, 0x063F
    8622:       88 0d           add     r24, r8
    8624:       99 1d           adc     r25, r9
    8626:       aa 1d           adc     r26, r10
    8628:       bb 1d           adc     r27, r11
    862a:       80 93 3c 06     sts     0x063C, r24
    862e:       90 93 3d 06     sts     0x063D, r25
    8632:       a0 93 3e 06     sts     0x063E, r26
    8636:       b0 93 3f 06     sts     0x063F, r27
 if(Looping_Nick || Looping_Roll)
    863a:       80 91 e7 03     lds     r24, 0x03E7
    863e:       81 11           cpse    r24, r1
    8640:       0c 94 14 59     jmp     0xb228  ; 0xb228 <MotorRegler+0x421c>
    8644:       80 91 e6 03     lds     r24, 0x03E6
    8648:       81 11           cpse    r24, r1
    864a:       0c 94 f1 58     jmp     0xb1e2  ; 0xb1e2 <MotorRegler+0x41d6>
    LageKorrekturNick = 0;
    LageKorrekturRoll = 0;
  }

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  if(!Looping_Nick && !Looping_Roll && (Aktuell_az > 512 || MotorenEin))
    864e:       80 91 06 05     lds     r24, 0x0506
    8652:       90 91 07 05     lds     r25, 0x0507
    8656:       81 30           cpi     r24, 0x01       ; 1
    8658:       92 40           sbci    r25, 0x02       ; 2
    865a:       2c f4           brge    .+10            ; 0x8666 <MotorRegler+0x165a>
    865c:       80 91 03 04     lds     r24, 0x0403
    8660:       88 23           and     r24, r24
    8662:       09 f4           brne    .+2             ; 0x8666 <MotorRegler+0x165a>
    8664:       e0 c1           rjmp    .+960           ; 0x8a26 <MotorRegler+0x1a1a>
  {
   long tmp_long, tmp_long2;
   if(FromNaviCtrl_Value.Kalman_K > 0 /*&& !TrichterFlug*/)
    8666:       40 90 4c 09     lds     r4, 0x094C
    866a:       14 14           cp      r1, r4
    866c:       0c f0           brlt    .+2             ; 0x8670 <MotorRegler+0x1664>
    866e:       c9 c0           rjmp    .+402           ; 0x8802 <MotorRegler+0x17f6>
     {
                tmp_long = (long)(IntegralNick / EE_Parameter.GyroAccFaktor - (long)(Mittelwert_AccNick - FromNaviCtrl.AccErrorN));
    8670:       80 91 5a 05     lds     r24, 0x055A
    8674:       08 2f           mov     r16, r24
    8676:       10 e0           ldi     r17, 0x00       ; 0
    8678:       20 e0           ldi     r18, 0x00       ; 0
    867a:       30 e0           ldi     r19, 0x00       ; 0
    867c:       0d 83           std     Y+5, r16        ; 0x05
    867e:       1e 83           std     Y+6, r17        ; 0x06
    8680:       2f 83           std     Y+7, r18        ; 0x07
    8682:       38 87           std     Y+8, r19        ; 0x08
                tmp_long2 = (long)(IntegralRoll / EE_Parameter.GyroAccFaktor - (long)(Mittelwert_AccRoll - FromNaviCtrl.AccErrorR));
                tmp_long  = (tmp_long  * FromNaviCtrl_Value.Kalman_K) / (32 * 16);
    8684:       55 24           eor     r5, r5
    8686:       47 fc           sbrc    r4, 7
    8688:       50 94           com     r5
    868a:       65 2c           mov     r6, r5
    868c:       75 2c           mov     r7, r5
  if(!Looping_Nick && !Looping_Roll && (Aktuell_az > 512 || MotorenEin))
  {
   long tmp_long, tmp_long2;
   if(FromNaviCtrl_Value.Kalman_K > 0 /*&& !TrichterFlug*/)
     {
                tmp_long = (long)(IntegralNick / EE_Parameter.GyroAccFaktor - (long)(Mittelwert_AccNick - FromNaviCtrl.AccErrorN));
    868e:       c7 01           movw    r24, r14
    8690:       b6 01           movw    r22, r12
    8692:       a9 01           movw    r20, r18
    8694:       98 01           movw    r18, r16
    8696:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    869a:       80 91 60 06     lds     r24, 0x0660
    869e:       90 91 61 06     lds     r25, 0x0661
    86a2:       60 91 15 09     lds     r22, 0x0915
    86a6:       70 91 16 09     lds     r23, 0x0916
    86aa:       86 1b           sub     r24, r22
    86ac:       97 0b           sbc     r25, r23
    86ae:       aa 27           eor     r26, r26
    86b0:       97 fd           sbrc    r25, 7
    86b2:       a0 95           com     r26
    86b4:       ba 2f           mov     r27, r26
    86b6:       79 01           movw    r14, r18
    86b8:       8a 01           movw    r16, r20
    86ba:       e8 1a           sub     r14, r24
    86bc:       f9 0a           sbc     r15, r25
    86be:       0a 0b           sbc     r16, r26
    86c0:       1b 0b           sbc     r17, r27
    86c2:       c8 01           movw    r24, r16
    86c4:       b7 01           movw    r22, r14
                tmp_long2 = (long)(IntegralRoll / EE_Parameter.GyroAccFaktor - (long)(Mittelwert_AccRoll - FromNaviCtrl.AccErrorR));
                tmp_long  = (tmp_long  * FromNaviCtrl_Value.Kalman_K) / (32 * 16);
    86c6:       a3 01           movw    r20, r6
    86c8:       92 01           movw    r18, r4
    86ca:       0e 94 27 b1     call    0x1624e ; 0x1624e <__mulsi3>
    86ce:       6b 01           movw    r12, r22
    86d0:       7c 01           movw    r14, r24
    86d2:       99 23           and     r25, r25
    86d4:       34 f4           brge    .+12            ; 0x86e2 <MotorRegler+0x16d6>
    86d6:       0f ef           ldi     r16, 0xFF       ; 255
    86d8:       c0 0e           add     r12, r16
    86da:       01 e0           ldi     r16, 0x01       ; 1
    86dc:       d0 1e           adc     r13, r16
    86de:       e1 1c           adc     r14, r1
    86e0:       f1 1c           adc     r15, r1
    86e2:       0b 2e           mov     r0, r27
    86e4:       b9 e0           ldi     r27, 0x09       ; 9
    86e6:       f5 94           asr     r15
    86e8:       e7 94           ror     r14
    86ea:       d7 94           ror     r13
    86ec:       c7 94           ror     r12
    86ee:       ba 95           dec     r27
    86f0:       d1 f7           brne    .-12            ; 0x86e6 <MotorRegler+0x16da>
    86f2:       b0 2d           mov     r27, r0
  {
   long tmp_long, tmp_long2;
   if(FromNaviCtrl_Value.Kalman_K > 0 /*&& !TrichterFlug*/)
     {
                tmp_long = (long)(IntegralNick / EE_Parameter.GyroAccFaktor - (long)(Mittelwert_AccNick - FromNaviCtrl.AccErrorN));
                tmp_long2 = (long)(IntegralRoll / EE_Parameter.GyroAccFaktor - (long)(Mittelwert_AccRoll - FromNaviCtrl.AccErrorR));
    86f4:       c5 01           movw    r24, r10
    86f6:       b4 01           movw    r22, r8
    86f8:       2d 81           ldd     r18, Y+5        ; 0x05
    86fa:       3e 81           ldd     r19, Y+6        ; 0x06
    86fc:       4f 81           ldd     r20, Y+7        ; 0x07
    86fe:       58 85           ldd     r21, Y+8        ; 0x08
    8700:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    8704:       80 91 72 06     lds     r24, 0x0672
    8708:       90 91 73 06     lds     r25, 0x0673
    870c:       60 91 17 09     lds     r22, 0x0917
    8710:       70 91 18 09     lds     r23, 0x0918
    8714:       86 1b           sub     r24, r22
    8716:       97 0b           sbc     r25, r23
    8718:       aa 27           eor     r26, r26
    871a:       97 fd           sbrc    r25, 7
    871c:       a0 95           com     r26
    871e:       ba 2f           mov     r27, r26
    8720:       28 1b           sub     r18, r24
    8722:       39 0b           sbc     r19, r25
    8724:       4a 0b           sbc     r20, r26
    8726:       5b 0b           sbc     r21, r27
                tmp_long  = (tmp_long  * FromNaviCtrl_Value.Kalman_K) / (32 * 16);
                tmp_long2 = (tmp_long2 * FromNaviCtrl_Value.Kalman_K) / (32 * 16);
    8728:       c3 01           movw    r24, r6
    872a:       b2 01           movw    r22, r4
    872c:       0e 94 27 b1     call    0x1624e ; 0x1624e <__mulsi3>
    8730:       8b 01           movw    r16, r22
    8732:       9c 01           movw    r18, r24
    8734:       99 23           and     r25, r25
    8736:       24 f4           brge    .+8             ; 0x8740 <MotorRegler+0x1734>
    8738:       01 50           subi    r16, 0x01       ; 1
    873a:       1e 4f           sbci    r17, 0xFE       ; 254
    873c:       2f 4f           sbci    r18, 0xFF       ; 255
    873e:       3f 4f           sbci    r19, 0xFF       ; 255
    8740:       0f 2e           mov     r0, r31
    8742:       f9 e0           ldi     r31, 0x09       ; 9
    8744:       35 95           asr     r19
    8746:       27 95           ror     r18
    8748:       17 95           ror     r17
    874a:       07 95           ror     r16
    874c:       fa 95           dec     r31
    874e:       d1 f7           brne    .-12            ; 0x8744 <MotorRegler+0x1738>
    8750:       f0 2d           mov     r31, r0
                if((MaxStickNick > 64) || (MaxStickRoll > 64))
    8752:       80 91 d0 03     lds     r24, 0x03D0
    8756:       90 91 d1 03     lds     r25, 0x03D1
    875a:       81 34           cpi     r24, 0x41       ; 65
    875c:       91 05           cpc     r25, r1
    875e:       3c f4           brge    .+14            ; 0x876e <MotorRegler+0x1762>
    8760:       80 91 ce 03     lds     r24, 0x03CE
    8764:       90 91 cf 03     lds     r25, 0x03CF
    8768:       81 34           cpi     r24, 0x41       ; 65
    876a:       91 05           cpc     r25, r1
    876c:       d4 f0           brlt    .+52            ; 0x87a2 <MotorRegler+0x1796>
                {
                tmp_long  /= 2;
    876e:       d7 01           movw    r26, r14
    8770:       c6 01           movw    r24, r12
    8772:       ff 20           and     r15, r15
    8774:       1c f4           brge    .+6             ; 0x877c <MotorRegler+0x1770>
    8776:       01 96           adiw    r24, 0x01       ; 1
    8778:       a1 1d           adc     r26, r1
    877a:       b1 1d           adc     r27, r1
    877c:       6c 01           movw    r12, r24
    877e:       7d 01           movw    r14, r26
    8780:       f5 94           asr     r15
    8782:       e7 94           ror     r14
    8784:       d7 94           ror     r13
    8786:       c7 94           ror     r12
                tmp_long2 /= 2;
    8788:       d9 01           movw    r26, r18
    878a:       c8 01           movw    r24, r16
    878c:       33 23           and     r19, r19
    878e:       1c f4           brge    .+6             ; 0x8796 <MotorRegler+0x178a>
    8790:       01 96           adiw    r24, 0x01       ; 1
    8792:       a1 1d           adc     r26, r1
    8794:       b1 1d           adc     r27, r1
    8796:       8c 01           movw    r16, r24
    8798:       9d 01           movw    r18, r26
    879a:       35 95           asr     r19
    879c:       27 95           ror     r18
    879e:       17 95           ror     r17
    87a0:       07 95           ror     r16
                }
                if(tmp_long >  (long) FromNaviCtrl_Value.Kalman_MaxFusion)  tmp_long  = (long) FromNaviCtrl_Value.Kalman_MaxFusion;
    87a2:       80 91 4e 09     lds     r24, 0x094E
    87a6:       48 2f           mov     r20, r24
    87a8:       55 27           eor     r21, r21
    87aa:       47 fd           sbrc    r20, 7
    87ac:       50 95           com     r21
    87ae:       65 2f           mov     r22, r21
    87b0:       75 2f           mov     r23, r21
    87b2:       4c 15           cp      r20, r12
    87b4:       5d 05           cpc     r21, r13
    87b6:       6e 05           cpc     r22, r14
    87b8:       7f 05           cpc     r23, r15
    87ba:       14 f4           brge    .+4             ; 0x87c0 <MotorRegler+0x17b4>
    87bc:       6a 01           movw    r12, r20
    87be:       7b 01           movw    r14, r22
                if(tmp_long <  (long)-FromNaviCtrl_Value.Kalman_MaxFusion)  tmp_long  = (long)-FromNaviCtrl_Value.Kalman_MaxFusion;
    87c0:       99 27           eor     r25, r25
    87c2:       81 95           neg     r24
    87c4:       0c f4           brge    .+2             ; 0x87c8 <MotorRegler+0x17bc>
    87c6:       90 95           com     r25
    87c8:       aa 27           eor     r26, r26
    87ca:       97 fd           sbrc    r25, 7
    87cc:       a0 95           com     r26
    87ce:       ba 2f           mov     r27, r26
    87d0:       c8 16           cp      r12, r24
    87d2:       d9 06           cpc     r13, r25
    87d4:       ea 06           cpc     r14, r26
    87d6:       fb 06           cpc     r15, r27
    87d8:       14 f4           brge    .+4             ; 0x87de <MotorRegler+0x17d2>
    87da:       6c 01           movw    r12, r24
    87dc:       7d 01           movw    r14, r26
    87de:       40 17           cp      r20, r16
    87e0:       51 07           cpc     r21, r17
    87e2:       62 07           cpc     r22, r18
    87e4:       73 07           cpc     r23, r19
    87e6:       14 f4           brge    .+4             ; 0x87ec <MotorRegler+0x17e0>
    87e8:       8a 01           movw    r16, r20
    87ea:       9b 01           movw    r18, r22
    87ec:       b9 01           movw    r22, r18
    87ee:       a8 01           movw    r20, r16
    87f0:       08 17           cp      r16, r24
    87f2:       19 07           cpc     r17, r25
    87f4:       2a 07           cpc     r18, r26
    87f6:       3b 07           cpc     r19, r27
    87f8:       0c f0           brlt    .+2             ; 0x87fc <MotorRegler+0x17f0>
    87fa:       d8 c0           rjmp    .+432           ; 0x89ac <MotorRegler+0x19a0>
    87fc:       ac 01           movw    r20, r24
    87fe:       bd 01           movw    r22, r26
    8800:       d5 c0           rjmp    .+426           ; 0x89ac <MotorRegler+0x19a0>
                if(tmp_long2 > (long) FromNaviCtrl_Value.Kalman_MaxFusion)  tmp_long2 = (long) FromNaviCtrl_Value.Kalman_MaxFusion;
                if(tmp_long2 < (long)-FromNaviCtrl_Value.Kalman_MaxFusion)  tmp_long2 = (long)-FromNaviCtrl_Value.Kalman_MaxFusion;
     }
     else
     {
                tmp_long = (long)(IntegralNick / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccNick);
    8802:       40 90 5a 05     lds     r4, 0x055A
    8806:       51 2c           mov     r5, r1
    8808:       61 2c           mov     r6, r1
    880a:       71 2c           mov     r7, r1
                tmp_long2 = (long)(IntegralRoll / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccRoll);
    880c:       c5 01           movw    r24, r10
    880e:       b4 01           movw    r22, r8
    8810:       a3 01           movw    r20, r6
    8812:       92 01           movw    r18, r4
    8814:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    8818:       80 91 72 06     lds     r24, 0x0672
    881c:       90 91 73 06     lds     r25, 0x0673
    8820:       aa 27           eor     r26, r26
    8822:       97 fd           sbrc    r25, 7
    8824:       a0 95           com     r26
    8826:       ba 2f           mov     r27, r26
    8828:       49 01           movw    r8, r18
    882a:       5a 01           movw    r10, r20
    882c:       88 1a           sub     r8, r24
    882e:       99 0a           sbc     r9, r25
    8830:       aa 0a           sbc     r10, r26
    8832:       bb 0a           sbc     r11, r27
    8834:       8d 82           std     Y+5, r8 ; 0x05
    8836:       9e 82           std     Y+6, r9 ; 0x06
    8838:       af 82           std     Y+7, r10        ; 0x07
    883a:       b8 86           std     Y+8, r11        ; 0x08
                if(tmp_long2 > (long) FromNaviCtrl_Value.Kalman_MaxFusion)  tmp_long2 = (long) FromNaviCtrl_Value.Kalman_MaxFusion;
                if(tmp_long2 < (long)-FromNaviCtrl_Value.Kalman_MaxFusion)  tmp_long2 = (long)-FromNaviCtrl_Value.Kalman_MaxFusion;
     }
     else
     {
                tmp_long = (long)(IntegralNick / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccNick);
    883c:       c7 01           movw    r24, r14
    883e:       b6 01           movw    r22, r12
    8840:       a3 01           movw    r20, r6
    8842:       92 01           movw    r18, r4
    8844:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    8848:       80 91 60 06     lds     r24, 0x0660
    884c:       90 91 61 06     lds     r25, 0x0661
    8850:       aa 27           eor     r26, r26
    8852:       97 fd           sbrc    r25, 7
    8854:       a0 95           com     r26
    8856:       ba 2f           mov     r27, r26
    8858:       79 01           movw    r14, r18
    885a:       8a 01           movw    r16, r20
    885c:       e8 1a           sub     r14, r24
    885e:       f9 0a           sbc     r15, r25
    8860:       0a 0b           sbc     r16, r26
    8862:       1b 0b           sbc     r17, r27
                tmp_long2 = (long)(IntegralRoll / EE_Parameter.GyroAccFaktor - (long)Mittelwert_AccRoll);
                tmp_long /= 16;
    8864:       67 01           movw    r12, r14
    8866:       78 01           movw    r14, r16
    8868:       ff 20           and     r15, r15
    886a:       2c f4           brge    .+10            ; 0x8876 <MotorRegler+0x186a>
    886c:       0f e0           ldi     r16, 0x0F       ; 15
    886e:       c0 0e           add     r12, r16
    8870:       d1 1c           adc     r13, r1
    8872:       e1 1c           adc     r14, r1
    8874:       f1 1c           adc     r15, r1
    8876:       68 94           set
    8878:       13 f8           bld     r1, 3
    887a:       f5 94           asr     r15
    887c:       e7 94           ror     r14
    887e:       d7 94           ror     r13
    8880:       c7 94           ror     r12
    8882:       16 94           lsr     r1
    8884:       d1 f7           brne    .-12            ; 0x887a <MotorRegler+0x186e>
                tmp_long2 /= 16;
    8886:       8d 80           ldd     r8, Y+5 ; 0x05
    8888:       9e 80           ldd     r9, Y+6 ; 0x06
    888a:       af 80           ldd     r10, Y+7        ; 0x07
    888c:       b8 84           ldd     r11, Y+8        ; 0x08
    888e:       bb 20           and     r11, r11
    8890:       2c f4           brge    .+10            ; 0x889c <MotorRegler+0x1890>
    8892:       1f e0           ldi     r17, 0x0F       ; 15
    8894:       81 0e           add     r8, r17
    8896:       91 1c           adc     r9, r1
    8898:       a1 1c           adc     r10, r1
    889a:       b1 1c           adc     r11, r1
    889c:       68 94           set
    889e:       13 f8           bld     r1, 3
    88a0:       b5 94           asr     r11
    88a2:       a7 94           ror     r10
    88a4:       97 94           ror     r9
    88a6:       87 94           ror     r8
    88a8:       16 94           lsr     r1
    88aa:       d1 f7           brne    .-12            ; 0x88a0 <MotorRegler+0x1894>
                if((MaxStickNick > 64) || (MaxStickRoll > 64))
    88ac:       80 91 d0 03     lds     r24, 0x03D0
    88b0:       90 91 d1 03     lds     r25, 0x03D1
    88b4:       81 34           cpi     r24, 0x41       ; 65
    88b6:       91 05           cpc     r25, r1
    88b8:       3c f4           brge    .+14            ; 0x88c8 <MotorRegler+0x18bc>
    88ba:       80 91 ce 03     lds     r24, 0x03CE
    88be:       90 91 cf 03     lds     r25, 0x03CF
    88c2:       81 34           cpi     r24, 0x41       ; 65
    88c4:       91 05           cpc     r25, r1
    88c6:       bc f0           brlt    .+46            ; 0x88f6 <MotorRegler+0x18ea>
                {
                tmp_long  /= 3;
    88c8:       0f 2e           mov     r0, r31
    88ca:       f3 e0           ldi     r31, 0x03       ; 3
    88cc:       4f 2e           mov     r4, r31
    88ce:       51 2c           mov     r5, r1
    88d0:       61 2c           mov     r6, r1
    88d2:       71 2c           mov     r7, r1
    88d4:       f0 2d           mov     r31, r0
    88d6:       c7 01           movw    r24, r14
    88d8:       b6 01           movw    r22, r12
    88da:       a3 01           movw    r20, r6
    88dc:       92 01           movw    r18, r4
    88de:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    88e2:       69 01           movw    r12, r18
    88e4:       7a 01           movw    r14, r20
                tmp_long2 /= 3;
    88e6:       c5 01           movw    r24, r10
    88e8:       b4 01           movw    r22, r8
    88ea:       a3 01           movw    r20, r6
    88ec:       92 01           movw    r18, r4
    88ee:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    88f2:       49 01           movw    r8, r18
    88f4:       5a 01           movw    r10, r20
                }
                if(abs(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]) > 25)
    88f6:       e0 91 42 05     lds     r30, 0x0542
    88fa:       f0 e0           ldi     r31, 0x00       ; 0
    88fc:       ee 0f           add     r30, r30
    88fe:       ff 1f           adc     r31, r31
    8900:       ef 5c           subi    r30, 0xCF       ; 207
    8902:       f7 4f           sbci    r31, 0xF7       ; 247
    8904:       80 81           ld      r24, Z
    8906:       91 81           ldd     r25, Z+1        ; 0x01
    8908:       99 23           and     r25, r25
    890a:       1c f4           brge    .+6             ; 0x8912 <MotorRegler+0x1906>
    890c:       91 95           neg     r25
    890e:       81 95           neg     r24
    8910:       91 09           sbc     r25, r1
    8912:       4a 97           sbiw    r24, 0x1a       ; 26
    8914:       bc f0           brlt    .+46            ; 0x8944 <MotorRegler+0x1938>
                {
                tmp_long  /= 3;
    8916:       0f 2e           mov     r0, r31
    8918:       f3 e0           ldi     r31, 0x03       ; 3
    891a:       4f 2e           mov     r4, r31
    891c:       51 2c           mov     r5, r1
    891e:       61 2c           mov     r6, r1
    8920:       71 2c           mov     r7, r1
    8922:       f0 2d           mov     r31, r0
    8924:       c7 01           movw    r24, r14
    8926:       b6 01           movw    r22, r12
    8928:       a3 01           movw    r20, r6
    892a:       92 01           movw    r18, r4
    892c:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    8930:       69 01           movw    r12, r18
    8932:       7a 01           movw    r14, r20
                tmp_long2 /= 3;
    8934:       c5 01           movw    r24, r10
    8936:       b4 01           movw    r22, r8
    8938:       a3 01           movw    r20, r6
    893a:       92 01           movw    r18, r4
    893c:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    8940:       49 01           movw    r8, r18
    8942:       5a 01           movw    r10, r20
                }
                KompassFusion = 25;
    8944:       89 e1           ldi     r24, 0x19       ; 25
    8946:       80 93 4c 01     sts     0x014C, r24
    894a:       21 e2           ldi     r18, 0x21       ; 33
    894c:       c2 16           cp      r12, r18
    894e:       d1 04           cpc     r13, r1
    8950:       e1 04           cpc     r14, r1
    8952:       f1 04           cpc     r15, r1
    8954:       2c f0           brlt    .+10            ; 0x8960 <MotorRegler+0x1954>
    8956:       c1 2c           mov     r12, r1
    8958:       d1 2c           mov     r13, r1
    895a:       76 01           movw    r14, r12
    895c:       68 94           set
    895e:       c5 f8           bld     r12, 5
    8960:       30 ee           ldi     r19, 0xE0       ; 224
    8962:       c3 16           cp      r12, r19
    8964:       3f ef           ldi     r19, 0xFF       ; 255
    8966:       d3 06           cpc     r13, r19
    8968:       e3 06           cpc     r14, r19
    896a:       f3 06           cpc     r15, r19
    896c:       44 f4           brge    .+16            ; 0x897e <MotorRegler+0x1972>
    896e:       0f 2e           mov     r0, r31
    8970:       f0 ee           ldi     r31, 0xE0       ; 224
    8972:       cf 2e           mov     r12, r31
    8974:       dd 24           eor     r13, r13
    8976:       da 94           dec     r13
    8978:       ed 2c           mov     r14, r13
    897a:       fd 2c           mov     r15, r13
    897c:       f0 2d           mov     r31, r0
    897e:       d5 01           movw    r26, r10
    8980:       c4 01           movw    r24, r8
    8982:       81 32           cpi     r24, 0x21       ; 33
    8984:       91 05           cpc     r25, r1
    8986:       a1 05           cpc     r26, r1
    8988:       b1 05           cpc     r27, r1
    898a:       24 f0           brlt    .+8             ; 0x8994 <MotorRegler+0x1988>
    898c:       80 e2           ldi     r24, 0x20       ; 32
    898e:       90 e0           ldi     r25, 0x00       ; 0
    8990:       a0 e0           ldi     r26, 0x00       ; 0
    8992:       b0 e0           ldi     r27, 0x00       ; 0
    8994:       ac 01           movw    r20, r24
    8996:       bd 01           movw    r22, r26
    8998:       40 3e           cpi     r20, 0xE0       ; 224
    899a:       8f ef           ldi     r24, 0xFF       ; 255
    899c:       58 07           cpc     r21, r24
    899e:       68 07           cpc     r22, r24
    89a0:       78 07           cpc     r23, r24
    89a2:       24 f4           brge    .+8             ; 0x89ac <MotorRegler+0x19a0>
    89a4:       40 ee           ldi     r20, 0xE0       ; 224
    89a6:       5f ef           ldi     r21, 0xFF       ; 255
    89a8:       6f ef           ldi     r22, 0xFF       ; 255
    89aa:       7f ef           ldi     r23, 0xFF       ; 255
                if(tmp_long < -AUSGLEICH)  tmp_long  =-AUSGLEICH;
                if(tmp_long2 > AUSGLEICH)  tmp_long2 = AUSGLEICH;
                if(tmp_long2 <-AUSGLEICH)  tmp_long2 =-AUSGLEICH;
     }

        Mess_IntegralNick -= tmp_long;
    89ac:       80 91 36 04     lds     r24, 0x0436
    89b0:       90 91 37 04     lds     r25, 0x0437
    89b4:       a0 91 38 04     lds     r26, 0x0438
    89b8:       b0 91 39 04     lds     r27, 0x0439
    89bc:       8c 19           sub     r24, r12
    89be:       9d 09           sbc     r25, r13
    89c0:       ae 09           sbc     r26, r14
    89c2:       bf 09           sbc     r27, r15
    89c4:       80 93 36 04     sts     0x0436, r24
    89c8:       90 93 37 04     sts     0x0437, r25
    89cc:       a0 93 38 04     sts     0x0438, r26
    89d0:       b0 93 39 04     sts     0x0439, r27
        Mess_IntegralRoll -= tmp_long2;
    89d4:       80 91 32 04     lds     r24, 0x0432
    89d8:       90 91 33 04     lds     r25, 0x0433
    89dc:       a0 91 34 04     lds     r26, 0x0434
    89e0:       b0 91 35 04     lds     r27, 0x0435
    89e4:       84 1b           sub     r24, r20
    89e6:       95 0b           sbc     r25, r21
    89e8:       a6 0b           sbc     r26, r22
    89ea:       b7 0b           sbc     r27, r23
    89ec:       80 93 32 04     sts     0x0432, r24
    89f0:       90 93 33 04     sts     0x0433, r25
    89f4:       a0 93 34 04     sts     0x0434, r26
    89f8:       b0 93 35 04     sts     0x0435, r27
        DriftNick += tmp_long;
    89fc:       80 91 be 03     lds     r24, 0x03BE
    8a00:       90 91 bf 03     lds     r25, 0x03BF
    8a04:       c8 0e           add     r12, r24
    8a06:       d9 1e           adc     r13, r25
    8a08:       d0 92 bf 03     sts     0x03BF, r13
    8a0c:       c0 92 be 03     sts     0x03BE, r12
        DriftRoll += tmp_long2;
    8a10:       80 91 bc 03     lds     r24, 0x03BC
    8a14:       90 91 bd 03     lds     r25, 0x03BD
    8a18:       9c 01           movw    r18, r24
    8a1a:       24 0f           add     r18, r20
    8a1c:       35 1f           adc     r19, r21
    8a1e:       30 93 bd 03     sts     0x03BD, r19
    8a22:       20 93 bc 03     sts     0x03BC, r18
  }
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 if(ZaehlMessungen >= ABGLEICH_ANZAHL)
    8a26:       80 91 52 03     lds     r24, 0x0352
    8a2a:       90 91 53 03     lds     r25, 0x0353
    8a2e:       8f 3f           cpi     r24, 0xFF       ; 255
    8a30:       91 05           cpc     r25, r1
    8a32:       09 f0           breq    .+2             ; 0x8a36 <MotorRegler+0x1a2a>
    8a34:       08 f4           brcc    .+2             ; 0x8a38 <MotorRegler+0x1a2c>
    8a36:       5a c1           rjmp    .+692           ; 0x8cec <MotorRegler+0x1ce0>
//  static char last_n_p,last_n_n,last_r_p,last_r_n;
  static long MittelIntegralNick_Alt,MittelIntegralRoll_Alt;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gyro-Drift ermitteln
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  if(EE_Parameter.Driftkomp && abs(Mittelwert_AccNick) < 200*4 && abs(Mittelwert_AccRoll) < 200*4 && !TrichterFlug && abs(MesswertGier) < 32/* && (FC_StatusFlags & FC_STATUS_FLY)*/)
    8a38:       00 91 82 05     lds     r16, 0x0582
    8a3c:       00 23           and     r16, r16
    8a3e:       09 f4           brne    .+2             ; 0x8a42 <MotorRegler+0x1a36>
    8a40:       07 c1           rjmp    .+526           ; 0x8c50 <MotorRegler+0x1c44>
    8a42:       80 91 60 06     lds     r24, 0x0660
    8a46:       90 91 61 06     lds     r25, 0x0661
    8a4a:       81 5e           subi    r24, 0xE1       ; 225
    8a4c:       9c 4f           sbci    r25, 0xFC       ; 252
    8a4e:       8f 33           cpi     r24, 0x3F       ; 63
    8a50:       96 40           sbci    r25, 0x06       ; 6
    8a52:       08 f0           brcs    .+2             ; 0x8a56 <MotorRegler+0x1a4a>
    8a54:       fd c0           rjmp    .+506           ; 0x8c50 <MotorRegler+0x1c44>
    8a56:       80 91 72 06     lds     r24, 0x0672
    8a5a:       90 91 73 06     lds     r25, 0x0673
    8a5e:       81 5e           subi    r24, 0xE1       ; 225
    8a60:       9c 4f           sbci    r25, 0xFC       ; 252
    8a62:       8f 33           cpi     r24, 0x3F       ; 63
    8a64:       96 40           sbci    r25, 0x06       ; 6
    8a66:       08 f0           brcs    .+2             ; 0x8a6a <MotorRegler+0x1a5e>
    8a68:       f3 c0           rjmp    .+486           ; 0x8c50 <MotorRegler+0x1c44>
    8a6a:       80 91 1a 04     lds     r24, 0x041A
    8a6e:       81 11           cpse    r24, r1
    8a70:       ef c0           rjmp    .+478           ; 0x8c50 <MotorRegler+0x1c44>
    8a72:       80 91 67 06     lds     r24, 0x0667
    8a76:       90 91 68 06     lds     r25, 0x0668
    8a7a:       4f 96           adiw    r24, 0x1f       ; 31
    8a7c:       cf 97           sbiw    r24, 0x3f       ; 63
    8a7e:       08 f0           brcs    .+2             ; 0x8a82 <MotorRegler+0x1a76>
    8a80:       e7 c0           rjmp    .+462           ; 0x8c50 <MotorRegler+0x1c44>
  {
DebugOut.Analog[16] = EE_Parameter.Driftkomp;
    8a82:       10 e0           ldi     r17, 0x00       ; 0
    8a84:       10 93 69 0c     sts     0x0C69, r17
    8a88:       00 93 68 0c     sts     0x0C68, r16
   DriftNick -= DriftNick / (64 * (unsigned int) EE_Parameter.Driftkomp);
    8a8c:       e0 91 be 03     lds     r30, 0x03BE
    8a90:       f0 91 bf 03     lds     r31, 0x03BF
    8a94:       00 24           eor     r0, r0
    8a96:       16 95           lsr     r17
    8a98:       07 95           ror     r16
    8a9a:       07 94           ror     r0
    8a9c:       16 95           lsr     r17
    8a9e:       07 95           ror     r16
    8aa0:       07 94           ror     r0
    8aa2:       10 2f           mov     r17, r16
    8aa4:       00 2d           mov     r16, r0
    8aa6:       cf 01           movw    r24, r30
    8aa8:       b8 01           movw    r22, r16
    8aaa:       0e 94 42 b1     call    0x16284 ; 0x16284 <__udivmodhi4>
    8aae:       e6 1b           sub     r30, r22
    8ab0:       f7 0b           sbc     r31, r23
    8ab2:       f0 93 bf 03     sts     0x03BF, r31
    8ab6:       e0 93 be 03     sts     0x03BE, r30
   DriftRoll -= DriftRoll / (64 * (unsigned int) EE_Parameter.Driftkomp);
    8aba:       20 91 bc 03     lds     r18, 0x03BC
    8abe:       30 91 bd 03     lds     r19, 0x03BD
    8ac2:       c9 01           movw    r24, r18
    8ac4:       b8 01           movw    r22, r16
    8ac6:       0e 94 42 b1     call    0x16284 ; 0x16284 <__udivmodhi4>
    8aca:       26 1b           sub     r18, r22
    8acc:       37 0b           sbc     r19, r23
    8ace:       30 93 bd 03     sts     0x03BD, r19
    8ad2:       20 93 bc 03     sts     0x03BC, r18
   GierGyroFehler -= GierGyroFehler / (64 * (unsigned int) EE_Parameter.Driftkomp);
    8ad6:       e0 90 18 04     lds     r14, 0x0418
    8ada:       f0 90 19 04     lds     r15, 0x0419
    8ade:       c7 01           movw    r24, r14
    8ae0:       b8 01           movw    r22, r16
    8ae2:       0e 94 42 b1     call    0x16284 ; 0x16284 <__udivmodhi4>
    8ae6:       e6 1a           sub     r14, r22
    8ae8:       f7 0a           sbc     r15, r23
    8aea:       f0 92 19 04     sts     0x0419, r15
    8aee:       e0 92 18 04     sts     0x0418, r14
   if((MaxStickNick > 64) || (MaxStickRoll > 64) || (abs(PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]) > 25))
    8af2:       80 91 d0 03     lds     r24, 0x03D0
    8af6:       90 91 d1 03     lds     r25, 0x03D1
    8afa:       81 34           cpi     r24, 0x41       ; 65
    8afc:       91 05           cpc     r25, r1
    8afe:       bc f4           brge    .+46            ; 0x8b2e <MotorRegler+0x1b22>
    8b00:       80 91 ce 03     lds     r24, 0x03CE
    8b04:       90 91 cf 03     lds     r25, 0x03CF
    8b08:       81 34           cpi     r24, 0x41       ; 65
    8b0a:       91 05           cpc     r25, r1
    8b0c:       84 f4           brge    .+32            ; 0x8b2e <MotorRegler+0x1b22>
    8b0e:       a0 91 42 05     lds     r26, 0x0542
    8b12:       b0 e0           ldi     r27, 0x00       ; 0
    8b14:       aa 0f           add     r26, r26
    8b16:       bb 1f           adc     r27, r27
    8b18:       af 5c           subi    r26, 0xCF       ; 207
    8b1a:       b7 4f           sbci    r27, 0xF7       ; 247
    8b1c:       8d 91           ld      r24, X+
    8b1e:       9c 91           ld      r25, X
    8b20:       99 23           and     r25, r25
    8b22:       1c f4           brge    .+6             ; 0x8b2a <MotorRegler+0x1b1e>
    8b24:       91 95           neg     r25
    8b26:       81 95           neg     r24
    8b28:       91 09           sbc     r25, r1
    8b2a:       4a 97           sbiw    r24, 0x1a       ; 26
    8b2c:       c4 f0           brlt    .+48            ; 0x8b5e <MotorRegler+0x1b52>
    {
     DriftNick /= 2;
    8b2e:       cf 01           movw    r24, r30
    8b30:       ff 23           and     r31, r31
    8b32:       0c f4           brge    .+2             ; 0x8b36 <MotorRegler+0x1b2a>
    8b34:       01 96           adiw    r24, 0x01       ; 1
    8b36:       95 95           asr     r25
    8b38:       87 95           ror     r24
    8b3a:       90 93 bf 03     sts     0x03BF, r25
    8b3e:       80 93 be 03     sts     0x03BE, r24
     DriftRoll /= 2;
    8b42:       c9 01           movw    r24, r18
    8b44:       99 23           and     r25, r25
    8b46:       0c f4           brge    .+2             ; 0x8b4a <MotorRegler+0x1b3e>
    8b48:       01 96           adiw    r24, 0x01       ; 1
    8b4a:       95 95           asr     r25
    8b4c:       87 95           ror     r24
    8b4e:       90 93 bd 03     sts     0x03BD, r25
    8b52:       80 93 bc 03     sts     0x03BC, r24
         GierGyroFehler = 0;
    8b56:       10 92 19 04     sts     0x0419, r1
    8b5a:       10 92 18 04     sts     0x0418, r1
    }
         if(DriftNick > 3000) { DriftNick = 0; AdNeutralNick++;}
    8b5e:       80 91 be 03     lds     r24, 0x03BE
    8b62:       90 91 bf 03     lds     r25, 0x03BF
    8b66:       89 3b           cpi     r24, 0xB9       ; 185
    8b68:       9b 40           sbci    r25, 0x0B       ; 11
    8b6a:       6c f0           brlt    .+26            ; 0x8b86 <MotorRegler+0x1b7a>
    8b6c:       10 92 bf 03     sts     0x03BF, r1
    8b70:       10 92 be 03     sts     0x03BE, r1
    8b74:       80 91 57 04     lds     r24, 0x0457
    8b78:       90 91 58 04     lds     r25, 0x0458
    8b7c:       01 96           adiw    r24, 0x01       ; 1
    8b7e:       90 93 58 04     sts     0x0458, r25
    8b82:       80 93 57 04     sts     0x0457, r24
         if(DriftNick <-3000) { DriftNick = 0; AdNeutralNick--;}
    8b86:       80 91 be 03     lds     r24, 0x03BE
    8b8a:       90 91 bf 03     lds     r25, 0x03BF
    8b8e:       88 34           cpi     r24, 0x48       ; 72
    8b90:       94 4f           sbci    r25, 0xF4       ; 244
    8b92:       6c f4           brge    .+26            ; 0x8bae <MotorRegler+0x1ba2>
    8b94:       10 92 bf 03     sts     0x03BF, r1
    8b98:       10 92 be 03     sts     0x03BE, r1
    8b9c:       80 91 57 04     lds     r24, 0x0457
    8ba0:       90 91 58 04     lds     r25, 0x0458
    8ba4:       01 97           sbiw    r24, 0x01       ; 1
    8ba6:       90 93 58 04     sts     0x0458, r25
    8baa:       80 93 57 04     sts     0x0457, r24
         if(DriftRoll > 3000) { DriftRoll = 0; AdNeutralRoll++;}
    8bae:       80 91 bc 03     lds     r24, 0x03BC
    8bb2:       90 91 bd 03     lds     r25, 0x03BD
    8bb6:       89 3b           cpi     r24, 0xB9       ; 185
    8bb8:       9b 40           sbci    r25, 0x0B       ; 11
    8bba:       6c f0           brlt    .+26            ; 0x8bd6 <MotorRegler+0x1bca>
    8bbc:       10 92 bd 03     sts     0x03BD, r1
    8bc0:       10 92 bc 03     sts     0x03BC, r1
    8bc4:       80 91 55 04     lds     r24, 0x0455
    8bc8:       90 91 56 04     lds     r25, 0x0456
    8bcc:       01 96           adiw    r24, 0x01       ; 1
    8bce:       90 93 56 04     sts     0x0456, r25
    8bd2:       80 93 55 04     sts     0x0455, r24
         if(DriftRoll <-3000) { DriftRoll = 0; AdNeutralRoll--;}
    8bd6:       80 91 bc 03     lds     r24, 0x03BC
    8bda:       90 91 bd 03     lds     r25, 0x03BD
    8bde:       88 34           cpi     r24, 0x48       ; 72
    8be0:       94 4f           sbci    r25, 0xF4       ; 244
    8be2:       6c f4           brge    .+26            ; 0x8bfe <MotorRegler+0x1bf2>
    8be4:       10 92 bd 03     sts     0x03BD, r1
    8be8:       10 92 bc 03     sts     0x03BC, r1
    8bec:       80 91 55 04     lds     r24, 0x0455
    8bf0:       90 91 56 04     lds     r25, 0x0456
    8bf4:       01 97           sbiw    r24, 0x01       ; 1
    8bf6:       90 93 56 04     sts     0x0456, r25
    8bfa:       80 93 55 04     sts     0x0455, r24
     if(GierGyroFehler > 3500) { GierGyroFehler = 0; AdNeutralGier++; }
    8bfe:       80 91 18 04     lds     r24, 0x0418
    8c02:       90 91 19 04     lds     r25, 0x0419
    8c06:       8d 3a           cpi     r24, 0xAD       ; 173
    8c08:       9d 40           sbci    r25, 0x0D       ; 13
    8c0a:       6c f0           brlt    .+26            ; 0x8c26 <MotorRegler+0x1c1a>
    8c0c:       10 92 19 04     sts     0x0419, r1
    8c10:       10 92 18 04     sts     0x0418, r1
    8c14:       80 91 53 04     lds     r24, 0x0453
    8c18:       90 91 54 04     lds     r25, 0x0454
    8c1c:       01 96           adiw    r24, 0x01       ; 1
    8c1e:       90 93 54 04     sts     0x0454, r25
    8c22:       80 93 53 04     sts     0x0453, r24
     if(GierGyroFehler <-3500) { GierGyroFehler = 0; AdNeutralGier--; }
    8c26:       80 91 18 04     lds     r24, 0x0418
    8c2a:       90 91 19 04     lds     r25, 0x0419
    8c2e:       84 35           cpi     r24, 0x54       ; 84
    8c30:       92 4f           sbci    r25, 0xF2       ; 242
    8c32:       d4 f4           brge    .+52            ; 0x8c68 <MotorRegler+0x1c5c>
    8c34:       10 92 19 04     sts     0x0419, r1
    8c38:       10 92 18 04     sts     0x0418, r1
    8c3c:       80 91 53 04     lds     r24, 0x0453
    8c40:       90 91 54 04     lds     r25, 0x0454
    8c44:       01 97           sbiw    r24, 0x01       ; 1
    8c46:       90 93 54 04     sts     0x0454, r25
    8c4a:       80 93 53 04     sts     0x0453, r24
    8c4e:       0c c0           rjmp    .+24            ; 0x8c68 <MotorRegler+0x1c5c>
  }
  else
  {
   DriftNick = 0;
    8c50:       10 92 bf 03     sts     0x03BF, r1
    8c54:       10 92 be 03     sts     0x03BE, r1
   DriftRoll = 0;
    8c58:       10 92 bd 03     sts     0x03BD, r1
    8c5c:       10 92 bc 03     sts     0x03BC, r1
   GierGyroFehler = 0;
    8c60:       10 92 19 04     sts     0x0419, r1
    8c64:       10 92 18 04     sts     0x0418, r1
  }
  TrichterFlug = 0;
    8c68:       10 92 1a 04     sts     0x041A, r1
   LageKorrekturRoll = 0;
   LageKorrekturNick = 0;
   TrichterFlug = 0;
  }
*/
  if(!IntegralFaktor) { LageKorrekturRoll = 0; LageKorrekturNick = 0;} // z.B. bei HH
    8c6c:       80 91 42 06     lds     r24, 0x0642
    8c70:       81 11           cpse    r24, r1
    8c72:       08 c0           rjmp    .+16            ; 0x8c84 <MotorRegler+0x1c78>
    8c74:       10 92 ed 03     sts     0x03ED, r1
    8c78:       10 92 ec 03     sts     0x03EC, r1
    8c7c:       10 92 eb 03     sts     0x03EB, r1
    8c80:       10 92 ea 03     sts     0x03EA, r1
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
   MittelIntegralNick_Alt = MittelIntegralNick;
    8c84:       80 91 34 06     lds     r24, 0x0634
    8c88:       90 91 35 06     lds     r25, 0x0635
    8c8c:       a0 91 36 06     lds     r26, 0x0636
    8c90:       b0 91 37 06     lds     r27, 0x0637
    8c94:       80 93 92 03     sts     0x0392, r24
    8c98:       90 93 93 03     sts     0x0393, r25
    8c9c:       a0 93 94 03     sts     0x0394, r26
    8ca0:       b0 93 95 03     sts     0x0395, r27
   MittelIntegralRoll_Alt = MittelIntegralRoll;
    8ca4:       80 91 3c 06     lds     r24, 0x063C
    8ca8:       90 91 3d 06     lds     r25, 0x063D
    8cac:       a0 91 3e 06     lds     r26, 0x063E
    8cb0:       b0 91 3f 06     lds     r27, 0x063F
    8cb4:       80 93 8e 03     sts     0x038E, r24
    8cb8:       90 93 8f 03     sts     0x038F, r25
    8cbc:       a0 93 90 03     sts     0x0390, r26
    8cc0:       b0 93 91 03     sts     0x0391, r27
// +++++++++++++++++++++++++++++++++++++++++++++++++++++
    MittelIntegralNick = 0;
    8cc4:       10 92 34 06     sts     0x0634, r1
    8cc8:       10 92 35 06     sts     0x0635, r1
    8ccc:       10 92 36 06     sts     0x0636, r1
    8cd0:       10 92 37 06     sts     0x0637, r1
    MittelIntegralRoll = 0;
    8cd4:       10 92 3c 06     sts     0x063C, r1
    8cd8:       10 92 3d 06     sts     0x063D, r1
    8cdc:       10 92 3e 06     sts     0x063E, r1
    8ce0:       10 92 3f 06     sts     0x063F, r1
    ZaehlMessungen = 0;
    8ce4:       10 92 53 03     sts     0x0353, r1
    8ce8:       10 92 52 03     sts     0x0352, r1
 } //  ZaehlMessungen >= ABGLEICH_ANZAHL

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//  Gieren
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    if(abs(StickGier) > 3) // war 15
    8cec:       e0 91 10 04     lds     r30, 0x0410
    8cf0:       f0 91 11 04     lds     r31, 0x0411
    8cf4:       df 01           movw    r26, r30
    8cf6:       ff 23           and     r31, r31
    8cf8:       24 f4           brge    .+8             ; 0x8d02 <MotorRegler+0x1cf6>
    8cfa:       aa 27           eor     r26, r26
    8cfc:       bb 27           eor     r27, r27
    8cfe:       ae 1b           sub     r26, r30
    8d00:       bf 0b           sbc     r27, r31
    8d02:       a4 30           cpi     r26, 0x04       ; 4
    8d04:       b1 05           cpc     r27, r1
    8d06:       3c f0           brlt    .+14            ; 0x8d16 <MotorRegler+0x1d0a>
     {
//      KompassSignalSchlecht = 1000;
      if(!(Parameter_GlobalConfig & CFG_KOMPASS_FIX))
    8d08:       80 91 5c 06     lds     r24, 0x065C
    8d0c:       84 fd           sbrc    r24, 4
    8d0e:       03 c0           rjmp    .+6             ; 0x8d16 <MotorRegler+0x1d0a>
       {
         NeueKompassRichtungMerken = 50; // eine Sekunde zum Einloggen
    8d10:       82 e3           ldi     r24, 0x32       ; 50
    8d12:       80 93 ee 03     sts     0x03EE, r24
        };
     }
    tmp_int  = (long) EE_Parameter.StickGier_P * ((long)StickGier * abs(StickGier)) / 512L; // expo  y = ax + bx²
    8d16:       10 91 57 05     lds     r17, 0x0557
    tmp_int += (EE_Parameter.StickGier_P * StickGier) / 4;
        if(GasIsZeroCnt > 512) tmp_int = 0; // disable Yawing when Gas-Stick is to Zero
    8d1a:       80 91 c5 03     lds     r24, 0x03C5
    8d1e:       90 91 c6 03     lds     r25, 0x03C6
    8d22:       81 30           cpi     r24, 0x01       ; 1
    8d24:       92 40           sbci    r25, 0x02       ; 2
    8d26:       68 f5           brcc    .+90            ; 0x8d82 <MotorRegler+0x1d76>
      if(!(Parameter_GlobalConfig & CFG_KOMPASS_FIX))
       {
         NeueKompassRichtungMerken = 50; // eine Sekunde zum Einloggen
        };
     }
    tmp_int  = (long) EE_Parameter.StickGier_P * ((long)StickGier * abs(StickGier)) / 512L; // expo  y = ax + bx²
    8d28:       9f 01           movw    r18, r30
    8d2a:       0e 94 ad b1     call    0x1635a ; 0x1635a <__mulhisi3>
    8d2e:       9b 01           movw    r18, r22
    8d30:       ac 01           movw    r20, r24
    8d32:       a1 2f           mov     r26, r17
    8d34:       b0 e0           ldi     r27, 0x00       ; 0
    8d36:       0e 94 c8 b1     call    0x16390 ; 0x16390 <__muluhisi3>
    8d3a:       6b 01           movw    r12, r22
    8d3c:       7c 01           movw    r14, r24
    8d3e:       99 23           and     r25, r25
    8d40:       34 f4           brge    .+12            ; 0x8d4e <MotorRegler+0x1d42>
    8d42:       5f ef           ldi     r21, 0xFF       ; 255
    8d44:       c5 0e           add     r12, r21
    8d46:       51 e0           ldi     r21, 0x01       ; 1
    8d48:       d5 1e           adc     r13, r21
    8d4a:       e1 1c           adc     r14, r1
    8d4c:       f1 1c           adc     r15, r1
    8d4e:       b7 01           movw    r22, r14
    8d50:       a6 01           movw    r20, r12
    8d52:       03 2e           mov     r0, r19
    8d54:       39 e0           ldi     r19, 0x09       ; 9
    8d56:       75 95           asr     r23
    8d58:       67 95           ror     r22
    8d5a:       57 95           ror     r21
    8d5c:       47 95           ror     r20
    8d5e:       3a 95           dec     r19
    8d60:       d1 f7           brne    .-12            ; 0x8d56 <MotorRegler+0x1d4a>
    8d62:       30 2d           mov     r19, r0
    tmp_int += (EE_Parameter.StickGier_P * StickGier) / 4;
    8d64:       1e 9f           mul     r17, r30
    8d66:       c0 01           movw    r24, r0
    8d68:       1f 9f           mul     r17, r31
    8d6a:       90 0d           add     r25, r0
    8d6c:       11 24           eor     r1, r1
    8d6e:       99 23           and     r25, r25
    8d70:       0c f4           brge    .+2             ; 0x8d74 <MotorRegler+0x1d68>
    8d72:       03 96           adiw    r24, 0x03       ; 3
    8d74:       95 95           asr     r25
    8d76:       87 95           ror     r24
    8d78:       95 95           asr     r25
    8d7a:       87 95           ror     r24
    8d7c:       48 0f           add     r20, r24
    8d7e:       59 1f           adc     r21, r25
    8d80:       02 c0           rjmp    .+4             ; 0x8d86 <MotorRegler+0x1d7a>
        if(GasIsZeroCnt > 512) tmp_int = 0; // disable Yawing when Gas-Stick is to Zero
    8d82:       40 e0           ldi     r20, 0x00       ; 0
    8d84:       50 e0           ldi     r21, 0x00       ; 0
        tmp_int += CompassGierSetpoint;
    8d86:       80 91 f0 03     lds     r24, 0x03F0
    8d8a:       90 91 f1 03     lds     r25, 0x03F1
    8d8e:       48 0f           add     r20, r24
    8d90:       59 1f           adc     r21, r25
    sollGier = tmp_int;
    8d92:       66 27           eor     r22, r22
    8d94:       57 fd           sbrc    r21, 7
    8d96:       60 95           com     r22
    8d98:       76 2f           mov     r23, r22
    8d9a:       40 93 9e 03     sts     0x039E, r20
    8d9e:       50 93 9f 03     sts     0x039F, r21
    8da2:       60 93 a0 03     sts     0x03A0, r22
    8da6:       70 93 a1 03     sts     0x03A1, r23
    Mess_Integral_Gier -= tmp_int;
    8daa:       80 91 2e 04     lds     r24, 0x042E
    8dae:       90 91 2f 04     lds     r25, 0x042F
    8db2:       a0 91 30 04     lds     r26, 0x0430
    8db6:       b0 91 31 04     lds     r27, 0x0431
    8dba:       84 1b           sub     r24, r20
    8dbc:       95 0b           sbc     r25, r21
    8dbe:       a6 0b           sbc     r26, r22
    8dc0:       b7 0b           sbc     r27, r23
    8dc2:       80 93 2e 04     sts     0x042E, r24
    8dc6:       90 93 2f 04     sts     0x042F, r25
    8dca:       a0 93 30 04     sts     0x0430, r26
    8dce:       b0 93 31 04     sts     0x0431, r27
    if(Mess_Integral_Gier > 50000) Mess_Integral_Gier = 50000;  // begrenzen
    8dd2:       81 35           cpi     r24, 0x51       ; 81
    8dd4:       63 ec           ldi     r22, 0xC3       ; 195
    8dd6:       96 07           cpc     r25, r22
    8dd8:       a1 05           cpc     r26, r1
    8dda:       b1 05           cpc     r27, r1
    8ddc:       6c f0           brlt    .+26            ; 0x8df8 <MotorRegler+0x1dec>
    8dde:       80 e5           ldi     r24, 0x50       ; 80
    8de0:       93 ec           ldi     r25, 0xC3       ; 195
    8de2:       a0 e0           ldi     r26, 0x00       ; 0
    8de4:       b0 e0           ldi     r27, 0x00       ; 0
    8de6:       80 93 2e 04     sts     0x042E, r24
    8dea:       90 93 2f 04     sts     0x042F, r25
    8dee:       a0 93 30 04     sts     0x0430, r26
    8df2:       b0 93 31 04     sts     0x0431, r27
    8df6:       11 c0           rjmp    .+34            ; 0x8e1a <MotorRegler+0x1e0e>
    if(Mess_Integral_Gier <-50000) Mess_Integral_Gier =-50000;
    8df8:       80 3b           cpi     r24, 0xB0       ; 176
    8dfa:       9c 43           sbci    r25, 0x3C       ; 60
    8dfc:       af 4f           sbci    r26, 0xFF       ; 255
    8dfe:       bf 4f           sbci    r27, 0xFF       ; 255
    8e00:       64 f4           brge    .+24            ; 0x8e1a <MotorRegler+0x1e0e>
    8e02:       80 eb           ldi     r24, 0xB0       ; 176
    8e04:       9c e3           ldi     r25, 0x3C       ; 60
    8e06:       af ef           ldi     r26, 0xFF       ; 255
    8e08:       bf ef           ldi     r27, 0xFF       ; 255
    8e0a:       80 93 2e 04     sts     0x042E, r24
    8e0e:       90 93 2f 04     sts     0x042F, r25
    8e12:       a0 93 30 04     sts     0x0430, r26
    8e16:       b0 93 31 04     sts     0x0431, r27

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//  Kompass
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    if(KompassValue >= 0 && (Parameter_GlobalConfig & CFG_KOMPASS_AKTIV))
    8e1a:       e0 90 4e 01     lds     r14, 0x014E
    8e1e:       f0 90 4f 01     lds     r15, 0x014F
    8e22:       ff 20           and     r15, r15
    8e24:       0c f4           brge    .+2             ; 0x8e28 <MotorRegler+0x1e1c>
    8e26:       fe c0           rjmp    .+508           ; 0x9024 <MotorRegler+0x2018>
    8e28:       80 91 5c 06     lds     r24, 0x065C
    8e2c:       83 ff           sbrs    r24, 3
    8e2e:       fa c0           rjmp    .+500           ; 0x9024 <MotorRegler+0x2018>
     {
      if(CalculateCompassTimer-- == 1)
    8e30:       80 91 4d 01     lds     r24, 0x014D
    8e34:       81 30           cpi     r24, 0x01       ; 1
    8e36:       21 f0           breq    .+8             ; 0x8e40 <MotorRegler+0x1e34>
    8e38:       81 50           subi    r24, 0x01       ; 1
    8e3a:       80 93 4d 01     sts     0x014D, r24
    8e3e:       f6 c0           rjmp    .+492           ; 0x902c <MotorRegler+0x2020>
          {
       int w,v,r,fehler,korrektur; // wird von der SPI-Routine auf 1 gesetzt
       CalculateCompassTimer = 13; // falls keine Navi-Daten
    8e40:       8d e0           ldi     r24, 0x0D       ; 13
    8e42:       80 93 4d 01     sts     0x014D, r24
           // max. Korrekturwert schätzen
       w = abs(IntegralNick /512); // mit zunehmender Neigung den Einfluss drosseln
    8e46:       80 91 42 04     lds     r24, 0x0442
    8e4a:       90 91 43 04     lds     r25, 0x0443
    8e4e:       a0 91 44 04     lds     r26, 0x0444
    8e52:       b0 91 45 04     lds     r27, 0x0445
    8e56:       bb 23           and     r27, r27
    8e58:       24 f4           brge    .+8             ; 0x8e62 <MotorRegler+0x1e56>
    8e5a:       81 50           subi    r24, 0x01       ; 1
    8e5c:       9e 4f           sbci    r25, 0xFE       ; 254
    8e5e:       af 4f           sbci    r26, 0xFF       ; 255
    8e60:       bf 4f           sbci    r27, 0xFF       ; 255
    8e62:       07 2e           mov     r0, r23
    8e64:       79 e0           ldi     r23, 0x09       ; 9
    8e66:       b5 95           asr     r27
    8e68:       a7 95           ror     r26
    8e6a:       97 95           ror     r25
    8e6c:       87 95           ror     r24
    8e6e:       7a 95           dec     r23
    8e70:       d1 f7           brne    .-12            ; 0x8e66 <MotorRegler+0x1e5a>
    8e72:       70 2d           mov     r23, r0
    8e74:       9c 01           movw    r18, r24
    8e76:       99 23           and     r25, r25
    8e78:       24 f4           brge    .+8             ; 0x8e82 <MotorRegler+0x1e76>
    8e7a:       22 27           eor     r18, r18
    8e7c:       33 27           eor     r19, r19
    8e7e:       28 1b           sub     r18, r24
    8e80:       39 0b           sbc     r19, r25
       v = abs(IntegralRoll /512);
    8e82:       80 91 3e 04     lds     r24, 0x043E
    8e86:       90 91 3f 04     lds     r25, 0x043F
    8e8a:       a0 91 40 04     lds     r26, 0x0440
    8e8e:       b0 91 41 04     lds     r27, 0x0441
    8e92:       bb 23           and     r27, r27
    8e94:       24 f4           brge    .+8             ; 0x8e9e <MotorRegler+0x1e92>
    8e96:       81 50           subi    r24, 0x01       ; 1
    8e98:       9e 4f           sbci    r25, 0xFE       ; 254
    8e9a:       af 4f           sbci    r26, 0xFF       ; 255
    8e9c:       bf 4f           sbci    r27, 0xFF       ; 255
    8e9e:       07 2e           mov     r0, r23
    8ea0:       79 e0           ldi     r23, 0x09       ; 9
    8ea2:       b5 95           asr     r27
    8ea4:       a7 95           ror     r26
    8ea6:       97 95           ror     r25
    8ea8:       87 95           ror     r24
    8eaa:       7a 95           dec     r23
    8eac:       d1 f7           brne    .-12            ; 0x8ea2 <MotorRegler+0x1e96>
    8eae:       70 2d           mov     r23, r0
    8eb0:       6c 01           movw    r12, r24
    8eb2:       99 23           and     r25, r25
    8eb4:       24 f4           brge    .+8             ; 0x8ebe <MotorRegler+0x1eb2>
    8eb6:       cc 24           eor     r12, r12
    8eb8:       dd 24           eor     r13, r13
    8eba:       c8 1a           sub     r12, r24
    8ebc:       d9 0a           sbc     r13, r25
    8ebe:       c2 16           cp      r12, r18
    8ec0:       d3 06           cpc     r13, r19
    8ec2:       0c f4           brge    .+2             ; 0x8ec6 <MotorRegler+0x1eba>
    8ec4:       69 01           movw    r12, r18
       if(v > w) w = v; // grösste Neigung ermitteln
//       korrektur = w / 4 + 1;
           korrektur = w / 8 + 2;
           ErsatzKompassInGrad = ErsatzKompass/GIER_GRAD_FAKTOR;
    8ec6:       80 90 6e 06     lds     r8, 0x066E
    8eca:       90 90 6f 06     lds     r9, 0x066F
    8ece:       a0 90 70 06     lds     r10, 0x0670
    8ed2:       b0 90 71 06     lds     r11, 0x0671
    8ed6:       20 91 21 01     lds     r18, 0x0121
    8eda:       30 91 22 01     lds     r19, 0x0122
    8ede:       40 91 23 01     lds     r20, 0x0123
    8ee2:       50 91 24 01     lds     r21, 0x0124
    8ee6:       c5 01           movw    r24, r10
    8ee8:       b4 01           movw    r22, r8
    8eea:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    8eee:       89 01           movw    r16, r18
    8ef0:       9a 01           movw    r18, r20
    8ef2:       10 93 22 06     sts     0x0622, r17
    8ef6:       00 93 21 06     sts     0x0621, r16
           // Kompassfehlerwert bestimmen   
           fehler = ((540 + KompassValue - ErsatzKompassInGrad) % 360) - 180;
    8efa:       84 ee           ldi     r24, 0xE4       ; 228
    8efc:       e8 1a           sub     r14, r24
    8efe:       8d ef           ldi     r24, 0xFD       ; 253
    8f00:       f8 0a           sbc     r15, r24
    8f02:       c7 01           movw    r24, r14
    8f04:       80 1b           sub     r24, r16
    8f06:       91 0b           sbc     r25, r17
    8f08:       68 e6           ldi     r22, 0x68       ; 104
    8f0a:       71 e0           ldi     r23, 0x01       ; 1
    8f0c:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    8f10:       84 5b           subi    r24, 0xB4       ; 180
    8f12:       91 09           sbc     r25, r1
           // GIER_GRAD_FAKTOR ist ca. 1200
           // Kompasswert einloggen
       if(NeueKompassRichtungMerken) KompassSollWert = ErsatzKompassInGrad;
    8f14:       60 91 ee 03     lds     r22, 0x03EE
    8f18:       66 23           and     r22, r22
    8f1a:       21 f0           breq    .+8             ; 0x8f24 <MotorRegler+0x1f18>
    8f1c:       10 93 1d 04     sts     0x041D, r17
    8f20:       00 93 1c 04     sts     0x041C, r16

       if(KompassSignalSchlecht) KompassSignalSchlecht--;
    8f24:       40 91 4a 01     lds     r20, 0x014A
    8f28:       50 91 4b 01     lds     r21, 0x014B
    8f2c:       41 15           cp      r20, r1
    8f2e:       51 05           cpc     r21, r1
    8f30:       39 f0           breq    .+14            ; 0x8f40 <MotorRegler+0x1f34>
    8f32:       41 50           subi    r20, 0x01       ; 1
    8f34:       51 09           sbc     r21, r1
    8f36:       50 93 4b 01     sts     0x014B, r21
    8f3a:       40 93 4a 01     sts     0x014A, r20
    8f3e:       13 c0           rjmp    .+38            ; 0x8f66 <MotorRegler+0x1f5a>
           else 
       if(w < 25)
    8f40:       a9 e1           ldi     r26, 0x19       ; 25
    8f42:       ca 16           cp      r12, r26
    8f44:       d1 04           cpc     r13, r1
    8f46:       ac f4           brge    .+42            ; 0x8f72 <MotorRegler+0x1f66>
        {
        GierGyroFehler += fehler;
    8f48:       40 91 18 04     lds     r20, 0x0418
    8f4c:       50 91 19 04     lds     r21, 0x0419
    8f50:       48 0f           add     r20, r24
    8f52:       59 1f           adc     r21, r25
    8f54:       50 93 19 04     sts     0x0419, r21
    8f58:       40 93 18 04     sts     0x0418, r20
                if(NeueKompassRichtungMerken) NeueKompassRichtungMerken--;
    8f5c:       66 23           and     r22, r22
    8f5e:       19 f0           breq    .+6             ; 0x8f66 <MotorRegler+0x1f5a>
    8f60:       61 50           subi    r22, 0x01       ; 1
    8f62:       60 93 ee 03     sts     0x03EE, r22
                   }    
         }
*/              
        }
       // Kompass fusionieren
       if(!KompassSignalSchlecht) ErsatzKompass += (fehler * KompassFusion) / korrektur;
    8f66:       40 91 4a 01     lds     r20, 0x014A
    8f6a:       50 91 4b 01     lds     r21, 0x014B
    8f6e:       45 2b           or      r20, r21
    8f70:       49 f5           brne    .+82            ; 0x8fc4 <MotorRegler+0x1fb8>
    8f72:       40 91 4c 01     lds     r20, 0x014C
    8f76:       48 9f           mul     r20, r24
    8f78:       f0 01           movw    r30, r0
    8f7a:       49 9f           mul     r20, r25
    8f7c:       f0 0d           add     r31, r0
    8f7e:       11 24           eor     r1, r1
           // max. Korrekturwert schätzen
       w = abs(IntegralNick /512); // mit zunehmender Neigung den Einfluss drosseln
       v = abs(IntegralRoll /512);
       if(v > w) w = v; // grösste Neigung ermitteln
//       korrektur = w / 4 + 1;
           korrektur = w / 8 + 2;
    8f80:       a6 01           movw    r20, r12
    8f82:       dd 20           and     r13, r13
    8f84:       14 f4           brge    .+4             ; 0x8f8a <MotorRegler+0x1f7e>
    8f86:       49 5f           subi    r20, 0xF9       ; 249
    8f88:       5f 4f           sbci    r21, 0xFF       ; 255
    8f8a:       ba 01           movw    r22, r20
    8f8c:       75 95           asr     r23
    8f8e:       67 95           ror     r22
    8f90:       75 95           asr     r23
    8f92:       67 95           ror     r22
    8f94:       75 95           asr     r23
    8f96:       67 95           ror     r22
    8f98:       6e 5f           subi    r22, 0xFE       ; 254
    8f9a:       7f 4f           sbci    r23, 0xFF       ; 255
                   }    
         }
*/              
        }
       // Kompass fusionieren
       if(!KompassSignalSchlecht) ErsatzKompass += (fehler * KompassFusion) / korrektur;
    8f9c:       cf 01           movw    r24, r30
    8f9e:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    8fa2:       cb 01           movw    r24, r22
    8fa4:       aa 27           eor     r26, r26
    8fa6:       97 fd           sbrc    r25, 7
    8fa8:       a0 95           com     r26
    8faa:       ba 2f           mov     r27, r26
    8fac:       88 0e           add     r8, r24
    8fae:       99 1e           adc     r9, r25
    8fb0:       aa 1e           adc     r10, r26
    8fb2:       bb 1e           adc     r11, r27
    8fb4:       80 92 6e 06     sts     0x066E, r8
    8fb8:       90 92 6f 06     sts     0x066F, r9
    8fbc:       a0 92 70 06     sts     0x0670, r10
    8fc0:       b0 92 71 06     sts     0x0671, r11
       // MK Gieren
           if(!NeueKompassRichtungMerken)
    8fc4:       80 91 ee 03     lds     r24, 0x03EE
    8fc8:       81 11           cpse    r24, r1
    8fca:       27 c0           rjmp    .+78            ; 0x901a <MotorRegler+0x200e>
       {
           r = ((540 + (KompassSollWert - ErsatzKompassInGrad)) % 360) - 180;
           v = r * (Parameter_KompassWirkung/2);  // nach Kompass ausrichten
    8fcc:       40 91 37 01     lds     r20, 0x0137
    8fd0:       46 95           lsr     r20
       // Kompass fusionieren
       if(!KompassSignalSchlecht) ErsatzKompass += (fehler * KompassFusion) / korrektur;
       // MK Gieren
           if(!NeueKompassRichtungMerken)
       {
           r = ((540 + (KompassSollWert - ErsatzKompassInGrad)) % 360) - 180;
    8fd2:       80 91 1c 04     lds     r24, 0x041C
    8fd6:       90 91 1d 04     lds     r25, 0x041D
    8fda:       80 1b           sub     r24, r16
    8fdc:       91 0b           sbc     r25, r17
    8fde:       84 5e           subi    r24, 0xE4       ; 228
    8fe0:       9d 4f           sbci    r25, 0xFD       ; 253
    8fe2:       68 e6           ldi     r22, 0x68       ; 104
    8fe4:       71 e0           ldi     r23, 0x01       ; 1
    8fe6:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    8fea:       84 5b           subi    r24, 0xB4       ; 180
    8fec:       91 09           sbc     r25, r1
           v = r * (Parameter_KompassWirkung/2);  // nach Kompass ausrichten
    8fee:       48 9f           mul     r20, r24
    8ff0:       90 01           movw    r18, r0
    8ff2:       49 9f           mul     r20, r25
    8ff4:       30 0d           add     r19, r0
    8ff6:       11 24           eor     r1, r1
                   CompassGierSetpoint = v / 16;
    8ff8:       33 23           and     r19, r19
    8ffa:       14 f4           brge    .+4             ; 0x9000 <MotorRegler+0x1ff4>
    8ffc:       21 5f           subi    r18, 0xF1       ; 241
    8ffe:       3f 4f           sbci    r19, 0xFF       ; 255
    9000:       35 95           asr     r19
    9002:       27 95           ror     r18
    9004:       35 95           asr     r19
    9006:       27 95           ror     r18
    9008:       35 95           asr     r19
    900a:       27 95           ror     r18
    900c:       35 95           asr     r19
    900e:       27 95           ror     r18
    9010:       30 93 f1 03     sts     0x03F1, r19
    9014:       20 93 f0 03     sts     0x03F0, r18
    9018:       09 c0           rjmp    .+18            ; 0x902c <MotorRegler+0x2020>
       }
      else CompassGierSetpoint = 0; 
    901a:       10 92 f1 03     sts     0x03F1, r1
    901e:       10 92 f0 03     sts     0x03F0, r1
    9022:       04 c0           rjmp    .+8             ; 0x902c <MotorRegler+0x2020>
      } // CalculateCompassTimer
     }
         else CompassGierSetpoint = 0; 
    9024:       10 92 f1 03     sts     0x03F1, r1
    9028:       10 92 f0 03     sts     0x03F0, r1

//DebugOut.Analog[16] = KompassFusion;
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//  Drehgeschwindigkeit und -winkel zu einem Istwert zusammenfassen
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  if(TrichterFlug)  { SummeRoll = 0; SummeNick = 0;};
    902c:       80 91 1a 04     lds     r24, 0x041A
    9030:       88 23           and     r24, r24
    9032:       81 f0           breq    .+32            ; 0x9054 <MotorRegler+0x2048>
    9034:       10 92 22 04     sts     0x0422, r1
    9038:       10 92 23 04     sts     0x0423, r1
    903c:       10 92 24 04     sts     0x0424, r1
    9040:       10 92 25 04     sts     0x0425, r1
    9044:       10 92 26 04     sts     0x0426, r1
    9048:       10 92 27 04     sts     0x0427, r1
    904c:       10 92 28 04     sts     0x0428, r1
    9050:       10 92 29 04     sts     0x0429, r1

  if(!Looping_Nick) IntegralNickMalFaktor = (IntegralNick * IntegralFaktor) /  (44000 / STICK_GAIN); else IntegralNickMalFaktor = 0;
    9054:       80 91 e7 03     lds     r24, 0x03E7
    9058:       81 11           cpse    r24, r1
    905a:       15 c0           rjmp    .+42            ; 0x9086 <MotorRegler+0x207a>
    905c:       a0 91 42 06     lds     r26, 0x0642
    9060:       20 91 42 04     lds     r18, 0x0442
    9064:       30 91 43 04     lds     r19, 0x0443
    9068:       40 91 44 04     lds     r20, 0x0444
    906c:       50 91 45 04     lds     r21, 0x0445
    9070:       b0 e0           ldi     r27, 0x00       ; 0
    9072:       0e 94 c8 b1     call    0x16390 ; 0x16390 <__muluhisi3>
    9076:       28 ef           ldi     r18, 0xF8       ; 248
    9078:       3a e2           ldi     r19, 0x2A       ; 42
    907a:       40 e0           ldi     r20, 0x00       ; 0
    907c:       50 e0           ldi     r21, 0x00       ; 0
    907e:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    9082:       79 01           movw    r14, r18
    9084:       02 c0           rjmp    .+4             ; 0x908a <MotorRegler+0x207e>
    9086:       e1 2c           mov     r14, r1
    9088:       f1 2c           mov     r15, r1
  if(!Looping_Roll) IntegralRollMalFaktor = (IntegralRoll * IntegralFaktor) /  (44000 / STICK_GAIN); else IntegralRollMalFaktor = 0;
    908a:       80 91 e6 03     lds     r24, 0x03E6
    908e:       81 11           cpse    r24, r1
    9090:       15 c0           rjmp    .+42            ; 0x90bc <MotorRegler+0x20b0>
    9092:       a0 91 42 06     lds     r26, 0x0642
    9096:       20 91 3e 04     lds     r18, 0x043E
    909a:       30 91 3f 04     lds     r19, 0x043F
    909e:       40 91 40 04     lds     r20, 0x0440
    90a2:       50 91 41 04     lds     r21, 0x0441
    90a6:       b0 e0           ldi     r27, 0x00       ; 0
    90a8:       0e 94 c8 b1     call    0x16390 ; 0x16390 <__muluhisi3>
    90ac:       28 ef           ldi     r18, 0xF8       ; 248
    90ae:       3a e2           ldi     r19, 0x2A       ; 42
    90b0:       40 e0           ldi     r20, 0x00       ; 0
    90b2:       50 e0           ldi     r21, 0x00       ; 0
    90b4:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    90b8:       59 01           movw    r10, r18
    90ba:       02 c0           rjmp    .+4             ; 0x90c0 <MotorRegler+0x20b4>
    90bc:       a1 2c           mov     r10, r1
    90be:       b1 2c           mov     r11, r1

#define TRIM_MAX 200
 if(TrimNick > TRIM_MAX) TrimNick = TRIM_MAX; else  if(TrimNick <-TRIM_MAX) TrimNick =-TRIM_MAX;
    90c0:       80 91 1e 06     lds     r24, 0x061E
    90c4:       90 91 1f 06     lds     r25, 0x061F
    90c8:       89 3c           cpi     r24, 0xC9       ; 201
    90ca:       91 05           cpc     r25, r1
    90cc:       3c f0           brlt    .+14            ; 0x90dc <MotorRegler+0x20d0>
    90ce:       88 ec           ldi     r24, 0xC8       ; 200
    90d0:       90 e0           ldi     r25, 0x00       ; 0
    90d2:       90 93 1f 06     sts     0x061F, r25
    90d6:       80 93 1e 06     sts     0x061E, r24
    90da:       09 c0           rjmp    .+18            ; 0x90ee <MotorRegler+0x20e2>
    90dc:       88 33           cpi     r24, 0x38       ; 56
    90de:       9f 4f           sbci    r25, 0xFF       ; 255
    90e0:       34 f4           brge    .+12            ; 0x90ee <MotorRegler+0x20e2>
    90e2:       88 e3           ldi     r24, 0x38       ; 56
    90e4:       9f ef           ldi     r25, 0xFF       ; 255
    90e6:       90 93 1f 06     sts     0x061F, r25
    90ea:       80 93 1e 06     sts     0x061E, r24
 if(TrimRoll > TRIM_MAX) TrimRoll = TRIM_MAX; else  if(TrimRoll <-TRIM_MAX) TrimRoll =-TRIM_MAX;
    90ee:       80 91 25 06     lds     r24, 0x0625
    90f2:       90 91 26 06     lds     r25, 0x0626
    90f6:       89 3c           cpi     r24, 0xC9       ; 201
    90f8:       91 05           cpc     r25, r1
    90fa:       3c f0           brlt    .+14            ; 0x910a <MotorRegler+0x20fe>
    90fc:       88 ec           ldi     r24, 0xC8       ; 200
    90fe:       90 e0           ldi     r25, 0x00       ; 0
    9100:       90 93 26 06     sts     0x0626, r25
    9104:       80 93 25 06     sts     0x0625, r24
    9108:       09 c0           rjmp    .+18            ; 0x911c <MotorRegler+0x2110>
    910a:       88 33           cpi     r24, 0x38       ; 56
    910c:       9f 4f           sbci    r25, 0xFF       ; 255
    910e:       34 f4           brge    .+12            ; 0x911c <MotorRegler+0x2110>
    9110:       88 e3           ldi     r24, 0x38       ; 56
    9112:       9f ef           ldi     r25, 0xFF       ; 255
    9114:       90 93 26 06     sts     0x0626, r25
    9118:       80 93 25 06     sts     0x0625, r24

    MesswertNick = IntegralNickMalFaktor + (long)((long)MesswertNick * GyroFaktor + (long)TrimNick * 128L) / (256L / STICK_GAIN);
    911c:       40 90 6c 06     lds     r4, 0x066C
    9120:       51 2c           mov     r5, r1
    9122:       61 2c           mov     r6, r1
    9124:       71 2c           mov     r7, r1
    9126:       a0 91 27 06     lds     r26, 0x0627
    912a:       b0 91 28 06     lds     r27, 0x0628
    912e:       a3 01           movw    r20, r6
    9130:       92 01           movw    r18, r4
    9132:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    9136:       40 91 1e 06     lds     r20, 0x061E
    913a:       50 91 1f 06     lds     r21, 0x061F
    913e:       8a 01           movw    r16, r20
    9140:       22 27           eor     r18, r18
    9142:       17 fd           sbrc    r17, 7
    9144:       20 95           com     r18
    9146:       32 2f           mov     r19, r18
    9148:       00 0f           add     r16, r16
    914a:       11 1f           adc     r17, r17
    914c:       22 1f           adc     r18, r18
    914e:       33 1f           adc     r19, r19
    9150:       00 0f           add     r16, r16
    9152:       11 1f           adc     r17, r17
    9154:       22 1f           adc     r18, r18
    9156:       33 1f           adc     r19, r19
    9158:       00 0f           add     r16, r16
    915a:       11 1f           adc     r17, r17
    915c:       22 1f           adc     r18, r18
    915e:       33 1f           adc     r19, r19
    9160:       00 0f           add     r16, r16
    9162:       11 1f           adc     r17, r17
    9164:       22 1f           adc     r18, r18
    9166:       33 1f           adc     r19, r19
    9168:       00 0f           add     r16, r16
    916a:       11 1f           adc     r17, r17
    916c:       22 1f           adc     r18, r18
    916e:       33 1f           adc     r19, r19
    9170:       00 0f           add     r16, r16
    9172:       11 1f           adc     r17, r17
    9174:       22 1f           adc     r18, r18
    9176:       33 1f           adc     r19, r19
    9178:       00 0f           add     r16, r16
    917a:       11 1f           adc     r17, r17
    917c:       22 1f           adc     r18, r18
    917e:       33 1f           adc     r19, r19
    9180:       ab 01           movw    r20, r22
    9182:       bc 01           movw    r22, r24
    9184:       40 0f           add     r20, r16
    9186:       51 1f           adc     r21, r17
    9188:       62 1f           adc     r22, r18
    918a:       73 1f           adc     r23, r19
    918c:       db 01           movw    r26, r22
    918e:       ca 01           movw    r24, r20
    9190:       77 23           and     r23, r23
    9192:       1c f4           brge    .+6             ; 0x919a <MotorRegler+0x218e>
    9194:       cf 96           adiw    r24, 0x3f       ; 63
    9196:       a1 1d           adc     r26, r1
    9198:       b1 1d           adc     r27, r1
    919a:       68 94           set
    919c:       15 f8           bld     r1, 5
    919e:       b5 95           asr     r27
    91a0:       a7 95           ror     r26
    91a2:       97 95           ror     r25
    91a4:       87 95           ror     r24
    91a6:       16 94           lsr     r1
    91a8:       d1 f7           brne    .-12            ; 0x919e <MotorRegler+0x2192>
    91aa:       67 01           movw    r12, r14
    91ac:       c8 0e           add     r12, r24
    91ae:       d9 1e           adc     r13, r25
    91b0:       d0 92 28 06     sts     0x0628, r13
    91b4:       c0 92 27 06     sts     0x0627, r12
    MesswertRoll = IntegralRollMalFaktor + (long)((long)MesswertRoll * GyroFaktor + (long)TrimRoll * 128L) / (256L / STICK_GAIN);
    91b8:       a0 91 1c 06     lds     r26, 0x061C
    91bc:       b0 91 1d 06     lds     r27, 0x061D
    91c0:       a3 01           movw    r20, r6
    91c2:       92 01           movw    r18, r4
    91c4:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    91c8:       20 91 25 06     lds     r18, 0x0625
    91cc:       30 91 26 06     lds     r19, 0x0626
    91d0:       89 01           movw    r16, r18
    91d2:       22 27           eor     r18, r18
    91d4:       17 fd           sbrc    r17, 7
    91d6:       20 95           com     r18
    91d8:       32 2f           mov     r19, r18
    91da:       00 0f           add     r16, r16
    91dc:       11 1f           adc     r17, r17
    91de:       22 1f           adc     r18, r18
    91e0:       33 1f           adc     r19, r19
    91e2:       00 0f           add     r16, r16
    91e4:       11 1f           adc     r17, r17
    91e6:       22 1f           adc     r18, r18
    91e8:       33 1f           adc     r19, r19
    91ea:       00 0f           add     r16, r16
    91ec:       11 1f           adc     r17, r17
    91ee:       22 1f           adc     r18, r18
    91f0:       33 1f           adc     r19, r19
    91f2:       00 0f           add     r16, r16
    91f4:       11 1f           adc     r17, r17
    91f6:       22 1f           adc     r18, r18
    91f8:       33 1f           adc     r19, r19
    91fa:       00 0f           add     r16, r16
    91fc:       11 1f           adc     r17, r17
    91fe:       22 1f           adc     r18, r18
    9200:       33 1f           adc     r19, r19
    9202:       00 0f           add     r16, r16
    9204:       11 1f           adc     r17, r17
    9206:       22 1f           adc     r18, r18
    9208:       33 1f           adc     r19, r19
    920a:       00 0f           add     r16, r16
    920c:       11 1f           adc     r17, r17
    920e:       22 1f           adc     r18, r18
    9210:       33 1f           adc     r19, r19
    9212:       dc 01           movw    r26, r24
    9214:       cb 01           movw    r24, r22
    9216:       80 0f           add     r24, r16
    9218:       91 1f           adc     r25, r17
    921a:       a2 1f           adc     r26, r18
    921c:       b3 1f           adc     r27, r19
    921e:       8c 01           movw    r16, r24
    9220:       9d 01           movw    r18, r26
    9222:       bb 23           and     r27, r27
    9224:       24 f4           brge    .+8             ; 0x922e <MotorRegler+0x2222>
    9226:       01 5c           subi    r16, 0xC1       ; 193
    9228:       1f 4f           sbci    r17, 0xFF       ; 255
    922a:       2f 4f           sbci    r18, 0xFF       ; 255
    922c:       3f 4f           sbci    r19, 0xFF       ; 255
    922e:       68 94           set
    9230:       15 f8           bld     r1, 5
    9232:       35 95           asr     r19
    9234:       27 95           ror     r18
    9236:       17 95           ror     r17
    9238:       07 95           ror     r16
    923a:       16 94           lsr     r1
    923c:       d1 f7           brne    .-12            ; 0x9232 <MotorRegler+0x2226>
    923e:       0a 0d           add     r16, r10
    9240:       1b 1d           adc     r17, r11
    9242:       10 93 1d 06     sts     0x061D, r17
    9246:       00 93 1c 06     sts     0x061C, r16
    MesswertGier = (long)(MesswertGier * 2 * (long)GyroFaktorGier) / (256L / STICK_GAIN) + (long)(Integral_Gier * IntegralFaktorGier) / (2 * (44000 / STICK_GAIN));
    924a:       a0 91 67 06     lds     r26, 0x0667
    924e:       b0 91 68 06     lds     r27, 0x0668
    9252:       aa 0f           add     r26, r26
    9254:       bb 1f           adc     r27, r27
    9256:       20 91 23 06     lds     r18, 0x0623
    925a:       30 e0           ldi     r19, 0x00       ; 0
    925c:       0e 94 c2 b1     call    0x16384 ; 0x16384 <__usmulhisi3>
    9260:       2b 01           movw    r4, r22
    9262:       3c 01           movw    r6, r24
    9264:       99 23           and     r25, r25
    9266:       2c f4           brge    .+10            ; 0x9272 <MotorRegler+0x2266>
    9268:       ff e3           ldi     r31, 0x3F       ; 63
    926a:       4f 0e           add     r4, r31
    926c:       51 1c           adc     r5, r1
    926e:       61 1c           adc     r6, r1
    9270:       71 1c           adc     r7, r1
    9272:       68 94           set
    9274:       15 f8           bld     r1, 5
    9276:       75 94           asr     r7
    9278:       67 94           ror     r6
    927a:       57 94           ror     r5
    927c:       47 94           ror     r4
    927e:       16 94           lsr     r1
    9280:       d1 f7           brne    .-12            ; 0x9276 <MotorRegler+0x226a>
    9282:       a0 91 31 06     lds     r26, 0x0631
    9286:       20 91 3a 04     lds     r18, 0x043A
    928a:       30 91 3b 04     lds     r19, 0x043B
    928e:       40 91 3c 04     lds     r20, 0x043C
    9292:       50 91 3d 04     lds     r21, 0x043D
    9296:       b0 e0           ldi     r27, 0x00       ; 0
    9298:       0e 94 c8 b1     call    0x16390 ; 0x16390 <__muluhisi3>
    929c:       20 ef           ldi     r18, 0xF0       ; 240
    929e:       35 e5           ldi     r19, 0x55       ; 85
    92a0:       40 e0           ldi     r20, 0x00       ; 0
    92a2:       50 e0           ldi     r21, 0x00       ; 0
    92a4:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    92a8:       24 0d           add     r18, r4
    92aa:       35 1d           adc     r19, r5
    92ac:       30 93 68 06     sts     0x0668, r19
    92b0:       20 93 67 06     sts     0x0667, r18

    // Maximalwerte abfangen
    #define MAX_SENSOR  (4096)
    if(MesswertNick >  MAX_SENSOR) MesswertNick =  MAX_SENSOR;
    92b4:       41 e0           ldi     r20, 0x01       ; 1
    92b6:       c4 16           cp      r12, r20
    92b8:       40 e1           ldi     r20, 0x10       ; 16
    92ba:       d4 06           cpc     r13, r20
    92bc:       3c f0           brlt    .+14            ; 0x92cc <MotorRegler+0x22c0>
    92be:       80 e0           ldi     r24, 0x00       ; 0
    92c0:       90 e1           ldi     r25, 0x10       ; 16
    92c2:       90 93 28 06     sts     0x0628, r25
    92c6:       80 93 27 06     sts     0x0627, r24
    92ca:       0d c0           rjmp    .+26            ; 0x92e6 <MotorRegler+0x22da>
    if(MesswertNick < -MAX_SENSOR) MesswertNick = -MAX_SENSOR;
    92cc:       80 91 27 06     lds     r24, 0x0627
    92d0:       90 91 28 06     lds     r25, 0x0628
    92d4:       81 15           cp      r24, r1
    92d6:       90 4f           sbci    r25, 0xF0       ; 240
    92d8:       34 f4           brge    .+12            ; 0x92e6 <MotorRegler+0x22da>
    92da:       80 e0           ldi     r24, 0x00       ; 0
    92dc:       90 ef           ldi     r25, 0xF0       ; 240
    92de:       90 93 28 06     sts     0x0628, r25
    92e2:       80 93 27 06     sts     0x0627, r24
    if(MesswertRoll >  MAX_SENSOR) MesswertRoll =  MAX_SENSOR;
    92e6:       01 30           cpi     r16, 0x01       ; 1
    92e8:       10 41           sbci    r17, 0x10       ; 16
    92ea:       3c f0           brlt    .+14            ; 0x92fa <MotorRegler+0x22ee>
    92ec:       80 e0           ldi     r24, 0x00       ; 0
    92ee:       90 e1           ldi     r25, 0x10       ; 16
    92f0:       90 93 1d 06     sts     0x061D, r25
    92f4:       80 93 1c 06     sts     0x061C, r24
    92f8:       0d c0           rjmp    .+26            ; 0x9314 <MotorRegler+0x2308>
    if(MesswertRoll < -MAX_SENSOR) MesswertRoll = -MAX_SENSOR;
    92fa:       80 91 1c 06     lds     r24, 0x061C
    92fe:       90 91 1d 06     lds     r25, 0x061D
    9302:       81 15           cp      r24, r1
    9304:       90 4f           sbci    r25, 0xF0       ; 240
    9306:       34 f4           brge    .+12            ; 0x9314 <MotorRegler+0x2308>
    9308:       80 e0           ldi     r24, 0x00       ; 0
    930a:       90 ef           ldi     r25, 0xF0       ; 240
    930c:       90 93 1d 06     sts     0x061D, r25
    9310:       80 93 1c 06     sts     0x061C, r24
    if(MesswertGier >  MAX_SENSOR) MesswertGier =  MAX_SENSOR;
    9314:       21 30           cpi     r18, 0x01       ; 1
    9316:       30 41           sbci    r19, 0x10       ; 16
    9318:       3c f0           brlt    .+14            ; 0x9328 <MotorRegler+0x231c>
    931a:       80 e0           ldi     r24, 0x00       ; 0
    931c:       90 e1           ldi     r25, 0x10       ; 16
    931e:       90 93 68 06     sts     0x0668, r25
    9322:       80 93 67 06     sts     0x0667, r24
    9326:       0d c0           rjmp    .+26            ; 0x9342 <MotorRegler+0x2336>
    if(MesswertGier < -MAX_SENSOR) MesswertGier = -MAX_SENSOR;
    9328:       80 91 67 06     lds     r24, 0x0667
    932c:       90 91 68 06     lds     r25, 0x0668
    9330:       81 15           cp      r24, r1
    9332:       90 4f           sbci    r25, 0xF0       ; 240
    9334:       34 f4           brge    .+12            ; 0x9342 <MotorRegler+0x2336>
    9336:       80 e0           ldi     r24, 0x00       ; 0
    9338:       90 ef           ldi     r25, 0xF0       ; 240
    933a:       90 93 68 06     sts     0x0668, r25
    933e:       80 93 67 06     sts     0x0667, r24

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Undervoltage
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  if(!(FC_StatusFlags & FC_STATUS_LOWBAT))
    9342:       80 91 cb 03     lds     r24, 0x03CB
    9346:       85 fd           sbrc    r24, 5
    9348:       0e c0           rjmp    .+28            ; 0x9366 <MotorRegler+0x235a>
  {
    GasMischanteil = ((unsigned int)GasMischanteil * BattLowVoltageWarning) / UBat; // Gas auf das aktuelle Spannungvieveau beziehen
    934a:       60 91 1a 01     lds     r22, 0x011A
    934e:       70 91 1b 01     lds     r23, 0x011B
    9352:       20 91 53 01     lds     r18, 0x0153
    9356:       22 9d           mul     r18, r2
    9358:       c0 01           movw    r24, r0
    935a:       23 9d           mul     r18, r3
    935c:       90 0d           add     r25, r0
    935e:       11 24           eor     r1, r1
    9360:       0e 94 42 b1     call    0x16284 ; 0x16284 <__udivmodhi4>
    9364:       1b 01           movw    r2, r22
  } 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Auto-Landing
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 static unsigned char slower;
 if(!slower--)
    9366:       80 91 8d 03     lds     r24, 0x038D
    936a:       9f ef           ldi     r25, 0xFF       ; 255
    936c:       98 0f           add     r25, r24
    936e:       90 93 8d 03     sts     0x038D, r25
    9372:       81 11           cpse    r24, r1
    9374:       66 c0           rjmp    .+204           ; 0x9442 <MotorRegler+0x2436>
  {
   static unsigned int u_filter = 0;
   if(!u_filter) u_filter = UBat; 
    9376:       80 91 8b 03     lds     r24, 0x038B
    937a:       90 91 8c 03     lds     r25, 0x038C
    937e:       89 2b           or      r24, r25
    9380:       41 f4           brne    .+16            ; 0x9392 <MotorRegler+0x2386>
    9382:       80 91 1a 01     lds     r24, 0x011A
    9386:       90 91 1b 01     lds     r25, 0x011B
    938a:       90 93 8c 03     sts     0x038C, r25
    938e:       80 93 8b 03     sts     0x038B, r24
   if(UBat > u_filter) u_filter++; else 
    9392:       20 91 1a 01     lds     r18, 0x011A
    9396:       30 91 1b 01     lds     r19, 0x011B
    939a:       80 91 8b 03     lds     r24, 0x038B
    939e:       90 91 8c 03     lds     r25, 0x038C
    93a2:       82 17           cp      r24, r18
    93a4:       93 07           cpc     r25, r19
    93a6:       30 f4           brcc    .+12            ; 0x93b4 <MotorRegler+0x23a8>
    93a8:       01 96           adiw    r24, 0x01       ; 1
    93aa:       90 93 8c 03     sts     0x038C, r25
    93ae:       80 93 8b 03     sts     0x038B, r24
    93b2:       0c c0           rjmp    .+24            ; 0x93cc <MotorRegler+0x23c0>
   if(UBat < u_filter) u_filter--; 
    93b4:       20 91 1a 01     lds     r18, 0x011A
    93b8:       30 91 1b 01     lds     r19, 0x011B
    93bc:       28 17           cp      r18, r24
    93be:       39 07           cpc     r19, r25
    93c0:       28 f4           brcc    .+10            ; 0x93cc <MotorRegler+0x23c0>
    93c2:       01 97           sbiw    r24, 0x01       ; 1
    93c4:       90 93 8c 03     sts     0x038C, r25
    93c8:       80 93 8b 03     sts     0x038B, r24
   slower = 100; // 5Hz
    93cc:       84 e6           ldi     r24, 0x64       ; 100
    93ce:       80 93 8d 03     sts     0x038D, r24
   if(u_filter < BattAutoLandingVoltage)
    93d2:       40 91 65 04     lds     r20, 0x0465
    93d6:       80 91 8b 03     lds     r24, 0x038B
    93da:       90 91 8c 03     lds     r25, 0x038C
    93de:       24 2f           mov     r18, r20
    93e0:       30 e0           ldi     r19, 0x00       ; 0
    93e2:       82 17           cp      r24, r18
    93e4:       93 07           cpc     r25, r19
    93e6:       20 f4           brcc    .+8             ; 0x93f0 <MotorRegler+0x23e4>
         {
          LowVoltageLandingActive = 10; // 2 sek
    93e8:       2a e0           ldi     r18, 0x0A       ; 10
    93ea:       20 93 c1 03     sts     0x03C1, r18
    93ee:       0f c0           rjmp    .+30            ; 0x940e <MotorRegler+0x2402>
         }
         else if(u_filter > BattAutoLandingVoltage + LipoCells && LowVoltageLandingActive) LowVoltageLandingActive--; 
    93f0:       20 91 51 01     lds     r18, 0x0151
    93f4:       30 e0           ldi     r19, 0x00       ; 0
    93f6:       24 0f           add     r18, r20
    93f8:       31 1d           adc     r19, r1
    93fa:       28 17           cp      r18, r24
    93fc:       39 07           cpc     r19, r25
    93fe:       38 f4           brcc    .+14            ; 0x940e <MotorRegler+0x2402>
    9400:       20 91 c1 03     lds     r18, 0x03C1
    9404:       22 23           and     r18, r18
    9406:       19 f0           breq    .+6             ; 0x940e <MotorRegler+0x2402>
    9408:       21 50           subi    r18, 0x01       ; 1
    940a:       20 93 c1 03     sts     0x03C1, r18

   if(u_filter < BattComingHomeVoltage)
    940e:       40 91 64 04     lds     r20, 0x0464
    9412:       24 2f           mov     r18, r20
    9414:       30 e0           ldi     r19, 0x00       ; 0
    9416:       82 17           cp      r24, r18
    9418:       93 07           cpc     r25, r19
    941a:       20 f4           brcc    .+8             ; 0x9424 <MotorRegler+0x2418>
         {
          LowVoltageHomeActive = 25; // min. 5 sek
    941c:       89 e1           ldi     r24, 0x19       ; 25
    941e:       80 93 c0 03     sts     0x03C0, r24
    9422:       0f c0           rjmp    .+30            ; 0x9442 <MotorRegler+0x2436>
         }
         else if(u_filter > BattComingHomeVoltage + LipoCells && LowVoltageHomeActive) LowVoltageHomeActive--; 
    9424:       20 91 51 01     lds     r18, 0x0151
    9428:       30 e0           ldi     r19, 0x00       ; 0
    942a:       24 0f           add     r18, r20
    942c:       31 1d           adc     r19, r1
    942e:       28 17           cp      r18, r24
    9430:       39 07           cpc     r19, r25
    9432:       38 f4           brcc    .+14            ; 0x9442 <MotorRegler+0x2436>
    9434:       80 91 c0 03     lds     r24, 0x03C0
    9438:       88 23           and     r24, r24
    943a:       19 f0           breq    .+6             ; 0x9442 <MotorRegler+0x2436>
    943c:       81 50           subi    r24, 0x01       ; 1
    943e:       80 93 c0 03     sts     0x03C0, r24
  }
  if(LowVoltageLandingActive && FromNC_AltitudeSetpoint >= 0) 
    9442:       80 91 c1 03     lds     r24, 0x03C1
    9446:       88 23           and     r24, r24
    9448:       d1 f0           breq    .+52            ; 0x947e <MotorRegler+0x2472>
    944a:       80 91 f4 03     lds     r24, 0x03F4
    944e:       90 91 f5 03     lds     r25, 0x03F5
    9452:       a0 91 f6 03     lds     r26, 0x03F6
    9456:       b0 91 f7 03     lds     r27, 0x03F7
    945a:       bb 23           and     r27, r27
    945c:       84 f0           brlt    .+32            ; 0x947e <MotorRegler+0x2472>
     {
                FromNC_AltitudeSpeed = EE_Parameter.LandingSpeed;
    945e:       80 91 b0 05     lds     r24, 0x05B0
    9462:       80 93 f3 03     sts     0x03F3, r24
                FromNC_AltitudeSetpoint = -20000;
    9466:       80 ee           ldi     r24, 0xE0       ; 224
    9468:       91 eb           ldi     r25, 0xB1       ; 177
    946a:       af ef           ldi     r26, 0xFF       ; 255
    946c:       bf ef           ldi     r27, 0xFF       ; 255
    946e:       80 93 f4 03     sts     0x03F4, r24
    9472:       90 93 f5 03     sts     0x03F5, r25
    9476:       a0 93 f6 03     sts     0x03F6, r26
    947a:       b0 93 f7 03     sts     0x03F7, r27
         } 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// send SPI pending bytes
 if(BytegapSPI == 0)  SPI_TransmitByte(); 
    947e:       80 91 cc 04     lds     r24, 0x04CC
    9482:       81 11           cpse    r24, r1
    9484:       02 c0           rjmp    .+4             ; 0x948a <MotorRegler+0x247e>
    9486:       0e 94 de 95     call    0x12bbc ; 0x12bbc <SPI_TransmitByte>
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Höhenregelung
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  GasMischanteil *= STICK_GAIN;
    948a:       22 0c           add     r2, r2
    948c:       33 1c           adc     r3, r3
    948e:       22 0c           add     r2, r2
    9490:       33 1c           adc     r3, r3
// if height control is activated
 if((Parameter_GlobalConfig & CFG_HOEHENREGELUNG) && !(Looping_Roll || Looping_Nick) && !(VersionInfo.HardwareError[0] & 0x7F))  // Höhenregelung
    9492:       80 91 5c 06     lds     r24, 0x065C
    9496:       80 fd           sbrc    r24, 0
    9498:       02 c0           rjmp    .+4             ; 0x949e <MotorRegler+0x2492>
    949a:       0c 94 b7 54     jmp     0xa96e  ; 0xa96e <MotorRegler+0x3962>
    949e:       80 91 e6 03     lds     r24, 0x03E6
    94a2:       81 11           cpse    r24, r1
    94a4:       0c 94 b7 54     jmp     0xa96e  ; 0xa96e <MotorRegler+0x3962>
    94a8:       80 91 e7 03     lds     r24, 0x03E7
    94ac:       81 11           cpse    r24, r1
    94ae:       0c 94 b7 54     jmp     0xa96e  ; 0xa96e <MotorRegler+0x3962>
    94b2:       80 91 62 0a     lds     r24, 0x0A62
    94b6:       8f 77           andi    r24, 0x7F       ; 127
    94b8:       11 f0           breq    .+4             ; 0x94be <MotorRegler+0x24b2>
    94ba:       0c 94 b7 54     jmp     0xa96e  ; 0xa96e <MotorRegler+0x3962>
                static int HeightDeviation = 0, FilterHCGas = 0;
                static unsigned long HoverGasFilter = 0;
                static unsigned char delay = 100, BaroAtUpperLimit = 0, BaroAtLowerLimit = 0;
        // Expand the measurement
                // measurement of air pressure close to upper limit and no overflow in correction of the new OCR0A value occurs
          if(!BaroExpandActive)
    94be:       80 91 59 04     lds     r24, 0x0459
    94c2:       90 91 5a 04     lds     r25, 0x045A
    94c6:       89 2b           or      r24, r25
    94c8:       09 f0           breq    .+2             ; 0x94cc <MotorRegler+0x24c0>
    94ca:       5f c0           rjmp    .+190           ; 0x958a <MotorRegler+0x257e>
                   {
                        if(MessLuftdruck > 920)
    94cc:       80 91 10 01     lds     r24, 0x0110
    94d0:       90 91 11 01     lds     r25, 0x0111
    94d4:       89 39           cpi     r24, 0x99       ; 153
    94d6:       93 40           sbci    r25, 0x03       ; 3
    94d8:       30 f1           brcs    .+76            ; 0x9526 <MotorRegler+0x251a>
                        {   // increase offset
             if(OCR0A < (255 - OPA_OFFSET_STEP))
    94da:       87 b5           in      r24, 0x27       ; 39
    94dc:       8a 3f           cpi     r24, 0xFA       ; 250
    94de:       f8 f4           brcc    .+62            ; 0x951e <MotorRegler+0x2512>
                           {
                                ExpandBaro -= 1;
    94e0:       80 91 56 03     lds     r24, 0x0356
    94e4:       81 50           subi    r24, 0x01       ; 1
    94e6:       80 93 56 03     sts     0x0356, r24
                                OCR0A = DruckOffsetSetting - OPA_OFFSET_STEP * ExpandBaro; // increase offset to shift ADC down
    94ea:       98 2f           mov     r25, r24
    94ec:       99 0f           add     r25, r25
    94ee:       99 0f           add     r25, r25
    94f0:       89 0f           add     r24, r25
    94f2:       90 91 12 05     lds     r25, 0x0512
    94f6:       98 1b           sub     r25, r24
    94f8:       97 bd           out     0x27, r25       ; 39
                                OCR0B = 255 - OCR0A;
    94fa:       87 b5           in      r24, 0x27       ; 39
    94fc:       80 95           com     r24
    94fe:       88 bd           out     0x28, r24       ; 40
                                beeptime = 300;
    9500:       8c e2           ldi     r24, 0x2C       ; 44
    9502:       91 e0           ldi     r25, 0x01       ; 1
    9504:       90 93 ce 04     sts     0x04CE, r25
    9508:       80 93 cd 04     sts     0x04CD, r24
                                BaroExpandActive = 350;
    950c:       8e e5           ldi     r24, 0x5E       ; 94
    950e:       91 e0           ldi     r25, 0x01       ; 1
    9510:       90 93 5a 04     sts     0x045A, r25
    9514:       80 93 59 04     sts     0x0459, r24
                                CalcExpandBaroStep();
    9518:       0e 94 14 1b     call    0x3628  ; 0x3628 <CalcExpandBaroStep>
    951c:       6b c0           rjmp    .+214           ; 0x95f4 <MotorRegler+0x25e8>
                           }
                           else
                           {
                            BaroAtLowerLimit = 1;
    951e:       81 e0           ldi     r24, 0x01       ; 1
    9520:       80 93 8a 03     sts     0x038A, r24
    9524:       67 c0           rjmp    .+206           ; 0x95f4 <MotorRegler+0x25e8>
               }
                        }
                        // measurement of air pressure close to lower limit and
                        else
                        if(MessLuftdruck < 100)
    9526:       80 91 10 01     lds     r24, 0x0110
    952a:       90 91 11 01     lds     r25, 0x0111
    952e:       84 36           cpi     r24, 0x64       ; 100
    9530:       91 05           cpc     r25, r1
    9532:       30 f5           brcc    .+76            ; 0x9580 <MotorRegler+0x2574>
                        {   // decrease offset
                          if(OCR0A > OPA_OFFSET_STEP)
    9534:       87 b5           in      r24, 0x27       ; 39
    9536:       86 30           cpi     r24, 0x06       ; 6
    9538:       f8 f0           brcs    .+62            ; 0x9578 <MotorRegler+0x256c>
                           {
                                ExpandBaro += 1;
    953a:       80 91 56 03     lds     r24, 0x0356
    953e:       8f 5f           subi    r24, 0xFF       ; 255
    9540:       80 93 56 03     sts     0x0356, r24
                                OCR0A = DruckOffsetSetting - OPA_OFFSET_STEP * ExpandBaro; // decrease offset to shift ADC up
    9544:       98 2f           mov     r25, r24
    9546:       99 0f           add     r25, r25
    9548:       99 0f           add     r25, r25
    954a:       89 0f           add     r24, r25
    954c:       90 91 12 05     lds     r25, 0x0512
    9550:       98 1b           sub     r25, r24
    9552:       97 bd           out     0x27, r25       ; 39
                                OCR0B = 255 - OCR0A;
    9554:       87 b5           in      r24, 0x27       ; 39
    9556:       80 95           com     r24
    9558:       88 bd           out     0x28, r24       ; 40
                                beeptime = 300;
    955a:       8c e2           ldi     r24, 0x2C       ; 44
    955c:       91 e0           ldi     r25, 0x01       ; 1
    955e:       90 93 ce 04     sts     0x04CE, r25
    9562:       80 93 cd 04     sts     0x04CD, r24
                                BaroExpandActive = 350;
    9566:       8e e5           ldi     r24, 0x5E       ; 94
    9568:       91 e0           ldi     r25, 0x01       ; 1
    956a:       90 93 5a 04     sts     0x045A, r25
    956e:       80 93 59 04     sts     0x0459, r24
                                CalcExpandBaroStep();
    9572:       0e 94 14 1b     call    0x3628  ; 0x3628 <CalcExpandBaroStep>
    9576:       3e c0           rjmp    .+124           ; 0x95f4 <MotorRegler+0x25e8>
                           }
                           else
                           {
                            BaroAtUpperLimit = 1;
    9578:       81 e0           ldi     r24, 0x01       ; 1
    957a:       80 93 89 03     sts     0x0389, r24
    957e:       3a c0           rjmp    .+116           ; 0x95f4 <MotorRegler+0x25e8>
               }
                        }
                        else
                        {
                            BaroAtUpperLimit = 0;
    9580:       10 92 89 03     sts     0x0389, r1
                                BaroAtLowerLimit = 0;
    9584:       10 92 8a 03     sts     0x038A, r1
    9588:       35 c0           rjmp    .+106           ; 0x95f4 <MotorRegler+0x25e8>
                        }
                   }
                   else // delay, because of expanding the Baro-Range
                   {
                    // now clear the D-values
                          VarioMeter = 0;
    958a:       10 92 55 03     sts     0x0355, r1
    958e:       10 92 54 03     sts     0x0354, r1
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                          if(ACC_AltitudeControl) ACC_AltitudeFusion(1); // init
    9592:       80 91 c2 03     lds     r24, 0x03C2
    9596:       88 23           and     r24, r24
    9598:       21 f0           breq    .+8             ; 0x95a2 <MotorRegler+0x2596>
    959a:       81 e0           ldi     r24, 0x01       ; 1
    959c:       0e 94 a0 16     call    0x2d40  ; 0x2d40 <ACC_AltitudeFusion>
    95a0:       20 c0           rjmp    .+64            ; 0x95e2 <MotorRegler+0x25d6>
                          else SummenHoehe = HoehenWert * SM_FILTER;
    95a2:       80 91 fe 03     lds     r24, 0x03FE
    95a6:       90 91 ff 03     lds     r25, 0x03FF
    95aa:       a0 91 00 04     lds     r26, 0x0400
    95ae:       b0 91 01 04     lds     r27, 0x0401
    95b2:       88 0f           add     r24, r24
    95b4:       99 1f           adc     r25, r25
    95b6:       aa 1f           adc     r26, r26
    95b8:       bb 1f           adc     r27, r27
    95ba:       88 0f           add     r24, r24
    95bc:       99 1f           adc     r25, r25
    95be:       aa 1f           adc     r26, r26
    95c0:       bb 1f           adc     r27, r27
    95c2:       88 0f           add     r24, r24
    95c4:       99 1f           adc     r25, r25
    95c6:       aa 1f           adc     r26, r26
    95c8:       bb 1f           adc     r27, r27
    95ca:       88 0f           add     r24, r24
    95cc:       99 1f           adc     r25, r25
    95ce:       aa 1f           adc     r26, r26
    95d0:       bb 1f           adc     r27, r27
    95d2:       80 93 57 03     sts     0x0357, r24
    95d6:       90 93 58 03     sts     0x0358, r25
    95da:       a0 93 59 03     sts     0x0359, r26
    95de:       b0 93 5a 03     sts     0x035A, r27
#else 
              SummenHoehe = HoehenWert * SM_FILTER;
#endif
                          BaroExpandActive--;
    95e2:       80 91 59 04     lds     r24, 0x0459
    95e6:       90 91 5a 04     lds     r25, 0x045A
    95ea:       01 97           sbiw    r24, 0x01       ; 1
    95ec:       90 93 5a 04     sts     0x045A, r25
    95f0:       80 93 59 04     sts     0x0459, r24
                   }
                // if height control is activated by an rc channel
        if(Parameter_GlobalConfig & CFG_HOEHEN_SCHALTER)  // Regler wird über Schalter gesteuert
    95f4:       80 91 5c 06     lds     r24, 0x065C
    95f8:       81 ff           sbrs    r24, 1
    95fa:       41 c0           rjmp    .+130           ; 0x967e <MotorRegler+0x2672>
                {       // check if parameter is less than activation threshold
                        if(Parameter_HoehenSchalter < 50) // for 3 or 2-state switch height control is disabled in lowest position
    95fc:       80 91 e1 03     lds     r24, 0x03E1
    9600:       82 33           cpi     r24, 0x32       ; 50
    9602:       48 f5           brcc    .+82            ; 0x9656 <MotorRegler+0x264a>
                        {   //height control not active
                                if(!delay--)
    9604:       80 91 1c 01     lds     r24, 0x011C
    9608:       9f ef           ldi     r25, 0xFF       ; 255
    960a:       98 0f           add     r25, r24
    960c:       90 93 1c 01     sts     0x011C, r25
    9610:       81 11           cpse    r24, r1
    9612:       53 c0           rjmp    .+166           ; 0x96ba <MotorRegler+0x26ae>
                                {
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                    if(!SpeakHoTT && HoehenReglerAktiv)  SpeakHoTT = SPEAK_ALTITUDE_OFF; 
    9614:       80 91 57 01     lds     r24, 0x0157
    9618:       81 11           cpse    r24, r1
    961a:       07 c0           rjmp    .+14            ; 0x962a <MotorRegler+0x261e>
    961c:       80 91 1b 04     lds     r24, 0x041B
    9620:       88 23           and     r24, r24
    9622:       19 f0           breq    .+6             ; 0x962a <MotorRegler+0x261e>
    9624:       88 e2           ldi     r24, 0x28       ; 40
    9626:       80 93 57 01     sts     0x0157, r24
#endif
                                        HoehenReglerAktiv = 0; // disable height control
    962a:       10 92 1b 04     sts     0x041B, r1
                                        SollHoehe = HoehenWert;  // update SetPoint with current reading
    962e:       80 91 fe 03     lds     r24, 0x03FE
    9632:       90 91 ff 03     lds     r25, 0x03FF
    9636:       a0 91 00 04     lds     r26, 0x0400
    963a:       b0 91 01 04     lds     r27, 0x0401
    963e:       80 93 fa 03     sts     0x03FA, r24
    9642:       90 93 fb 03     sts     0x03FB, r25
    9646:       a0 93 fc 03     sts     0x03FC, r26
    964a:       b0 93 fd 03     sts     0x03FD, r27
                                        delay = 1;
    964e:       81 e0           ldi     r24, 0x01       ; 1
    9650:       80 93 1c 01     sts     0x011C, r24
    9654:       32 c0           rjmp    .+100           ; 0x96ba <MotorRegler+0x26ae>
                                }
                        }
                        else
                        if(Parameter_HoehenSchalter > 70)
    9656:       87 34           cpi     r24, 0x47       ; 71
    9658:       80 f1           brcs    .+96            ; 0x96ba <MotorRegler+0x26ae>
                        {       //height control is activated
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                            if(!SpeakHoTT && !HoehenReglerAktiv)  SpeakHoTT = SPEAK_ALTITUDE_ON; 
    965a:       80 91 57 01     lds     r24, 0x0157
    965e:       81 11           cpse    r24, r1
    9660:       07 c0           rjmp    .+14            ; 0x9670 <MotorRegler+0x2664>
    9662:       80 91 1b 04     lds     r24, 0x041B
    9666:       81 11           cpse    r24, r1
    9668:       03 c0           rjmp    .+6             ; 0x9670 <MotorRegler+0x2664>
    966a:       87 e2           ldi     r24, 0x27       ; 39
    966c:       80 93 57 01     sts     0x0157, r24
#endif
                                delay = 200;
    9670:       88 ec           ldi     r24, 0xC8       ; 200
    9672:       80 93 1c 01     sts     0x011C, r24
                                HoehenReglerAktiv = 1; // enable height control
    9676:       81 e0           ldi     r24, 0x01       ; 1
    9678:       80 93 1b 04     sts     0x041B, r24
    967c:       1e c0           rjmp    .+60            ; 0x96ba <MotorRegler+0x26ae>
                        }
                }
                else // no switchable height control
                {
                        SollHoehe = ((int16_t) ExternHoehenValue + (int16_t) Parameter_HoehenSchalter) * (int)EE_Parameter.Hoehe_Verstaerkung;
    967e:       80 91 e1 03     lds     r24, 0x03E1
    9682:       20 91 25 01     lds     r18, 0x0125
    9686:       30 91 26 01     lds     r19, 0x0126
    968a:       28 0f           add     r18, r24
    968c:       31 1d           adc     r19, r1
    968e:       40 91 50 05     lds     r20, 0x0550
    9692:       42 9f           mul     r20, r18
    9694:       c0 01           movw    r24, r0
    9696:       43 9f           mul     r20, r19
    9698:       90 0d           add     r25, r0
    969a:       11 24           eor     r1, r1
    969c:       aa 27           eor     r26, r26
    969e:       97 fd           sbrc    r25, 7
    96a0:       a0 95           com     r26
    96a2:       ba 2f           mov     r27, r26
    96a4:       80 93 fa 03     sts     0x03FA, r24
    96a8:       90 93 fb 03     sts     0x03FB, r25
    96ac:       a0 93 fc 03     sts     0x03FC, r26
    96b0:       b0 93 fd 03     sts     0x03FD, r27
                        HoehenReglerAktiv = 1;
    96b4:       81 e0           ldi     r24, 0x01       ; 1
    96b6:       80 93 1b 04     sts     0x041B, r24
                }
                // calculate cos of nick and roll angle used for projection of the vertical hoover gas
                tmp_int  = (int)(IntegralNick/GIER_GRAD_FAKTOR);  // nick angle in deg
    96ba:       40 90 21 01     lds     r4, 0x0121
    96be:       50 90 22 01     lds     r5, 0x0122
    96c2:       60 90 23 01     lds     r6, 0x0123
    96c6:       70 90 24 01     lds     r7, 0x0124
                tmp_int2 = (int)(IntegralRoll/GIER_GRAD_FAKTOR);  // roll angle in deg
    96ca:       60 91 3e 04     lds     r22, 0x043E
    96ce:       70 91 3f 04     lds     r23, 0x043F
    96d2:       80 91 40 04     lds     r24, 0x0440
    96d6:       90 91 41 04     lds     r25, 0x0441
    96da:       a3 01           movw    r20, r6
    96dc:       92 01           movw    r18, r4
    96de:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    96e2:       2d 83           std     Y+5, r18        ; 0x05
    96e4:       3e 83           std     Y+6, r19        ; 0x06
    96e6:       4f 83           std     Y+7, r20        ; 0x07
    96e8:       58 87           std     Y+8, r21        ; 0x08
                {
                        SollHoehe = ((int16_t) ExternHoehenValue + (int16_t) Parameter_HoehenSchalter) * (int)EE_Parameter.Hoehe_Verstaerkung;
                        HoehenReglerAktiv = 1;
                }
                // calculate cos of nick and roll angle used for projection of the vertical hoover gas
                tmp_int  = (int)(IntegralNick/GIER_GRAD_FAKTOR);  // nick angle in deg
    96ea:       60 91 42 04     lds     r22, 0x0442
    96ee:       70 91 43 04     lds     r23, 0x0443
    96f2:       80 91 44 04     lds     r24, 0x0444
    96f6:       90 91 45 04     lds     r25, 0x0445
    96fa:       a3 01           movw    r20, r6
    96fc:       92 01           movw    r18, r4
    96fe:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
                tmp_int2 = (int)(IntegralRoll/GIER_GRAD_FAKTOR);  // roll angle in deg
                tmp_int  = (int16_t)ihypot(tmp_int, tmp_int2); // phytagoras gives effective attitude angle in deg
    9702:       6d 81           ldd     r22, Y+5        ; 0x05
    9704:       7e 81           ldd     r23, Y+6        ; 0x06
    9706:       c9 01           movw    r24, r18
    9708:       0e 94 a2 0d     call    0x1b44  ; 0x1b44 <ihypot>
tmp_int = (tmp_int * Parameter_Hoehe_TiltCompensation) / 100;
    970c:       20 91 36 01     lds     r18, 0x0136
    9710:       fc 01           movw    r30, r24
    9712:       2e 9f           mul     r18, r30
    9714:       c0 01           movw    r24, r0
    9716:       2f 9f           mul     r18, r31
    9718:       90 0d           add     r25, r0
    971a:       11 24           eor     r1, r1
    971c:       64 e6           ldi     r22, 0x64       ; 100
    971e:       70 e0           ldi     r23, 0x00       ; 0
    9720:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    9724:       cb 01           movw    r24, r22
                LIMIT_MAX(tmp_int, 60); // limit effective attitude angle
    9726:       6c 33           cpi     r22, 0x3C       ; 60
    9728:       71 05           cpc     r23, r1
    972a:       14 f0           brlt    .+4             ; 0x9730 <MotorRegler+0x2724>
    972c:       8c e3           ldi     r24, 0x3C       ; 60
    972e:       90 e0           ldi     r25, 0x00       ; 0
                CosAttitude = c_cos_8192(tmp_int);  // cos of actual attitude
    9730:       0e 94 2d 91     call    0x1225a ; 0x1225a <c_cos_8192>
    9734:       90 93 2e 06     sts     0x062E, r25
    9738:       80 93 2d 06     sts     0x062D, r24
                VarioCharacter = ' ';
    973c:       80 e2           ldi     r24, 0x20       ; 32
    973e:       80 93 20 01     sts     0x0120, r24
                AltitudeSetpointTrimming = 0;
    9742:       10 92 f9 03     sts     0x03F9, r1
    9746:       10 92 f8 03     sts     0x03F8, r1
                if(HoehenReglerAktiv && !(FC_StatusFlags & FC_STATUS_EMERGENCY_LANDING))
    974a:       80 91 1b 04     lds     r24, 0x041B
    974e:       88 23           and     r24, r24
    9750:       09 f4           brne    .+2             ; 0x9754 <MotorRegler+0x2748>
    9752:       b5 c7           rjmp    .+3946          ; 0xa6be <MotorRegler+0x36b2>
    9754:       80 91 cb 03     lds     r24, 0x03CB
    9758:       84 fd           sbrc    r24, 4
    975a:       b1 c7           rjmp    .+3938          ; 0xa6be <MotorRegler+0x36b2>
                // Holger original version
                // start of height control algorithm
                // the height control is only an attenuation of the actual gas stick.
                // I.e. it will work only if the gas stick is higher than the hover gas
                // and the hover height will be allways larger than height setpoint.
                FC_StatusFlags2 |= FC_STATUS2_ALTITUDE_CONTROL;
    975c:       80 91 ca 03     lds     r24, 0x03CA
    9760:       82 60           ori     r24, 0x02       ; 2
    9762:       80 93 ca 03     sts     0x03CA, r24
        if((Parameter_ExtraConfig & CFG2_HEIGHT_LIMIT) || !(Parameter_GlobalConfig & CFG_HOEHEN_SCHALTER))  // Regler wird über Schalter gesteuert)
    9766:       e0 91 40 06     lds     r30, 0x0640
    976a:       e0 fd           sbrc    r30, 0
    976c:       04 c0           rjmp    .+8             ; 0x9776 <MotorRegler+0x276a>
    976e:       80 91 5c 06     lds     r24, 0x065C
    9772:       81 fd           sbrc    r24, 1
    9774:       0b c0           rjmp    .+22            ; 0x978c <MotorRegler+0x2780>
              {  // old version
                        HCGas = GasMischanteil; // take current stick gas as neutral point for the height control
                        HeightTrimming = 0;
    9776:       10 92 88 03     sts     0x0388, r1
    977a:       10 92 87 03     sts     0x0387, r1
                        AltitudeSetpointTrimming = 0;
                        // set both flags to indicate no vario mode
                        FC_StatusFlags |= (FC_STATUS_VARIO_TRIM_UP|FC_STATUS_VARIO_TRIM_DOWN);
    977e:       80 91 cb 03     lds     r24, 0x03CB
    9782:       80 6c           ori     r24, 0xC0       ; 192
    9784:       80 93 cb 03     sts     0x03CB, r24
                // I.e. it will work only if the gas stick is higher than the hover gas
                // and the hover height will be allways larger than height setpoint.
                FC_StatusFlags2 |= FC_STATUS2_ALTITUDE_CONTROL;
        if((Parameter_ExtraConfig & CFG2_HEIGHT_LIMIT) || !(Parameter_GlobalConfig & CFG_HOEHEN_SCHALTER))  // Regler wird über Schalter gesteuert)
              {  // old version
                        HCGas = GasMischanteil; // take current stick gas as neutral point for the height control
    9788:       f1 01           movw    r30, r2
                        HeightTrimming = 0;
                        AltitudeSetpointTrimming = 0;
                        // set both flags to indicate no vario mode
                        FC_StatusFlags |= (FC_STATUS_VARIO_TRIM_UP|FC_STATUS_VARIO_TRIM_DOWN);
    978a:       20 c3           rjmp    .+1600          ; 0x9dcc <MotorRegler+0x2dc0>
                  {
                // alternative height control
                // PD-Control with respect to hoover point
                // the thrust loss out of horizontal attitude is compensated
                // the setpoint will be fine adjusted with the gas stick position
                        if(/*1 || */FC_StatusFlags & FC_STATUS_FLY) // trim setpoint only when flying
    978c:       80 91 cb 03     lds     r24, 0x03CB
    9790:       81 ff           sbrs    r24, 1
    9792:       ea c2           rjmp    .+1492          ; 0x9d68 <MotorRegler+0x2d5c>
                        {   // gas stick is above hoover point
                                if(StickGas > (StickGasHover + HEIGHT_CONTROL_STICKTHRESHOLD) && !BaroAtUpperLimit)
    9794:       00 91 0e 04     lds     r16, 0x040E
    9798:       10 91 0f 04     lds     r17, 0x040F
    979c:       c0 90 40 01     lds     r12, 0x0140
    97a0:       d0 90 41 01     lds     r13, 0x0141
    97a4:       c6 01           movw    r24, r12
    97a6:       0f 96           adiw    r24, 0x0f       ; 15
    97a8:       80 17           cp      r24, r16
    97aa:       91 07           cpc     r25, r17
    97ac:       08 f0           brcs    .+2             ; 0x97b0 <MotorRegler+0x27a4>
    97ae:       93 c0           rjmp    .+294           ; 0x98d6 <MotorRegler+0x28ca>
    97b0:       80 91 89 03     lds     r24, 0x0389
    97b4:       81 11           cpse    r24, r1
    97b6:       8f c0           rjmp    .+286           ; 0x98d6 <MotorRegler+0x28ca>
                                {
                                        if(FC_StatusFlags & FC_STATUS_VARIO_TRIM_DOWN)
    97b8:       80 91 cb 03     lds     r24, 0x03CB
    97bc:       88 23           and     r24, r24
    97be:       ac f4           brge    .+42            ; 0x97ea <MotorRegler+0x27de>
                                        {
                                                FC_StatusFlags &= ~FC_STATUS_VARIO_TRIM_DOWN;
    97c0:       80 91 cb 03     lds     r24, 0x03CB
    97c4:       8f 77           andi    r24, 0x7F       ; 127
    97c6:       80 93 cb 03     sts     0x03CB, r24
                                                SollHoehe = HoehenWertF; // update setpoint to current heigth
    97ca:       80 91 4a 03     lds     r24, 0x034A
    97ce:       90 91 4b 03     lds     r25, 0x034B
    97d2:       a0 91 4c 03     lds     r26, 0x034C
    97d6:       b0 91 4d 03     lds     r27, 0x034D
    97da:       80 93 fa 03     sts     0x03FA, r24
    97de:       90 93 fb 03     sts     0x03FB, r25
    97e2:       a0 93 fc 03     sts     0x03FC, r26
    97e6:       b0 93 fd 03     sts     0x03FD, r27
                                        }
                                        // Limit the maximum Altitude
                                        if(Parameter_MaximumAltitude && (SollHoehe/100 > Parameter_MaximumAltitude)) 
    97ea:       40 90 24 06     lds     r4, 0x0624
    97ee:       44 20           and     r4, r4
    97f0:       a1 f1           breq    .+104           ; 0x985a <MotorRegler+0x284e>
    97f2:       51 2c           mov     r5, r1
    97f4:       61 2c           mov     r6, r1
    97f6:       71 2c           mov     r7, r1
    97f8:       60 91 fa 03     lds     r22, 0x03FA
    97fc:       70 91 fb 03     lds     r23, 0x03FB
    9800:       80 91 fc 03     lds     r24, 0x03FC
    9804:       90 91 fd 03     lds     r25, 0x03FD
    9808:       24 e6           ldi     r18, 0x64       ; 100
    980a:       30 e0           ldi     r19, 0x00       ; 0
    980c:       40 e0           ldi     r20, 0x00       ; 0
    980e:       50 e0           ldi     r21, 0x00       ; 0
    9810:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    9814:       42 16           cp      r4, r18
    9816:       53 06           cpc     r5, r19
    9818:       64 06           cpc     r6, r20
    981a:       75 06           cpc     r7, r21
    981c:       f4 f4           brge    .+60            ; 0x985a <MotorRegler+0x284e>
                                         {
                                          AltitudeSetpointTrimming = 0;
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                          if(!SpeakHoTT && HoehenWert/95 > Parameter_MaximumAltitude) SpeakHoTT = SPEAK_MAX_ALTITUD;
    981e:       80 91 57 01     lds     r24, 0x0157
    9822:       81 11           cpse    r24, r1
    9824:       16 c0           rjmp    .+44            ; 0x9852 <MotorRegler+0x2846>
    9826:       60 91 fe 03     lds     r22, 0x03FE
    982a:       70 91 ff 03     lds     r23, 0x03FF
    982e:       80 91 00 04     lds     r24, 0x0400
    9832:       90 91 01 04     lds     r25, 0x0401
    9836:       2f e5           ldi     r18, 0x5F       ; 95
    9838:       30 e0           ldi     r19, 0x00       ; 0
    983a:       40 e0           ldi     r20, 0x00       ; 0
    983c:       50 e0           ldi     r21, 0x00       ; 0
    983e:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    9842:       42 16           cp      r4, r18
    9844:       53 06           cpc     r5, r19
    9846:       64 06           cpc     r6, r20
    9848:       75 06           cpc     r7, r21
    984a:       1c f4           brge    .+6             ; 0x9852 <MotorRegler+0x2846>
    984c:       8a e1           ldi     r24, 0x1A       ; 26
    984e:       80 93 57 01     sts     0x0157, r24
#endif
                                          VarioCharacter = '=';
    9852:       8d e3           ldi     r24, 0x3D       ; 61
    9854:       80 93 20 01     sts     0x0120, r24
    9858:       3b c0           rjmp    .+118           ; 0x98d0 <MotorRegler+0x28c4>
                                         } 
                                        else 
                                        {
                                        if(HeightDeviation > 20) SollHoehe = HoehenWertF; // update setpoint to current heigth 
    985a:       80 91 85 03     lds     r24, 0x0385
    985e:       90 91 86 03     lds     r25, 0x0386
    9862:       45 97           sbiw    r24, 0x15       ; 21
    9864:       84 f0           brlt    .+32            ; 0x9886 <MotorRegler+0x287a>
    9866:       80 91 4a 03     lds     r24, 0x034A
    986a:       90 91 4b 03     lds     r25, 0x034B
    986e:       a0 91 4c 03     lds     r26, 0x034C
    9872:       b0 91 4d 03     lds     r27, 0x034D
    9876:       80 93 fa 03     sts     0x03FA, r24
    987a:       90 93 fb 03     sts     0x03FB, r25
    987e:       a0 93 fc 03     sts     0x03FC, r26
    9882:       b0 93 fd 03     sts     0x03FD, r27
                                        FC_StatusFlags |= FC_STATUS_VARIO_TRIM_UP;
    9886:       80 91 cb 03     lds     r24, 0x03CB
    988a:       80 64           ori     r24, 0x40       ; 64
    988c:       80 93 cb 03     sts     0x03CB, r24
                                        AltitudeSetpointTrimming = abs(StickGas - (StickGasHover + HEIGHT_CONTROL_STICKTHRESHOLD));
    9890:       c8 01           movw    r24, r16
    9892:       8c 19           sub     r24, r12
    9894:       9d 09           sbc     r25, r13
    9896:       0f 97           sbiw    r24, 0x0f       ; 15
    9898:       9c 01           movw    r18, r24
    989a:       99 23           and     r25, r25
    989c:       24 f4           brge    .+8             ; 0x98a6 <MotorRegler+0x289a>
    989e:       22 27           eor     r18, r18
    98a0:       33 27           eor     r19, r19
    98a2:       28 1b           sub     r18, r24
    98a4:       39 0b           sbc     r19, r25
    98a6:       82 2f           mov     r24, r18
    98a8:       93 2f           mov     r25, r19
    98aa:       30 93 f9 03     sts     0x03F9, r19
    98ae:       20 93 f8 03     sts     0x03F8, r18
                                        if(LowVoltageLandingActive) AltitudeSetpointTrimming /= 3; // only 33% rising
    98b2:       20 91 c1 03     lds     r18, 0x03C1
    98b6:       22 23           and     r18, r18
    98b8:       41 f0           breq    .+16            ; 0x98ca <MotorRegler+0x28be>
    98ba:       63 e0           ldi     r22, 0x03       ; 3
    98bc:       70 e0           ldi     r23, 0x00       ; 0
    98be:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    98c2:       70 93 f9 03     sts     0x03F9, r23
    98c6:       60 93 f8 03     sts     0x03F8, r22
                                        VarioCharacter = '+';
    98ca:       8b e2           ldi     r24, 0x2B       ; 43
    98cc:       80 93 20 01     sts     0x0120, r24
                                        }
                                        WaypointTrimming = 0;
    98d0:       10 92 f2 03     sts     0x03F2, r1
    98d4:       29 c1           rjmp    .+594           ; 0x9b28 <MotorRegler+0x2b1c>
                                } // gas stick is below hoover point
                                else if(StickGas < (StickGasHover - HEIGHT_CONTROL_STICKTHRESHOLD) && !BaroAtLowerLimit )     // Minus
    98d6:       c6 01           movw    r24, r12
    98d8:       0f 97           sbiw    r24, 0x0f       ; 15
    98da:       08 17           cp      r16, r24
    98dc:       19 07           cpc     r17, r25
    98de:       08 f0           brcs    .+2             ; 0x98e2 <MotorRegler+0x28d6>
    98e0:       42 c0           rjmp    .+132           ; 0x9966 <MotorRegler+0x295a>
    98e2:       80 91 8a 03     lds     r24, 0x038A
    98e6:       81 11           cpse    r24, r1
    98e8:       3e c0           rjmp    .+124           ; 0x9966 <MotorRegler+0x295a>
                                {
                                        if(FC_StatusFlags & FC_STATUS_VARIO_TRIM_UP || (HeightDeviation < -300))
    98ea:       80 91 cb 03     lds     r24, 0x03CB
    98ee:       86 fd           sbrc    r24, 6
    98f0:       07 c0           rjmp    .+14            ; 0x9900 <MotorRegler+0x28f4>
    98f2:       80 91 85 03     lds     r24, 0x0385
    98f6:       90 91 86 03     lds     r25, 0x0386
    98fa:       84 3d           cpi     r24, 0xD4       ; 212
    98fc:       9e 4f           sbci    r25, 0xFE       ; 254
    98fe:       ac f4           brge    .+42            ; 0x992a <MotorRegler+0x291e>
                                        {
                                                FC_StatusFlags &= ~FC_STATUS_VARIO_TRIM_UP;
    9900:       80 91 cb 03     lds     r24, 0x03CB
    9904:       8f 7b           andi    r24, 0xBF       ; 191
    9906:       80 93 cb 03     sts     0x03CB, r24
                                                SollHoehe = HoehenWertF; // update setpoint to current heigth
    990a:       80 91 4a 03     lds     r24, 0x034A
    990e:       90 91 4b 03     lds     r25, 0x034B
    9912:       a0 91 4c 03     lds     r26, 0x034C
    9916:       b0 91 4d 03     lds     r27, 0x034D
    991a:       80 93 fa 03     sts     0x03FA, r24
    991e:       90 93 fb 03     sts     0x03FB, r25
    9922:       a0 93 fc 03     sts     0x03FC, r26
    9926:       b0 93 fd 03     sts     0x03FD, r27
                                        }
                                        FC_StatusFlags |= FC_STATUS_VARIO_TRIM_DOWN;
    992a:       80 91 cb 03     lds     r24, 0x03CB
    992e:       80 68           ori     r24, 0x80       ; 128
    9930:       80 93 cb 03     sts     0x03CB, r24
                                        AltitudeSetpointTrimming = -abs(StickGas - (StickGasHover - HEIGHT_CONTROL_STICKTHRESHOLD));
    9934:       98 01           movw    r18, r16
    9936:       2c 19           sub     r18, r12
    9938:       3d 09           sbc     r19, r13
    993a:       21 5f           subi    r18, 0xF1       ; 241
    993c:       3f 4f           sbci    r19, 0xFF       ; 255
    993e:       c9 01           movw    r24, r18
    9940:       99 23           and     r25, r25
    9942:       24 f4           brge    .+8             ; 0x994c <MotorRegler+0x2940>
    9944:       88 27           eor     r24, r24
    9946:       99 27           eor     r25, r25
    9948:       82 1b           sub     r24, r18
    994a:       93 0b           sbc     r25, r19
    994c:       91 95           neg     r25
    994e:       81 95           neg     r24
    9950:       91 09           sbc     r25, r1
    9952:       90 93 f9 03     sts     0x03F9, r25
    9956:       80 93 f8 03     sts     0x03F8, r24
                                        VarioCharacter = '-';
    995a:       8d e2           ldi     r24, 0x2D       ; 45
    995c:       80 93 20 01     sts     0x0120, r24
                                        WaypointTrimming = 0;
    9960:       10 92 f2 03     sts     0x03F2, r1
    9964:       e1 c0           rjmp    .+450           ; 0x9b28 <MotorRegler+0x2b1c>
                                }
                                else // Gas Stick in Hover Range
                                {
                                        VarioCharacter = '=';
    9966:       8d e3           ldi     r24, 0x3D       ; 61
    9968:       80 93 20 01     sts     0x0120, r24
                    if(FromNC_AltitudeSpeed && FromNC_AltitudeSetpoint > SollHoehe) // von NC gesteuert -> Steigen
    996c:       20 91 f3 03     lds     r18, 0x03F3
    9970:       22 23           and     r18, r18
    9972:       09 f4           brne    .+2             ; 0x9976 <MotorRegler+0x296a>
    9974:       74 c0           rjmp    .+232           ; 0x9a5e <MotorRegler+0x2a52>
    9976:       40 91 f4 03     lds     r20, 0x03F4
    997a:       50 91 f5 03     lds     r21, 0x03F5
    997e:       60 91 f6 03     lds     r22, 0x03F6
    9982:       70 91 f7 03     lds     r23, 0x03F7
    9986:       80 91 fa 03     lds     r24, 0x03FA
    998a:       90 91 fb 03     lds     r25, 0x03FB
    998e:       a0 91 fc 03     lds     r26, 0x03FC
    9992:       b0 91 fd 03     lds     r27, 0x03FD
    9996:       84 17           cp      r24, r20
    9998:       95 07           cpc     r25, r21
    999a:       a6 07           cpc     r26, r22
    999c:       b7 07           cpc     r27, r23
    999e:       64 f5           brge    .+88            ; 0x99f8 <MotorRegler+0x29ec>
                                         {
                                                FC_StatusFlags |= FC_STATUS_VARIO_TRIM_UP;
    99a0:       80 91 cb 03     lds     r24, 0x03CB
    99a4:       80 64           ori     r24, 0x40       ; 64
    99a6:       80 93 cb 03     sts     0x03CB, r24
                                                AltitudeSetpointTrimming = FromNC_AltitudeSpeed;
    99aa:       82 2f           mov     r24, r18
    99ac:       90 e0           ldi     r25, 0x00       ; 0
    99ae:       90 93 f9 03     sts     0x03F9, r25
    99b2:       80 93 f8 03     sts     0x03F8, r24
                                                //HeightTrimming += FromNC_AltitudeSpeed;
                                                WaypointTrimming = 10;
    99b6:       8a e0           ldi     r24, 0x0A       ; 10
    99b8:       80 93 f2 03     sts     0x03F2, r24
                                                VarioCharacter = '^';
    99bc:       8e e5           ldi     r24, 0x5E       ; 94
    99be:       80 93 20 01     sts     0x0120, r24
                                                if(FC_StatusFlags & FC_STATUS_VARIO_TRIM_DOWN)  // changed from sinking to rising
    99c2:       80 91 cb 03     lds     r24, 0x03CB
    99c6:       88 23           and     r24, r24
    99c8:       0c f0           brlt    .+2             ; 0x99cc <MotorRegler+0x29c0>
    99ca:       ae c0           rjmp    .+348           ; 0x9b28 <MotorRegler+0x2b1c>
                                                {
                                                        FC_StatusFlags &= ~FC_STATUS_VARIO_TRIM_DOWN;
    99cc:       80 91 cb 03     lds     r24, 0x03CB
    99d0:       8f 77           andi    r24, 0x7F       ; 127
    99d2:       80 93 cb 03     sts     0x03CB, r24
                                                        SollHoehe = HoehenWertF; // update setpoint to current heigth
    99d6:       80 91 4a 03     lds     r24, 0x034A
    99da:       90 91 4b 03     lds     r25, 0x034B
    99de:       a0 91 4c 03     lds     r26, 0x034C
    99e2:       b0 91 4d 03     lds     r27, 0x034D
    99e6:       80 93 fa 03     sts     0x03FA, r24
    99ea:       90 93 fb 03     sts     0x03FB, r25
    99ee:       a0 93 fc 03     sts     0x03FC, r26
    99f2:       b0 93 fd 03     sts     0x03FD, r27
    99f6:       98 c0           rjmp    .+304           ; 0x9b28 <MotorRegler+0x2b1c>
                                                }
                                         }
                                         else 
                    if(FromNC_AltitudeSpeed && FromNC_AltitudeSetpoint < SollHoehe) // von NC gesteuert -> sinken
    99f8:       48 17           cp      r20, r24
    99fa:       59 07           cpc     r21, r25
    99fc:       6a 07           cpc     r22, r26
    99fe:       7b 07           cpc     r23, r27
    9a00:       74 f5           brge    .+92            ; 0x9a5e <MotorRegler+0x2a52>
                                         {
                                                FC_StatusFlags |= FC_STATUS_VARIO_TRIM_DOWN;
    9a02:       80 91 cb 03     lds     r24, 0x03CB
    9a06:       80 68           ori     r24, 0x80       ; 128
    9a08:       80 93 cb 03     sts     0x03CB, r24
                                                AltitudeSetpointTrimming = -FromNC_AltitudeSpeed;
    9a0c:       82 2f           mov     r24, r18
    9a0e:       90 e0           ldi     r25, 0x00       ; 0
    9a10:       91 95           neg     r25
    9a12:       81 95           neg     r24
    9a14:       91 09           sbc     r25, r1
    9a16:       90 93 f9 03     sts     0x03F9, r25
    9a1a:       80 93 f8 03     sts     0x03F8, r24
                                                //HeightTrimming -= FromNC_AltitudeSpeed;
                                                WaypointTrimming = -10;
    9a1e:       86 ef           ldi     r24, 0xF6       ; 246
    9a20:       80 93 f2 03     sts     0x03F2, r24
                                                VarioCharacter = 'v';
    9a24:       86 e7           ldi     r24, 0x76       ; 118
    9a26:       80 93 20 01     sts     0x0120, r24
                                                if(FC_StatusFlags & FC_STATUS_VARIO_TRIM_UP) // changed from rising to sinking
    9a2a:       80 91 cb 03     lds     r24, 0x03CB
    9a2e:       86 ff           sbrs    r24, 6
    9a30:       7b c0           rjmp    .+246           ; 0x9b28 <MotorRegler+0x2b1c>
                                                {
                                                        FC_StatusFlags &= ~FC_STATUS_VARIO_TRIM_UP;
    9a32:       80 91 cb 03     lds     r24, 0x03CB
    9a36:       8f 7b           andi    r24, 0xBF       ; 191
    9a38:       80 93 cb 03     sts     0x03CB, r24
                                                        SollHoehe = HoehenWertF; // update setpoint to current heigth
    9a3c:       80 91 4a 03     lds     r24, 0x034A
    9a40:       90 91 4b 03     lds     r25, 0x034B
    9a44:       a0 91 4c 03     lds     r26, 0x034C
    9a48:       b0 91 4d 03     lds     r27, 0x034D
    9a4c:       80 93 fa 03     sts     0x03FA, r24
    9a50:       90 93 fb 03     sts     0x03FB, r25
    9a54:       a0 93 fc 03     sts     0x03FC, r26
    9a58:       b0 93 fd 03     sts     0x03FD, r27
    9a5c:       65 c0           rjmp    .+202           ; 0x9b28 <MotorRegler+0x2b1c>
                                                }
                                         }
                                        else 
                                        if(FC_StatusFlags & (FC_STATUS_VARIO_TRIM_UP|FC_STATUS_VARIO_TRIM_DOWN))
    9a5e:       80 91 cb 03     lds     r24, 0x03CB
    9a62:       80 7c           andi    r24, 0xC0       ; 192
    9a64:       09 f4           brne    .+2             ; 0x9a68 <MotorRegler+0x2a5c>
    9a66:       60 c0           rjmp    .+192           ; 0x9b28 <MotorRegler+0x2b1c>
                                        {
                                                if(!WaypointTrimming) LIMIT_MIN_MAX(SollHoehe, (HoehenWertF-200), (HoehenWertF+200)) // max. 2m Unterschied
    9a68:       80 91 f2 03     lds     r24, 0x03F2
    9a6c:       81 11           cpse    r24, r1
    9a6e:       36 c0           rjmp    .+108           ; 0x9adc <MotorRegler+0x2ad0>
    9a70:       80 91 4a 03     lds     r24, 0x034A
    9a74:       90 91 4b 03     lds     r25, 0x034B
    9a78:       a0 91 4c 03     lds     r26, 0x034C
    9a7c:       b0 91 4d 03     lds     r27, 0x034D
    9a80:       8c 01           movw    r16, r24
    9a82:       9d 01           movw    r18, r26
    9a84:       08 5c           subi    r16, 0xC8       ; 200
    9a86:       11 09           sbc     r17, r1
    9a88:       21 09           sbc     r18, r1
    9a8a:       31 09           sbc     r19, r1
    9a8c:       40 91 fa 03     lds     r20, 0x03FA
    9a90:       50 91 fb 03     lds     r21, 0x03FB
    9a94:       60 91 fc 03     lds     r22, 0x03FC
    9a98:       70 91 fd 03     lds     r23, 0x03FD
    9a9c:       04 17           cp      r16, r20
    9a9e:       15 07           cpc     r17, r21
    9aa0:       26 07           cpc     r18, r22
    9aa2:       37 07           cpc     r19, r23
    9aa4:       4c f0           brlt    .+18            ; 0x9ab8 <MotorRegler+0x2aac>
    9aa6:       00 93 fa 03     sts     0x03FA, r16
    9aaa:       10 93 fb 03     sts     0x03FB, r17
    9aae:       20 93 fc 03     sts     0x03FC, r18
    9ab2:       30 93 fd 03     sts     0x03FD, r19
    9ab6:       14 c0           rjmp    .+40            ; 0x9ae0 <MotorRegler+0x2ad4>
    9ab8:       88 53           subi    r24, 0x38       ; 56
    9aba:       9f 4f           sbci    r25, 0xFF       ; 255
    9abc:       af 4f           sbci    r26, 0xFF       ; 255
    9abe:       bf 4f           sbci    r27, 0xFF       ; 255
    9ac0:       48 17           cp      r20, r24
    9ac2:       59 07           cpc     r21, r25
    9ac4:       6a 07           cpc     r22, r26
    9ac6:       7b 07           cpc     r23, r27
    9ac8:       5c f0           brlt    .+22            ; 0x9ae0 <MotorRegler+0x2ad4>
    9aca:       80 93 fa 03     sts     0x03FA, r24
    9ace:       90 93 fb 03     sts     0x03FB, r25
    9ad2:       a0 93 fc 03     sts     0x03FC, r26
    9ad6:       b0 93 fd 03     sts     0x03FD, r27
    9ada:       02 c0           rjmp    .+4             ; 0x9ae0 <MotorRegler+0x2ad4>
                                                else                                    WaypointTrimming = 0;
    9adc:       10 92 f2 03     sts     0x03F2, r1
                                                FC_StatusFlags &= ~(FC_STATUS_VARIO_TRIM_UP|FC_STATUS_VARIO_TRIM_DOWN);
    9ae0:       80 91 cb 03     lds     r24, 0x03CB
    9ae4:       8f 73           andi    r24, 0x3F       ; 63
    9ae6:       80 93 cb 03     sts     0x03CB, r24
                                                HeightTrimming = 0;
    9aea:       10 92 88 03     sts     0x0388, r1
    9aee:       10 92 87 03     sts     0x0387, r1
                                                if(Parameter_ExtraConfig & CFG2_VARIO_BEEP) beeptime = 500;
    9af2:       e1 ff           sbrs    r30, 1
    9af4:       06 c0           rjmp    .+12            ; 0x9b02 <MotorRegler+0x2af6>
    9af6:       84 ef           ldi     r24, 0xF4       ; 244
    9af8:       91 e0           ldi     r25, 0x01       ; 1
    9afa:       90 93 ce 04     sts     0x04CE, r25
    9afe:       80 93 cd 04     sts     0x04CD, r24
                                                if(!StartTrigger && HoehenWert > 50)
    9b02:       80 91 02 04     lds     r24, 0x0402
    9b06:       81 11           cpse    r24, r1
    9b08:       0f c0           rjmp    .+30            ; 0x9b28 <MotorRegler+0x2b1c>
    9b0a:       80 91 fe 03     lds     r24, 0x03FE
    9b0e:       90 91 ff 03     lds     r25, 0x03FF
    9b12:       a0 91 00 04     lds     r26, 0x0400
    9b16:       b0 91 01 04     lds     r27, 0x0401
    9b1a:       c3 97           sbiw    r24, 0x33       ; 51
    9b1c:       a1 05           cpc     r26, r1
    9b1e:       b1 05           cpc     r27, r1
    9b20:       1c f0           brlt    .+6             ; 0x9b28 <MotorRegler+0x2b1c>
                                                {
                                                 StartTrigger = 1;
    9b22:       81 e0           ldi     r24, 0x01       ; 1
    9b24:       80 93 02 04     sts     0x0402, r24
                                                }
                                        }
                                }
                                // Trim height set point
                                HeightTrimming += AltitudeSetpointTrimming;
    9b28:       20 91 87 03     lds     r18, 0x0387
    9b2c:       30 91 88 03     lds     r19, 0x0388
    9b30:       80 91 f8 03     lds     r24, 0x03F8
    9b34:       90 91 f9 03     lds     r25, 0x03F9
    9b38:       28 0f           add     r18, r24
    9b3a:       39 1f           adc     r19, r25
    9b3c:       30 93 88 03     sts     0x0388, r19
    9b40:       20 93 87 03     sts     0x0387, r18
                                if(abs(HeightTrimming) > 500) // bei Waypoint-Flug ist das ca. die 500Hz
    9b44:       c9 01           movw    r24, r18
    9b46:       33 23           and     r19, r19
    9b48:       24 f4           brge    .+8             ; 0x9b52 <MotorRegler+0x2b46>
    9b4a:       88 27           eor     r24, r24
    9b4c:       99 27           eor     r25, r25
    9b4e:       82 1b           sub     r24, r18
    9b50:       93 0b           sbc     r25, r19
    9b52:       85 3f           cpi     r24, 0xF5       ; 245
    9b54:       91 40           sbci    r25, 0x01       ; 1
    9b56:       0c f4           brge    .+2             ; 0x9b5a <MotorRegler+0x2b4e>
    9b58:       ef c0           rjmp    .+478           ; 0x9d38 <MotorRegler+0x2d2c>
                                {
                                        if(WaypointTrimming) 
    9b5a:       e0 91 f2 03     lds     r30, 0x03F2
    9b5e:       ee 23           and     r30, r30
    9b60:       b1 f1           breq    .+108           ; 0x9bce <MotorRegler+0x2bc2>
                                         {
                                          if(abs(FromNC_AltitudeSetpoint - SollHoehe) < 10) SollHoehe = FromNC_AltitudeSetpoint; 
    9b62:       40 91 f4 03     lds     r20, 0x03F4
    9b66:       50 91 f5 03     lds     r21, 0x03F5
    9b6a:       60 91 f6 03     lds     r22, 0x03F6
    9b6e:       70 91 f7 03     lds     r23, 0x03F7
    9b72:       80 91 fa 03     lds     r24, 0x03FA
    9b76:       90 91 fb 03     lds     r25, 0x03FB
    9b7a:       a0 91 fc 03     lds     r26, 0x03FC
    9b7e:       b0 91 fd 03     lds     r27, 0x03FD
    9b82:       9a 01           movw    r18, r20
    9b84:       28 1b           sub     r18, r24
    9b86:       39 0b           sbc     r19, r25
    9b88:       27 3f           cpi     r18, 0xF7       ; 247
    9b8a:       1f ef           ldi     r17, 0xFF       ; 255
    9b8c:       31 07           cpc     r19, r17
    9b8e:       64 f0           brlt    .+24            ; 0x9ba8 <MotorRegler+0x2b9c>
    9b90:       2a 30           cpi     r18, 0x0A       ; 10
    9b92:       31 05           cpc     r19, r1
    9b94:       4c f4           brge    .+18            ; 0x9ba8 <MotorRegler+0x2b9c>
    9b96:       40 93 fa 03     sts     0x03FA, r20
    9b9a:       50 93 fb 03     sts     0x03FB, r21
    9b9e:       60 93 fc 03     sts     0x03FC, r22
    9ba2:       70 93 fd 03     sts     0x03FD, r23
    9ba6:       4d c0           rjmp    .+154           ; 0x9c42 <MotorRegler+0x2c36>
                                          else SollHoehe += WaypointTrimming;
    9ba8:       4e 2f           mov     r20, r30
    9baa:       55 27           eor     r21, r21
    9bac:       47 fd           sbrc    r20, 7
    9bae:       50 95           com     r21
    9bb0:       65 2f           mov     r22, r21
    9bb2:       75 2f           mov     r23, r21
    9bb4:       84 0f           add     r24, r20
    9bb6:       95 1f           adc     r25, r21
    9bb8:       a6 1f           adc     r26, r22
    9bba:       b7 1f           adc     r27, r23
    9bbc:       80 93 fa 03     sts     0x03FA, r24
    9bc0:       90 93 fb 03     sts     0x03FB, r25
    9bc4:       a0 93 fc 03     sts     0x03FC, r26
    9bc8:       b0 93 fd 03     sts     0x03FD, r27
    9bcc:       3a c0           rjmp    .+116           ; 0x9c42 <MotorRegler+0x2c36>
                                          } 
                                        else
                                          {
                                          if(HeightTrimming > 0)        SollHoehe += EE_Parameter.Hoehe_Verstaerkung / 3;
    9bce:       12 16           cp      r1, r18
    9bd0:       13 06           cpc     r1, r19
    9bd2:       e4 f4           brge    .+56            ; 0x9c0c <MotorRegler+0x2c00>
    9bd4:       20 91 50 05     lds     r18, 0x0550
    9bd8:       8b ea           ldi     r24, 0xAB       ; 171
    9bda:       28 9f           mul     r18, r24
    9bdc:       21 2d           mov     r18, r1
    9bde:       11 24           eor     r1, r1
    9be0:       26 95           lsr     r18
    9be2:       80 91 fa 03     lds     r24, 0x03FA
    9be6:       90 91 fb 03     lds     r25, 0x03FB
    9bea:       a0 91 fc 03     lds     r26, 0x03FC
    9bee:       b0 91 fd 03     lds     r27, 0x03FD
    9bf2:       82 0f           add     r24, r18
    9bf4:       91 1d           adc     r25, r1
    9bf6:       a1 1d           adc     r26, r1
    9bf8:       b1 1d           adc     r27, r1
    9bfa:       80 93 fa 03     sts     0x03FA, r24
    9bfe:       90 93 fb 03     sts     0x03FB, r25
    9c02:       a0 93 fc 03     sts     0x03FC, r26
    9c06:       b0 93 fd 03     sts     0x03FD, r27
    9c0a:       1b c0           rjmp    .+54            ; 0x9c42 <MotorRegler+0x2c36>
                                          else                    SollHoehe -= EE_Parameter.Hoehe_Verstaerkung / 3;
    9c0c:       20 91 50 05     lds     r18, 0x0550
    9c10:       8b ea           ldi     r24, 0xAB       ; 171
    9c12:       28 9f           mul     r18, r24
    9c14:       21 2d           mov     r18, r1
    9c16:       11 24           eor     r1, r1
    9c18:       26 95           lsr     r18
    9c1a:       80 91 fa 03     lds     r24, 0x03FA
    9c1e:       90 91 fb 03     lds     r25, 0x03FB
    9c22:       a0 91 fc 03     lds     r26, 0x03FC
    9c26:       b0 91 fd 03     lds     r27, 0x03FD
    9c2a:       82 1b           sub     r24, r18
    9c2c:       91 09           sbc     r25, r1
    9c2e:       a1 09           sbc     r26, r1
    9c30:       b1 09           sbc     r27, r1
    9c32:       80 93 fa 03     sts     0x03FA, r24
    9c36:       90 93 fb 03     sts     0x03FB, r25
    9c3a:       a0 93 fc 03     sts     0x03FC, r26
    9c3e:       b0 93 fd 03     sts     0x03FD, r27
                                          }
                                        HeightTrimming = 0;
    9c42:       10 92 88 03     sts     0x0388, r1
    9c46:       10 92 87 03     sts     0x0387, r1
                                        LIMIT_MIN_MAX(HoehenWertF, (HoehenWert-1024), (HoehenWert+1024)); // max. 10m Unterschied
    9c4a:       80 91 fe 03     lds     r24, 0x03FE
    9c4e:       90 91 ff 03     lds     r25, 0x03FF
    9c52:       a0 91 00 04     lds     r26, 0x0400
    9c56:       b0 91 01 04     lds     r27, 0x0401
    9c5a:       8c 01           movw    r16, r24
    9c5c:       9d 01           movw    r18, r26
    9c5e:       14 50           subi    r17, 0x04       ; 4
    9c60:       21 09           sbc     r18, r1
    9c62:       31 09           sbc     r19, r1
    9c64:       40 91 4a 03     lds     r20, 0x034A
    9c68:       50 91 4b 03     lds     r21, 0x034B
    9c6c:       60 91 4c 03     lds     r22, 0x034C
    9c70:       70 91 4d 03     lds     r23, 0x034D
    9c74:       04 17           cp      r16, r20
    9c76:       15 07           cpc     r17, r21
    9c78:       26 07           cpc     r18, r22
    9c7a:       37 07           cpc     r19, r23
    9c7c:       4c f0           brlt    .+18            ; 0x9c90 <MotorRegler+0x2c84>
    9c7e:       00 93 4a 03     sts     0x034A, r16
    9c82:       10 93 4b 03     sts     0x034B, r17
    9c86:       20 93 4c 03     sts     0x034C, r18
    9c8a:       30 93 4d 03     sts     0x034D, r19
    9c8e:       10 c0           rjmp    .+32            ; 0x9cb0 <MotorRegler+0x2ca4>
    9c90:       9c 5f           subi    r25, 0xFC       ; 252
    9c92:       af 4f           sbci    r26, 0xFF       ; 255
    9c94:       bf 4f           sbci    r27, 0xFF       ; 255
    9c96:       48 17           cp      r20, r24
    9c98:       59 07           cpc     r21, r25
    9c9a:       6a 07           cpc     r22, r26
    9c9c:       7b 07           cpc     r23, r27
    9c9e:       44 f0           brlt    .+16            ; 0x9cb0 <MotorRegler+0x2ca4>
    9ca0:       80 93 4a 03     sts     0x034A, r24
    9ca4:       90 93 4b 03     sts     0x034B, r25
    9ca8:       a0 93 4c 03     sts     0x034C, r26
    9cac:       b0 93 4d 03     sts     0x034D, r27
                                        LIMIT_MIN_MAX(SollHoehe, (HoehenWertF-1024), (HoehenWertF+1500)); // max. 15m Unterschied
    9cb0:       80 91 4a 03     lds     r24, 0x034A
    9cb4:       90 91 4b 03     lds     r25, 0x034B
    9cb8:       a0 91 4c 03     lds     r26, 0x034C
    9cbc:       b0 91 4d 03     lds     r27, 0x034D
    9cc0:       8c 01           movw    r16, r24
    9cc2:       9d 01           movw    r18, r26
    9cc4:       14 50           subi    r17, 0x04       ; 4
    9cc6:       21 09           sbc     r18, r1
    9cc8:       31 09           sbc     r19, r1
    9cca:       40 91 fa 03     lds     r20, 0x03FA
    9cce:       50 91 fb 03     lds     r21, 0x03FB
    9cd2:       60 91 fc 03     lds     r22, 0x03FC
    9cd6:       70 91 fd 03     lds     r23, 0x03FD
    9cda:       04 17           cp      r16, r20
    9cdc:       15 07           cpc     r17, r21
    9cde:       26 07           cpc     r18, r22
    9ce0:       37 07           cpc     r19, r23
    9ce2:       4c f0           brlt    .+18            ; 0x9cf6 <MotorRegler+0x2cea>
    9ce4:       00 93 fa 03     sts     0x03FA, r16
    9ce8:       10 93 fb 03     sts     0x03FB, r17
    9cec:       20 93 fc 03     sts     0x03FC, r18
    9cf0:       30 93 fd 03     sts     0x03FD, r19
    9cf4:       11 c0           rjmp    .+34            ; 0x9d18 <MotorRegler+0x2d0c>
    9cf6:       84 52           subi    r24, 0x24       ; 36
    9cf8:       9a 4f           sbci    r25, 0xFA       ; 250
    9cfa:       af 4f           sbci    r26, 0xFF       ; 255
    9cfc:       bf 4f           sbci    r27, 0xFF       ; 255
    9cfe:       48 17           cp      r20, r24
    9d00:       59 07           cpc     r21, r25
    9d02:       6a 07           cpc     r22, r26
    9d04:       7b 07           cpc     r23, r27
    9d06:       44 f0           brlt    .+16            ; 0x9d18 <MotorRegler+0x2d0c>
    9d08:       80 93 fa 03     sts     0x03FA, r24
    9d0c:       90 93 fb 03     sts     0x03FB, r25
    9d10:       a0 93 fc 03     sts     0x03FC, r26
    9d14:       b0 93 fd 03     sts     0x03FD, r27
                                        if(Parameter_ExtraConfig & CFG2_VARIO_BEEP) beeptime = 100;
    9d18:       80 91 40 06     lds     r24, 0x0640
    9d1c:       81 ff           sbrs    r24, 1
    9d1e:       06 c0           rjmp    .+12            ; 0x9d2c <MotorRegler+0x2d20>
    9d20:       84 e6           ldi     r24, 0x64       ; 100
    9d22:       90 e0           ldi     r25, 0x00       ; 0
    9d24:       90 93 ce 04     sts     0x04CE, r25
    9d28:       80 93 cd 04     sts     0x04CD, r24
                                        //update hoover gas stick value when setpoint is shifted
                                        if(FromNC_AltitudeSpeed == 0) CalcStickGasHover();
    9d2c:       80 91 f3 03     lds     r24, 0x03F3
    9d30:       81 11           cpse    r24, r1
    9d32:       02 c0           rjmp    .+4             ; 0x9d38 <MotorRegler+0x2d2c>
    9d34:       0e 94 c4 37     call    0x6f88  ; 0x6f88 <CalcStickGasHover>
                           if(StickGasHover < 70) StickGasHover = 70;
                           else if(StickGasHover > 175) StickGasHover = 175;
                       }
*/
                                }
              if(BaroExpandActive) SollHoehe = HoehenWertF; // update setpoint to current altitude if Expanding is active
    9d38:       80 91 59 04     lds     r24, 0x0459
    9d3c:       90 91 5a 04     lds     r25, 0x045A
    9d40:       89 2b           or      r24, r25
    9d42:       09 f4           brne    .+2             ; 0x9d46 <MotorRegler+0x2d3a>
    9d44:       3f c0           rjmp    .+126           ; 0x9dc4 <MotorRegler+0x2db8>
    9d46:       80 91 4a 03     lds     r24, 0x034A
    9d4a:       90 91 4b 03     lds     r25, 0x034B
    9d4e:       a0 91 4c 03     lds     r26, 0x034C
    9d52:       b0 91 4d 03     lds     r27, 0x034D
    9d56:       80 93 fa 03     sts     0x03FA, r24
    9d5a:       90 93 fb 03     sts     0x03FB, r25
    9d5e:       a0 93 fc 03     sts     0x03FC, r26
    9d62:       b0 93 fd 03     sts     0x03FD, r27
    9d66:       2e c0           rjmp    .+92            ; 0x9dc4 <MotorRegler+0x2db8>
                        } //if FCFlags & MKFCFLAG_FLY
                        else
                        {
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                         ACC_AltitudeFusion(1); // init the ACC and Altitude fusion
    9d68:       81 e0           ldi     r24, 0x01       ; 1
    9d6a:       0e 94 a0 16     call    0x2d40  ; 0x2d40 <ACC_AltitudeFusion>
#endif
                         SollHoehe = HoehenWertF - 2000;
    9d6e:       80 91 4a 03     lds     r24, 0x034A
    9d72:       90 91 4b 03     lds     r25, 0x034B
    9d76:       a0 91 4c 03     lds     r26, 0x034C
    9d7a:       b0 91 4d 03     lds     r27, 0x034D
    9d7e:       80 5d           subi    r24, 0xD0       ; 208
    9d80:       97 40           sbci    r25, 0x07       ; 7
    9d82:       a1 09           sbc     r26, r1
    9d84:       b1 09           sbc     r27, r1
    9d86:       80 93 fa 03     sts     0x03FA, r24
    9d8a:       90 93 fb 03     sts     0x03FB, r25
    9d8e:       a0 93 fc 03     sts     0x03FC, r26
    9d92:       b0 93 fd 03     sts     0x03FD, r27

                         if(EE_Parameter.Hoehe_StickNeutralPoint) StickGasHover = EE_Parameter.Hoehe_StickNeutralPoint;
    9d96:       80 91 54 05     lds     r24, 0x0554
    9d9a:       88 23           and     r24, r24
    9d9c:       31 f0           breq    .+12            ; 0x9daa <MotorRegler+0x2d9e>
    9d9e:       90 e0           ldi     r25, 0x00       ; 0
    9da0:       90 93 41 01     sts     0x0141, r25
    9da4:       80 93 40 01     sts     0x0140, r24
    9da8:       06 c0           rjmp    .+12            ; 0x9db6 <MotorRegler+0x2daa>
                         else StickGasHover = 127;
    9daa:       8f e7           ldi     r24, 0x7F       ; 127
    9dac:       90 e0           ldi     r25, 0x00       ; 0
    9dae:       90 93 41 01     sts     0x0141, r25
    9db2:       80 93 40 01     sts     0x0140, r24
                         HoverGas = GasMischanteil;
    9db6:       30 92 e9 03     sts     0x03E9, r3
    9dba:       20 92 e8 03     sts     0x03E8, r2
                         VarioCharacter = '.';
    9dbe:       8e e2           ldi     r24, 0x2E       ; 46
    9dc0:       80 93 20 01     sts     0x0120, r24
                         }
                        HCGas = HoverGas;      // take hover gas (neutral point)
    9dc4:       e0 91 e8 03     lds     r30, 0x03E8
    9dc8:       f0 91 e9 03     lds     r31, 0x03E9
                   }
         if(HoehenWertF > SollHoehe || !(Parameter_ExtraConfig & CFG2_HEIGHT_LIMIT))
    9dcc:       80 91 4a 03     lds     r24, 0x034A
    9dd0:       90 91 4b 03     lds     r25, 0x034B
    9dd4:       a0 91 4c 03     lds     r26, 0x034C
    9dd8:       b0 91 4d 03     lds     r27, 0x034D
    9ddc:       40 91 fa 03     lds     r20, 0x03FA
    9de0:       50 91 fb 03     lds     r21, 0x03FB
    9de4:       60 91 fc 03     lds     r22, 0x03FC
    9de8:       70 91 fd 03     lds     r23, 0x03FD
    9dec:       48 17           cp      r20, r24
    9dee:       59 07           cpc     r21, r25
    9df0:       6a 07           cpc     r22, r26
    9df2:       7b 07           cpc     r23, r27
    9df4:       24 f0           brlt    .+8             ; 0x9dfe <MotorRegler+0x2df2>
    9df6:       20 91 40 06     lds     r18, 0x0640
    9dfa:       20 fd           sbrc    r18, 0
    9dfc:       70 c4           rjmp    .+2272          ; 0xa6de <MotorRegler+0x36d2>
                 {
                  if(!ACC_AltitudeControl)
    9dfe:       20 91 c2 03     lds     r18, 0x03C2
    9e02:       21 11           cpse    r18, r1
    9e04:       7e c2           rjmp    .+1276          ; 0xa302 <MotorRegler+0x32f6>
                  {
                        // from this point the Heigth Control Algorithm is identical for both versions
                        if(BaroExpandActive) // baro range expanding active
    9e06:       20 91 59 04     lds     r18, 0x0459
    9e0a:       30 91 5a 04     lds     r19, 0x045A
    9e0e:       23 2b           or      r18, r19
    9e10:       59 f0           breq    .+22            ; 0x9e28 <MotorRegler+0x2e1c>
                        {
                                HCGas = HoverGas; // hover while expanding baro adc range
    9e12:       e0 91 e8 03     lds     r30, 0x03E8
    9e16:       f0 91 e9 03     lds     r31, 0x03E9
                                HeightDeviation = 0;
    9e1a:       10 92 86 03     sts     0x0386, r1
    9e1e:       10 92 85 03     sts     0x0385, r1
 if((Parameter_GlobalConfig & CFG_HOEHENREGELUNG) && !(Looping_Roll || Looping_Nick) && !(VersionInfo.HardwareError[0] & 0x7F))  // Höhenregelung
        {
                #define HOVER_GAS_AVERAGE 16384L                // 16384 * 2ms = 32s averaging
                #define HC_GAS_AVERAGE 4                        // 4 * 2ms= 8ms averaging

                int HCGas, GasReduction = 0;
    9e22:       c1 2c           mov     r12, r1
    9e24:       d1 2c           mov     r13, r1
    9e26:       ea c0           rjmp    .+468           ; 0x9ffc <MotorRegler+0x2ff0>
                                HeightDeviation = 0;
                        } // EOF // baro range expanding active
                        else // valid data from air pressure sensor
                        {
                                // ------------------------- P-Part ----------------------------
                                tmp_long = (HoehenWertF - SollHoehe); // positive when too high
    9e28:       84 1b           sub     r24, r20
    9e2a:       95 0b           sbc     r25, r21
    9e2c:       a6 0b           sbc     r26, r22
    9e2e:       b7 0b           sbc     r27, r23
                                LIMIT_MIN_MAX(tmp_long, -32767L, 32767L);       // avoid overflov when casting to int16_t
    9e30:       82 30           cpi     r24, 0x02       ; 2
    9e32:       20 e8           ldi     r18, 0x80       ; 128
    9e34:       92 07           cpc     r25, r18
    9e36:       2f ef           ldi     r18, 0xFF       ; 255
    9e38:       a2 07           cpc     r26, r18
    9e3a:       b2 07           cpc     r27, r18
    9e3c:       6c f4           brge    .+26            ; 0x9e58 <MotorRegler+0x2e4c>
    9e3e:       81 e0           ldi     r24, 0x01       ; 1
    9e40:       90 e8           ldi     r25, 0x80       ; 128
    9e42:       af ef           ldi     r26, 0xFF       ; 255
    9e44:       bf ef           ldi     r27, 0xFF       ; 255
    9e46:       80 93 81 03     sts     0x0381, r24
    9e4a:       90 93 82 03     sts     0x0382, r25
    9e4e:       a0 93 83 03     sts     0x0383, r26
    9e52:       b0 93 84 03     sts     0x0384, r27
    9e56:       1b c0           rjmp    .+54            ; 0x9e8e <MotorRegler+0x2e82>
    9e58:       8f 3f           cpi     r24, 0xFF       ; 255
    9e5a:       3f e7           ldi     r19, 0x7F       ; 127
    9e5c:       93 07           cpc     r25, r19
    9e5e:       a1 05           cpc     r26, r1
    9e60:       b1 05           cpc     r27, r1
    9e62:       4c f4           brge    .+18            ; 0x9e76 <MotorRegler+0x2e6a>
                                HeightDeviation = 0;
                        } // EOF // baro range expanding active
                        else // valid data from air pressure sensor
                        {
                                // ------------------------- P-Part ----------------------------
                                tmp_long = (HoehenWertF - SollHoehe); // positive when too high
    9e64:       80 93 81 03     sts     0x0381, r24
    9e68:       90 93 82 03     sts     0x0382, r25
    9e6c:       a0 93 83 03     sts     0x0383, r26
    9e70:       b0 93 84 03     sts     0x0384, r27
    9e74:       0c c0           rjmp    .+24            ; 0x9e8e <MotorRegler+0x2e82>
                                LIMIT_MIN_MAX(tmp_long, -32767L, 32767L);       // avoid overflov when casting to int16_t
    9e76:       8f ef           ldi     r24, 0xFF       ; 255
    9e78:       9f e7           ldi     r25, 0x7F       ; 127
    9e7a:       a0 e0           ldi     r26, 0x00       ; 0
    9e7c:       b0 e0           ldi     r27, 0x00       ; 0
    9e7e:       80 93 81 03     sts     0x0381, r24
    9e82:       90 93 82 03     sts     0x0382, r25
    9e86:       a0 93 83 03     sts     0x0383, r26
    9e8a:       b0 93 84 03     sts     0x0384, r27
                                HeightDeviation = (int)(tmp_long); // positive when too high
    9e8e:       20 91 81 03     lds     r18, 0x0381
    9e92:       30 91 82 03     lds     r19, 0x0382
    9e96:       40 91 83 03     lds     r20, 0x0383
    9e9a:       50 91 84 03     lds     r21, 0x0384
    9e9e:       30 93 86 03     sts     0x0386, r19
    9ea2:       20 93 85 03     sts     0x0385, r18
                                tmp_long = (tmp_long * (long)Parameter_Hoehe_P) / 32L; // p-part
    9ea6:       a0 91 39 01     lds     r26, 0x0139
    9eaa:       b0 e0           ldi     r27, 0x00       ; 0
    9eac:       0e 94 c8 b1     call    0x16390 ; 0x16390 <__muluhisi3>
    9eb0:       8b 01           movw    r16, r22
    9eb2:       9c 01           movw    r18, r24
    9eb4:       99 23           and     r25, r25
    9eb6:       24 f4           brge    .+8             ; 0x9ec0 <MotorRegler+0x2eb4>
    9eb8:       01 5e           subi    r16, 0xE1       ; 225
    9eba:       1f 4f           sbci    r17, 0xFF       ; 255
    9ebc:       2f 4f           sbci    r18, 0xFF       ; 255
    9ebe:       3f 4f           sbci    r19, 0xFF       ; 255
    9ec0:       d9 01           movw    r26, r18
    9ec2:       c8 01           movw    r24, r16
    9ec4:       68 94           set
    9ec6:       14 f8           bld     r1, 4
    9ec8:       b5 95           asr     r27
    9eca:       a7 95           ror     r26
    9ecc:       97 95           ror     r25
    9ece:       87 95           ror     r24
    9ed0:       16 94           lsr     r1
    9ed2:       d1 f7           brne    .-12            ; 0x9ec8 <MotorRegler+0x2ebc>
                                LIMIT_MIN_MAX(tmp_long, -127 * STICK_GAIN, 256 * STICK_GAIN); // more than the full range makes no sense
    9ed4:       85 30           cpi     r24, 0x05       ; 5
    9ed6:       4e ef           ldi     r20, 0xFE       ; 254
    9ed8:       94 07           cpc     r25, r20
    9eda:       4f ef           ldi     r20, 0xFF       ; 255
    9edc:       a4 07           cpc     r26, r20
    9ede:       b4 07           cpc     r27, r20
    9ee0:       6c f4           brge    .+26            ; 0x9efc <MotorRegler+0x2ef0>
    9ee2:       84 e0           ldi     r24, 0x04       ; 4
    9ee4:       9e ef           ldi     r25, 0xFE       ; 254
    9ee6:       af ef           ldi     r26, 0xFF       ; 255
    9ee8:       bf ef           ldi     r27, 0xFF       ; 255
    9eea:       80 93 81 03     sts     0x0381, r24
    9eee:       90 93 82 03     sts     0x0382, r25
    9ef2:       a0 93 83 03     sts     0x0383, r26
    9ef6:       b0 93 84 03     sts     0x0384, r27
    9efa:       1b c0           rjmp    .+54            ; 0x9f32 <MotorRegler+0x2f26>
    9efc:       81 15           cp      r24, r1
    9efe:       54 e0           ldi     r21, 0x04       ; 4
    9f00:       95 07           cpc     r25, r21
    9f02:       a1 05           cpc     r26, r1
    9f04:       b1 05           cpc     r27, r1
    9f06:       4c f4           brge    .+18            ; 0x9f1a <MotorRegler+0x2f0e>
                        {
                                // ------------------------- P-Part ----------------------------
                                tmp_long = (HoehenWertF - SollHoehe); // positive when too high
                                LIMIT_MIN_MAX(tmp_long, -32767L, 32767L);       // avoid overflov when casting to int16_t
                                HeightDeviation = (int)(tmp_long); // positive when too high
                                tmp_long = (tmp_long * (long)Parameter_Hoehe_P) / 32L; // p-part
    9f08:       80 93 81 03     sts     0x0381, r24
    9f0c:       90 93 82 03     sts     0x0382, r25
    9f10:       a0 93 83 03     sts     0x0383, r26
    9f14:       b0 93 84 03     sts     0x0384, r27
    9f18:       0c c0           rjmp    .+24            ; 0x9f32 <MotorRegler+0x2f26>
                                LIMIT_MIN_MAX(tmp_long, -127 * STICK_GAIN, 256 * STICK_GAIN); // more than the full range makes no sense
    9f1a:       80 e0           ldi     r24, 0x00       ; 0
    9f1c:       94 e0           ldi     r25, 0x04       ; 4
    9f1e:       a0 e0           ldi     r26, 0x00       ; 0
    9f20:       b0 e0           ldi     r27, 0x00       ; 0
    9f22:       80 93 81 03     sts     0x0381, r24
    9f26:       90 93 82 03     sts     0x0382, r25
    9f2a:       a0 93 83 03     sts     0x0383, r26
    9f2e:       b0 93 84 03     sts     0x0384, r27
                                GasReduction = tmp_long;
    9f32:       40 91 81 03     lds     r20, 0x0381
    9f36:       50 91 82 03     lds     r21, 0x0382
                                // ------------------------- D-Part 1: Vario Meter ----------------------------
                                tmp_int = VarioMeter / 8;
    9f3a:       a0 91 54 03     lds     r26, 0x0354
    9f3e:       b0 91 55 03     lds     r27, 0x0355
    9f42:       bb 23           and     r27, r27
    9f44:       0c f4           brge    .+2             ; 0x9f48 <MotorRegler+0x2f3c>
    9f46:       17 96           adiw    r26, 0x07       ; 7
    9f48:       b5 95           asr     r27
    9f4a:       a7 95           ror     r26
    9f4c:       b5 95           asr     r27
    9f4e:       a7 95           ror     r26
    9f50:       b5 95           asr     r27
    9f52:       a7 95           ror     r26
                                LIMIT_MIN_MAX(tmp_int, -127, 128);
    9f54:       a2 38           cpi     r26, 0x82       ; 130
    9f56:       6f ef           ldi     r22, 0xFF       ; 255
    9f58:       b6 07           cpc     r27, r22
    9f5a:       24 f0           brlt    .+8             ; 0x9f64 <MotorRegler+0x2f58>
    9f5c:       a0 38           cpi     r26, 0x80       ; 128
    9f5e:       b1 05           cpc     r27, r1
    9f60:       24 f4           brge    .+8             ; 0x9f6a <MotorRegler+0x2f5e>
    9f62:       05 c0           rjmp    .+10            ; 0x9f6e <MotorRegler+0x2f62>
    9f64:       a1 e8           ldi     r26, 0x81       ; 129
    9f66:       bf ef           ldi     r27, 0xFF       ; 255
    9f68:       02 c0           rjmp    .+4             ; 0x9f6e <MotorRegler+0x2f62>
    9f6a:       a0 e8           ldi     r26, 0x80       ; 128
    9f6c:       b0 e0           ldi     r27, 0x00       ; 0
                                tmp_int = (tmp_int * (long)Parameter_Luftdruck_D) / 4L; // scale to d-gain parameter
    9f6e:       20 91 3a 01     lds     r18, 0x013A
    9f72:       30 e0           ldi     r19, 0x00       ; 0
    9f74:       0e 94 c2 b1     call    0x16384 ; 0x16384 <__usmulhisi3>
    9f78:       8b 01           movw    r16, r22
    9f7a:       9c 01           movw    r18, r24
    9f7c:       99 23           and     r25, r25
    9f7e:       24 f4           brge    .+8             ; 0x9f88 <MotorRegler+0x2f7c>
    9f80:       0d 5f           subi    r16, 0xFD       ; 253
    9f82:       1f 4f           sbci    r17, 0xFF       ; 255
    9f84:       2f 4f           sbci    r18, 0xFF       ; 255
    9f86:       3f 4f           sbci    r19, 0xFF       ; 255
    9f88:       d9 01           movw    r26, r18
    9f8a:       c8 01           movw    r24, r16
    9f8c:       b5 95           asr     r27
    9f8e:       a7 95           ror     r26
    9f90:       97 95           ror     r25
    9f92:       87 95           ror     r24
    9f94:       b5 95           asr     r27
    9f96:       a7 95           ror     r26
    9f98:       97 95           ror     r25
    9f9a:       87 95           ror     r24
                                LIMIT_MIN_MAX(tmp_int,-64 * STICK_GAIN, 64 * STICK_GAIN);
    9f9c:       81 30           cpi     r24, 0x01       ; 1
    9f9e:       7f ef           ldi     r23, 0xFF       ; 255
    9fa0:       97 07           cpc     r25, r23
    9fa2:       2c f0           brlt    .+10            ; 0x9fae <MotorRegler+0x2fa2>
    9fa4:       8f 3f           cpi     r24, 0xFF       ; 255
    9fa6:       91 05           cpc     r25, r1
    9fa8:       09 f0           breq    .+2             ; 0x9fac <MotorRegler+0x2fa0>
    9faa:       24 f4           brge    .+8             ; 0x9fb4 <MotorRegler+0x2fa8>
    9fac:       05 c0           rjmp    .+10            ; 0x9fb8 <MotorRegler+0x2fac>
    9fae:       80 e0           ldi     r24, 0x00       ; 0
    9fb0:       9f ef           ldi     r25, 0xFF       ; 255
    9fb2:       02 c0           rjmp    .+4             ; 0x9fb8 <MotorRegler+0x2fac>
    9fb4:       80 e0           ldi     r24, 0x00       ; 0
    9fb6:       91 e0           ldi     r25, 0x01       ; 1
                                if(FC_StatusFlags & (FC_STATUS_VARIO_TRIM_UP|FC_STATUS_VARIO_TRIM_DOWN)) tmp_int /= 4; // reduce d-part while trimming setpoint
    9fb8:       20 91 cb 03     lds     r18, 0x03CB
    9fbc:       20 7c           andi    r18, 0xC0       ; 192
    9fbe:       59 f0           breq    .+22            ; 0x9fd6 <MotorRegler+0x2fca>
    9fc0:       9c 01           movw    r18, r24
    9fc2:       99 23           and     r25, r25
    9fc4:       14 f4           brge    .+4             ; 0x9fca <MotorRegler+0x2fbe>
    9fc6:       2d 5f           subi    r18, 0xFD       ; 253
    9fc8:       3f 4f           sbci    r19, 0xFF       ; 255
    9fca:       c9 01           movw    r24, r18
    9fcc:       95 95           asr     r25
    9fce:       87 95           ror     r24
    9fd0:       95 95           asr     r25
    9fd2:       87 95           ror     r24
    9fd4:       10 c0           rjmp    .+32            ; 0x9ff6 <MotorRegler+0x2fea>
                                else
                                if(Parameter_ExtraConfig & CFG2_HEIGHT_LIMIT) tmp_int /= 8; // reduce d-part in "Deckel" mode
    9fd6:       20 91 40 06     lds     r18, 0x0640
    9fda:       20 ff           sbrs    r18, 0
    9fdc:       0c c0           rjmp    .+24            ; 0x9ff6 <MotorRegler+0x2fea>
    9fde:       9c 01           movw    r18, r24
    9fe0:       99 23           and     r25, r25
    9fe2:       14 f4           brge    .+4             ; 0x9fe8 <MotorRegler+0x2fdc>
    9fe4:       29 5f           subi    r18, 0xF9       ; 249
    9fe6:       3f 4f           sbci    r19, 0xFF       ; 255
    9fe8:       c9 01           movw    r24, r18
    9fea:       95 95           asr     r25
    9fec:       87 95           ror     r24
    9fee:       95 95           asr     r25
    9ff0:       87 95           ror     r24
    9ff2:       95 95           asr     r25
    9ff4:       87 95           ror     r24
                                GasReduction += tmp_int;
    9ff6:       6a 01           movw    r12, r20
    9ff8:       c8 0e           add     r12, r24
    9ffa:       d9 1e           adc     r13, r25
                        } // EOF no baro range expanding
                        // ------------------------ D-Part 2: ACC-Z Integral  ------------------------
            if(Parameter_Hoehe_ACC_Wirkung)
    9ffc:       a0 91 38 01     lds     r26, 0x0138
    a000:       aa 23           and     r26, r26
    a002:       09 f4           brne    .+2             ; 0xa006 <MotorRegler+0x2ffa>
    a004:       61 c0           rjmp    .+194           ; 0xa0c8 <MotorRegler+0x30bc>
                         {
                          tmp_long = ((Mess_Integral_Hoch / 128L) * (int32_t) Parameter_Hoehe_ACC_Wirkung) / (128L / STICK_GAIN);
    a006:       40 91 1e 04     lds     r20, 0x041E
    a00a:       50 91 1f 04     lds     r21, 0x041F
    a00e:       60 91 20 04     lds     r22, 0x0420
    a012:       70 91 21 04     lds     r23, 0x0421
    a016:       77 23           and     r23, r23
    a018:       24 f4           brge    .+8             ; 0xa022 <MotorRegler+0x3016>
    a01a:       41 58           subi    r20, 0x81       ; 129
    a01c:       5f 4f           sbci    r21, 0xFF       ; 255
    a01e:       6f 4f           sbci    r22, 0xFF       ; 255
    a020:       7f 4f           sbci    r23, 0xFF       ; 255
    a022:       9a 01           movw    r18, r20
    a024:       ab 01           movw    r20, r22
    a026:       68 94           set
    a028:       16 f8           bld     r1, 6
    a02a:       55 95           asr     r21
    a02c:       47 95           ror     r20
    a02e:       37 95           ror     r19
    a030:       27 95           ror     r18
    a032:       16 94           lsr     r1
    a034:       d1 f7           brne    .-12            ; 0xa02a <MotorRegler+0x301e>
    a036:       b0 e0           ldi     r27, 0x00       ; 0
    a038:       0e 94 c8 b1     call    0x16390 ; 0x16390 <__muluhisi3>
    a03c:       8b 01           movw    r16, r22
    a03e:       9c 01           movw    r18, r24
    a040:       99 23           and     r25, r25
    a042:       24 f4           brge    .+8             ; 0xa04c <MotorRegler+0x3040>
    a044:       01 5e           subi    r16, 0xE1       ; 225
    a046:       1f 4f           sbci    r17, 0xFF       ; 255
    a048:       2f 4f           sbci    r18, 0xFF       ; 255
    a04a:       3f 4f           sbci    r19, 0xFF       ; 255
    a04c:       d9 01           movw    r26, r18
    a04e:       c8 01           movw    r24, r16
    a050:       68 94           set
    a052:       14 f8           bld     r1, 4
    a054:       b5 95           asr     r27
    a056:       a7 95           ror     r26
    a058:       97 95           ror     r25
    a05a:       87 95           ror     r24
    a05c:       16 94           lsr     r1
    a05e:       d1 f7           brne    .-12            ; 0xa054 <MotorRegler+0x3048>
                          LIMIT_MIN_MAX(tmp_long, -32 * STICK_GAIN, 64 * STICK_GAIN);
    a060:       81 38           cpi     r24, 0x81       ; 129
    a062:       0f ef           ldi     r16, 0xFF       ; 255
    a064:       90 07           cpc     r25, r16
    a066:       a0 07           cpc     r26, r16
    a068:       b0 07           cpc     r27, r16
    a06a:       6c f4           brge    .+26            ; 0xa086 <MotorRegler+0x307a>
    a06c:       80 e8           ldi     r24, 0x80       ; 128
    a06e:       9f ef           ldi     r25, 0xFF       ; 255
    a070:       af ef           ldi     r26, 0xFF       ; 255
    a072:       bf ef           ldi     r27, 0xFF       ; 255
    a074:       80 93 81 03     sts     0x0381, r24
    a078:       90 93 82 03     sts     0x0382, r25
    a07c:       a0 93 83 03     sts     0x0383, r26
    a080:       b0 93 84 03     sts     0x0384, r27
    a084:       1b c0           rjmp    .+54            ; 0xa0bc <MotorRegler+0x30b0>
    a086:       8f 3f           cpi     r24, 0xFF       ; 255
    a088:       91 05           cpc     r25, r1
    a08a:       a1 05           cpc     r26, r1
    a08c:       b1 05           cpc     r27, r1
    a08e:       09 f0           breq    .+2             ; 0xa092 <MotorRegler+0x3086>
    a090:       4c f4           brge    .+18            ; 0xa0a4 <MotorRegler+0x3098>
                                GasReduction += tmp_int;
                        } // EOF no baro range expanding
                        // ------------------------ D-Part 2: ACC-Z Integral  ------------------------
            if(Parameter_Hoehe_ACC_Wirkung)
                         {
                          tmp_long = ((Mess_Integral_Hoch / 128L) * (int32_t) Parameter_Hoehe_ACC_Wirkung) / (128L / STICK_GAIN);
    a092:       80 93 81 03     sts     0x0381, r24
    a096:       90 93 82 03     sts     0x0382, r25
    a09a:       a0 93 83 03     sts     0x0383, r26
    a09e:       b0 93 84 03     sts     0x0384, r27
    a0a2:       0c c0           rjmp    .+24            ; 0xa0bc <MotorRegler+0x30b0>
                          LIMIT_MIN_MAX(tmp_long, -32 * STICK_GAIN, 64 * STICK_GAIN);
    a0a4:       80 e0           ldi     r24, 0x00       ; 0
    a0a6:       91 e0           ldi     r25, 0x01       ; 1
    a0a8:       a0 e0           ldi     r26, 0x00       ; 0
    a0aa:       b0 e0           ldi     r27, 0x00       ; 0
    a0ac:       80 93 81 03     sts     0x0381, r24
    a0b0:       90 93 82 03     sts     0x0382, r25
    a0b4:       a0 93 83 03     sts     0x0383, r26
    a0b8:       b0 93 84 03     sts     0x0384, r27
                          GasReduction += tmp_long;
    a0bc:       80 91 81 03     lds     r24, 0x0381
    a0c0:       90 91 82 03     lds     r25, 0x0382
    a0c4:       c8 0e           add     r12, r24
    a0c6:       d9 1e           adc     r13, r25
/*                      // ------------------------ D-Part 3: GpsZ  ----------------------------------
                        tmp_int = (Parameter_Hoehe_GPS_Z * (int)FromNaviCtrl_Value.GpsZ)/128L;
            LIMIT_MIN_MAX(tmp_int, -32 * STICK_GAIN, 64 * STICK_GAIN);
                        GasReduction += tmp_int;
*/
            GasReduction = (long)((long)GasReduction * HoverGas) / 512; // scale to the gas value
    a0c8:       00 91 e8 03     lds     r16, 0x03E8
    a0cc:       10 91 e9 03     lds     r17, 0x03E9
    a0d0:       96 01           movw    r18, r12
    a0d2:       d8 01           movw    r26, r16
    a0d4:       0e 94 ad b1     call    0x1635a ; 0x1635a <__mulhisi3>
    a0d8:       2b 01           movw    r4, r22
    a0da:       3c 01           movw    r6, r24
    a0dc:       99 23           and     r25, r25
    a0de:       34 f4           brge    .+12            ; 0xa0ec <MotorRegler+0x30e0>
    a0e0:       2f ef           ldi     r18, 0xFF       ; 255
    a0e2:       42 0e           add     r4, r18
    a0e4:       21 e0           ldi     r18, 0x01       ; 1
    a0e6:       52 1e           adc     r5, r18
    a0e8:       61 1c           adc     r6, r1
    a0ea:       71 1c           adc     r7, r1
    a0ec:       d3 01           movw    r26, r6
    a0ee:       c2 01           movw    r24, r4
    a0f0:       07 2e           mov     r0, r23
    a0f2:       79 e0           ldi     r23, 0x09       ; 9
    a0f4:       b5 95           asr     r27
    a0f6:       a7 95           ror     r26
    a0f8:       97 95           ror     r25
    a0fa:       87 95           ror     r24
    a0fc:       7a 95           dec     r23
    a0fe:       d1 f7           brne    .-12            ; 0xa0f4 <MotorRegler+0x30e8>
    a100:       70 2d           mov     r23, r0

                        // ------------------------                  ----------------------------------
                        HCGas -= GasReduction;
    a102:       bf 01           movw    r22, r30
    a104:       68 1b           sub     r22, r24
    a106:       79 0b           sbc     r23, r25
                        // limit deviation from hoover point within the target region
                        if(!AltitudeSetpointTrimming && HoverGas > 0) // height setpoint is not changed and hoover gas not zero
    a108:       80 91 f8 03     lds     r24, 0x03F8
    a10c:       90 91 f9 03     lds     r25, 0x03F9
    a110:       89 2b           or      r24, r25
    a112:       09 f0           breq    .+2             ; 0xa116 <MotorRegler+0x310a>
    a114:       79 c0           rjmp    .+242           ; 0xa208 <MotorRegler+0x31fc>
    a116:       10 16           cp      r1, r16
    a118:       11 06           cpc     r1, r17
    a11a:       0c f0           brlt    .+2             ; 0xa11e <MotorRegler+0x3112>
    a11c:       75 c0           rjmp    .+234           ; 0xa208 <MotorRegler+0x31fc>
                        {
                         unsigned int tmp;
                         tmp = abs(HeightDeviation);
    a11e:       20 91 85 03     lds     r18, 0x0385
    a122:       30 91 86 03     lds     r19, 0x0386
    a126:       c9 01           movw    r24, r18
    a128:       33 23           and     r19, r19
    a12a:       24 f4           brge    .+8             ; 0xa134 <MotorRegler+0x3128>
    a12c:       88 27           eor     r24, r24
    a12e:       99 27           eor     r25, r25
    a130:       82 1b           sub     r24, r18
    a132:       93 0b           sbc     r25, r19
                         if(tmp <= 60)
    a134:       8d 33           cpi     r24, 0x3D       ; 61
    a136:       91 05           cpc     r25, r1
    a138:       90 f4           brcc    .+36            ; 0xa15e <MotorRegler+0x3152>
                         {
                          LIMIT_MIN_MAX(HCGas, HoverGasMin, HoverGasMax); // limit gas around the hoover point
    a13a:       80 91 16 04     lds     r24, 0x0416
    a13e:       90 91 17 04     lds     r25, 0x0417
    a142:       86 17           cp      r24, r22
    a144:       97 07           cpc     r25, r23
    a146:       0c f0           brlt    .+2             ; 0xa14a <MotorRegler+0x313e>
    a148:       5c c0           rjmp    .+184           ; 0xa202 <MotorRegler+0x31f6>
    a14a:       80 91 3e 01     lds     r24, 0x013E
    a14e:       90 91 3f 01     lds     r25, 0x013F
    a152:       86 17           cp      r24, r22
    a154:       97 07           cpc     r25, r23
    a156:       0c f0           brlt    .+2             ; 0xa15a <MotorRegler+0x314e>
    a158:       57 c0           rjmp    .+174           ; 0xa208 <MotorRegler+0x31fc>
    a15a:       bc 01           movw    r22, r24
    a15c:       55 c0           rjmp    .+170           ; 0xa208 <MotorRegler+0x31fc>
                         }
                         else
                         {
                                tmp = (tmp - 60) / 32;
    a15e:       cc 97           sbiw    r24, 0x3c       ; 60
    a160:       96 95           lsr     r25
    a162:       87 95           ror     r24
    a164:       92 95           swap    r25
    a166:       82 95           swap    r24
    a168:       8f 70           andi    r24, 0x0F       ; 15
    a16a:       89 27           eor     r24, r25
    a16c:       9f 70           andi    r25, 0x0F       ; 15
    a16e:       89 27           eor     r24, r25
    a170:       80 31           cpi     r24, 0x10       ; 16
    a172:       91 05           cpc     r25, r1
    a174:       10 f0           brcs    .+4             ; 0xa17a <MotorRegler+0x316e>
    a176:       8f e0           ldi     r24, 0x0F       ; 15
    a178:       90 e0           ldi     r25, 0x00       ; 0
                                if(tmp > 15) tmp = 15;
                           if(HeightDeviation > 0)
    a17a:       12 16           cp      r1, r18
    a17c:       13 06           cpc     r1, r19
    a17e:       1c f5           brge    .+70            ; 0xa1c6 <MotorRegler+0x31ba>
                                {
                                tmp = (HoverGasMin * (16 - tmp)) / 16;
    a180:       40 e1           ldi     r20, 0x10       ; 16
    a182:       50 e0           ldi     r21, 0x00       ; 0
    a184:       48 1b           sub     r20, r24
    a186:       59 0b           sbc     r21, r25
    a188:       20 91 16 04     lds     r18, 0x0416
    a18c:       30 91 17 04     lds     r19, 0x0417
    a190:       42 9f           mul     r20, r18
    a192:       c0 01           movw    r24, r0
    a194:       43 9f           mul     r20, r19
    a196:       90 0d           add     r25, r0
    a198:       52 9f           mul     r21, r18
    a19a:       90 0d           add     r25, r0
    a19c:       11 24           eor     r1, r1
    a19e:       92 95           swap    r25
    a1a0:       82 95           swap    r24
    a1a2:       8f 70           andi    r24, 0x0F       ; 15
    a1a4:       89 27           eor     r24, r25
    a1a6:       9f 70           andi    r25, 0x0F       ; 15
    a1a8:       89 27           eor     r24, r25
                                LIMIT_MIN_MAX(HCGas, tmp, HoverGasMax); // limit gas around the hoover point
    a1aa:       86 17           cp      r24, r22
    a1ac:       97 07           cpc     r25, r23
    a1ae:       10 f0           brcs    .+4             ; 0xa1b4 <MotorRegler+0x31a8>
    a1b0:       bc 01           movw    r22, r24
    a1b2:       2a c0           rjmp    .+84            ; 0xa208 <MotorRegler+0x31fc>
    a1b4:       80 91 3e 01     lds     r24, 0x013E
    a1b8:       90 91 3f 01     lds     r25, 0x013F
    a1bc:       86 17           cp      r24, r22
    a1be:       97 07           cpc     r25, r23
    a1c0:       1c f5           brge    .+70            ; 0xa208 <MotorRegler+0x31fc>
    a1c2:       bc 01           movw    r22, r24
    a1c4:       21 c0           rjmp    .+66            ; 0xa208 <MotorRegler+0x31fc>
                                }
                                else
                                {
                                tmp = (HoverGasMax * (tmp + 16)) / 16;
    a1c6:       40 96           adiw    r24, 0x10       ; 16
    a1c8:       40 91 3e 01     lds     r20, 0x013E
    a1cc:       50 91 3f 01     lds     r21, 0x013F
    a1d0:       84 9f           mul     r24, r20
    a1d2:       90 01           movw    r18, r0
    a1d4:       85 9f           mul     r24, r21
    a1d6:       30 0d           add     r19, r0
    a1d8:       94 9f           mul     r25, r20
    a1da:       30 0d           add     r19, r0
    a1dc:       11 24           eor     r1, r1
    a1de:       32 95           swap    r19
    a1e0:       22 95           swap    r18
    a1e2:       2f 70           andi    r18, 0x0F       ; 15
    a1e4:       23 27           eor     r18, r19
    a1e6:       3f 70           andi    r19, 0x0F       ; 15
    a1e8:       23 27           eor     r18, r19
                                LIMIT_MIN_MAX(HCGas, HoverGasMin, tmp); // limit gas around the hoover point
    a1ea:       80 91 16 04     lds     r24, 0x0416
    a1ee:       90 91 17 04     lds     r25, 0x0417
    a1f2:       86 17           cp      r24, r22
    a1f4:       97 07           cpc     r25, r23
    a1f6:       3c f4           brge    .+14            ; 0xa206 <MotorRegler+0x31fa>
    a1f8:       62 17           cp      r22, r18
    a1fa:       73 07           cpc     r23, r19
    a1fc:       28 f0           brcs    .+10            ; 0xa208 <MotorRegler+0x31fc>
    a1fe:       b9 01           movw    r22, r18
    a200:       03 c0           rjmp    .+6             ; 0xa208 <MotorRegler+0x31fc>
                        {
                         unsigned int tmp;
                         tmp = abs(HeightDeviation);
                         if(tmp <= 60)
                         {
                          LIMIT_MIN_MAX(HCGas, HoverGasMin, HoverGasMax); // limit gas around the hoover point
    a202:       bc 01           movw    r22, r24
    a204:       01 c0           rjmp    .+2             ; 0xa208 <MotorRegler+0x31fc>
                                LIMIT_MIN_MAX(HCGas, tmp, HoverGasMax); // limit gas around the hoover point
                                }
                                else
                                {
                                tmp = (HoverGasMax * (tmp + 16)) / 16;
                                LIMIT_MIN_MAX(HCGas, HoverGasMin, tmp); // limit gas around the hoover point
    a206:       bc 01           movw    r22, r24
                                }
                          }
                        }
                        // strech control output by inverse attitude projection 1/cos
            // + 1/cos(angle)  ++++++++++++++++++++++++++
                        tmp_long2 = (int32_t)HCGas;
    a208:       cb 01           movw    r24, r22
    a20a:       aa 27           eor     r26, r26
    a20c:       97 fd           sbrc    r25, 7
    a20e:       a0 95           com     r26
    a210:       ba 2f           mov     r27, r26
                        tmp_long2 *= 8192L;
    a212:       bc 01           movw    r22, r24
    a214:       cd 01           movw    r24, r26
    a216:       05 2e           mov     r0, r21
    a218:       5d e0           ldi     r21, 0x0D       ; 13
    a21a:       66 0f           add     r22, r22
    a21c:       77 1f           adc     r23, r23
    a21e:       88 1f           adc     r24, r24
    a220:       99 1f           adc     r25, r25
    a222:       5a 95           dec     r21
    a224:       d1 f7           brne    .-12            ; 0xa21a <MotorRegler+0x320e>
    a226:       50 2d           mov     r21, r0
                        tmp_long2 /= CosAttitude;
    a228:       20 91 2d 06     lds     r18, 0x062D
    a22c:       30 91 2e 06     lds     r19, 0x062E
    a230:       44 27           eor     r20, r20
    a232:       37 fd           sbrc    r19, 7
    a234:       40 95           com     r20
    a236:       54 2f           mov     r21, r20
    a238:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    a23c:       20 93 7d 03     sts     0x037D, r18
    a240:       30 93 7e 03     sts     0x037E, r19
    a244:       40 93 7f 03     sts     0x037F, r20
    a248:       50 93 80 03     sts     0x0380, r21
                        HCGas = (int16_t)tmp_long2;
                        // update height control gas averaging
                        FilterHCGas = (FilterHCGas * (HC_GAS_AVERAGE - 1) + HCGas) / HC_GAS_AVERAGE;
    a24c:       80 91 7b 03     lds     r24, 0x037B
    a250:       90 91 7c 03     lds     r25, 0x037C
    a254:       bc 01           movw    r22, r24
    a256:       66 0f           add     r22, r22
    a258:       77 1f           adc     r23, r23
    a25a:       86 0f           add     r24, r22
    a25c:       97 1f           adc     r25, r23
    a25e:       28 0f           add     r18, r24
    a260:       39 1f           adc     r19, r25
    a262:       33 23           and     r19, r19
    a264:       14 f4           brge    .+4             ; 0xa26a <MotorRegler+0x325e>
    a266:       2d 5f           subi    r18, 0xFD       ; 253
    a268:       3f 4f           sbci    r19, 0xFF       ; 255
    a26a:       35 95           asr     r19
    a26c:       27 95           ror     r18
    a26e:       35 95           asr     r19
    a270:       27 95           ror     r18
    a272:       30 93 7c 03     sts     0x037C, r19
    a276:       20 93 7b 03     sts     0x037B, r18
                        // limit height control gas pd-control output
                        LIMIT_MIN_MAX(FilterHCGas, EE_Parameter.Hoehe_MinGas * STICK_GAIN, (MAX_GAS - 20) * STICK_GAIN);
    a27a:       80 91 4c 05     lds     r24, 0x054C
    a27e:       90 e0           ldi     r25, 0x00       ; 0
    a280:       88 0f           add     r24, r24
    a282:       99 1f           adc     r25, r25
    a284:       88 0f           add     r24, r24
    a286:       99 1f           adc     r25, r25
    a288:       82 17           cp      r24, r18
    a28a:       93 07           cpc     r25, r19
    a28c:       2c f0           brlt    .+10            ; 0xa298 <MotorRegler+0x328c>
    a28e:       90 93 7c 03     sts     0x037C, r25
    a292:       80 93 7b 03     sts     0x037B, r24
    a296:       0f c0           rjmp    .+30            ; 0xa2b6 <MotorRegler+0x32aa>
    a298:       80 91 64 06     lds     r24, 0x0664
    a29c:       90 e0           ldi     r25, 0x00       ; 0
    a29e:       44 97           sbiw    r24, 0x14       ; 20
    a2a0:       88 0f           add     r24, r24
    a2a2:       99 1f           adc     r25, r25
    a2a4:       88 0f           add     r24, r24
    a2a6:       99 1f           adc     r25, r25
    a2a8:       28 17           cp      r18, r24
    a2aa:       39 07           cpc     r19, r25
    a2ac:       24 f0           brlt    .+8             ; 0xa2b6 <MotorRegler+0x32aa>
    a2ae:       90 93 7c 03     sts     0x037C, r25
    a2b2:       80 93 7b 03     sts     0x037B, r24
                        // set GasMischanteil to HeightControlGasFilter
            if(Parameter_ExtraConfig & CFG2_HEIGHT_LIMIT)
    a2b6:       80 91 40 06     lds     r24, 0x0640
    a2ba:       80 ff           sbrs    r24, 0
    a2bc:       10 c0           rjmp    .+32            ; 0xa2de <MotorRegler+0x32d2>
                        {  // old version
                                LIMIT_MAX(FilterHCGas, GasMischanteil); // nicht mehr als Gas
    a2be:       80 91 7b 03     lds     r24, 0x037B
    a2c2:       90 91 7c 03     lds     r25, 0x037C
    a2c6:       82 15           cp      r24, r2
    a2c8:       93 05           cpc     r25, r3
    a2ca:       24 f0           brlt    .+8             ; 0xa2d4 <MotorRegler+0x32c8>
    a2cc:       30 92 7c 03     sts     0x037C, r3
    a2d0:       20 92 7b 03     sts     0x037B, r2
                                GasMischanteil = FilterHCGas;
    a2d4:       20 90 7b 03     lds     r2, 0x037B
    a2d8:       30 90 7c 03     lds     r3, 0x037C
    a2dc:       00 c2           rjmp    .+1024          ; 0xa6de <MotorRegler+0x36d2>
                        }
                        else GasMischanteil = FilterHCGas + (GasMischanteil - HoverGas) / 4; // only in Vario-Mode
    a2de:       20 1a           sub     r2, r16
    a2e0:       31 0a           sbc     r3, r17
    a2e2:       c1 01           movw    r24, r2
    a2e4:       99 23           and     r25, r25
    a2e6:       0c f4           brge    .+2             ; 0xa2ea <MotorRegler+0x32de>
    a2e8:       03 96           adiw    r24, 0x03       ; 3
    a2ea:       95 95           asr     r25
    a2ec:       87 95           ror     r24
    a2ee:       95 95           asr     r25
    a2f0:       87 95           ror     r24
    a2f2:       20 91 7b 03     lds     r18, 0x037B
    a2f6:       30 91 7c 03     lds     r19, 0x037C
    a2fa:       1c 01           movw    r2, r24
    a2fc:       22 0e           add     r2, r18
    a2fe:       33 1e           adc     r3, r19
    a300:       ee c1           rjmp    .+988           ; 0xa6de <MotorRegler+0x36d2>
                   }
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
          else // ACC-Altitude control
                   {
                        // from this point the Heigth Control Algorithm is identical for both versions
                        if(BaroExpandActive) // baro range expanding active
    a302:       20 91 59 04     lds     r18, 0x0459
    a306:       30 91 5a 04     lds     r19, 0x045A
    a30a:       23 2b           or      r18, r19
    a30c:       59 f0           breq    .+22            ; 0xa324 <MotorRegler+0x3318>
                        {
                                HCGas = HoverGas; // hover while expanding baro adc range
    a30e:       e0 91 e8 03     lds     r30, 0x03E8
    a312:       f0 91 e9 03     lds     r31, 0x03E9
                                HeightDeviation = 0;
    a316:       10 92 86 03     sts     0x0386, r1
    a31a:       10 92 85 03     sts     0x0385, r1
 if((Parameter_GlobalConfig & CFG_HOEHENREGELUNG) && !(Looping_Roll || Looping_Nick) && !(VersionInfo.HardwareError[0] & 0x7F))  // Höhenregelung
        {
                #define HOVER_GAS_AVERAGE 16384L                // 16384 * 2ms = 32s averaging
                #define HC_GAS_AVERAGE 4                        // 4 * 2ms= 8ms averaging

                int HCGas, GasReduction = 0;
    a31e:       41 2c           mov     r4, r1
    a320:       51 2c           mov     r5, r1
    a322:       3c c1           rjmp    .+632           ; 0xa59c <MotorRegler+0x3590>
                                HeightDeviation = 0;
                        } // EOF // baro range expanding active
                        else // valid data from air pressure sensor
                        {
                                // ------------------------- P-Part ----------------------------
                                tmp_long = (HoehenWertF - SollHoehe); // positive when too high
    a324:       84 1b           sub     r24, r20
    a326:       95 0b           sbc     r25, r21
    a328:       a6 0b           sbc     r26, r22
    a32a:       b7 0b           sbc     r27, r23
                                LIMIT_MIN_MAX(tmp_long, -32767L, 32767L);       // avoid overflov when casting to int16_t
    a32c:       82 30           cpi     r24, 0x02       ; 2
    a32e:       30 e8           ldi     r19, 0x80       ; 128
    a330:       93 07           cpc     r25, r19
    a332:       3f ef           ldi     r19, 0xFF       ; 255
    a334:       a3 07           cpc     r26, r19
    a336:       b3 07           cpc     r27, r19
    a338:       6c f4           brge    .+26            ; 0xa354 <MotorRegler+0x3348>
    a33a:       81 e0           ldi     r24, 0x01       ; 1
    a33c:       90 e8           ldi     r25, 0x80       ; 128
    a33e:       af ef           ldi     r26, 0xFF       ; 255
    a340:       bf ef           ldi     r27, 0xFF       ; 255
    a342:       80 93 81 03     sts     0x0381, r24
    a346:       90 93 82 03     sts     0x0382, r25
    a34a:       a0 93 83 03     sts     0x0383, r26
    a34e:       b0 93 84 03     sts     0x0384, r27
    a352:       1b c0           rjmp    .+54            ; 0xa38a <MotorRegler+0x337e>
    a354:       8f 3f           cpi     r24, 0xFF       ; 255
    a356:       4f e7           ldi     r20, 0x7F       ; 127
    a358:       94 07           cpc     r25, r20
    a35a:       a1 05           cpc     r26, r1
    a35c:       b1 05           cpc     r27, r1
    a35e:       4c f4           brge    .+18            ; 0xa372 <MotorRegler+0x3366>
                                HeightDeviation = 0;
                        } // EOF // baro range expanding active
                        else // valid data from air pressure sensor
                        {
                                // ------------------------- P-Part ----------------------------
                                tmp_long = (HoehenWertF - SollHoehe); // positive when too high
    a360:       80 93 81 03     sts     0x0381, r24
    a364:       90 93 82 03     sts     0x0382, r25
    a368:       a0 93 83 03     sts     0x0383, r26
    a36c:       b0 93 84 03     sts     0x0384, r27
    a370:       0c c0           rjmp    .+24            ; 0xa38a <MotorRegler+0x337e>
                                LIMIT_MIN_MAX(tmp_long, -32767L, 32767L);       // avoid overflov when casting to int16_t
    a372:       8f ef           ldi     r24, 0xFF       ; 255
    a374:       9f e7           ldi     r25, 0x7F       ; 127
    a376:       a0 e0           ldi     r26, 0x00       ; 0
    a378:       b0 e0           ldi     r27, 0x00       ; 0
    a37a:       80 93 81 03     sts     0x0381, r24
    a37e:       90 93 82 03     sts     0x0382, r25
    a382:       a0 93 83 03     sts     0x0383, r26
    a386:       b0 93 84 03     sts     0x0384, r27
                                HeightDeviation = (int)(tmp_long); // positive when too high
    a38a:       20 91 81 03     lds     r18, 0x0381
    a38e:       30 91 82 03     lds     r19, 0x0382
    a392:       40 91 83 03     lds     r20, 0x0383
    a396:       50 91 84 03     lds     r21, 0x0384
    a39a:       30 93 86 03     sts     0x0386, r19
    a39e:       20 93 85 03     sts     0x0385, r18
                                tmp_long = (tmp_long * (long)Parameter_Hoehe_P) / 32L; // p-part
    a3a2:       a0 91 39 01     lds     r26, 0x0139
    a3a6:       b0 e0           ldi     r27, 0x00       ; 0
    a3a8:       0e 94 c8 b1     call    0x16390 ; 0x16390 <__muluhisi3>
    a3ac:       8b 01           movw    r16, r22
    a3ae:       9c 01           movw    r18, r24
    a3b0:       99 23           and     r25, r25
    a3b2:       24 f4           brge    .+8             ; 0xa3bc <MotorRegler+0x33b0>
    a3b4:       01 5e           subi    r16, 0xE1       ; 225
    a3b6:       1f 4f           sbci    r17, 0xFF       ; 255
    a3b8:       2f 4f           sbci    r18, 0xFF       ; 255
    a3ba:       3f 4f           sbci    r19, 0xFF       ; 255
    a3bc:       d9 01           movw    r26, r18
    a3be:       c8 01           movw    r24, r16
    a3c0:       68 94           set
    a3c2:       14 f8           bld     r1, 4
    a3c4:       b5 95           asr     r27
    a3c6:       a7 95           ror     r26
    a3c8:       97 95           ror     r25
    a3ca:       87 95           ror     r24
    a3cc:       16 94           lsr     r1
    a3ce:       d1 f7           brne    .-12            ; 0xa3c4 <MotorRegler+0x33b8>
                                LIMIT_MIN_MAX(tmp_long, -511 * STICK_GAIN, 512 * STICK_GAIN); // more than full range makes sense
    a3d0:       85 30           cpi     r24, 0x05       ; 5
    a3d2:       58 ef           ldi     r21, 0xF8       ; 248
    a3d4:       95 07           cpc     r25, r21
    a3d6:       5f ef           ldi     r21, 0xFF       ; 255
    a3d8:       a5 07           cpc     r26, r21
    a3da:       b5 07           cpc     r27, r21
    a3dc:       6c f4           brge    .+26            ; 0xa3f8 <MotorRegler+0x33ec>
    a3de:       84 e0           ldi     r24, 0x04       ; 4
    a3e0:       98 ef           ldi     r25, 0xF8       ; 248
    a3e2:       af ef           ldi     r26, 0xFF       ; 255
    a3e4:       bf ef           ldi     r27, 0xFF       ; 255
    a3e6:       80 93 81 03     sts     0x0381, r24
    a3ea:       90 93 82 03     sts     0x0382, r25
    a3ee:       a0 93 83 03     sts     0x0383, r26
    a3f2:       b0 93 84 03     sts     0x0384, r27
    a3f6:       1b c0           rjmp    .+54            ; 0xa42e <MotorRegler+0x3422>
    a3f8:       81 15           cp      r24, r1
    a3fa:       68 e0           ldi     r22, 0x08       ; 8
    a3fc:       96 07           cpc     r25, r22
    a3fe:       a1 05           cpc     r26, r1
    a400:       b1 05           cpc     r27, r1
    a402:       4c f4           brge    .+18            ; 0xa416 <MotorRegler+0x340a>
                        {
                                // ------------------------- P-Part ----------------------------
                                tmp_long = (HoehenWertF - SollHoehe); // positive when too high
                                LIMIT_MIN_MAX(tmp_long, -32767L, 32767L);       // avoid overflov when casting to int16_t
                                HeightDeviation = (int)(tmp_long); // positive when too high
                                tmp_long = (tmp_long * (long)Parameter_Hoehe_P) / 32L; // p-part
    a404:       80 93 81 03     sts     0x0381, r24
    a408:       90 93 82 03     sts     0x0382, r25
    a40c:       a0 93 83 03     sts     0x0383, r26
    a410:       b0 93 84 03     sts     0x0384, r27
    a414:       0c c0           rjmp    .+24            ; 0xa42e <MotorRegler+0x3422>
                                LIMIT_MIN_MAX(tmp_long, -511 * STICK_GAIN, 512 * STICK_GAIN); // more than full range makes sense
    a416:       80 e0           ldi     r24, 0x00       ; 0
    a418:       98 e0           ldi     r25, 0x08       ; 8
    a41a:       a0 e0           ldi     r26, 0x00       ; 0
    a41c:       b0 e0           ldi     r27, 0x00       ; 0
    a41e:       80 93 81 03     sts     0x0381, r24
    a422:       90 93 82 03     sts     0x0382, r25
    a426:       a0 93 83 03     sts     0x0383, r26
    a42a:       b0 93 84 03     sts     0x0384, r27
                                GasReduction = tmp_long;
    a42e:       40 90 81 03     lds     r4, 0x0381
    a432:       50 90 82 03     lds     r5, 0x0382
    a436:       60 90 83 03     lds     r6, 0x0383
    a43a:       70 90 84 03     lds     r7, 0x0384
                                // ------------------------ D-Part: ACC-Z Integral  ------------------------
                                tmp_long = VarioMeter + (AdWertAccHoch * Parameter_Hoehe_ACC_Wirkung)/256;
    a43e:       40 91 5b 03     lds     r20, 0x035B
    a442:       50 91 5c 03     lds     r21, 0x035C
    a446:       20 91 54 03     lds     r18, 0x0354
    a44a:       30 91 55 03     lds     r19, 0x0355
    a44e:       60 91 38 01     lds     r22, 0x0138
    a452:       64 9f           mul     r22, r20
    a454:       c0 01           movw    r24, r0
    a456:       65 9f           mul     r22, r21
    a458:       90 0d           add     r25, r0
    a45a:       11 24           eor     r1, r1
    a45c:       99 23           and     r25, r25
    a45e:       14 f4           brge    .+4             ; 0xa464 <MotorRegler+0x3458>
    a460:       81 50           subi    r24, 0x01       ; 1
    a462:       9f 4f           sbci    r25, 0xFF       ; 255
    a464:       89 2f           mov     r24, r25
    a466:       99 0f           add     r25, r25
    a468:       99 0b           sbc     r25, r25
    a46a:       8c 01           movw    r16, r24
    a46c:       02 0f           add     r16, r18
    a46e:       13 1f           adc     r17, r19
    a470:       22 27           eor     r18, r18
    a472:       17 fd           sbrc    r17, 7
    a474:       20 95           com     r18
    a476:       32 2f           mov     r19, r18
                                // ------------------------- D-Part: Vario Meter ----------------------------
                                if(WaypointTrimming) {
    a478:       80 91 f2 03     lds     r24, 0x03F2
    a47c:       88 23           and     r24, r24
    a47e:       79 f0           breq    .+30            ; 0xa49e <MotorRegler+0x3492>
                                        Variance = AltitudeSetpointTrimming * 8;        
    a480:       80 91 f8 03     lds     r24, 0x03F8
    a484:       90 91 f9 03     lds     r25, 0x03F9
    a488:       88 0f           add     r24, r24
    a48a:       99 1f           adc     r25, r25
    a48c:       88 0f           add     r24, r24
    a48e:       99 1f           adc     r25, r25
    a490:       88 0f           add     r24, r24
    a492:       99 1f           adc     r25, r25
    a494:       90 93 c4 03     sts     0x03C4, r25
    a498:       80 93 c3 03     sts     0x03C3, r24
    a49c:       25 c0           rjmp    .+74            ; 0xa4e8 <MotorRegler+0x34dc>
                                } else {
                                        Variance = AltitudeSetpointTrimming * EE_Parameter.Hoehe_Verstaerkung*9/32;
    a49e:       60 91 50 05     lds     r22, 0x0550
    a4a2:       40 91 f8 03     lds     r20, 0x03F8
    a4a6:       50 91 f9 03     lds     r21, 0x03F9
    a4aa:       64 9f           mul     r22, r20
    a4ac:       c0 01           movw    r24, r0
    a4ae:       65 9f           mul     r22, r21
    a4b0:       90 0d           add     r25, r0
    a4b2:       11 24           eor     r1, r1
    a4b4:       ac 01           movw    r20, r24
    a4b6:       44 0f           add     r20, r20
    a4b8:       55 1f           adc     r21, r21
    a4ba:       44 0f           add     r20, r20
    a4bc:       55 1f           adc     r21, r21
    a4be:       44 0f           add     r20, r20
    a4c0:       55 1f           adc     r21, r21
    a4c2:       84 0f           add     r24, r20
    a4c4:       95 1f           adc     r25, r21
    a4c6:       99 23           and     r25, r25
    a4c8:       0c f4           brge    .+2             ; 0xa4cc <MotorRegler+0x34c0>
    a4ca:       4f 96           adiw    r24, 0x1f       ; 31
    a4cc:       95 95           asr     r25
    a4ce:       87 95           ror     r24
    a4d0:       95 95           asr     r25
    a4d2:       87 95           ror     r24
    a4d4:       95 95           asr     r25
    a4d6:       87 95           ror     r24
    a4d8:       95 95           asr     r25
    a4da:       87 95           ror     r24
    a4dc:       95 95           asr     r25
    a4de:       87 95           ror     r24
    a4e0:       90 93 c4 03     sts     0x03C4, r25
    a4e4:       80 93 c3 03     sts     0x03C3, r24
                                }
                                tmp_long -= (long)Variance;
    a4e8:       80 91 c3 03     lds     r24, 0x03C3
    a4ec:       90 91 c4 03     lds     r25, 0x03C4
    a4f0:       aa 27           eor     r26, r26
    a4f2:       97 fd           sbrc    r25, 7
    a4f4:       a0 95           com     r26
    a4f6:       ba 2f           mov     r27, r26
    a4f8:       a9 01           movw    r20, r18
    a4fa:       98 01           movw    r18, r16
    a4fc:       28 1b           sub     r18, r24
    a4fe:       39 0b           sbc     r19, r25
    a500:       4a 0b           sbc     r20, r26
    a502:       5b 0b           sbc     r21, r27
                                tmp_long = (tmp_long * (long)Parameter_Luftdruck_D) / 32; // scale to d-gain parameter
    a504:       a0 91 3a 01     lds     r26, 0x013A
    a508:       b0 e0           ldi     r27, 0x00       ; 0
    a50a:       0e 94 c8 b1     call    0x16390 ; 0x16390 <__muluhisi3>
    a50e:       8b 01           movw    r16, r22
    a510:       9c 01           movw    r18, r24
    a512:       99 23           and     r25, r25
    a514:       24 f4           brge    .+8             ; 0xa51e <MotorRegler+0x3512>
    a516:       01 5e           subi    r16, 0xE1       ; 225
    a518:       1f 4f           sbci    r17, 0xFF       ; 255
    a51a:       2f 4f           sbci    r18, 0xFF       ; 255
    a51c:       3f 4f           sbci    r19, 0xFF       ; 255
    a51e:       d9 01           movw    r26, r18
    a520:       c8 01           movw    r24, r16
    a522:       68 94           set
    a524:       14 f8           bld     r1, 4
    a526:       b5 95           asr     r27
    a528:       a7 95           ror     r26
    a52a:       97 95           ror     r25
    a52c:       87 95           ror     r24
    a52e:       16 94           lsr     r1
    a530:       d1 f7           brne    .-12            ; 0xa526 <MotorRegler+0x351a>
                                LIMIT_MIN_MAX(tmp_long,-511 * STICK_GAIN, 512 * STICK_GAIN);
    a532:       85 30           cpi     r24, 0x05       ; 5
    a534:       78 ef           ldi     r23, 0xF8       ; 248
    a536:       97 07           cpc     r25, r23
    a538:       7f ef           ldi     r23, 0xFF       ; 255
    a53a:       a7 07           cpc     r26, r23
    a53c:       b7 07           cpc     r27, r23
    a53e:       6c f4           brge    .+26            ; 0xa55a <MotorRegler+0x354e>
    a540:       84 e0           ldi     r24, 0x04       ; 4
    a542:       98 ef           ldi     r25, 0xF8       ; 248
    a544:       af ef           ldi     r26, 0xFF       ; 255
    a546:       bf ef           ldi     r27, 0xFF       ; 255
    a548:       80 93 81 03     sts     0x0381, r24
    a54c:       90 93 82 03     sts     0x0382, r25
    a550:       a0 93 83 03     sts     0x0383, r26
    a554:       b0 93 84 03     sts     0x0384, r27
    a558:       1b c0           rjmp    .+54            ; 0xa590 <MotorRegler+0x3584>
    a55a:       81 15           cp      r24, r1
    a55c:       08 e0           ldi     r16, 0x08       ; 8
    a55e:       90 07           cpc     r25, r16
    a560:       a1 05           cpc     r26, r1
    a562:       b1 05           cpc     r27, r1
    a564:       4c f4           brge    .+18            ; 0xa578 <MotorRegler+0x356c>
                                        Variance = AltitudeSetpointTrimming * 8;        
                                } else {
                                        Variance = AltitudeSetpointTrimming * EE_Parameter.Hoehe_Verstaerkung*9/32;
                                }
                                tmp_long -= (long)Variance;
                                tmp_long = (tmp_long * (long)Parameter_Luftdruck_D) / 32; // scale to d-gain parameter
    a566:       80 93 81 03     sts     0x0381, r24
    a56a:       90 93 82 03     sts     0x0382, r25
    a56e:       a0 93 83 03     sts     0x0383, r26
    a572:       b0 93 84 03     sts     0x0384, r27
    a576:       0c c0           rjmp    .+24            ; 0xa590 <MotorRegler+0x3584>
                                LIMIT_MIN_MAX(tmp_long,-511 * STICK_GAIN, 512 * STICK_GAIN);
    a578:       80 e0           ldi     r24, 0x00       ; 0
    a57a:       98 e0           ldi     r25, 0x08       ; 8
    a57c:       a0 e0           ldi     r26, 0x00       ; 0
    a57e:       b0 e0           ldi     r27, 0x00       ; 0
    a580:       80 93 81 03     sts     0x0381, r24
    a584:       90 93 82 03     sts     0x0382, r25
    a588:       a0 93 83 03     sts     0x0383, r26
    a58c:       b0 93 84 03     sts     0x0384, r27
                                GasReduction += tmp_long;
    a590:       80 91 81 03     lds     r24, 0x0381
    a594:       90 91 82 03     lds     r25, 0x0382
    a598:       48 0e           add     r4, r24
    a59a:       59 1e           adc     r5, r25
                        } // EOF no baro range expanding
                        HCGas -= GasReduction;
    a59c:       e4 19           sub     r30, r4
    a59e:       f5 09           sbc     r31, r5
                        LIMIT_MIN_MAX(HCGas, HoverGasMin, HoverGasMax); // limits gas around hover point
    a5a0:       60 91 16 04     lds     r22, 0x0416
    a5a4:       70 91 17 04     lds     r23, 0x0417
    a5a8:       6e 17           cp      r22, r30
    a5aa:       7f 07           cpc     r23, r31
    a5ac:       4c f4           brge    .+18            ; 0xa5c0 <MotorRegler+0x35b4>
    a5ae:       80 91 3e 01     lds     r24, 0x013E
    a5b2:       90 91 3f 01     lds     r25, 0x013F
    a5b6:       bf 01           movw    r22, r30
    a5b8:       8e 17           cp      r24, r30
    a5ba:       9f 07           cpc     r25, r31
    a5bc:       0c f4           brge    .+2             ; 0xa5c0 <MotorRegler+0x35b4>
    a5be:       bc 01           movw    r22, r24
                        // strech control output by inverse attitude projection 1/cos
            // + 1/cos(angle)  ++++++++++++++++++++++++++
                        tmp_long2 = (int32_t)HCGas;
    a5c0:       cb 01           movw    r24, r22
    a5c2:       aa 27           eor     r26, r26
    a5c4:       97 fd           sbrc    r25, 7
    a5c6:       a0 95           com     r26
    a5c8:       ba 2f           mov     r27, r26
                        tmp_long2 *= 8192L;
    a5ca:       bc 01           movw    r22, r24
    a5cc:       cd 01           movw    r24, r26
    a5ce:       05 2e           mov     r0, r21
    a5d0:       5d e0           ldi     r21, 0x0D       ; 13
    a5d2:       66 0f           add     r22, r22
    a5d4:       77 1f           adc     r23, r23
    a5d6:       88 1f           adc     r24, r24
    a5d8:       99 1f           adc     r25, r25
    a5da:       5a 95           dec     r21
    a5dc:       d1 f7           brne    .-12            ; 0xa5d2 <MotorRegler+0x35c6>
    a5de:       50 2d           mov     r21, r0
                        tmp_long2 /= CosAttitude;
    a5e0:       20 91 2d 06     lds     r18, 0x062D
    a5e4:       30 91 2e 06     lds     r19, 0x062E
    a5e8:       44 27           eor     r20, r20
    a5ea:       37 fd           sbrc    r19, 7
    a5ec:       40 95           com     r20
    a5ee:       54 2f           mov     r21, r20
    a5f0:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    a5f4:       20 93 7d 03     sts     0x037D, r18
    a5f8:       30 93 7e 03     sts     0x037E, r19
    a5fc:       40 93 7f 03     sts     0x037F, r20
    a600:       50 93 80 03     sts     0x0380, r21
                        HCGas = (int16_t)tmp_long2;
                        // update height control gas averaging
                        FilterHCGas = (FilterHCGas * (HC_GAS_AVERAGE - 1) + HCGas) / HC_GAS_AVERAGE;
    a604:       80 91 7b 03     lds     r24, 0x037B
    a608:       90 91 7c 03     lds     r25, 0x037C
    a60c:       bc 01           movw    r22, r24
    a60e:       66 0f           add     r22, r22
    a610:       77 1f           adc     r23, r23
    a612:       86 0f           add     r24, r22
    a614:       97 1f           adc     r25, r23
    a616:       28 0f           add     r18, r24
    a618:       39 1f           adc     r19, r25
    a61a:       33 23           and     r19, r19
    a61c:       14 f4           brge    .+4             ; 0xa622 <MotorRegler+0x3616>
    a61e:       2d 5f           subi    r18, 0xFD       ; 253
    a620:       3f 4f           sbci    r19, 0xFF       ; 255
    a622:       35 95           asr     r19
    a624:       27 95           ror     r18
    a626:       35 95           asr     r19
    a628:       27 95           ror     r18
    a62a:       30 93 7c 03     sts     0x037C, r19
    a62e:       20 93 7b 03     sts     0x037B, r18
                        // limit height control gas pd-control output
                        int min;
                        if(GasIsZeroCnt > 400 || (FC_StatusFlags2 & FC_STATUS2_WAIT_FOR_TAKEOFF)) min = EE_Parameter.Gas_Min; else min = EE_Parameter.Hoehe_MinGas;
    a632:       80 91 c5 03     lds     r24, 0x03C5
    a636:       90 91 c6 03     lds     r25, 0x03C6
    a63a:       81 39           cpi     r24, 0x91       ; 145
    a63c:       91 40           sbci    r25, 0x01       ; 1
    a63e:       20 f4           brcc    .+8             ; 0xa648 <MotorRegler+0x363c>
    a640:       80 91 ca 03     lds     r24, 0x03CA
    a644:       85 ff           sbrs    r24, 5
    a646:       04 c0           rjmp    .+8             ; 0xa650 <MotorRegler+0x3644>
    a648:       80 91 58 05     lds     r24, 0x0558
    a64c:       90 e0           ldi     r25, 0x00       ; 0
    a64e:       03 c0           rjmp    .+6             ; 0xa656 <MotorRegler+0x364a>
    a650:       80 91 4c 05     lds     r24, 0x054C
    a654:       90 e0           ldi     r25, 0x00       ; 0
                        LIMIT_MIN_MAX(FilterHCGas, min * STICK_GAIN, (MAX_GAS - 20) * STICK_GAIN)
    a656:       88 0f           add     r24, r24
    a658:       99 1f           adc     r25, r25
    a65a:       88 0f           add     r24, r24
    a65c:       99 1f           adc     r25, r25
    a65e:       82 17           cp      r24, r18
    a660:       93 07           cpc     r25, r19
    a662:       2c f0           brlt    .+10            ; 0xa66e <MotorRegler+0x3662>
    a664:       90 93 7c 03     sts     0x037C, r25
    a668:       80 93 7b 03     sts     0x037B, r24
    a66c:       0f c0           rjmp    .+30            ; 0xa68c <MotorRegler+0x3680>
    a66e:       80 91 64 06     lds     r24, 0x0664
    a672:       90 e0           ldi     r25, 0x00       ; 0
    a674:       44 97           sbiw    r24, 0x14       ; 20
    a676:       88 0f           add     r24, r24
    a678:       99 1f           adc     r25, r25
    a67a:       88 0f           add     r24, r24
    a67c:       99 1f           adc     r25, r25
    a67e:       28 17           cp      r18, r24
    a680:       39 07           cpc     r19, r25
    a682:       24 f0           brlt    .+8             ; 0xa68c <MotorRegler+0x3680>
    a684:       90 93 7c 03     sts     0x037C, r25
    a688:       80 93 7b 03     sts     0x037B, r24
                        // set GasMischanteil to HeightControlGasFilter
            if(Parameter_ExtraConfig & CFG2_HEIGHT_LIMIT)
    a68c:       80 91 40 06     lds     r24, 0x0640
    a690:       80 ff           sbrs    r24, 0
    a692:       10 c0           rjmp    .+32            ; 0xa6b4 <MotorRegler+0x36a8>
                        {  // old version
                                LIMIT_MAX(FilterHCGas, GasMischanteil); // nicht mehr als Gas
    a694:       80 91 7b 03     lds     r24, 0x037B
    a698:       90 91 7c 03     lds     r25, 0x037C
    a69c:       82 15           cp      r24, r2
    a69e:       93 05           cpc     r25, r3
    a6a0:       24 f0           brlt    .+8             ; 0xa6aa <MotorRegler+0x369e>
    a6a2:       30 92 7c 03     sts     0x037C, r3
    a6a6:       20 92 7b 03     sts     0x037B, r2
                                GasMischanteil = FilterHCGas;
    a6aa:       20 90 7b 03     lds     r2, 0x037B
    a6ae:       30 90 7c 03     lds     r3, 0x037C
    a6b2:       15 c0           rjmp    .+42            ; 0xa6de <MotorRegler+0x36d2>
                        }
                        else GasMischanteil = FilterHCGas;
    a6b4:       20 90 7b 03     lds     r2, 0x037B
    a6b8:       30 90 7c 03     lds     r3, 0x037C
    a6bc:       10 c0           rjmp    .+32            ; 0xa6de <MotorRegler+0x36d2>
                  }
                }// EOF height control active
                else // HC not active
                {
                        //update hoover gas stick value when HC is not active
                        CalcStickGasHover();
    a6be:       0e 94 c4 37     call    0x6f88  ; 0x6f88 <CalcStickGasHover>
                                StickGasHover = (unsigned int)((unsigned int) StickGasHover * UBat) / BattLowVoltageWarning;
                        }
                        else StickGasHover = EE_Parameter.Hoehe_StickNeutralPoint;
            LIMIT_MIN_MAX(StickGasHover, 70, 175); // reserve some range for trim up and down
*/              
                        FilterHCGas = GasMischanteil;
    a6c2:       30 92 7c 03     sts     0x037C, r3
    a6c6:       20 92 7b 03     sts     0x037B, r2
                        // set both flags to indicate no vario mode
                        FC_StatusFlags |= (FC_STATUS_VARIO_TRIM_UP|FC_STATUS_VARIO_TRIM_DOWN);
    a6ca:       80 91 cb 03     lds     r24, 0x03CB
    a6ce:       80 6c           ori     r24, 0xC0       ; 192
    a6d0:       80 93 cb 03     sts     0x03CB, r24
                        FC_StatusFlags2 &= ~FC_STATUS2_ALTITUDE_CONTROL;
    a6d4:       80 91 ca 03     lds     r24, 0x03CA
    a6d8:       8d 7f           andi    r24, 0xFD       ; 253
    a6da:       80 93 ca 03     sts     0x03CA, r24
                }
                // Hover gas estimation by averaging gas control output on small z-velocities
                // this is done only if height contol option is selected in global config and aircraft is flying
                if((FC_StatusFlags & FC_STATUS_FLY))// && !(FC_SatusFlags & FC_STATUS_EMERGENCY_LANDING))
    a6de:       80 91 cb 03     lds     r24, 0x03CB
    a6e2:       81 ff           sbrs    r24, 1
    a6e4:       35 c1           rjmp    .+618           ; 0xa950 <MotorRegler+0x3944>
                {
                        //if(HoverGasFilter == 0 || StartTrigger == 1)  HoverGasFilter = HOVER_GAS_AVERAGE * (unsigned long)(GasMischanteil); // init estimation
                        if(HoverGasFilter == 0 || StartTrigger == 1)  HoverGasFilter = HOVER_GAS_AVERAGE * (unsigned long)(HoverGas); // 0.90f: geändert
    a6e6:       80 91 77 03     lds     r24, 0x0377
    a6ea:       90 91 78 03     lds     r25, 0x0378
    a6ee:       a0 91 79 03     lds     r26, 0x0379
    a6f2:       b0 91 7a 03     lds     r27, 0x037A
    a6f6:       89 2b           or      r24, r25
    a6f8:       8a 2b           or      r24, r26
    a6fa:       8b 2b           or      r24, r27
    a6fc:       21 f0           breq    .+8             ; 0xa706 <MotorRegler+0x36fa>
    a6fe:       80 91 02 04     lds     r24, 0x0402
    a702:       81 30           cpi     r24, 0x01       ; 1
    a704:       01 f5           brne    .+64            ; 0xa746 <MotorRegler+0x373a>
    a706:       80 91 e8 03     lds     r24, 0x03E8
    a70a:       90 91 e9 03     lds     r25, 0x03E9
    a70e:       aa 27           eor     r26, r26
    a710:       97 fd           sbrc    r25, 7
    a712:       a0 95           com     r26
    a714:       ba 2f           mov     r27, r26
    a716:       07 2e           mov     r0, r23
    a718:       7e e0           ldi     r23, 0x0E       ; 14
    a71a:       88 0f           add     r24, r24
    a71c:       99 1f           adc     r25, r25
    a71e:       aa 1f           adc     r26, r26
    a720:       bb 1f           adc     r27, r27
    a722:       7a 95           dec     r23
    a724:       d1 f7           brne    .-12            ; 0xa71a <MotorRegler+0x370e>
    a726:       70 2d           mov     r23, r0
    a728:       80 93 77 03     sts     0x0377, r24
    a72c:       90 93 78 03     sts     0x0378, r25
    a730:       a0 93 79 03     sts     0x0379, r26
    a734:       b0 93 7a 03     sts     0x037A, r27
                        if(StartTrigger == 1) StartTrigger = 2;
    a738:       80 91 02 04     lds     r24, 0x0402
    a73c:       81 30           cpi     r24, 0x01       ; 1
    a73e:       19 f4           brne    .+6             ; 0xa746 <MotorRegler+0x373a>
    a740:       82 e0           ldi     r24, 0x02       ; 2
    a742:       80 93 02 04     sts     0x0402, r24
                                tmp_long2 = (int32_t)GasMischanteil; // take current thrust
                                tmp_long2 *= CosAttitude;            // apply attitude projection
    a746:       a0 91 2d 06     lds     r26, 0x062D
    a74a:       b0 91 2e 06     lds     r27, 0x062E
    a74e:       91 01           movw    r18, r2
    a750:       0e 94 ad b1     call    0x1635a ; 0x1635a <__mulhisi3>
                                tmp_long2 /= 8192;
    a754:       8b 01           movw    r16, r22
    a756:       9c 01           movw    r18, r24
    a758:       99 23           and     r25, r25
    a75a:       24 f4           brge    .+8             ; 0xa764 <MotorRegler+0x3758>
    a75c:       01 50           subi    r16, 0x01       ; 1
    a75e:       10 4e           sbci    r17, 0xE0       ; 224
    a760:       2f 4f           sbci    r18, 0xFF       ; 255
    a762:       3f 4f           sbci    r19, 0xFF       ; 255
    a764:       d9 01           movw    r26, r18
    a766:       c8 01           movw    r24, r16
    a768:       07 2e           mov     r0, r23
    a76a:       7d e0           ldi     r23, 0x0D       ; 13
    a76c:       b5 95           asr     r27
    a76e:       a7 95           ror     r26
    a770:       97 95           ror     r25
    a772:       87 95           ror     r24
    a774:       7a 95           dec     r23
    a776:       d1 f7           brne    .-12            ; 0xa76c <MotorRegler+0x3760>
    a778:       70 2d           mov     r23, r0
    a77a:       80 93 7d 03     sts     0x037D, r24
    a77e:       90 93 7e 03     sts     0x037E, r25
    a782:       a0 93 7f 03     sts     0x037F, r26
    a786:       b0 93 80 03     sts     0x0380, r27
                                // average vertical projected thrust
                            if(modell_fliegt < 4000) // the first 8 seconds
    a78a:       20 91 cc 03     lds     r18, 0x03CC
    a78e:       30 91 cd 03     lds     r19, 0x03CD
    a792:       20 3a           cpi     r18, 0xA0       ; 160
    a794:       4f e0           ldi     r20, 0x0F       ; 15
    a796:       34 07           cpc     r19, r20
    a798:       a8 f5           brcc    .+106           ; 0xa804 <MotorRegler+0x37f8>
                                {   // reduce the time constant of averaging by factor of 4 to get much faster a stable value
                                        HoverGasFilter -= HoverGasFilter/(HOVER_GAS_AVERAGE/16L);
    a79a:       40 91 77 03     lds     r20, 0x0377
    a79e:       50 91 78 03     lds     r21, 0x0378
    a7a2:       60 91 79 03     lds     r22, 0x0379
    a7a6:       70 91 7a 03     lds     r23, 0x037A
    a7aa:       2a 01           movw    r4, r20
    a7ac:       3b 01           movw    r6, r22
    a7ae:       03 2e           mov     r0, r19
    a7b0:       3a e0           ldi     r19, 0x0A       ; 10
    a7b2:       76 94           lsr     r7
    a7b4:       67 94           ror     r6
    a7b6:       57 94           ror     r5
    a7b8:       47 94           ror     r4
    a7ba:       3a 95           dec     r19
    a7bc:       d1 f7           brne    .-12            ; 0xa7b2 <MotorRegler+0x37a6>
    a7be:       30 2d           mov     r19, r0
    a7c0:       44 19           sub     r20, r4
    a7c2:       55 09           sbc     r21, r5
    a7c4:       66 09           sbc     r22, r6
    a7c6:       77 09           sbc     r23, r7
                                        HoverGasFilter += 16L * tmp_long2;
    a7c8:       2c 01           movw    r4, r24
    a7ca:       3d 01           movw    r6, r26
    a7cc:       44 0c           add     r4, r4
    a7ce:       55 1c           adc     r5, r5
    a7d0:       66 1c           adc     r6, r6
    a7d2:       77 1c           adc     r7, r7
    a7d4:       44 0c           add     r4, r4
    a7d6:       55 1c           adc     r5, r5
    a7d8:       66 1c           adc     r6, r6
    a7da:       77 1c           adc     r7, r7
    a7dc:       44 0c           add     r4, r4
    a7de:       55 1c           adc     r5, r5
    a7e0:       66 1c           adc     r6, r6
    a7e2:       77 1c           adc     r7, r7
    a7e4:       44 0c           add     r4, r4
    a7e6:       55 1c           adc     r5, r5
    a7e8:       66 1c           adc     r6, r6
    a7ea:       77 1c           adc     r7, r7
    a7ec:       44 0d           add     r20, r4
    a7ee:       55 1d           adc     r21, r5
    a7f0:       66 1d           adc     r22, r6
    a7f2:       77 1d           adc     r23, r7
    a7f4:       40 93 77 03     sts     0x0377, r20
    a7f8:       50 93 78 03     sts     0x0378, r21
    a7fc:       60 93 79 03     sts     0x0379, r22
    a800:       70 93 7a 03     sts     0x037A, r23
                                }
                if(modell_fliegt < 8000) // the first 16 seconds
    a804:       20 34           cpi     r18, 0x40       ; 64
    a806:       3f 41           sbci    r19, 0x1F       ; 31
    a808:       60 f5           brcc    .+88            ; 0xa862 <MotorRegler+0x3856>
                                {   // reduce the time constant of averaging by factor of 2 to get much faster a stable value
                                        HoverGasFilter -= HoverGasFilter/(HOVER_GAS_AVERAGE/4L);
    a80a:       40 91 77 03     lds     r20, 0x0377
    a80e:       50 91 78 03     lds     r21, 0x0378
    a812:       60 91 79 03     lds     r22, 0x0379
    a816:       70 91 7a 03     lds     r23, 0x037A
    a81a:       8a 01           movw    r16, r20
    a81c:       9b 01           movw    r18, r22
    a81e:       0f 2e           mov     r0, r31
    a820:       fc e0           ldi     r31, 0x0C       ; 12
    a822:       36 95           lsr     r19
    a824:       27 95           ror     r18
    a826:       17 95           ror     r17
    a828:       07 95           ror     r16
    a82a:       fa 95           dec     r31
    a82c:       d1 f7           brne    .-12            ; 0xa822 <MotorRegler+0x3816>
    a82e:       f0 2d           mov     r31, r0
    a830:       40 1b           sub     r20, r16
    a832:       51 0b           sbc     r21, r17
    a834:       62 0b           sbc     r22, r18
    a836:       73 0b           sbc     r23, r19
                                        HoverGasFilter += 4L * tmp_long2;
    a838:       88 0f           add     r24, r24
    a83a:       99 1f           adc     r25, r25
    a83c:       aa 1f           adc     r26, r26
    a83e:       bb 1f           adc     r27, r27
    a840:       88 0f           add     r24, r24
    a842:       99 1f           adc     r25, r25
    a844:       aa 1f           adc     r26, r26
    a846:       bb 1f           adc     r27, r27
    a848:       84 0f           add     r24, r20
    a84a:       95 1f           adc     r25, r21
    a84c:       a6 1f           adc     r26, r22
    a84e:       b7 1f           adc     r27, r23
    a850:       80 93 77 03     sts     0x0377, r24
    a854:       90 93 78 03     sts     0x0378, r25
    a858:       a0 93 79 03     sts     0x0379, r26
    a85c:       b0 93 7a 03     sts     0x037A, r27
    a860:       41 c0           rjmp    .+130           ; 0xa8e4 <MotorRegler+0x38d8>
                                }
                          else //later
                          if(abs(VarioMeter) < 100 && abs(HoehenWertF - SollHoehe) < 256) // only on small vertical speed & difference is small (only descending)
    a862:       20 91 54 03     lds     r18, 0x0354
    a866:       30 91 55 03     lds     r19, 0x0355
    a86a:       33 23           and     r19, r19
    a86c:       1c f4           brge    .+6             ; 0xa874 <MotorRegler+0x3868>
    a86e:       31 95           neg     r19
    a870:       21 95           neg     r18
    a872:       31 09           sbc     r19, r1
    a874:       24 36           cpi     r18, 0x64       ; 100
    a876:       31 05           cpc     r19, r1
    a878:       ac f5           brge    .+106           ; 0xa8e4 <MotorRegler+0x38d8>
    a87a:       20 91 4a 03     lds     r18, 0x034A
    a87e:       30 91 4b 03     lds     r19, 0x034B
    a882:       40 91 fa 03     lds     r20, 0x03FA
    a886:       50 91 fb 03     lds     r21, 0x03FB
    a88a:       24 1b           sub     r18, r20
    a88c:       35 0b           sbc     r19, r21
    a88e:       21 30           cpi     r18, 0x01       ; 1
    a890:       6f ef           ldi     r22, 0xFF       ; 255
    a892:       36 07           cpc     r19, r22
    a894:       3c f1           brlt    .+78            ; 0xa8e4 <MotorRegler+0x38d8>
    a896:       2f 3f           cpi     r18, 0xFF       ; 255
    a898:       31 05           cpc     r19, r1
    a89a:       09 f0           breq    .+2             ; 0xa89e <MotorRegler+0x3892>
    a89c:       1c f5           brge    .+70            ; 0xa8e4 <MotorRegler+0x38d8>
                                {
                                        HoverGasFilter -= HoverGasFilter/HOVER_GAS_AVERAGE;
    a89e:       40 91 77 03     lds     r20, 0x0377
    a8a2:       50 91 78 03     lds     r21, 0x0378
    a8a6:       60 91 79 03     lds     r22, 0x0379
    a8aa:       70 91 7a 03     lds     r23, 0x037A
    a8ae:       8a 01           movw    r16, r20
    a8b0:       9b 01           movw    r18, r22
    a8b2:       0f 2e           mov     r0, r31
    a8b4:       fe e0           ldi     r31, 0x0E       ; 14
    a8b6:       36 95           lsr     r19
    a8b8:       27 95           ror     r18
    a8ba:       17 95           ror     r17
    a8bc:       07 95           ror     r16
    a8be:       fa 95           dec     r31
    a8c0:       d1 f7           brne    .-12            ; 0xa8b6 <MotorRegler+0x38aa>
    a8c2:       f0 2d           mov     r31, r0
    a8c4:       40 1b           sub     r20, r16
    a8c6:       51 0b           sbc     r21, r17
    a8c8:       62 0b           sbc     r22, r18
    a8ca:       73 0b           sbc     r23, r19
                                        HoverGasFilter += tmp_long2;
    a8cc:       84 0f           add     r24, r20
    a8ce:       95 1f           adc     r25, r21
    a8d0:       a6 1f           adc     r26, r22
    a8d2:       b7 1f           adc     r27, r23
    a8d4:       80 93 77 03     sts     0x0377, r24
    a8d8:       90 93 78 03     sts     0x0378, r25
    a8dc:       a0 93 79 03     sts     0x0379, r26
    a8e0:       b0 93 7a 03     sts     0x037A, r27
                                }
                                HoverGas = (int16_t)(HoverGasFilter/HOVER_GAS_AVERAGE);
    a8e4:       00 91 77 03     lds     r16, 0x0377
    a8e8:       10 91 78 03     lds     r17, 0x0378
    a8ec:       20 91 79 03     lds     r18, 0x0379
    a8f0:       30 91 7a 03     lds     r19, 0x037A
    a8f4:       0f 2e           mov     r0, r31
    a8f6:       fe e0           ldi     r31, 0x0E       ; 14
    a8f8:       36 95           lsr     r19
    a8fa:       27 95           ror     r18
    a8fc:       17 95           ror     r17
    a8fe:       07 95           ror     r16
    a900:       fa 95           dec     r31
    a902:       d1 f7           brne    .-12            ; 0xa8f8 <MotorRegler+0x38ec>
    a904:       f0 2d           mov     r31, r0
    a906:       c8 01           movw    r24, r16
    a908:       10 93 e9 03     sts     0x03E9, r17
    a90c:       00 93 e8 03     sts     0x03E8, r16
                                if(EE_Parameter.Hoehe_HoverBand)
    a910:       60 91 52 05     lds     r22, 0x0552
    a914:       66 23           and     r22, r22
    a916:       89 f0           breq    .+34            ; 0xa93a <MotorRegler+0x392e>
                                {
                                        int16_t band;
                                        band = HoverGas / EE_Parameter.Hoehe_HoverBand; // the higher the parameter the smaller the range
    a918:       70 e0           ldi     r23, 0x00       ; 0
    a91a:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
                                        HoverGasMin = HoverGas - band;
    a91e:       c8 01           movw    r24, r16
    a920:       86 1b           sub     r24, r22
    a922:       97 0b           sbc     r25, r23
    a924:       90 93 17 04     sts     0x0417, r25
    a928:       80 93 16 04     sts     0x0416, r24
                                        HoverGasMax = HoverGas + band;
    a92c:       06 0f           add     r16, r22
    a92e:       17 1f           adc     r17, r23
    a930:       10 93 3f 01     sts     0x013F, r17
    a934:       00 93 3e 01     sts     0x013E, r16
    a938:       1f c0           rjmp    .+62            ; 0xa978 <MotorRegler+0x396c>
                                }
                                else
                                {       // no limit
                                        HoverGasMin = 0;
    a93a:       10 92 17 04     sts     0x0417, r1
    a93e:       10 92 16 04     sts     0x0416, r1
                                        HoverGasMax = 1023;
    a942:       8f ef           ldi     r24, 0xFF       ; 255
    a944:       93 e0           ldi     r25, 0x03       ; 3
    a946:       90 93 3f 01     sts     0x013F, r25
    a94a:       80 93 3e 01     sts     0x013E, r24
    a94e:       14 c0           rjmp    .+40            ; 0xa978 <MotorRegler+0x396c>
                                }
                }
                 else
                  {
                   StartTrigger = 0;
    a950:       10 92 02 04     sts     0x0402, r1
                   HoverGasFilter = 0;
    a954:       10 92 77 03     sts     0x0377, r1
    a958:       10 92 78 03     sts     0x0378, r1
    a95c:       10 92 79 03     sts     0x0379, r1
    a960:       10 92 7a 03     sts     0x037A, r1
                   HoverGas = 0;
    a964:       10 92 e9 03     sts     0x03E9, r1
    a968:       10 92 e8 03     sts     0x03E8, r1
    a96c:       05 c0           rjmp    .+10            ; 0xa978 <MotorRegler+0x396c>
                  }
        }// EOF Parameter_GlobalConfig & CFG_HEIGHT_CONTROL
        else
        {
                // set undefined state to indicate vario off
                FC_StatusFlags |= (FC_STATUS_VARIO_TRIM_UP|FC_STATUS_VARIO_TRIM_DOWN);
    a96e:       80 91 cb 03     lds     r24, 0x03CB
    a972:       80 6c           ori     r24, 0xC0       ; 192
    a974:       80 93 cb 03     sts     0x03CB, r24
        } // EOF no height control

   // Limits the maximum gas in case of "Out of Range emergency landing"
   if(NC_To_FC_Flags & NC_TO_FC_EMERGENCY_LANDING) 
    a978:       80 91 b7 04     lds     r24, 0x04B7
    a97c:       81 ff           sbrs    r24, 1
    a97e:       37 c0           rjmp    .+110           ; 0xa9ee <MotorRegler+0x39e2>
        {
         if(GasMischanteil/STICK_GAIN > HooverGasEmergencyPercent && HoverGas) GasMischanteil = HooverGasEmergencyPercent * STICK_GAIN;
    a980:       80 91 c7 03     lds     r24, 0x03C7
    a984:       90 91 c8 03     lds     r25, 0x03C8
    a988:       91 01           movw    r18, r2
    a98a:       33 20           and     r3, r3
    a98c:       14 f4           brge    .+4             ; 0xa992 <MotorRegler+0x3986>
    a98e:       2d 5f           subi    r18, 0xFD       ; 253
    a990:       3f 4f           sbci    r19, 0xFF       ; 255
    a992:       35 95           asr     r19
    a994:       27 95           ror     r18
    a996:       35 95           asr     r19
    a998:       27 95           ror     r18
    a99a:       82 17           cp      r24, r18
    a99c:       93 07           cpc     r25, r19
    a99e:       58 f4           brcc    .+22            ; 0xa9b6 <MotorRegler+0x39aa>
    a9a0:       20 91 e8 03     lds     r18, 0x03E8
    a9a4:       30 91 e9 03     lds     r19, 0x03E9
    a9a8:       23 2b           or      r18, r19
    a9aa:       29 f0           breq    .+10            ; 0xa9b6 <MotorRegler+0x39aa>
    a9ac:       1c 01           movw    r2, r24
    a9ae:       22 0c           add     r2, r2
    a9b0:       33 1c           adc     r3, r3
    a9b2:       22 0c           add     r2, r2
    a9b4:       33 1c           adc     r3, r3
         SollHoehe = HoehenWertF; // update setpoint to current heigth
    a9b6:       80 91 4a 03     lds     r24, 0x034A
    a9ba:       90 91 4b 03     lds     r25, 0x034B
    a9be:       a0 91 4c 03     lds     r26, 0x034C
    a9c2:       b0 91 4d 03     lds     r27, 0x034D
    a9c6:       80 93 fa 03     sts     0x03FA, r24
    a9ca:       90 93 fb 03     sts     0x03FB, r25
    a9ce:       a0 93 fc 03     sts     0x03FC, r26
    a9d2:       b0 93 fd 03     sts     0x03FD, r27
          beeptime = 15000;
    a9d6:       88 e9           ldi     r24, 0x98       ; 152
    a9d8:       9a e3           ldi     r25, 0x3A       ; 58
    a9da:       90 93 ce 04     sts     0x04CE, r25
    a9de:       80 93 cd 04     sts     0x04CD, r24
          BeepMuster = 0x0E00;
    a9e2:       80 e0           ldi     r24, 0x00       ; 0
    a9e4:       9e e0           ldi     r25, 0x0E       ; 14
    a9e6:       90 93 aa 02     sts     0x02AA, r25
    a9ea:       80 93 a9 02     sts     0x02A9, r24
        }
    // limit gas to parameter setting
  LIMIT_MIN(GasMischanteil, (MIN_GAS + 10) * STICK_GAIN);
    a9ee:       80 91 2c 06     lds     r24, 0x062C
    a9f2:       90 e0           ldi     r25, 0x00       ; 0
    a9f4:       0a 96           adiw    r24, 0x0a       ; 10
    a9f6:       88 0f           add     r24, r24
    a9f8:       99 1f           adc     r25, r25
    a9fa:       88 0f           add     r24, r24
    a9fc:       99 1f           adc     r25, r25
    a9fe:       28 16           cp      r2, r24
    aa00:       39 06           cpc     r3, r25
    aa02:       0c f4           brge    .+2             ; 0xaa06 <MotorRegler+0x39fa>
    aa04:       1c 01           movw    r2, r24
  if(GasMischanteil > (MAX_GAS - 20) * STICK_GAIN) GasMischanteil = (MAX_GAS - 20) * STICK_GAIN;
    aa06:       20 91 64 06     lds     r18, 0x0664
    aa0a:       30 e0           ldi     r19, 0x00       ; 0
    aa0c:       24 51           subi    r18, 0x14       ; 20
    aa0e:       31 09           sbc     r19, r1
    aa10:       22 0f           add     r18, r18
    aa12:       33 1f           adc     r19, r19
    aa14:       22 0f           add     r18, r18
    aa16:       33 1f           adc     r19, r19
    aa18:       3e 82           std     Y+6, r3 ; 0x06
    aa1a:       2d 82           std     Y+5, r2 ; 0x05
    aa1c:       22 15           cp      r18, r2
    aa1e:       33 05           cpc     r19, r3
    aa20:       14 f4           brge    .+4             ; 0xaa26 <MotorRegler+0x3a1a>
    aa22:       3e 83           std     Y+6, r19        ; 0x06
    aa24:       2d 83           std     Y+5, r18        ; 0x05

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// all BL-Ctrl connected?
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  if(MissingMotor || Capacity.MinOfMaxPWM < 254 || NC_ErrorCode)      // wait until all BL-Ctrls started and no Errors
    aa26:       20 91 df 04     lds     r18, 0x04DF
    aa2a:       21 11           cpse    r18, r1
    aa2c:       08 c0           rjmp    .+16            ; 0xaa3e <MotorRegler+0x3a32>
    aa2e:       20 91 1b 05     lds     r18, 0x051B
    aa32:       2e 3f           cpi     r18, 0xFE       ; 254
    aa34:       20 f0           brcs    .+8             ; 0xaa3e <MotorRegler+0x3a32>
    aa36:       20 91 bb 04     lds     r18, 0x04BB
    aa3a:       22 23           and     r18, r18
    aa3c:       01 f1           breq    .+64            ; 0xaa7e <MotorRegler+0x3a72>
  if(modell_fliegt > 1 && modell_fliegt < 50 && GasMischanteil > 0)    // only during start-phase
    aa3e:       20 91 cc 03     lds     r18, 0x03CC
    aa42:       30 91 cd 03     lds     r19, 0x03CD
    aa46:       22 50           subi    r18, 0x02       ; 2
    aa48:       31 09           sbc     r19, r1
    aa4a:       20 33           cpi     r18, 0x30       ; 48
    aa4c:       31 05           cpc     r19, r1
    aa4e:       b8 f4           brcc    .+46            ; 0xaa7e <MotorRegler+0x3a72>
    aa50:       8d 80           ldd     r8, Y+5 ; 0x05
    aa52:       9e 80           ldd     r9, Y+6 ; 0x06
    aa54:       18 14           cp      r1, r8
    aa56:       19 04           cpc     r1, r9
    aa58:       94 f4           brge    .+36            ; 0xaa7e <MotorRegler+0x3a72>
   {
    modell_fliegt = 1;
    aa5a:       21 e0           ldi     r18, 0x01       ; 1
    aa5c:       30 e0           ldi     r19, 0x00       ; 0
    aa5e:       30 93 cd 03     sts     0x03CD, r19
    aa62:       20 93 cc 03     sts     0x03CC, r18
        GasMischanteil = (MIN_GAS + 10) * STICK_GAIN;
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
        if(Capacity.MinOfMaxPWM < 40) SpeakHoTT = SPEAK_ERR_MOTOR;
    aa66:       20 91 1b 05     lds     r18, 0x051B
    aa6a:       28 32           cpi     r18, 0x28       ; 40
    aa6c:       30 f4           brcc    .+12            ; 0xaa7a <MotorRegler+0x3a6e>
    aa6e:       29 e0           ldi     r18, 0x09       ; 9
    aa70:       20 93 57 01     sts     0x0157, r18
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  if(MissingMotor || Capacity.MinOfMaxPWM < 254 || NC_ErrorCode)      // wait until all BL-Ctrls started and no Errors
  if(modell_fliegt > 1 && modell_fliegt < 50 && GasMischanteil > 0)    // only during start-phase
   {
    modell_fliegt = 1;
        GasMischanteil = (MIN_GAS + 10) * STICK_GAIN;
    aa74:       9e 83           std     Y+6, r25        ; 0x06
    aa76:       8d 83           std     Y+5, r24        ; 0x05
    aa78:       02 c0           rjmp    .+4             ; 0xaa7e <MotorRegler+0x3a72>
    aa7a:       9e 83           std     Y+6, r25        ; 0x06
    aa7c:       8d 83           std     Y+5, r24        ; 0x05
#endif
   }

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// send SPI pending bytes
 if(BytegapSPI == 0)  SPI_TransmitByte(); 
    aa7e:       80 91 cc 04     lds     r24, 0x04CC
    aa82:       81 11           cpse    r24, r1
    aa84:       02 c0           rjmp    .+4             ; 0xaa8a <MotorRegler+0x3a7e>
    aa86:       0e 94 de 95     call    0x12bbc ; 0x12bbc <SPI_TransmitByte>
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// + Mischer und PI-Regler
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  DebugOut.Analog[7] = GasMischanteil;  // achtung: Muss auf [7] bleiben wegen SPI.C
    aa8a:       0d 81           ldd     r16, Y+5        ; 0x05
    aa8c:       1e 81           ldd     r17, Y+6        ; 0x06
    aa8e:       10 93 57 0c     sts     0x0C57, r17
    aa92:       00 93 56 0c     sts     0x0C56, r16
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Gier-Anteil
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    GierMischanteil = MesswertGier - sollGier * STICK_GAIN;     // Regler für Gier
    aa96:       20 91 9e 03     lds     r18, 0x039E
    aa9a:       30 91 9f 03     lds     r19, 0x039F
    aa9e:       22 0f           add     r18, r18
    aaa0:       33 1f           adc     r19, r19
    aaa2:       22 0f           add     r18, r18
    aaa4:       33 1f           adc     r19, r19
    aaa6:       80 91 67 06     lds     r24, 0x0667
    aaaa:       90 91 68 06     lds     r25, 0x0668
    aaae:       82 1b           sub     r24, r18
    aab0:       93 0b           sbc     r25, r19
#define MIN_GIERGAS  (40*STICK_GAIN)  // unter diesem Gaswert trotzdem Gieren
   if(GasMischanteil > MIN_GIERGAS)
    aab2:       01 3a           cpi     r16, 0xA1       ; 161
    aab4:       11 05           cpc     r17, r1
    aab6:       c4 f0           brlt    .+48            ; 0xaae8 <MotorRegler+0x3adc>
    {
     if(GierMischanteil > (GasMischanteil / 2)) GierMischanteil = GasMischanteil / 2;
    aab8:       98 01           movw    r18, r16
    aaba:       11 23           and     r17, r17
    aabc:       14 f4           brge    .+4             ; 0xaac2 <MotorRegler+0x3ab6>
    aabe:       2f 5f           subi    r18, 0xFF       ; 255
    aac0:       3f 4f           sbci    r19, 0xFF       ; 255
    aac2:       35 95           asr     r19
    aac4:       27 95           ror     r18
    aac6:       52 2f           mov     r21, r18
    aac8:       43 2f           mov     r20, r19
    aaca:       82 17           cp      r24, r18
    aacc:       93 07           cpc     r25, r19
    aace:       14 f4           brge    .+4             ; 0xaad4 <MotorRegler+0x3ac8>
    aad0:       58 2f           mov     r21, r24
    aad2:       49 2f           mov     r20, r25
     if(GierMischanteil < -(GasMischanteil / 2)) GierMischanteil = -(GasMischanteil / 2);
    aad4:       31 95           neg     r19
    aad6:       21 95           neg     r18
    aad8:       31 09           sbc     r19, r1
    aada:       85 2f           mov     r24, r21
    aadc:       94 2f           mov     r25, r20
    aade:       82 17           cp      r24, r18
    aae0:       93 07           cpc     r25, r19
    aae2:       6c f4           brge    .+26            ; 0xaafe <MotorRegler+0x3af2>
    aae4:       c9 01           movw    r24, r18
    aae6:       0b c0           rjmp    .+22            ; 0xaafe <MotorRegler+0x3af2>
    aae8:       81 35           cpi     r24, 0x51       ; 81
    aaea:       91 05           cpc     r25, r1
    aaec:       14 f0           brlt    .+4             ; 0xaaf2 <MotorRegler+0x3ae6>
    aaee:       80 e5           ldi     r24, 0x50       ; 80
    aaf0:       90 e0           ldi     r25, 0x00       ; 0
    aaf2:       80 3b           cpi     r24, 0xB0       ; 176
    aaf4:       1f ef           ldi     r17, 0xFF       ; 255
    aaf6:       91 07           cpc     r25, r17
    aaf8:       14 f4           brge    .+4             ; 0xaafe <MotorRegler+0x3af2>
    aafa:       80 eb           ldi     r24, 0xB0       ; 176
    aafc:       9f ef           ldi     r25, 0xFF       ; 255
    else
    {
     if(GierMischanteil > (MIN_GIERGAS / 2))  GierMischanteil = MIN_GIERGAS / 2;
     if(GierMischanteil < -(MIN_GIERGAS / 2)) GierMischanteil = -(MIN_GIERGAS / 2);
    }
    tmp_int = MAX_GAS*STICK_GAIN;
    aafe:       20 91 64 06     lds     r18, 0x0664
    ab02:       30 e0           ldi     r19, 0x00       ; 0
    ab04:       22 0f           add     r18, r18
    ab06:       33 1f           adc     r19, r19
    ab08:       22 0f           add     r18, r18
    ab0a:       33 1f           adc     r19, r19
    if(GierMischanteil > ((tmp_int - GasMischanteil))) GierMischanteil = ((tmp_int - GasMischanteil));
    ab0c:       a9 01           movw    r20, r18
    ab0e:       8d 80           ldd     r8, Y+5 ; 0x05
    ab10:       9e 80           ldd     r9, Y+6 ; 0x06
    ab12:       48 19           sub     r20, r8
    ab14:       59 09           sbc     r21, r9
    ab16:       48 17           cp      r20, r24
    ab18:       59 07           cpc     r21, r25
    ab1a:       0c f4           brge    .+2             ; 0xab1e <MotorRegler+0x3b12>
    ab1c:       ca 01           movw    r24, r20
    if(GierMischanteil < -((tmp_int - GasMischanteil))) GierMischanteil = -((tmp_int - GasMischanteil));
    ab1e:       0d 81           ldd     r16, Y+5        ; 0x05
    ab20:       1e 81           ldd     r17, Y+6        ; 0x06
    ab22:       02 1b           sub     r16, r18
    ab24:       13 0b           sbc     r17, r19
    ab26:       9a 87           std     Y+10, r25       ; 0x0a
    ab28:       89 87           std     Y+9, r24        ; 0x09
    ab2a:       80 17           cp      r24, r16
    ab2c:       91 07           cpc     r25, r17
    ab2e:       14 f4           brge    .+4             ; 0xab34 <MotorRegler+0x3b28>
    ab30:       1a 87           std     Y+10, r17       ; 0x0a
    ab32:       09 87           std     Y+9, r16        ; 0x09

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Nick-Achse
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    DiffNick = MesswertNick - StickNick;        // Differenz bestimmen
    ab34:       80 91 14 04     lds     r24, 0x0414
    ab38:       90 91 15 04     lds     r25, 0x0415
    ab3c:       20 91 27 06     lds     r18, 0x0627
    ab40:       30 91 28 06     lds     r19, 0x0628
    ab44:       28 1b           sub     r18, r24
    ab46:       39 0b           sbc     r19, r25
    ab48:       30 93 33 06     sts     0x0633, r19
    ab4c:       20 93 32 06     sts     0x0632, r18
    if(IntegralFaktor) SummeNick += IntegralNickMalFaktor - StickNick; // I-Anteil bei Winkelregelung
    ab50:       00 91 42 06     lds     r16, 0x0642
    ab54:       00 23           and     r16, r16
    ab56:       e9 f0           breq    .+58            ; 0xab92 <MotorRegler+0x3b86>
    ab58:       a7 01           movw    r20, r14
    ab5a:       48 1b           sub     r20, r24
    ab5c:       59 0b           sbc     r21, r25
    ab5e:       ca 01           movw    r24, r20
    ab60:       aa 27           eor     r26, r26
    ab62:       97 fd           sbrc    r25, 7
    ab64:       a0 95           com     r26
    ab66:       ba 2f           mov     r27, r26
    ab68:       40 91 26 04     lds     r20, 0x0426
    ab6c:       50 91 27 04     lds     r21, 0x0427
    ab70:       60 91 28 04     lds     r22, 0x0428
    ab74:       70 91 29 04     lds     r23, 0x0429
    ab78:       84 0f           add     r24, r20
    ab7a:       95 1f           adc     r25, r21
    ab7c:       a6 1f           adc     r26, r22
    ab7e:       b7 1f           adc     r27, r23
    ab80:       80 93 26 04     sts     0x0426, r24
    ab84:       90 93 27 04     sts     0x0427, r25
    ab88:       a0 93 28 04     sts     0x0428, r26
    ab8c:       b0 93 29 04     sts     0x0429, r27
    ab90:       19 c0           rjmp    .+50            ; 0xabc4 <MotorRegler+0x3bb8>
    else  SummeNick += DiffNick; // I-Anteil bei HH
    ab92:       40 91 26 04     lds     r20, 0x0426
    ab96:       50 91 27 04     lds     r21, 0x0427
    ab9a:       60 91 28 04     lds     r22, 0x0428
    ab9e:       70 91 29 04     lds     r23, 0x0429
    aba2:       c9 01           movw    r24, r18
    aba4:       aa 27           eor     r26, r26
    aba6:       97 fd           sbrc    r25, 7
    aba8:       a0 95           com     r26
    abaa:       ba 2f           mov     r27, r26
    abac:       84 0f           add     r24, r20
    abae:       95 1f           adc     r25, r21
    abb0:       a6 1f           adc     r26, r22
    abb2:       b7 1f           adc     r27, r23
    abb4:       80 93 26 04     sts     0x0426, r24
    abb8:       90 93 27 04     sts     0x0427, r25
    abbc:       a0 93 28 04     sts     0x0428, r26
    abc0:       b0 93 29 04     sts     0x0429, r27
    if(SummeNick >  (STICK_GAIN * 16000L)) SummeNick =  (STICK_GAIN * 16000L);
    abc4:       80 91 26 04     lds     r24, 0x0426
    abc8:       90 91 27 04     lds     r25, 0x0427
    abcc:       a0 91 28 04     lds     r26, 0x0428
    abd0:       b0 91 29 04     lds     r27, 0x0429
    abd4:       81 30           cpi     r24, 0x01       ; 1
    abd6:       5a ef           ldi     r21, 0xFA       ; 250
    abd8:       95 07           cpc     r25, r21
    abda:       a1 05           cpc     r26, r1
    abdc:       b1 05           cpc     r27, r1
    abde:       6c f0           brlt    .+26            ; 0xabfa <MotorRegler+0x3bee>
    abe0:       80 e0           ldi     r24, 0x00       ; 0
    abe2:       9a ef           ldi     r25, 0xFA       ; 250
    abe4:       a0 e0           ldi     r26, 0x00       ; 0
    abe6:       b0 e0           ldi     r27, 0x00       ; 0
    abe8:       80 93 26 04     sts     0x0426, r24
    abec:       90 93 27 04     sts     0x0427, r25
    abf0:       a0 93 28 04     sts     0x0428, r26
    abf4:       b0 93 29 04     sts     0x0429, r27
    abf8:       11 c0           rjmp    .+34            ; 0xac1c <MotorRegler+0x3c10>
    if(SummeNick < -(16000L * STICK_GAIN)) SummeNick = -(16000L * STICK_GAIN);
    abfa:       81 15           cp      r24, r1
    abfc:       96 40           sbci    r25, 0x06       ; 6
    abfe:       af 4f           sbci    r26, 0xFF       ; 255
    ac00:       bf 4f           sbci    r27, 0xFF       ; 255
    ac02:       64 f4           brge    .+24            ; 0xac1c <MotorRegler+0x3c10>
    ac04:       80 e0           ldi     r24, 0x00       ; 0
    ac06:       96 e0           ldi     r25, 0x06       ; 6
    ac08:       af ef           ldi     r26, 0xFF       ; 255
    ac0a:       bf ef           ldi     r27, 0xFF       ; 255
    ac0c:       80 93 26 04     sts     0x0426, r24
    ac10:       90 93 27 04     sts     0x0427, r25
    ac14:       a0 93 28 04     sts     0x0428, r26
    ac18:       b0 93 29 04     sts     0x0429, r27

    if(EE_Parameter.Gyro_Stability <= 8)        pd_ergebnis_nick = (EE_Parameter.Gyro_Stability * DiffNick) / 8; // PI-Regler für Nick
    ac1c:       10 91 61 05     lds     r17, 0x0561
    ac20:       19 30           cpi     r17, 0x09       ; 9
    ac22:       88 f4           brcc    .+34            ; 0xac46 <MotorRegler+0x3c3a>
    ac24:       12 9f           mul     r17, r18
    ac26:       70 01           movw    r14, r0
    ac28:       13 9f           mul     r17, r19
    ac2a:       f0 0c           add     r15, r0
    ac2c:       11 24           eor     r1, r1
    ac2e:       ff 20           and     r15, r15
    ac30:       1c f4           brge    .+6             ; 0xac38 <MotorRegler+0x3c2c>
    ac32:       77 e0           ldi     r23, 0x07       ; 7
    ac34:       e7 0e           add     r14, r23
    ac36:       f1 1c           adc     r15, r1
    ac38:       f5 94           asr     r15
    ac3a:       e7 94           ror     r14
    ac3c:       f5 94           asr     r15
    ac3e:       e7 94           ror     r14
    ac40:       f5 94           asr     r15
    ac42:       e7 94           ror     r14
    ac44:       10 c0           rjmp    .+32            ; 0xac66 <MotorRegler+0x3c5a>
    else                                                                        pd_ergebnis_nick = ((EE_Parameter.Gyro_Stability / 2) * DiffNick) / 4; // Überlauf verhindern
    ac46:       81 2f           mov     r24, r17
    ac48:       86 95           lsr     r24
    ac4a:       82 9f           mul     r24, r18
    ac4c:       70 01           movw    r14, r0
    ac4e:       83 9f           mul     r24, r19
    ac50:       f0 0c           add     r15, r0
    ac52:       11 24           eor     r1, r1
    ac54:       ff 20           and     r15, r15
    ac56:       1c f4           brge    .+6             ; 0xac5e <MotorRegler+0x3c52>
    ac58:       83 e0           ldi     r24, 0x03       ; 3
    ac5a:       e8 0e           add     r14, r24
    ac5c:       f1 1c           adc     r15, r1
    ac5e:       f5 94           asr     r15
    ac60:       e7 94           ror     r14
    ac62:       f5 94           asr     r15
    ac64:       e7 94           ror     r14
    pd_ergebnis_nick +=  SummeNick / Ki;
    ac66:       40 90 3b 01     lds     r4, 0x013B
    ac6a:       50 90 3c 01     lds     r5, 0x013C
    ac6e:       66 24           eor     r6, r6
    ac70:       57 fc           sbrc    r5, 7
    ac72:       60 94           com     r6
    ac74:       76 2c           mov     r7, r6
    ac76:       60 91 26 04     lds     r22, 0x0426
    ac7a:       70 91 27 04     lds     r23, 0x0427
    ac7e:       80 91 28 04     lds     r24, 0x0428
    ac82:       90 91 29 04     lds     r25, 0x0429
    ac86:       a3 01           movw    r20, r6
    ac88:       92 01           movw    r18, r4
    ac8a:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    ac8e:       17 01           movw    r2, r14
    ac90:       22 0e           add     r2, r18
    ac92:       33 1e           adc     r3, r19

    tmp_int = (long)((long)Parameter_DynamicStability * (long)(GasMischanteil + abs(GierMischanteil)/2)) / 64;
    ac94:       20 91 27 01     lds     r18, 0x0127
    ac98:       30 e0           ldi     r19, 0x00       ; 0
    ac9a:       40 e0           ldi     r20, 0x00       ; 0
    ac9c:       50 e0           ldi     r21, 0x00       ; 0
    ac9e:       89 85           ldd     r24, Y+9        ; 0x09
    aca0:       9a 85           ldd     r25, Y+10       ; 0x0a
    aca2:       99 23           and     r25, r25
    aca4:       1c f4           brge    .+6             ; 0xacac <MotorRegler+0x3ca0>
    aca6:       91 95           neg     r25
    aca8:       81 95           neg     r24
    acaa:       91 09           sbc     r25, r1
    acac:       dc 01           movw    r26, r24
    acae:       99 23           and     r25, r25
    acb0:       0c f4           brge    .+2             ; 0xacb4 <MotorRegler+0x3ca8>
    acb2:       11 96           adiw    r26, 0x01       ; 1
    acb4:       b5 95           asr     r27
    acb6:       a7 95           ror     r26
    acb8:       8d 80           ldd     r8, Y+5 ; 0x05
    acba:       9e 80           ldd     r9, Y+6 ; 0x06
    acbc:       a8 0d           add     r26, r8
    acbe:       b9 1d           adc     r27, r9
    acc0:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    acc4:       6b 01           movw    r12, r22
    acc6:       7c 01           movw    r14, r24
    acc8:       99 23           and     r25, r25
    acca:       2c f4           brge    .+10            ; 0xacd6 <MotorRegler+0x3cca>
    accc:       2f e3           ldi     r18, 0x3F       ; 63
    acce:       c2 0e           add     r12, r18
    acd0:       d1 1c           adc     r13, r1
    acd2:       e1 1c           adc     r14, r1
    acd4:       f1 1c           adc     r15, r1
    acd6:       68 94           set
    acd8:       15 f8           bld     r1, 5
    acda:       f5 94           asr     r15
    acdc:       e7 94           ror     r14
    acde:       d7 94           ror     r13
    ace0:       c7 94           ror     r12
    ace2:       16 94           lsr     r1
    ace4:       d1 f7           brne    .-12            ; 0xacda <MotorRegler+0x3cce>
    ace6:       dc 86           std     Y+12, r13       ; 0x0c
    ace8:       cb 86           std     Y+11, r12       ; 0x0b
    acea:       f1 01           movw    r30, r2
    acec:       c2 14           cp      r12, r2
    acee:       d3 04           cpc     r13, r3
    acf0:       0c f4           brge    .+2             ; 0xacf4 <MotorRegler+0x3ce8>
    acf2:       f6 01           movw    r30, r12
    if(pd_ergebnis_nick >  tmp_int) pd_ergebnis_nick =  tmp_int;
    if(pd_ergebnis_nick < -tmp_int) pd_ergebnis_nick = -tmp_int;
    acf4:       22 24           eor     r2, r2
    acf6:       33 24           eor     r3, r3
    acf8:       2c 18           sub     r2, r12
    acfa:       3d 08           sbc     r3, r13
    acfc:       fe 87           std     Y+14, r31       ; 0x0e
    acfe:       ed 87           std     Y+13, r30       ; 0x0d
    ad00:       e2 15           cp      r30, r2
    ad02:       f3 05           cpc     r31, r3
    ad04:       14 f4           brge    .+4             ; 0xad0a <MotorRegler+0x3cfe>
    ad06:       3e 86           std     Y+14, r3        ; 0x0e
    ad08:       2d 86           std     Y+13, r2        ; 0x0d

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Roll-Achse
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        DiffRoll = MesswertRoll - StickRoll;    // Differenz bestimmen
    ad0a:       20 91 12 04     lds     r18, 0x0412
    ad0e:       30 91 13 04     lds     r19, 0x0413
    ad12:       80 91 1c 06     lds     r24, 0x061C
    ad16:       90 91 1d 06     lds     r25, 0x061D
    ad1a:       82 1b           sub     r24, r18
    ad1c:       93 0b           sbc     r25, r19
    ad1e:       90 93 1b 06     sts     0x061B, r25
    ad22:       80 93 1a 06     sts     0x061A, r24
    if(IntegralFaktor) SummeRoll += IntegralRollMalFaktor - StickRoll;// I-Anteil bei Winkelregelung
    ad26:       00 23           and     r16, r16
    ad28:       21 f1           breq    .+72            ; 0xad72 <MotorRegler+0x3d66>
    ad2a:       a2 1a           sub     r10, r18
    ad2c:       b3 0a           sbc     r11, r19
    ad2e:       95 01           movw    r18, r10
    ad30:       44 27           eor     r20, r20
    ad32:       37 fd           sbrc    r19, 7
    ad34:       40 95           com     r20
    ad36:       54 2f           mov     r21, r20
    ad38:       29 8b           std     Y+17, r18       ; 0x11
    ad3a:       3a 8b           std     Y+18, r19       ; 0x12
    ad3c:       4b 8b           std     Y+19, r20       ; 0x13
    ad3e:       5c 8b           std     Y+20, r21       ; 0x14
    ad40:       40 91 22 04     lds     r20, 0x0422
    ad44:       50 91 23 04     lds     r21, 0x0423
    ad48:       60 91 24 04     lds     r22, 0x0424
    ad4c:       70 91 25 04     lds     r23, 0x0425
    ad50:       89 88           ldd     r8, Y+17        ; 0x11
    ad52:       9a 88           ldd     r9, Y+18        ; 0x12
    ad54:       ab 88           ldd     r10, Y+19       ; 0x13
    ad56:       bc 88           ldd     r11, Y+20       ; 0x14
    ad58:       84 0e           add     r8, r20
    ad5a:       95 1e           adc     r9, r21
    ad5c:       a6 1e           adc     r10, r22
    ad5e:       b7 1e           adc     r11, r23
    ad60:       80 92 22 04     sts     0x0422, r8
    ad64:       90 92 23 04     sts     0x0423, r9
    ad68:       a0 92 24 04     sts     0x0424, r10
    ad6c:       b0 92 25 04     sts     0x0425, r11
    ad70:       21 c0           rjmp    .+66            ; 0xadb4 <MotorRegler+0x3da8>
    else                 SummeRoll += DiffRoll;  // I-Anteil bei HH
    ad72:       20 91 22 04     lds     r18, 0x0422
    ad76:       30 91 23 04     lds     r19, 0x0423
    ad7a:       40 91 24 04     lds     r20, 0x0424
    ad7e:       50 91 25 04     lds     r21, 0x0425
    ad82:       29 83           std     Y+1, r18        ; 0x01
    ad84:       3a 83           std     Y+2, r19        ; 0x02
    ad86:       4b 83           std     Y+3, r20        ; 0x03
    ad88:       5c 83           std     Y+4, r21        ; 0x04
    ad8a:       ac 01           movw    r20, r24
    ad8c:       66 27           eor     r22, r22
    ad8e:       57 fd           sbrc    r21, 7
    ad90:       60 95           com     r22
    ad92:       76 2f           mov     r23, r22
    ad94:       89 80           ldd     r8, Y+1 ; 0x01
    ad96:       9a 80           ldd     r9, Y+2 ; 0x02
    ad98:       ab 80           ldd     r10, Y+3        ; 0x03
    ad9a:       bc 80           ldd     r11, Y+4        ; 0x04
    ad9c:       48 0d           add     r20, r8
    ad9e:       59 1d           adc     r21, r9
    ada0:       6a 1d           adc     r22, r10
    ada2:       7b 1d           adc     r23, r11
    ada4:       40 93 22 04     sts     0x0422, r20
    ada8:       50 93 23 04     sts     0x0423, r21
    adac:       60 93 24 04     sts     0x0424, r22
    adb0:       70 93 25 04     sts     0x0425, r23
    if(SummeRoll >  (STICK_GAIN * 16000L)) SummeRoll =  (STICK_GAIN * 16000L);
    adb4:       40 91 22 04     lds     r20, 0x0422
    adb8:       50 91 23 04     lds     r21, 0x0423
    adbc:       60 91 24 04     lds     r22, 0x0424
    adc0:       70 91 25 04     lds     r23, 0x0425
    adc4:       41 30           cpi     r20, 0x01       ; 1
    adc6:       0a ef           ldi     r16, 0xFA       ; 250
    adc8:       50 07           cpc     r21, r16
    adca:       61 05           cpc     r22, r1
    adcc:       71 05           cpc     r23, r1
    adce:       6c f0           brlt    .+26            ; 0xadea <MotorRegler+0x3dde>
    add0:       40 e0           ldi     r20, 0x00       ; 0
    add2:       5a ef           ldi     r21, 0xFA       ; 250
    add4:       60 e0           ldi     r22, 0x00       ; 0
    add6:       70 e0           ldi     r23, 0x00       ; 0
    add8:       40 93 22 04     sts     0x0422, r20
    addc:       50 93 23 04     sts     0x0423, r21
    ade0:       60 93 24 04     sts     0x0424, r22
    ade4:       70 93 25 04     sts     0x0425, r23
    ade8:       11 c0           rjmp    .+34            ; 0xae0c <MotorRegler+0x3e00>
    if(SummeRoll < -(16000L * STICK_GAIN)) SummeRoll = -(16000L * STICK_GAIN);
    adea:       41 15           cp      r20, r1
    adec:       56 40           sbci    r21, 0x06       ; 6
    adee:       6f 4f           sbci    r22, 0xFF       ; 255
    adf0:       7f 4f           sbci    r23, 0xFF       ; 255
    adf2:       64 f4           brge    .+24            ; 0xae0c <MotorRegler+0x3e00>
    adf4:       40 e0           ldi     r20, 0x00       ; 0
    adf6:       56 e0           ldi     r21, 0x06       ; 6
    adf8:       6f ef           ldi     r22, 0xFF       ; 255
    adfa:       7f ef           ldi     r23, 0xFF       ; 255
    adfc:       40 93 22 04     sts     0x0422, r20
    ae00:       50 93 23 04     sts     0x0423, r21
    ae04:       60 93 24 04     sts     0x0424, r22
    ae08:       70 93 25 04     sts     0x0425, r23

    if(EE_Parameter.Gyro_Stability <= 8)        pd_ergebnis_roll = (EE_Parameter.Gyro_Stability * DiffRoll) / 8;        // PI-Regler für Roll
    ae0c:       19 30           cpi     r17, 0x09       ; 9
    ae0e:       88 f4           brcc    .+34            ; 0xae32 <MotorRegler+0x3e26>
    ae10:       18 9f           mul     r17, r24
    ae12:       50 01           movw    r10, r0
    ae14:       19 9f           mul     r17, r25
    ae16:       b0 0c           add     r11, r0
    ae18:       11 24           eor     r1, r1
    ae1a:       bb 20           and     r11, r11
    ae1c:       1c f4           brge    .+6             ; 0xae24 <MotorRegler+0x3e18>
    ae1e:       37 e0           ldi     r19, 0x07       ; 7
    ae20:       a3 0e           add     r10, r19
    ae22:       b1 1c           adc     r11, r1
    ae24:       b5 94           asr     r11
    ae26:       a7 94           ror     r10
    ae28:       b5 94           asr     r11
    ae2a:       a7 94           ror     r10
    ae2c:       b5 94           asr     r11
    ae2e:       a7 94           ror     r10
    ae30:       0f c0           rjmp    .+30            ; 0xae50 <MotorRegler+0x3e44>
        else                                                                    pd_ergebnis_roll = ((EE_Parameter.Gyro_Stability / 2) * DiffRoll) / 4;  // Überlauf verhindern
    ae32:       16 95           lsr     r17
    ae34:       18 9f           mul     r17, r24
    ae36:       50 01           movw    r10, r0
    ae38:       19 9f           mul     r17, r25
    ae3a:       b0 0c           add     r11, r0
    ae3c:       11 24           eor     r1, r1
    ae3e:       bb 20           and     r11, r11
    ae40:       1c f4           brge    .+6             ; 0xae48 <MotorRegler+0x3e3c>
    ae42:       43 e0           ldi     r20, 0x03       ; 3
    ae44:       a4 0e           add     r10, r20
    ae46:       b1 1c           adc     r11, r1
    ae48:       b5 94           asr     r11
    ae4a:       a7 94           ror     r10
    ae4c:       b5 94           asr     r11
    ae4e:       a7 94           ror     r10
    pd_ergebnis_roll += SummeRoll / Ki;
    ae50:       60 91 22 04     lds     r22, 0x0422
    ae54:       70 91 23 04     lds     r23, 0x0423
    ae58:       80 91 24 04     lds     r24, 0x0424
    ae5c:       90 91 25 04     lds     r25, 0x0425
    ae60:       a3 01           movw    r20, r6
    ae62:       92 01           movw    r18, r4
    ae64:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    ae68:       2a 0d           add     r18, r10
    ae6a:       3b 1d           adc     r19, r11
    ae6c:       8b 84           ldd     r8, Y+11        ; 0x0b
    ae6e:       9c 84           ldd     r9, Y+12        ; 0x0c
    ae70:       82 16           cp      r8, r18
    ae72:       93 06           cpc     r9, r19
    ae74:       0c f4           brge    .+2             ; 0xae78 <MotorRegler+0x3e6c>
    ae76:       96 01           movw    r18, r12
    ae78:       3c 87           std     Y+12, r19       ; 0x0c
    ae7a:       2b 87           std     Y+11, r18       ; 0x0b
    ae7c:       22 15           cp      r18, r2
    ae7e:       33 05           cpc     r19, r3
    ae80:       14 f4           brge    .+4             ; 0xae86 <MotorRegler+0x3e7a>
    ae82:       3c 86           std     Y+12, r3        ; 0x0c
    ae84:       2b 86           std     Y+11, r2        ; 0x0b
    if(pd_ergebnis_roll >  tmp_int) pd_ergebnis_roll =  tmp_int;
    if(pd_ergebnis_roll < -tmp_int) pd_ergebnis_roll = -tmp_int;

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// send SPI pending bytes
        if(BytegapSPI == 0)  SPI_TransmitByte(); 
    ae86:       80 91 cc 04     lds     r24, 0x04CC
    ae8a:       81 11           cpse    r24, r1
    ae8c:       3d c1           rjmp    .+634           ; 0xb108 <MotorRegler+0x40fc>
    ae8e:       0e 94 de 95     call    0x12bbc ; 0x12bbc <SPI_TransmitByte>
    ae92:       3a c1           rjmp    .+628           ; 0xb108 <MotorRegler+0x40fc>
    ae94:       9e a2           std     Y+38, r9        ; 0x26
    ae96:       8d a2           std     Y+37, r8        ; 0x25
    ae98:       f4 01           movw    r30, r8
    ae9a:       33 97           sbiw    r30, 0x03       ; 3
// Universal Mixer
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        for(i=0; i<MAX_MOTORS; i++)
        {
                signed int tmp_int;
                if(Mixer.Motor[i][0] > 0)
    ae9c:       a0 81           ld      r26, Z
    ae9e:       1a 16           cp      r1, r26
    aea0:       0c f0           brlt    .+2             ; 0xaea4 <MotorRegler+0x3e98>
    aea2:       1d c1           rjmp    .+570           ; 0xb0de <MotorRegler+0x40d2>
                {
                        // Gas
                        if(Mixer.Motor[i][0] == 64) tmp_int = GasMischanteil; else tmp_int =  ((long)GasMischanteil * Mixer.Motor[i][0]) / 64L;
    aea4:       a0 34           cpi     r26, 0x40       ; 64
    aea6:       e1 f0           breq    .+56            ; 0xaee0 <MotorRegler+0x3ed4>
    aea8:       bb 27           eor     r27, r27
    aeaa:       a7 fd           sbrc    r26, 7
    aeac:       b0 95           com     r27
    aeae:       a7 01           movw    r20, r14
    aeb0:       96 01           movw    r18, r12
    aeb2:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    aeb6:       9b 01           movw    r18, r22
    aeb8:       ac 01           movw    r20, r24
    aeba:       99 23           and     r25, r25
    aebc:       24 f4           brge    .+8             ; 0xaec6 <MotorRegler+0x3eba>
    aebe:       21 5c           subi    r18, 0xC1       ; 193
    aec0:       3f 4f           sbci    r19, 0xFF       ; 255
    aec2:       4f 4f           sbci    r20, 0xFF       ; 255
    aec4:       5f 4f           sbci    r21, 0xFF       ; 255
    aec6:       ba 01           movw    r22, r20
    aec8:       a9 01           movw    r20, r18
    aeca:       68 94           set
    aecc:       15 f8           bld     r1, 5
    aece:       75 95           asr     r23
    aed0:       67 95           ror     r22
    aed2:       57 95           ror     r21
    aed4:       47 95           ror     r20
    aed6:       16 94           lsr     r1
    aed8:       d1 f7           brne    .-12            ; 0xaece <MotorRegler+0x3ec2>
    aeda:       5e 83           std     Y+6, r21        ; 0x06
    aedc:       4d 83           std     Y+5, r20        ; 0x05
    aede:       04 c0           rjmp    .+8             ; 0xaee8 <MotorRegler+0x3edc>
    aee0:       0f 8d           ldd     r16, Y+31       ; 0x1f
    aee2:       0d 83           std     Y+5, r16        ; 0x05
    aee4:       e8 a1           ldd     r30, Y+32       ; 0x20
    aee6:       ee 83           std     Y+6, r30        ; 0x06
    aee8:       ad a1           ldd     r26, Y+37       ; 0x25
    aeea:       be a1           ldd     r27, Y+38       ; 0x26
    aeec:       12 97           sbiw    r26, 0x02       ; 2
                        // Nick
                        if(Mixer.Motor[i][1] == 64) tmp_int += pd_ergebnis_nick;
    aeee:       ac 91           ld      r26, X
    aef0:       a0 34           cpi     r26, 0x40       ; 64
    aef2:       49 f4           brne    .+18            ; 0xaf06 <MotorRegler+0x3efa>
    aef4:       ed 81           ldd     r30, Y+5        ; 0x05
    aef6:       fe 81           ldd     r31, Y+6        ; 0x06
    aef8:       2d 85           ldd     r18, Y+13       ; 0x0d
    aefa:       3e 85           ldd     r19, Y+14       ; 0x0e
    aefc:       e2 0f           add     r30, r18
    aefe:       f3 1f           adc     r31, r19
    af00:       fe 83           std     Y+6, r31        ; 0x06
    af02:       ed 83           std     Y+5, r30        ; 0x05
    af04:       2c c0           rjmp    .+88            ; 0xaf5e <MotorRegler+0x3f52>
                        else if(Mixer.Motor[i][1] == -64) tmp_int -= pd_ergebnis_nick;
    af06:       a0 3c           cpi     r26, 0xC0       ; 192
    af08:       49 f4           brne    .+18            ; 0xaf1c <MotorRegler+0x3f10>
    af0a:       ed 81           ldd     r30, Y+5        ; 0x05
    af0c:       fe 81           ldd     r31, Y+6        ; 0x06
    af0e:       2d 85           ldd     r18, Y+13       ; 0x0d
    af10:       3e 85           ldd     r19, Y+14       ; 0x0e
    af12:       e2 1b           sub     r30, r18
    af14:       f3 0b           sbc     r31, r19
    af16:       fe 83           std     Y+6, r31        ; 0x06
    af18:       ed 83           std     Y+5, r30        ; 0x05
    af1a:       21 c0           rjmp    .+66            ; 0xaf5e <MotorRegler+0x3f52>
                        else tmp_int += ((long)pd_ergebnis_nick * Mixer.Motor[i][1]) / 64L;
    af1c:       bb 27           eor     r27, r27
    af1e:       a7 fd           sbrc    r26, 7
    af20:       b0 95           com     r27
    af22:       29 8d           ldd     r18, Y+25       ; 0x19
    af24:       3a 8d           ldd     r19, Y+26       ; 0x1a
    af26:       4b 8d           ldd     r20, Y+27       ; 0x1b
    af28:       5c 8d           ldd     r21, Y+28       ; 0x1c
    af2a:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    af2e:       9b 01           movw    r18, r22
    af30:       ac 01           movw    r20, r24
    af32:       99 23           and     r25, r25
    af34:       24 f4           brge    .+8             ; 0xaf3e <MotorRegler+0x3f32>
    af36:       21 5c           subi    r18, 0xC1       ; 193
    af38:       3f 4f           sbci    r19, 0xFF       ; 255
    af3a:       4f 4f           sbci    r20, 0xFF       ; 255
    af3c:       5f 4f           sbci    r21, 0xFF       ; 255
    af3e:       ba 01           movw    r22, r20
    af40:       a9 01           movw    r20, r18
    af42:       68 94           set
    af44:       15 f8           bld     r1, 5
    af46:       75 95           asr     r23
    af48:       67 95           ror     r22
    af4a:       57 95           ror     r21
    af4c:       47 95           ror     r20
    af4e:       16 94           lsr     r1
    af50:       d1 f7           brne    .-12            ; 0xaf46 <MotorRegler+0x3f3a>
    af52:       ed 81           ldd     r30, Y+5        ; 0x05
    af54:       fe 81           ldd     r31, Y+6        ; 0x06
    af56:       e4 0f           add     r30, r20
    af58:       f5 1f           adc     r31, r21
    af5a:       fe 83           std     Y+6, r31        ; 0x06
    af5c:       ed 83           std     Y+5, r30        ; 0x05
    af5e:       ad a1           ldd     r26, Y+37       ; 0x25
    af60:       be a1           ldd     r27, Y+38       ; 0x26
    af62:       11 97           sbiw    r26, 0x01       ; 1
            // Roll
                        if(Mixer.Motor[i][2] == 64) tmp_int += pd_ergebnis_roll;
    af64:       ac 91           ld      r26, X
    af66:       a0 34           cpi     r26, 0x40       ; 64
    af68:       49 f4           brne    .+18            ; 0xaf7c <MotorRegler+0x3f70>
    af6a:       ed 81           ldd     r30, Y+5        ; 0x05
    af6c:       fe 81           ldd     r31, Y+6        ; 0x06
    af6e:       2b 85           ldd     r18, Y+11       ; 0x0b
    af70:       3c 85           ldd     r19, Y+12       ; 0x0c
    af72:       e2 0f           add     r30, r18
    af74:       f3 1f           adc     r31, r19
    af76:       fe 83           std     Y+6, r31        ; 0x06
    af78:       ed 83           std     Y+5, r30        ; 0x05
    af7a:       2c c0           rjmp    .+88            ; 0xafd4 <MotorRegler+0x3fc8>
                        else if(Mixer.Motor[i][2] == -64) tmp_int -= pd_ergebnis_roll;
    af7c:       a0 3c           cpi     r26, 0xC0       ; 192
    af7e:       49 f4           brne    .+18            ; 0xaf92 <MotorRegler+0x3f86>
    af80:       ed 81           ldd     r30, Y+5        ; 0x05
    af82:       fe 81           ldd     r31, Y+6        ; 0x06
    af84:       2b 85           ldd     r18, Y+11       ; 0x0b
    af86:       3c 85           ldd     r19, Y+12       ; 0x0c
    af88:       e2 1b           sub     r30, r18
    af8a:       f3 0b           sbc     r31, r19
    af8c:       fe 83           std     Y+6, r31        ; 0x06
    af8e:       ed 83           std     Y+5, r30        ; 0x05
    af90:       21 c0           rjmp    .+66            ; 0xafd4 <MotorRegler+0x3fc8>
                        else tmp_int += ((long)pd_ergebnis_roll * Mixer.Motor[i][2]) / 64L;
    af92:       bb 27           eor     r27, r27
    af94:       a7 fd           sbrc    r26, 7
    af96:       b0 95           com     r27
    af98:       2d 89           ldd     r18, Y+21       ; 0x15
    af9a:       3e 89           ldd     r19, Y+22       ; 0x16
    af9c:       4f 89           ldd     r20, Y+23       ; 0x17
    af9e:       58 8d           ldd     r21, Y+24       ; 0x18
    afa0:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    afa4:       9b 01           movw    r18, r22
    afa6:       ac 01           movw    r20, r24
    afa8:       99 23           and     r25, r25
    afaa:       24 f4           brge    .+8             ; 0xafb4 <MotorRegler+0x3fa8>
    afac:       21 5c           subi    r18, 0xC1       ; 193
    afae:       3f 4f           sbci    r19, 0xFF       ; 255
    afb0:       4f 4f           sbci    r20, 0xFF       ; 255
    afb2:       5f 4f           sbci    r21, 0xFF       ; 255
    afb4:       da 01           movw    r26, r20
    afb6:       c9 01           movw    r24, r18
    afb8:       68 94           set
    afba:       15 f8           bld     r1, 5
    afbc:       b5 95           asr     r27
    afbe:       a7 95           ror     r26
    afc0:       97 95           ror     r25
    afc2:       87 95           ror     r24
    afc4:       16 94           lsr     r1
    afc6:       d1 f7           brne    .-12            ; 0xafbc <MotorRegler+0x3fb0>
    afc8:       ed 81           ldd     r30, Y+5        ; 0x05
    afca:       fe 81           ldd     r31, Y+6        ; 0x06
    afcc:       e8 0f           add     r30, r24
    afce:       f9 1f           adc     r31, r25
    afd0:       fe 83           std     Y+6, r31        ; 0x06
    afd2:       ed 83           std     Y+5, r30        ; 0x05
            // Gier
                        if(Mixer.Motor[i][3] == 64) tmp_int += GierMischanteil;
    afd4:       ed a1           ldd     r30, Y+37       ; 0x25
    afd6:       fe a1           ldd     r31, Y+38       ; 0x26
    afd8:       a0 81           ld      r26, Z
    afda:       a0 34           cpi     r26, 0x40       ; 64
    afdc:       39 f4           brne    .+14            ; 0xafec <MotorRegler+0x3fe0>
    afde:       ed 81           ldd     r30, Y+5        ; 0x05
    afe0:       fe 81           ldd     r31, Y+6        ; 0x06
    afe2:       29 85           ldd     r18, Y+9        ; 0x09
    afe4:       3a 85           ldd     r19, Y+10       ; 0x0a
    afe6:       e2 0f           add     r30, r18
    afe8:       f3 1f           adc     r31, r19
    afea:       28 c0           rjmp    .+80            ; 0xb03c <MotorRegler+0x4030>
                        else if(Mixer.Motor[i][3] == -64) tmp_int -= GierMischanteil;
    afec:       a0 3c           cpi     r26, 0xC0       ; 192
    afee:       39 f4           brne    .+14            ; 0xaffe <MotorRegler+0x3ff2>
    aff0:       ed 81           ldd     r30, Y+5        ; 0x05
    aff2:       fe 81           ldd     r31, Y+6        ; 0x06
    aff4:       49 85           ldd     r20, Y+9        ; 0x09
    aff6:       5a 85           ldd     r21, Y+10       ; 0x0a
    aff8:       e4 1b           sub     r30, r20
    affa:       f5 0b           sbc     r31, r21
    affc:       1f c0           rjmp    .+62            ; 0xb03c <MotorRegler+0x4030>
                        else tmp_int += ((long)GierMischanteil * Mixer.Motor[i][3]) / 64L;
    affe:       bb 27           eor     r27, r27
    b000:       a7 fd           sbrc    r26, 7
    b002:       b0 95           com     r27
    b004:       29 89           ldd     r18, Y+17       ; 0x11
    b006:       3a 89           ldd     r19, Y+18       ; 0x12
    b008:       4b 89           ldd     r20, Y+19       ; 0x13
    b00a:       5c 89           ldd     r21, Y+20       ; 0x14
    b00c:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
    b010:       9b 01           movw    r18, r22
    b012:       ac 01           movw    r20, r24
    b014:       99 23           and     r25, r25
    b016:       24 f4           brge    .+8             ; 0xb020 <MotorRegler+0x4014>
    b018:       21 5c           subi    r18, 0xC1       ; 193
    b01a:       3f 4f           sbci    r19, 0xFF       ; 255
    b01c:       4f 4f           sbci    r20, 0xFF       ; 255
    b01e:       5f 4f           sbci    r21, 0xFF       ; 255
    b020:       da 01           movw    r26, r20
    b022:       c9 01           movw    r24, r18
    b024:       68 94           set
    b026:       15 f8           bld     r1, 5
    b028:       b5 95           asr     r27
    b02a:       a7 95           ror     r26
    b02c:       97 95           ror     r25
    b02e:       87 95           ror     r24
    b030:       16 94           lsr     r1
    b032:       d1 f7           brne    .-12            ; 0xb028 <MotorRegler+0x401c>
    b034:       ed 81           ldd     r30, Y+5        ; 0x05
    b036:       fe 81           ldd     r31, Y+6        ; 0x06
    b038:       e8 0f           add     r30, r24
    b03a:       f9 1f           adc     r31, r25
    b03c:       92 01           movw    r18, r4
    b03e:       d2 01           movw    r26, r4
    b040:       12 97           sbiw    r26, 0x02       ; 2
#ifdef REDUNDANT_FC_SLAVE
                        tmp_int = (tmp_motorwert[i] + tmp_int) / 2;     
#else
                        if(Motor[i].Version & MOTOR_STATE_FAST_MODE || tmp_int > tmp_motorwert[i]) tmp_int = (tmp_motorwert[i] + tmp_int) / 2;      // Beschleunigen
    b042:       8c 91           ld      r24, X
    b044:       81 fd           sbrc    r24, 1
    b046:       06 c0           rjmp    .+12            ; 0xb054 <MotorRegler+0x4048>
    b048:       d3 01           movw    r26, r6
    b04a:       8d 91           ld      r24, X+
    b04c:       9c 91           ld      r25, X
    b04e:       8e 17           cp      r24, r30
    b050:       9f 07           cpc     r25, r31
    b052:       5c f4           brge    .+22            ; 0xb06a <MotorRegler+0x405e>
    b054:       d3 01           movw    r26, r6
    b056:       8d 91           ld      r24, X+
    b058:       9c 91           ld      r25, X
    b05a:       e8 0f           add     r30, r24
    b05c:       f9 1f           adc     r31, r25
    b05e:       ff 23           and     r31, r31
    b060:       0c f4           brge    .+2             ; 0xb064 <MotorRegler+0x4058>
    b062:       31 96           adiw    r30, 0x01       ; 1
    b064:       f5 95           asr     r31
    b066:       e7 95           ror     r30
    b068:       11 c0           rjmp    .+34            ; 0xb08c <MotorRegler+0x4080>
            else
                         {  // BL-Ctrl 1.0 or 2.0 
                            if(EE_Parameter.MotorSmooth == 0)
    b06a:       11 11           cpse    r17, r1
    b06c:       05 c0           rjmp    .+10            ; 0xb078 <MotorRegler+0x406c>
                                { 
                                  tmp_int = 2 * tmp_int - tmp_motorwert[i];  // original MotorSmoothing
    b06e:       ee 0f           add     r30, r30
    b070:       ff 1f           adc     r31, r31
    b072:       e8 1b           sub     r30, r24
    b074:       f9 0b           sbc     r31, r25
    b076:       0a c0           rjmp    .+20            ; 0xb08c <MotorRegler+0x4080>
                                }
                                                        else  // 1 means tmp_int = tmp_int;
                            if(EE_Parameter.MotorSmooth > 1) 
    b078:       12 30           cpi     r17, 0x02       ; 2
    b07a:       40 f0           brcs    .+16            ; 0xb08c <MotorRegler+0x4080>
                                {
                                  // If >= 2 then allow >= 50% of the intended step down to rapidly reach the intended value.
                                  tmp_int = tmp_int + ((tmp_motorwert[i] - tmp_int) / EE_Parameter.MotorSmooth);
    b07c:       8e 1b           sub     r24, r30
    b07e:       9f 0b           sbc     r25, r31
    b080:       6b a1           ldd     r22, Y+35       ; 0x23
    b082:       7c a1           ldd     r23, Y+36       ; 0x24
    b084:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    b088:       e6 0f           add     r30, r22
    b08a:       f7 1f           adc     r31, r23
                                }
                        }
#endif
                        LIMIT_MIN_MAX(tmp_int,(int) MIN_GAS * 4,(int) MAX_GAS * 4);
    b08c:       49 81           ldd     r20, Y+1        ; 0x01
    b08e:       5a 81           ldd     r21, Y+2        ; 0x02
    b090:       4e 17           cp      r20, r30
    b092:       5f 07           cpc     r21, r31
    b094:       44 f4           brge    .+16            ; 0xb0a6 <MotorRegler+0x409a>
    b096:       6f 85           ldd     r22, Y+15       ; 0x0f
    b098:       78 89           ldd     r23, Y+16       ; 0x10
    b09a:       6e 17           cp      r22, r30
    b09c:       7f 07           cpc     r23, r31
    b09e:       2c f4           brge    .+10            ; 0xb0aa <MotorRegler+0x409e>
    b0a0:       e9 a1           ldd     r30, Y+33       ; 0x21
    b0a2:       fa a1           ldd     r31, Y+34       ; 0x22
    b0a4:       02 c0           rjmp    .+4             ; 0xb0aa <MotorRegler+0x409e>
    b0a6:       ed 8d           ldd     r30, Y+29       ; 0x1d
    b0a8:       fe 8d           ldd     r31, Y+30       ; 0x1e
                        Motor[i].SetPoint = tmp_int / 4;
    b0aa:       cf 01           movw    r24, r30
    b0ac:       ff 23           and     r31, r31
    b0ae:       0c f4           brge    .+2             ; 0xb0b2 <MotorRegler+0x40a6>
    b0b0:       03 96           adiw    r24, 0x03       ; 3
    b0b2:       95 95           asr     r25
    b0b4:       87 95           ror     r24
    b0b6:       95 95           asr     r25
    b0b8:       87 95           ror     r24
    b0ba:       d5 01           movw    r26, r10
    b0bc:       8c 93           st      X, r24
                        Motor[i].SetPointLowerBits = (tmp_int % 4)<<1; // (3 bits total)
    b0be:       cf 01           movw    r24, r30
    b0c0:       83 70           andi    r24, 0x03       ; 3
    b0c2:       90 78           andi    r25, 0x80       ; 128
    b0c4:       99 23           and     r25, r25
    b0c6:       24 f4           brge    .+8             ; 0xb0d0 <MotorRegler+0x40c4>
    b0c8:       01 97           sbiw    r24, 0x01       ; 1
    b0ca:       8c 6f           ori     r24, 0xFC       ; 252
    b0cc:       9f 6f           ori     r25, 0xFF       ; 255
    b0ce:       01 96           adiw    r24, 0x01       ; 1
    b0d0:       88 0f           add     r24, r24
    b0d2:       d9 01           movw    r26, r18
    b0d4:       8c 93           st      X, r24
            tmp_motorwert[i] = tmp_int;
    b0d6:       d3 01           movw    r26, r6
    b0d8:       ed 93           st      X+, r30
    b0da:       fc 93           st      X, r31
    b0dc:       04 c0           rjmp    .+8             ; 0xb0e6 <MotorRegler+0x40da>
                }
                else
                {
                        Motor[i].SetPoint = 0;
    b0de:       f5 01           movw    r30, r10
    b0e0:       10 82           st      Z, r1
                        Motor[i].SetPointLowerBits = 0;
    b0e2:       d2 01           movw    r26, r4
    b0e4:       1c 92           st      X, r1
    b0e6:       bf e0           ldi     r27, 0x0F       ; 15
    b0e8:       ab 0e           add     r10, r27
    b0ea:       b1 1c           adc     r11, r1
    b0ec:       ef e0           ldi     r30, 0x0F       ; 15
    b0ee:       4e 0e           add     r4, r30
    b0f0:       51 1c           adc     r5, r1
    b0f2:       f2 e0           ldi     r31, 0x02       ; 2
    b0f4:       6f 0e           add     r6, r31
    b0f6:       71 1c           adc     r7, r1
    b0f8:       04 e0           ldi     r16, 0x04       ; 4
    b0fa:       80 0e           add     r8, r16
    b0fc:       91 1c           adc     r9, r1
// send SPI pending bytes
        if(BytegapSPI == 0)  SPI_TransmitByte(); 
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Universal Mixer
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        for(i=0; i<MAX_MOTORS; i++)
    b0fe:       42 14           cp      r4, r2
    b100:       53 04           cpc     r5, r3
    b102:       09 f0           breq    .+2             ; 0xb106 <MotorRegler+0x40fa>
    b104:       c7 ce           rjmp    .-626           ; 0xae94 <MotorRegler+0x3e88>
    b106:       ae c0           rjmp    .+348           ; 0xb264 <MotorRegler+0x4258>
                        tmp_int = (tmp_motorwert[i] + tmp_int) / 2;     
#else
                        if(Motor[i].Version & MOTOR_STATE_FAST_MODE || tmp_int > tmp_motorwert[i]) tmp_int = (tmp_motorwert[i] + tmp_int) / 2;      // Beschleunigen
            else
                         {  // BL-Ctrl 1.0 or 2.0 
                            if(EE_Parameter.MotorSmooth == 0)
    b108:       50 90 a4 05     lds     r5, 0x05A4
                                }
                                                        else  // 1 means tmp_int = tmp_int;
                            if(EE_Parameter.MotorSmooth > 1) 
                                {
                                  // If >= 2 then allow >= 50% of the intended step down to rapidly reach the intended value.
                                  tmp_int = tmp_int + ((tmp_motorwert[i] - tmp_int) / EE_Parameter.MotorSmooth);
    b10c:       e5 2d           mov     r30, r5
    b10e:       f0 e0           ldi     r31, 0x00       ; 0
    b110:       fc a3           std     Y+36, r31       ; 0x24
    b112:       eb a3           std     Y+35, r30       ; 0x23
                                }
                        }
#endif
                        LIMIT_MIN_MAX(tmp_int,(int) MIN_GAS * 4,(int) MAX_GAS * 4);
    b114:       80 91 2c 06     lds     r24, 0x062C
    b118:       90 e0           ldi     r25, 0x00       ; 0
    b11a:       4c 01           movw    r8, r24
    b11c:       88 0c           add     r8, r8
    b11e:       99 1c           adc     r9, r9
    b120:       88 0c           add     r8, r8
    b122:       99 1c           adc     r9, r9
    b124:       9a 82           std     Y+2, r9 ; 0x02
    b126:       89 82           std     Y+1, r8 ; 0x01
    b128:       80 91 64 06     lds     r24, 0x0664
    b12c:       90 e0           ldi     r25, 0x00       ; 0
    b12e:       5c 01           movw    r10, r24
    b130:       aa 0c           add     r10, r10
    b132:       bb 1c           adc     r11, r11
    b134:       aa 0c           add     r10, r10
    b136:       bb 1c           adc     r11, r11
    b138:       b8 8a           std     Y+16, r11       ; 0x10
    b13a:       af 86           std     Y+15, r10       ; 0x0f
    b13c:       0f 2e           mov     r0, r31
    b13e:       f8 e9           ldi     r31, 0x98       ; 152
    b140:       6f 2e           mov     r6, r31
    b142:       f9 e0           ldi     r31, 0x09       ; 9
    b144:       7f 2e           mov     r7, r31
    b146:       f0 2d           mov     r31, r0
    b148:       09 e9           ldi     r16, 0x99       ; 153
    b14a:       19 e0           ldi     r17, 0x09       ; 9
    b14c:       0f 2e           mov     r0, r31
    b14e:       f3 e4           ldi     r31, 0x43       ; 67
    b150:       8f 2e           mov     r8, r31
    b152:       f6 e0           ldi     r31, 0x06       ; 6
    b154:       9f 2e           mov     r9, r31
    b156:       f0 2d           mov     r31, r0
    b158:       0f 2e           mov     r0, r31
    b15a:       f7 ed           ldi     r31, 0xD7       ; 215
    b15c:       af 2e           mov     r10, r31
    b15e:       f5 e0           ldi     r31, 0x05       ; 5
    b160:       bf 2e           mov     r11, r31
    b162:       f0 2d           mov     r31, r0
    b164:       0f 2e           mov     r0, r31
    b166:       fd e4           ldi     r31, 0x4D       ; 77
    b168:       2f 2e           mov     r2, r31
    b16a:       fa e0           ldi     r31, 0x0A       ; 10
    b16c:       3f 2e           mov     r3, r31
    b16e:       f0 2d           mov     r31, r0
    b170:       e9 80           ldd     r14, Y+1        ; 0x01
    b172:       ed 8e           std     Y+29, r14       ; 0x1d
    b174:       fa 80           ldd     r15, Y+2        ; 0x02
    b176:       fe 8e           std     Y+30, r15       ; 0x1e
    b178:       ef 85           ldd     r30, Y+15       ; 0x0f
    b17a:       e9 a3           std     Y+33, r30       ; 0x21
    b17c:       f8 89           ldd     r31, Y+16       ; 0x10
    b17e:       fa a3           std     Y+34, r31       ; 0x22
                        else if(Mixer.Motor[i][2] == -64) tmp_int -= pd_ergebnis_roll;
                        else tmp_int += ((long)pd_ergebnis_roll * Mixer.Motor[i][2]) / 64L;
            // Gier
                        if(Mixer.Motor[i][3] == 64) tmp_int += GierMischanteil;
                        else if(Mixer.Motor[i][3] == -64) tmp_int -= GierMischanteil;
                        else tmp_int += ((long)GierMischanteil * Mixer.Motor[i][3]) / 64L;
    b180:       29 85           ldd     r18, Y+9        ; 0x09
    b182:       3a 85           ldd     r19, Y+10       ; 0x0a
    b184:       44 27           eor     r20, r20
    b186:       37 fd           sbrc    r19, 7
    b188:       40 95           com     r20
    b18a:       54 2f           mov     r21, r20
    b18c:       29 8b           std     Y+17, r18       ; 0x11
    b18e:       3a 8b           std     Y+18, r19       ; 0x12
    b190:       4b 8b           std     Y+19, r20       ; 0x13
    b192:       5c 8b           std     Y+20, r21       ; 0x14
                        else if(Mixer.Motor[i][1] == -64) tmp_int -= pd_ergebnis_nick;
                        else tmp_int += ((long)pd_ergebnis_nick * Mixer.Motor[i][1]) / 64L;
            // Roll
                        if(Mixer.Motor[i][2] == 64) tmp_int += pd_ergebnis_roll;
                        else if(Mixer.Motor[i][2] == -64) tmp_int -= pd_ergebnis_roll;
                        else tmp_int += ((long)pd_ergebnis_roll * Mixer.Motor[i][2]) / 64L;
    b194:       4b 85           ldd     r20, Y+11       ; 0x0b
    b196:       5c 85           ldd     r21, Y+12       ; 0x0c
    b198:       66 27           eor     r22, r22
    b19a:       57 fd           sbrc    r21, 7
    b19c:       60 95           com     r22
    b19e:       76 2f           mov     r23, r22
    b1a0:       4d 8b           std     Y+21, r20       ; 0x15
    b1a2:       5e 8b           std     Y+22, r21       ; 0x16
    b1a4:       6f 8b           std     Y+23, r22       ; 0x17
    b1a6:       78 8f           std     Y+24, r23       ; 0x18
                        // Gas
                        if(Mixer.Motor[i][0] == 64) tmp_int = GasMischanteil; else tmp_int =  ((long)GasMischanteil * Mixer.Motor[i][0]) / 64L;
                        // Nick
                        if(Mixer.Motor[i][1] == 64) tmp_int += pd_ergebnis_nick;
                        else if(Mixer.Motor[i][1] == -64) tmp_int -= pd_ergebnis_nick;
                        else tmp_int += ((long)pd_ergebnis_nick * Mixer.Motor[i][1]) / 64L;
    b1a8:       6d 85           ldd     r22, Y+13       ; 0x0d
    b1aa:       7e 85           ldd     r23, Y+14       ; 0x0e
    b1ac:       88 27           eor     r24, r24
    b1ae:       77 fd           sbrc    r23, 7
    b1b0:       80 95           com     r24
    b1b2:       98 2f           mov     r25, r24
    b1b4:       69 8f           std     Y+25, r22       ; 0x19
    b1b6:       7a 8f           std     Y+26, r23       ; 0x1a
    b1b8:       8b 8f           std     Y+27, r24       ; 0x1b
    b1ba:       9c 8f           std     Y+28, r25       ; 0x1c
        {
                signed int tmp_int;
                if(Mixer.Motor[i][0] > 0)
                {
                        // Gas
                        if(Mixer.Motor[i][0] == 64) tmp_int = GasMischanteil; else tmp_int =  ((long)GasMischanteil * Mixer.Motor[i][0]) / 64L;
    b1bc:       ed 81           ldd     r30, Y+5        ; 0x05
    b1be:       ef 8f           std     Y+31, r30       ; 0x1f
    b1c0:       fe 81           ldd     r31, Y+6        ; 0x06
    b1c2:       f8 a3           std     Y+32, r31       ; 0x20
    b1c4:       2d 81           ldd     r18, Y+5        ; 0x05
    b1c6:       3e 81           ldd     r19, Y+6        ; 0x06
    b1c8:       69 01           movw    r12, r18
    b1ca:       ee 24           eor     r14, r14
    b1cc:       d7 fc           sbrc    r13, 7
    b1ce:       e0 94           com     r14
    b1d0:       fe 2c           mov     r15, r14
    b1d2:       c4 01           movw    r24, r8
    b1d4:       45 01           movw    r8, r10
    b1d6:       53 01           movw    r10, r6
    b1d8:       98 01           movw    r18, r16
    b1da:       15 2d           mov     r17, r5
    b1dc:       29 01           movw    r4, r18
    b1de:       3c 01           movw    r6, r24
    b1e0:       59 ce           rjmp    .-846           ; 0xae94 <MotorRegler+0x3e88>

 MittelIntegralNick  += IntegralNick;    // Für die Mittelwertbildung aufsummieren
 MittelIntegralRoll  += IntegralRoll;
 if(Looping_Nick || Looping_Roll)
  {
    MittelIntegralNick = 0;
    b1e2:       10 92 34 06     sts     0x0634, r1
    b1e6:       10 92 35 06     sts     0x0635, r1
    b1ea:       10 92 36 06     sts     0x0636, r1
    b1ee:       10 92 37 06     sts     0x0637, r1
    MittelIntegralRoll = 0;
    b1f2:       10 92 3c 06     sts     0x063C, r1
    b1f6:       10 92 3d 06     sts     0x063D, r1
    b1fa:       10 92 3e 06     sts     0x063E, r1
    b1fe:       10 92 3f 06     sts     0x063F, r1
    ZaehlMessungen = 0;
    b202:       10 92 53 03     sts     0x0353, r1
    b206:       10 92 52 03     sts     0x0352, r1
    LageKorrekturNick = 0;
    b20a:       10 92 eb 03     sts     0x03EB, r1
    b20e:       10 92 ea 03     sts     0x03EA, r1
    LageKorrekturRoll = 0;
    b212:       10 92 ed 03     sts     0x03ED, r1
    b216:       10 92 ec 03     sts     0x03EC, r1
  }

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  if(!Looping_Nick && !Looping_Roll && (Aktuell_az > 512 || MotorenEin))
    b21a:       80 91 e6 03     lds     r24, 0x03E6
    b21e:       81 11           cpse    r24, r1
    b220:       0c 94 13 45     jmp     0x8a26  ; 0x8a26 <MotorRegler+0x1a1a>
    b224:       0c 94 27 43     jmp     0x864e  ; 0x864e <MotorRegler+0x1642>

 MittelIntegralNick  += IntegralNick;    // Für die Mittelwertbildung aufsummieren
 MittelIntegralRoll  += IntegralRoll;
 if(Looping_Nick || Looping_Roll)
  {
    MittelIntegralNick = 0;
    b228:       10 92 34 06     sts     0x0634, r1
    b22c:       10 92 35 06     sts     0x0635, r1
    b230:       10 92 36 06     sts     0x0636, r1
    b234:       10 92 37 06     sts     0x0637, r1
    MittelIntegralRoll = 0;
    b238:       10 92 3c 06     sts     0x063C, r1
    b23c:       10 92 3d 06     sts     0x063D, r1
    b240:       10 92 3e 06     sts     0x063E, r1
    b244:       10 92 3f 06     sts     0x063F, r1
    ZaehlMessungen = 0;
    b248:       10 92 53 03     sts     0x0353, r1
    b24c:       10 92 52 03     sts     0x0352, r1
    LageKorrekturNick = 0;
    b250:       10 92 eb 03     sts     0x03EB, r1
    b254:       10 92 ea 03     sts     0x03EA, r1
    LageKorrekturRoll = 0;
    b258:       10 92 ed 03     sts     0x03ED, r1
    b25c:       10 92 ec 03     sts     0x03EC, r1
    b260:       0c 94 13 45     jmp     0x8a26  ; 0x8a26 <MotorRegler+0x1a1a>
                }
        }
#ifdef REDUNDANT_FC_MASTER
if(Parameter_UserParam6 > 230) Motor[0].SetPoint = 0;
#endif
}
    b264:       a6 96           adiw    r28, 0x26       ; 38
    b266:       0f b6           in      r0, 0x3f        ; 63
    b268:       f8 94           cli
    b26a:       de bf           out     0x3e, r29       ; 62
    b26c:       0f be           out     0x3f, r0        ; 63
    b26e:       cd bf           out     0x3d, r28       ; 61
    b270:       df 91           pop     r29
    b272:       cf 91           pop     r28
    b274:       1f 91           pop     r17
    b276:       0f 91           pop     r16
    b278:       ff 90           pop     r15
    b27a:       ef 90           pop     r14
    b27c:       df 90           pop     r13
    b27e:       cf 90           pop     r12
    b280:       bf 90           pop     r11
    b282:       af 90           pop     r10
    b284:       9f 90           pop     r9
    b286:       8f 90           pop     r8
    b288:       7f 90           pop     r7
    b28a:       6f 90           pop     r6
    b28c:       5f 90           pop     r5
    b28e:       4f 90           pop     r4
    b290:       3f 90           pop     r3
    b292:       2f 90           pop     r2
    b294:       08 95           ret

0000b296 <PrintLine>:
unsigned char ActiveParamSet = 3;
unsigned char LipoCells = 4;

void PrintLine(void)
{
        printf("\n\r===================================");
    b296:       88 e6           ldi     r24, 0x68       ; 104
    b298:       94 e0           ldi     r25, 0x04       ; 4
    b29a:       9f 93           push    r25
    b29c:       8f 93           push    r24
    b29e:       87 eb           ldi     r24, 0xB7       ; 183
    b2a0:       9c ea           ldi     r25, 0xAC       ; 172
    b2a2:       9f 93           push    r25
    b2a4:       8f 93           push    r24
    b2a6:       e0 91 78 06     lds     r30, 0x0678
    b2aa:       f0 91 79 06     lds     r31, 0x0679
    b2ae:       09 95           icall
    b2b0:       0f 90           pop     r0
    b2b2:       0f 90           pop     r0
    b2b4:       0f 90           pop     r0
    b2b6:       0f 90           pop     r0
    b2b8:       08 95           ret

0000b2ba <CalMk3Mag>:


void CalMk3Mag(void)
{
        static unsigned char stick = 1;
        if(PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] > -20) stick = 0;
    b2ba:       80 91 3f 05     lds     r24, 0x053F
    b2be:       90 e0           ldi     r25, 0x00       ; 0
    b2c0:       fc 01           movw    r30, r24
    b2c2:       ee 0f           add     r30, r30
    b2c4:       ff 1f           adc     r31, r31
    b2c6:       ef 5c           subi    r30, 0xCF       ; 207
    b2c8:       f7 4f           sbci    r31, 0xF7       ; 247
    b2ca:       20 81           ld      r18, Z
    b2cc:       31 81           ldd     r19, Z+1        ; 0x01
    b2ce:       2d 3e           cpi     r18, 0xED       ; 237
    b2d0:       3f 4f           sbci    r19, 0xFF       ; 255
    b2d2:       14 f0           brlt    .+4             ; 0xb2d8 <CalMk3Mag+0x1e>
    b2d4:       10 92 50 01     sts     0x0150, r1
        if((PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] < -70) && !stick)
    b2d8:       fc 01           movw    r30, r24
    b2da:       ee 0f           add     r30, r30
    b2dc:       ff 1f           adc     r31, r31
    b2de:       ef 5c           subi    r30, 0xCF       ; 207
    b2e0:       f7 4f           sbci    r31, 0xF7       ; 247
    b2e2:       80 81           ld      r24, Z
    b2e4:       91 81           ldd     r25, Z+1        ; 0x01
    b2e6:       8a 3b           cpi     r24, 0xBA       ; 186
    b2e8:       9f 4f           sbci    r25, 0xFF       ; 255
    b2ea:       cc f4           brge    .+50            ; 0xb31e <CalMk3Mag+0x64>
    b2ec:       80 91 50 01     lds     r24, 0x0150
    b2f0:       81 11           cpse    r24, r1
    b2f2:       15 c0           rjmp    .+42            ; 0xb31e <CalMk3Mag+0x64>
        {
                stick = 1;
    b2f4:       81 e0           ldi     r24, 0x01       ; 1
    b2f6:       80 93 50 01     sts     0x0150, r24
                WinkelOut.CalcState++;
    b2fa:       ed e7           ldi     r30, 0x7D       ; 125
    b2fc:       fa e0           ldi     r31, 0x0A       ; 10
    b2fe:       80 81           ld      r24, Z
    b300:       8f 5f           subi    r24, 0xFF       ; 255
    b302:       80 83           st      Z, r24
                if(WinkelOut.CalcState > 4)
    b304:       85 30           cpi     r24, 0x05       ; 5
    b306:       38 f0           brcs    .+14            ; 0xb316 <CalMk3Mag+0x5c>
                {
                        //     WinkelOut.CalcState = 0; // in Uart.c
                        beeptime = 1000;
    b308:       88 ee           ldi     r24, 0xE8       ; 232
    b30a:       93 e0           ldi     r25, 0x03       ; 3
    b30c:       90 93 ce 04     sts     0x04CE, r25
    b310:       80 93 cd 04     sts     0x04CD, r24
    b314:       08 95           ret
                }
                else Piep(WinkelOut.CalcState,150);
    b316:       66 e9           ldi     r22, 0x96       ; 150
    b318:       70 e0           ldi     r23, 0x00       ; 0
    b31a:       0c 94 ba 28     jmp     0x5174  ; 0x5174 <Piep>
    b31e:       08 95           ret

0000b320 <LipoDetection>:
        }
}


void LipoDetection(unsigned char print)
{
    b320:       cf 93           push    r28
    b322:       c8 2f           mov     r28, r24
        #define MAX_CELL_VOLTAGE 43 // max cell voltage for LiPO
        if(print)
    b324:       88 23           and     r24, r24
    b326:       11 f1           breq    .+68            ; 0xb36c <LipoDetection+0x4c>
        {
                printf("\n\rBatt:");
    b328:       20 e6           ldi     r18, 0x60       ; 96
    b32a:       34 e0           ldi     r19, 0x04       ; 4
    b32c:       3f 93           push    r19
    b32e:       2f 93           push    r18
    b330:       27 eb           ldi     r18, 0xB7       ; 183
    b332:       3c ea           ldi     r19, 0xAC       ; 172
    b334:       3f 93           push    r19
    b336:       2f 93           push    r18
    b338:       e0 91 78 06     lds     r30, 0x0678
    b33c:       f0 91 79 06     lds     r31, 0x0679
    b340:       09 95           icall
                LipoCells = 1 + UBat / MAX_CELL_VOLTAGE;
    b342:       80 91 1a 01     lds     r24, 0x011A
    b346:       90 91 1b 01     lds     r25, 0x011B
    b34a:       6b e2           ldi     r22, 0x2B       ; 43
    b34c:       70 e0           ldi     r23, 0x00       ; 0
    b34e:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    b352:       6f 5f           subi    r22, 0xFF       ; 255
                if(LipoCells > 6) LipoCells = 6;
    b354:       0f 90           pop     r0
    b356:       0f 90           pop     r0
    b358:       0f 90           pop     r0
    b35a:       0f 90           pop     r0
    b35c:       67 30           cpi     r22, 0x07       ; 7
    b35e:       18 f4           brcc    .+6             ; 0xb366 <LipoDetection+0x46>
{
        #define MAX_CELL_VOLTAGE 43 // max cell voltage for LiPO
        if(print)
        {
                printf("\n\rBatt:");
                LipoCells = 1 + UBat / MAX_CELL_VOLTAGE;
    b360:       60 93 51 01     sts     0x0151, r22
    b364:       03 c0           rjmp    .+6             ; 0xb36c <LipoDetection+0x4c>
                if(LipoCells > 6) LipoCells = 6;
    b366:       86 e0           ldi     r24, 0x06       ; 6
    b368:       80 93 51 01     sts     0x0151, r24
        }

        if(EE_Parameter.UnterspannungsWarnung < 50)
    b36c:       90 91 62 05     lds     r25, 0x0562
    b370:       92 33           cpi     r25, 0x32       ; 50
    b372:       28 f5           brcc    .+74            ; 0xb3be <LipoDetection+0x9e>
        {
                BattLowVoltageWarning = LipoCells * EE_Parameter.UnterspannungsWarnung;
    b374:       80 91 51 01     lds     r24, 0x0151
    b378:       89 9f           mul     r24, r25
    b37a:       90 2d           mov     r25, r0
    b37c:       11 24           eor     r1, r1
    b37e:       90 93 53 01     sts     0x0153, r25
                if(print)
    b382:       cc 23           and     r28, r28
    b384:       f1 f0           breq    .+60            ; 0xb3c2 <LipoDetection+0xa2>
                {
                        Piep(LipoCells, 200);
    b386:       68 ec           ldi     r22, 0xC8       ; 200
    b388:       70 e0           ldi     r23, 0x00       ; 0
    b38a:       0e 94 ba 28     call    0x5174  ; 0x5174 <Piep>
                        printf(" %d Cells ", LipoCells);
    b38e:       80 91 51 01     lds     r24, 0x0151
    b392:       1f 92           push    r1
    b394:       8f 93           push    r24
    b396:       25 e5           ldi     r18, 0x55       ; 85
    b398:       34 e0           ldi     r19, 0x04       ; 4
    b39a:       3f 93           push    r19
    b39c:       2f 93           push    r18
    b39e:       27 eb           ldi     r18, 0xB7       ; 183
    b3a0:       3c ea           ldi     r19, 0xAC       ; 172
    b3a2:       3f 93           push    r19
    b3a4:       2f 93           push    r18
    b3a6:       e0 91 78 06     lds     r30, 0x0678
    b3aa:       f0 91 79 06     lds     r31, 0x0679
    b3ae:       09 95           icall
    b3b0:       0f 90           pop     r0
    b3b2:       0f 90           pop     r0
    b3b4:       0f 90           pop     r0
    b3b6:       0f 90           pop     r0
    b3b8:       0f 90           pop     r0
    b3ba:       0f 90           pop     r0
    b3bc:       02 c0           rjmp    .+4             ; 0xb3c2 <LipoDetection+0xa2>
                }
        }
        else BattLowVoltageWarning = EE_Parameter.UnterspannungsWarnung;
    b3be:       90 93 53 01     sts     0x0153, r25

        // automatische Zellenerkennung
        if(EE_Parameter.AutoLandingVoltage < 50) BattAutoLandingVoltage = LipoCells * EE_Parameter.AutoLandingVoltage; else BattAutoLandingVoltage = EE_Parameter.AutoLandingVoltage;
    b3c2:       80 91 b2 05     lds     r24, 0x05B2
    b3c6:       82 33           cpi     r24, 0x32       ; 50
    b3c8:       40 f4           brcc    .+16            ; 0xb3da <LipoDetection+0xba>
    b3ca:       90 91 51 01     lds     r25, 0x0151
    b3ce:       98 9f           mul     r25, r24
    b3d0:       80 2d           mov     r24, r0
    b3d2:       11 24           eor     r1, r1
    b3d4:       80 93 65 04     sts     0x0465, r24
    b3d8:       02 c0           rjmp    .+4             ; 0xb3de <LipoDetection+0xbe>
    b3da:       80 93 65 04     sts     0x0465, r24
        if(EE_Parameter.ComingHomeVoltage < 50)  BattComingHomeVoltage = LipoCells * EE_Parameter.ComingHomeVoltage; else BattComingHomeVoltage = EE_Parameter.ComingHomeVoltage;
    b3de:       80 91 b3 05     lds     r24, 0x05B3
    b3e2:       82 33           cpi     r24, 0x32       ; 50
    b3e4:       40 f4           brcc    .+16            ; 0xb3f6 <LipoDetection+0xd6>
    b3e6:       90 91 51 01     lds     r25, 0x0151
    b3ea:       98 9f           mul     r25, r24
    b3ec:       90 2d           mov     r25, r0
    b3ee:       11 24           eor     r1, r1
    b3f0:       90 93 64 04     sts     0x0464, r25
    b3f4:       02 c0           rjmp    .+4             ; 0xb3fa <LipoDetection+0xda>
    b3f6:       80 93 64 04     sts     0x0464, r24

        if(BattAutoLandingVoltage > BattLowVoltageWarning) BattAutoLandingVoltage = BattLowVoltageWarning - 1;
    b3fa:       90 91 53 01     lds     r25, 0x0153
    b3fe:       20 91 65 04     lds     r18, 0x0465
    b402:       92 17           cp      r25, r18
    b404:       20 f4           brcc    .+8             ; 0xb40e <LipoDetection+0xee>
    b406:       2f ef           ldi     r18, 0xFF       ; 255
    b408:       29 0f           add     r18, r25
    b40a:       20 93 65 04     sts     0x0465, r18
        if(BattComingHomeVoltage  >= BattLowVoltageWarning) BattComingHomeVoltage  = BattLowVoltageWarning - 1;
    b40e:       20 91 64 04     lds     r18, 0x0464
    b412:       29 17           cp      r18, r25
    b414:       20 f0           brcs    .+8             ; 0xb41e <LipoDetection+0xfe>
    b416:       2f ef           ldi     r18, 0xFF       ; 255
    b418:       29 0f           add     r18, r25
    b41a:       20 93 64 04     sts     0x0464, r18
        if(BattAutoLandingVoltage >= BattComingHomeVoltage && EE_Parameter.ComingHomeVoltage) BattAutoLandingVoltage = BattComingHomeVoltage - 1;
    b41e:       20 91 64 04     lds     r18, 0x0464
    b422:       30 91 65 04     lds     r19, 0x0465
    b426:       32 17           cp      r19, r18
    b428:       28 f0           brcs    .+10            ; 0xb434 <LipoDetection+0x114>
    b42a:       88 23           and     r24, r24
    b42c:       19 f0           breq    .+6             ; 0xb434 <LipoDetection+0x114>
    b42e:       21 50           subi    r18, 0x01       ; 1
    b430:       20 93 65 04     sts     0x0465, r18
        
        if(print)
    b434:       cc 23           and     r28, r28
    b436:       09 f4           brne    .+2             ; 0xb43a <LipoDetection+0x11a>
    b438:       7f c0           rjmp    .+254           ; 0xb538 <LipoDetection+0x218>
        {
                printf(" Low warning: %d.%dV",BattLowVoltageWarning/10,BattLowVoltageWarning%10);
    b43a:       8d ec           ldi     r24, 0xCD       ; 205
    b43c:       98 9f           mul     r25, r24
    b43e:       81 2d           mov     r24, r1
    b440:       11 24           eor     r1, r1
    b442:       86 95           lsr     r24
    b444:       86 95           lsr     r24
    b446:       86 95           lsr     r24
    b448:       28 2f           mov     r18, r24
    b44a:       22 0f           add     r18, r18
    b44c:       32 2f           mov     r19, r18
    b44e:       33 0f           add     r19, r19
    b450:       33 0f           add     r19, r19
    b452:       23 0f           add     r18, r19
    b454:       92 1b           sub     r25, r18
    b456:       1f 92           push    r1
    b458:       9f 93           push    r25
    b45a:       1f 92           push    r1
    b45c:       8f 93           push    r24
    b45e:       80 e4           ldi     r24, 0x40       ; 64
    b460:       94 e0           ldi     r25, 0x04       ; 4
    b462:       9f 93           push    r25
    b464:       8f 93           push    r24
    b466:       87 eb           ldi     r24, 0xB7       ; 183
    b468:       9c ea           ldi     r25, 0xAC       ; 172
    b46a:       9f 93           push    r25
    b46c:       8f 93           push    r24
    b46e:       e0 91 78 06     lds     r30, 0x0678
    b472:       f0 91 79 06     lds     r31, 0x0679
    b476:       09 95           icall
                if(BattComingHomeVoltage) printf("  Auto-CH: %d.%dV",BattComingHomeVoltage/10,BattComingHomeVoltage%10);
    b478:       80 91 64 04     lds     r24, 0x0464
    b47c:       2d b7           in      r18, 0x3d       ; 61
    b47e:       3e b7           in      r19, 0x3e       ; 62
    b480:       28 5f           subi    r18, 0xF8       ; 248
    b482:       3f 4f           sbci    r19, 0xFF       ; 255
    b484:       0f b6           in      r0, 0x3f        ; 63
    b486:       f8 94           cli
    b488:       3e bf           out     0x3e, r19       ; 62
    b48a:       0f be           out     0x3f, r0        ; 63
    b48c:       2d bf           out     0x3d, r18       ; 61
    b48e:       88 23           and     r24, r24
    b490:       39 f1           breq    .+78            ; 0xb4e0 <LipoDetection+0x1c0>
    b492:       9d ec           ldi     r25, 0xCD       ; 205
    b494:       89 9f           mul     r24, r25
    b496:       91 2d           mov     r25, r1
    b498:       11 24           eor     r1, r1
    b49a:       96 95           lsr     r25
    b49c:       96 95           lsr     r25
    b49e:       96 95           lsr     r25
    b4a0:       29 2f           mov     r18, r25
    b4a2:       22 0f           add     r18, r18
    b4a4:       32 2f           mov     r19, r18
    b4a6:       33 0f           add     r19, r19
    b4a8:       33 0f           add     r19, r19
    b4aa:       23 0f           add     r18, r19
    b4ac:       82 1b           sub     r24, r18
    b4ae:       1f 92           push    r1
    b4b0:       8f 93           push    r24
    b4b2:       1f 92           push    r1
    b4b4:       9f 93           push    r25
    b4b6:       8e e2           ldi     r24, 0x2E       ; 46
    b4b8:       94 e0           ldi     r25, 0x04       ; 4
    b4ba:       9f 93           push    r25
    b4bc:       8f 93           push    r24
    b4be:       87 eb           ldi     r24, 0xB7       ; 183
    b4c0:       9c ea           ldi     r25, 0xAC       ; 172
    b4c2:       9f 93           push    r25
    b4c4:       8f 93           push    r24
    b4c6:       e0 91 78 06     lds     r30, 0x0678
    b4ca:       f0 91 79 06     lds     r31, 0x0679
    b4ce:       09 95           icall
    b4d0:       8d b7           in      r24, 0x3d       ; 61
    b4d2:       9e b7           in      r25, 0x3e       ; 62
    b4d4:       08 96           adiw    r24, 0x08       ; 8
    b4d6:       0f b6           in      r0, 0x3f        ; 63
    b4d8:       f8 94           cli
    b4da:       9e bf           out     0x3e, r25       ; 62
    b4dc:       0f be           out     0x3f, r0        ; 63
    b4de:       8d bf           out     0x3d, r24       ; 61
                if(BattAutoLandingVoltage) printf("  Autolanding: %d.%dV",BattAutoLandingVoltage/10,BattAutoLandingVoltage%10);
    b4e0:       80 91 65 04     lds     r24, 0x0465
    b4e4:       88 23           and     r24, r24
    b4e6:       41 f1           breq    .+80            ; 0xb538 <LipoDetection+0x218>
    b4e8:       9d ec           ldi     r25, 0xCD       ; 205
    b4ea:       89 9f           mul     r24, r25
    b4ec:       91 2d           mov     r25, r1
    b4ee:       11 24           eor     r1, r1
    b4f0:       96 95           lsr     r25
    b4f2:       96 95           lsr     r25
    b4f4:       96 95           lsr     r25
    b4f6:       29 2f           mov     r18, r25
    b4f8:       22 0f           add     r18, r18
    b4fa:       32 2f           mov     r19, r18
    b4fc:       33 0f           add     r19, r19
    b4fe:       33 0f           add     r19, r19
    b500:       23 0f           add     r18, r19
    b502:       82 1b           sub     r24, r18
    b504:       1f 92           push    r1
    b506:       8f 93           push    r24
    b508:       1f 92           push    r1
    b50a:       9f 93           push    r25
    b50c:       88 e1           ldi     r24, 0x18       ; 24
    b50e:       94 e0           ldi     r25, 0x04       ; 4
    b510:       9f 93           push    r25
    b512:       8f 93           push    r24
    b514:       87 eb           ldi     r24, 0xB7       ; 183
    b516:       9c ea           ldi     r25, 0xAC       ; 172
    b518:       9f 93           push    r25
    b51a:       8f 93           push    r24
    b51c:       e0 91 78 06     lds     r30, 0x0678
    b520:       f0 91 79 06     lds     r31, 0x0679
    b524:       09 95           icall
    b526:       2d b7           in      r18, 0x3d       ; 61
    b528:       3e b7           in      r19, 0x3e       ; 62
    b52a:       28 5f           subi    r18, 0xF8       ; 248
    b52c:       3f 4f           sbci    r19, 0xFF       ; 255
    b52e:       0f b6           in      r0, 0x3f        ; 63
    b530:       f8 94           cli
    b532:       3e bf           out     0x3e, r19       ; 62
    b534:       0f be           out     0x3f, r0        ; 63
    b536:       2d bf           out     0x3d, r18       ; 61
        }

}
    b538:       cf 91           pop     r28
    b53a:       08 95           ret

0000b53c <main>:
int main (void)
//############################################################################
{
        unsigned int timer,i,timer2 = 0, timerPolling;
        unsigned char update_spi = 1;
        DDRB  = 0x00;
    b53c:       14 b8           out     0x04, r1        ; 4
        PORTB = 0x00;
    b53e:       15 b8           out     0x05, r1        ; 5
        DDRD  = 0x0A; // UART & J3 J4 J5
    b540:       8a e0           ldi     r24, 0x0A       ; 10
    b542:       8a b9           out     0x0a, r24       ; 10
        PORTD = 0x5F; // PPM-Input & UART
    b544:       8f e5           ldi     r24, 0x5F       ; 95
    b546:       8b b9           out     0x0b, r24       ; 11
    b548:       88 ee           ldi     r24, 0xE8       ; 232
    b54a:       93 e0           ldi     r25, 0x03       ; 3
    b54c:       01 97           sbiw    r24, 0x01       ; 1
        for(timer = 0; timer < 1000; timer++); // verzögern
    b54e:       00 97           sbiw    r24, 0x00       ; 0
    b550:       e9 f7           brne    .-6             ; 0xb54c <main+0x10>
        #if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
        unsigned char AccZ_ErrorCnt = 0;
        if(PINB & 0x02)
    b552:       19 9b           sbis    0x03, 1 ; 3
    b554:       0d c0           rjmp    .+26            ; 0xb570 <main+0x34>
        {
                if(PIND & 0x10) PlatinenVersion = 21; // No Bridge from J4 to GND
    b556:       4c 9b           sbis    0x09, 4 ; 9
    b558:       04 c0           rjmp    .+8             ; 0xb562 <main+0x26>
    b55a:       85 e1           ldi     r24, 0x15       ; 21
    b55c:       80 93 54 01     sts     0x0154, r24
    b560:       0d c0           rjmp    .+26            ; 0xb57c <main+0x40>
                else { PlatinenVersion = 22; ACC_AltitudeControl = 1;};
    b562:       86 e1           ldi     r24, 0x16       ; 22
    b564:       80 93 54 01     sts     0x0154, r24
    b568:       81 e0           ldi     r24, 0x01       ; 1
    b56a:       80 93 c2 03     sts     0x03C2, r24
    b56e:       06 c0           rjmp    .+12            ; 0xb57c <main+0x40>
        }
        else
        {
                PlatinenVersion = 25; ACC_AltitudeControl = 1;
    b570:       89 e1           ldi     r24, 0x19       ; 25
    b572:       80 93 54 01     sts     0x0154, r24
    b576:       81 e0           ldi     r24, 0x01       ; 1
    b578:       80 93 c2 03     sts     0x03C2, r24
                        PORTD = 0x47; //
                }
        }
        #endif

        DDRC  = 0x81; // I2C, Spaker
    b57c:       81 e8           ldi     r24, 0x81       ; 129
    b57e:       87 b9           out     0x07, r24       ; 7
        DDRC  |=0x40; // HEF4017 Reset
    b580:       3e 9a           sbi     0x07, 6 ; 7
        PORTC = 0xff; // Pullup SDA
    b582:       8f ef           ldi     r24, 0xFF       ; 255
    b584:       88 b9           out     0x08, r24       ; 8
        DDRB  = 0x1B; // LEDs und Druckoffset
    b586:       8b e1           ldi     r24, 0x1B       ; 27
    b588:       84 b9           out     0x04, r24       ; 4
        PORTB = 0x01; // LED_Rot
    b58a:       81 e0           ldi     r24, 0x01       ; 1
    b58c:       85 b9           out     0x05, r24       ; 5

        HEF4017Reset_ON;
    b58e:       46 9a           sbi     0x08, 6 ; 8
        MCUSR &=~(1<<WDRF);
    b590:       84 b7           in      r24, 0x34       ; 52
    b592:       87 7f           andi    r24, 0xF7       ; 247
    b594:       84 bf           out     0x34, r24       ; 52
        WDTCSR |= (1<<WDCE)|(1<<WDE);
    b596:       e0 e6           ldi     r30, 0x60       ; 96
    b598:       f0 e0           ldi     r31, 0x00       ; 0
    b59a:       80 81           ld      r24, Z
    b59c:       88 61           ori     r24, 0x18       ; 24
    b59e:       80 83           st      Z, r24
        WDTCSR = 0;
    b5a0:       10 82           st      Z, r1

        beeptime = 2500;
    b5a2:       84 ec           ldi     r24, 0xC4       ; 196
    b5a4:       99 e0           ldi     r25, 0x09       ; 9
    b5a6:       90 93 ce 04     sts     0x04CE, r25
    b5aa:       80 93 cd 04     sts     0x04CD, r24
        StickGier = 0; PPM_in[K_GAS] = 0; StickRoll = 0; StickNick = 0;
    b5ae:       10 92 11 04     sts     0x0411, r1
    b5b2:       10 92 10 04     sts     0x0410, r1
    b5b6:       10 92 36 08     sts     0x0836, r1
    b5ba:       10 92 35 08     sts     0x0835, r1
    b5be:       10 92 13 04     sts     0x0413, r1
    b5c2:       10 92 12 04     sts     0x0412, r1
    b5c6:       10 92 15 04     sts     0x0415, r1
    b5ca:       10 92 14 04     sts     0x0414, r1
        if(PlatinenVersion >= 20)  GIER_GRAD_FAKTOR = 1220; else GIER_GRAD_FAKTOR = 1291; // unterschiedlich für ME und ENC
    b5ce:       80 91 54 01     lds     r24, 0x0154
    b5d2:       84 31           cpi     r24, 0x14       ; 20
    b5d4:       68 f0           brcs    .+26            ; 0xb5f0 <main+0xb4>
    b5d6:       84 ec           ldi     r24, 0xC4       ; 196
    b5d8:       94 e0           ldi     r25, 0x04       ; 4
    b5da:       a0 e0           ldi     r26, 0x00       ; 0
    b5dc:       b0 e0           ldi     r27, 0x00       ; 0
    b5de:       80 93 21 01     sts     0x0121, r24
    b5e2:       90 93 22 01     sts     0x0122, r25
    b5e6:       a0 93 23 01     sts     0x0123, r26
    b5ea:       b0 93 24 01     sts     0x0124, r27
    b5ee:       0c c0           rjmp    .+24            ; 0xb608 <main+0xcc>
    b5f0:       8b e0           ldi     r24, 0x0B       ; 11
    b5f2:       95 e0           ldi     r25, 0x05       ; 5
    b5f4:       a0 e0           ldi     r26, 0x00       ; 0
    b5f6:       b0 e0           ldi     r27, 0x00       ; 0
    b5f8:       80 93 21 01     sts     0x0121, r24
    b5fc:       90 93 22 01     sts     0x0122, r25
    b600:       a0 93 23 01     sts     0x0123, r26
    b604:       b0 93 24 01     sts     0x0124, r27
        ROT_OFF;
    b608:       28 98           cbi     0x05, 0 ; 5
        GRN_ON;
    b60a:       80 91 54 01     lds     r24, 0x0154
    b60e:       89 31           cpi     r24, 0x19       ; 25
    b610:       11 f4           brne    .+4             ; 0xb616 <main+0xda>
    b612:       29 9a           sbi     0x05, 1 ; 5
    b614:       01 c0           rjmp    .+2             ; 0xb618 <main+0xdc>
    b616:       29 98           cbi     0x05, 1 ; 5

        Timer_Init();
    b618:       0e 94 ba 9c     call    0x13974 ; 0x13974 <Timer_Init>
        TIMER2_Init();
    b61c:       0e 94 93 9c     call    0x13926 ; 0x13926 <TIMER2_Init>
        UART_Init();
    b620:       0e 94 bf ac     call    0x1597e ; 0x1597e <UART_Init>
        rc_sum_init();
    b624:       0e 94 76 91     call    0x122ec ; 0x122ec <rc_sum_init>
        ADC_Init();
    b628:       0e 94 0e 1b     call    0x361c  ; 0x361c <ADC_Init>
        I2C_Init(1);
    b62c:       81 e0           ldi     r24, 0x01       ; 1
    b62e:       0e 94 c9 a0     call    0x14192 ; 0x14192 <I2C_Init>
        SPI_MasterInit();
    b632:       0e 94 bd 95     call    0x12b7a ; 0x12b7a <SPI_MasterInit>
        Capacity_Init();
    b636:       0e 94 b7 21     call    0x436e  ; 0x436e <Capacity_Init>
        LIBFC_Init(LIB_FC_COMPATIBLE);
    b63a:       87 e0           ldi     r24, 0x07       ; 7
    b63c:       0e 94 19 19     call    0x3232  ; 0x3232 <LIBFC_Init>
        GRN_ON;
    b640:       80 91 54 01     lds     r24, 0x0154
    b644:       89 31           cpi     r24, 0x19       ; 25
    b646:       11 f4           brne    .+4             ; 0xb64c <main+0x110>
    b648:       29 9a           sbi     0x05, 1 ; 5
    b64a:       01 c0           rjmp    .+2             ; 0xb64e <main+0x112>
    b64c:       29 98           cbi     0x05, 1 ; 5
        sei();
    b64e:       78 94           sei
        ParamSet_Init();
    b650:       0e 94 af 26     call    0x4d5e  ; 0x4d5e <ParamSet_Init>
        // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        if(PlatinenVersion < 20)
    b654:       80 91 54 01     lds     r24, 0x0154
    b658:       84 31           cpi     r24, 0x14       ; 20
    b65a:       e8 f4           brcc    .+58            ; 0xb696 <main+0x15a>
        {
                wdt_enable(WDTO_250MS); // Reset-Commando
    b65c:       2c e0           ldi     r18, 0x0C       ; 12
    b65e:       88 e1           ldi     r24, 0x18       ; 24
    b660:       90 e0           ldi     r25, 0x00       ; 0
    b662:       0f b6           in      r0, 0x3f        ; 63
    b664:       f8 94           cli
    b666:       a8 95           wdr
    b668:       80 93 60 00     sts     0x0060, r24
    b66c:       0f be           out     0x3f, r0        ; 63
    b66e:       20 93 60 00     sts     0x0060, r18
                while(1) printf("\n\rOld FC Hardware not supported by this Firmware!");
    b672:       06 ee           ldi     r16, 0xE6       ; 230
    b674:       13 e0           ldi     r17, 0x03       ; 3
    b676:       c7 eb           ldi     r28, 0xB7       ; 183
    b678:       dc ea           ldi     r29, 0xAC       ; 172
    b67a:       1f 93           push    r17
    b67c:       0f 93           push    r16
    b67e:       df 93           push    r29
    b680:       cf 93           push    r28
    b682:       e0 91 78 06     lds     r30, 0x0678
    b686:       f0 91 79 06     lds     r31, 0x0679
    b68a:       09 95           icall
    b68c:       0f 90           pop     r0
    b68e:       0f 90           pop     r0
    b690:       0f 90           pop     r0
    b692:       0f 90           pop     r0
    b694:       f2 cf           rjmp    .-28            ; 0xb67a <main+0x13e>
        #ifndef REDUNDANT_FC_SLAVE
        // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        // + Check connected BL-Ctrls
        // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        // Check connected BL-Ctrls
        BLFlags |= BLFLAG_READ_VERSION;
    b696:       80 91 de 04     lds     r24, 0x04DE
    b69a:       82 60           ori     r24, 0x02       ; 2
    b69c:       80 93 de 04     sts     0x04DE, r24
        motor_read = 0;  // read the first I2C-Data
    b6a0:       10 92 e1 04     sts     0x04E1, r1
    b6a4:       c4 ef           ldi     r28, 0xF4       ; 244
    b6a6:       d1 e0           ldi     r29, 0x01       ; 1
        for(i=0; i < 500; i++)
        {
                SendMotorData();
    b6a8:       0e 94 c7 33     call    0x678e  ; 0x678e <SendMotorData>
                timer = SetDelay(5);
    b6ac:       85 e0           ldi     r24, 0x05       ; 5
    b6ae:       90 e0           ldi     r25, 0x00       ; 0
    b6b0:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
    b6b4:       5c 01           movw    r10, r24
                while(!(BLFlags & BLFLAG_TX_COMPLETE) && !CheckDelay(timer)); //wait for complete transfer
    b6b6:       80 91 de 04     lds     r24, 0x04DE
    b6ba:       80 fd           sbrc    r24, 0
    b6bc:       05 c0           rjmp    .+10            ; 0xb6c8 <main+0x18c>
    b6be:       c5 01           movw    r24, r10
    b6c0:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
    b6c4:       88 23           and     r24, r24
    b6c6:       b9 f3           breq    .-18            ; 0xb6b6 <main+0x17a>
    b6c8:       21 97           sbiw    r28, 0x01       ; 1
        // + Check connected BL-Ctrls
        // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        // Check connected BL-Ctrls
        BLFlags |= BLFLAG_READ_VERSION;
        motor_read = 0;  // read the first I2C-Data
        for(i=0; i < 500; i++)
    b6ca:       20 97           sbiw    r28, 0x00       ; 0
    b6cc:       69 f7           brne    .-38            ; 0xb6a8 <main+0x16c>
        {
                SendMotorData();
                timer = SetDelay(5);
                while(!(BLFlags & BLFLAG_TX_COMPLETE) && !CheckDelay(timer)); //wait for complete transfer
        }
        printf("\n\rFound BL-Ctrl: ");
    b6ce:       84 ed           ldi     r24, 0xD4       ; 212
    b6d0:       93 e0           ldi     r25, 0x03       ; 3
    b6d2:       9f 93           push    r25
    b6d4:       8f 93           push    r24
    b6d6:       87 eb           ldi     r24, 0xB7       ; 183
    b6d8:       9c ea           ldi     r25, 0xAC       ; 172
    b6da:       9f 93           push    r25
    b6dc:       8f 93           push    r24
    b6de:       e0 91 78 06     lds     r30, 0x0678
    b6e2:       f0 91 79 06     lds     r31, 0x0679
    b6e6:       09 95           icall
    b6e8:       0f 2e           mov     r0, r31
    b6ea:       f4 ea           ldi     r31, 0xA4       ; 164
    b6ec:       ef 2e           mov     r14, r31
    b6ee:       f9 e0           ldi     r31, 0x09       ; 9
    b6f0:       ff 2e           mov     r15, r31
    b6f2:       f0 2d           mov     r31, r0
    b6f4:       0f 90           pop     r0
    b6f6:       0f 90           pop     r0
    b6f8:       0f 90           pop     r0
    b6fa:       0f 90           pop     r0
    b6fc:       ca e9           ldi     r28, 0x9A       ; 154
    b6fe:       d9 e0           ldi     r29, 0x09       ; 9
    b700:       0f 2e           mov     r0, r31
    b702:       f4 ed           ldi     r31, 0xD4       ; 212
    b704:       cf 2e           mov     r12, r31
    b706:       f5 e0           ldi     r31, 0x05       ; 5
    b708:       df 2e           mov     r13, r31
    b70a:       f0 2d           mov     r31, r0
    b70c:       01 e0           ldi     r16, 0x01       ; 1
    b70e:       10 e0           ldi     r17, 0x00       ; 0
                        }
                }
                if(Motor[i].State & MOTOR_STATE_PRESENT_MASK)
                {
                        unsigned char vers;
                        printf("%d",(i+1)%10);
    b710:       0f 2e           mov     r0, r31
    b712:       f1 ed           ldi     r31, 0xD1       ; 209
    b714:       2f 2e           mov     r2, r31
    b716:       f3 e0           ldi     r31, 0x03       ; 3
    b718:       3f 2e           mov     r3, r31
    b71a:       f0 2d           mov     r31, r0
    b71c:       0f 2e           mov     r0, r31
    b71e:       f7 eb           ldi     r31, 0xB7       ; 183
    b720:       4f 2e           mov     r4, r31
    b722:       fc ea           ldi     r31, 0xAC       ; 172
    b724:       5f 2e           mov     r5, r31
    b726:       f0 2d           mov     r31, r0
                        FoundMotors++;
                        vers = Motor[i].VersionMajor * 100 + Motor[i].VersionMinor; // creates 104 from 1.04
    b728:       0f 2e           mov     r0, r31
    b72a:       f4 e6           ldi     r31, 0x64       ; 100
    b72c:       9f 2e           mov     r9, r31
    b72e:       f0 2d           mov     r31, r0
                        if(vers && VersionInfo.BL_Firmware > vers) VersionInfo.BL_Firmware = vers;
    b730:       0f 2e           mov     r0, r31
    b732:       f5 e6           ldi     r31, 0x65       ; 101
    b734:       6f 2e           mov     r6, r31
    b736:       fa e0           ldi     r31, 0x0A       ; 10
    b738:       7f 2e           mov     r7, r31
    b73a:       f0 2d           mov     r31, r0
        //    timer = SetDelay(1000);
        for(i=0; i < MAX_MOTORS; i++)
        {
                //              SendMotorData();
                //              while(!(BLFlags & BLFLAG_TX_COMPLETE)  && !CheckDelay(timer)); //wait for complete transfer
                if(Mixer.Motor[i][0] > 0) // wait max 4 sec for the BL-Ctrls to wake up
    b73c:       f6 01           movw    r30, r12
    b73e:       80 81           ld      r24, Z
    b740:       18 16           cp      r1, r24
    b742:       64 f0           brlt    .+24            ; 0xb75c <main+0x220>
    b744:       14 c0           rjmp    .+40            ; 0xb76e <main+0x232>
                {
                        while(!CheckDelay(timer) && !(Motor[i].State & MOTOR_STATE_PRESENT_MASK) )
                        {
                                SendMotorData();
    b746:       0e 94 c7 33     call    0x678e  ; 0x678e <SendMotorData>
                                while(!(BLFlags & BLFLAG_TX_COMPLETE) && !CheckDelay(timer)); //wait for complete transfer
    b74a:       80 91 de 04     lds     r24, 0x04DE
    b74e:       80 fd           sbrc    r24, 0
    b750:       05 c0           rjmp    .+10            ; 0xb75c <main+0x220>
    b752:       c5 01           movw    r24, r10
    b754:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
    b758:       88 23           and     r24, r24
    b75a:       b9 f3           breq    .-18            ; 0xb74a <main+0x20e>
        {
                //              SendMotorData();
                //              while(!(BLFlags & BLFLAG_TX_COMPLETE)  && !CheckDelay(timer)); //wait for complete transfer
                if(Mixer.Motor[i][0] > 0) // wait max 4 sec for the BL-Ctrls to wake up
                {
                        while(!CheckDelay(timer) && !(Motor[i].State & MOTOR_STATE_PRESENT_MASK) )
    b75c:       c5 01           movw    r24, r10
    b75e:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
    b762:       81 11           cpse    r24, r1
    b764:       04 c0           rjmp    .+8             ; 0xb76e <main+0x232>
    b766:       88 81           ld      r24, Y
    b768:       88 23           and     r24, r24
    b76a:       6c f7           brge    .-38            ; 0xb746 <main+0x20a>
    b76c:       04 c0           rjmp    .+8             ; 0xb776 <main+0x23a>
                        {
                                SendMotorData();
                                while(!(BLFlags & BLFLAG_TX_COMPLETE) && !CheckDelay(timer)); //wait for complete transfer
                        }
                }
                if(Motor[i].State & MOTOR_STATE_PRESENT_MASK)
    b76e:       88 81           ld      r24, Y
    b770:       88 23           and     r24, r24
    b772:       0c f0           brlt    .+2             ; 0xb776 <main+0x23a>
    b774:       3f c0           rjmp    .+126           ; 0xb7f4 <main+0x2b8>
                {
                        unsigned char vers;
                        printf("%d",(i+1)%10);
    b776:       98 01           movw    r18, r16
    b778:       ad ec           ldi     r26, 0xCD       ; 205
    b77a:       bc ec           ldi     r27, 0xCC       ; 204
    b77c:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    b780:       96 95           lsr     r25
    b782:       87 95           ror     r24
    b784:       96 95           lsr     r25
    b786:       87 95           ror     r24
    b788:       96 95           lsr     r25
    b78a:       87 95           ror     r24
    b78c:       9c 01           movw    r18, r24
    b78e:       22 0f           add     r18, r18
    b790:       33 1f           adc     r19, r19
    b792:       88 0f           add     r24, r24
    b794:       99 1f           adc     r25, r25
    b796:       88 0f           add     r24, r24
    b798:       99 1f           adc     r25, r25
    b79a:       88 0f           add     r24, r24
    b79c:       99 1f           adc     r25, r25
    b79e:       82 0f           add     r24, r18
    b7a0:       93 1f           adc     r25, r19
    b7a2:       98 01           movw    r18, r16
    b7a4:       28 1b           sub     r18, r24
    b7a6:       39 0b           sbc     r19, r25
    b7a8:       c9 01           movw    r24, r18
    b7aa:       9f 93           push    r25
    b7ac:       2f 93           push    r18
    b7ae:       3f 92           push    r3
    b7b0:       2f 92           push    r2
    b7b2:       5f 92           push    r5
    b7b4:       4f 92           push    r4
    b7b6:       e0 91 78 06     lds     r30, 0x0678
    b7ba:       f0 91 79 06     lds     r31, 0x0679
    b7be:       09 95           icall
                        FoundMotors++;
    b7c0:       80 91 5d 04     lds     r24, 0x045D
    b7c4:       8f 5f           subi    r24, 0xFF       ; 255
    b7c6:       80 93 5d 04     sts     0x045D, r24
    b7ca:       f7 01           movw    r30, r14
    b7cc:       31 97           sbiw    r30, 0x01       ; 1
                        vers = Motor[i].VersionMajor * 100 + Motor[i].VersionMinor; // creates 104 from 1.04
    b7ce:       90 81           ld      r25, Z
    b7d0:       f7 01           movw    r30, r14
    b7d2:       80 81           ld      r24, Z
    b7d4:       99 9d           mul     r25, r9
    b7d6:       80 0d           add     r24, r0
    b7d8:       11 24           eor     r1, r1
                        if(vers && VersionInfo.BL_Firmware > vers) VersionInfo.BL_Firmware = vers;
    b7da:       0f 90           pop     r0
    b7dc:       0f 90           pop     r0
    b7de:       0f 90           pop     r0
    b7e0:       0f 90           pop     r0
    b7e2:       0f 90           pop     r0
    b7e4:       0f 90           pop     r0
    b7e6:       88 23           and     r24, r24
    b7e8:       29 f0           breq    .+10            ; 0xb7f4 <main+0x2b8>
    b7ea:       f3 01           movw    r30, r6
    b7ec:       90 81           ld      r25, Z
    b7ee:       89 17           cp      r24, r25
    b7f0:       08 f4           brcc    .+2             ; 0xb7f4 <main+0x2b8>
    b7f2:       80 83           st      Z, r24
    b7f4:       0f 5f           subi    r16, 0xFF       ; 255
    b7f6:       1f 4f           sbci    r17, 0xFF       ; 255
    b7f8:       f4 e0           ldi     r31, 0x04       ; 4
    b7fa:       cf 0e           add     r12, r31
    b7fc:       d1 1c           adc     r13, r1
    b7fe:       2f 96           adiw    r28, 0x0f       ; 15
    b800:       2f e0           ldi     r18, 0x0F       ; 15
    b802:       e2 0e           add     r14, r18
    b804:       f1 1c           adc     r15, r1
                timer = SetDelay(5);
                while(!(BLFlags & BLFLAG_TX_COMPLETE) && !CheckDelay(timer)); //wait for complete transfer
        }
        printf("\n\rFound BL-Ctrl: ");
        //    timer = SetDelay(1000);
        for(i=0; i < MAX_MOTORS; i++)
    b806:       0d 30           cpi     r16, 0x0D       ; 13
    b808:       11 05           cpc     r17, r1
    b80a:       09 f0           breq    .+2             ; 0xb80e <main+0x2d2>
    b80c:       97 cf           rjmp    .-210           ; 0xb73c <main+0x200>
    b80e:       0f 2e           mov     r0, r31
    b810:       f4 ed           ldi     r31, 0xD4       ; 212
    b812:       ef 2e           mov     r14, r31
    b814:       f5 e0           ldi     r31, 0x05       ; 5
    b816:       ff 2e           mov     r15, r31
    b818:       f0 2d           mov     r31, r0
    b81a:       0a e9           ldi     r16, 0x9A       ; 154
    b81c:       19 e0           ldi     r17, 0x09       ; 9
    b81e:       c1 e0           ldi     r28, 0x01       ; 1
    b820:       d0 e0           ldi     r29, 0x00       ; 0
        }
        for(i=0; i < MAX_MOTORS; i++)
        {
                if(!(Motor[i].State & MOTOR_STATE_PRESENT_MASK) && Mixer.Motor[i][0] > 0)
                {
                        printf("\n\r\n\r!! MISSING BL-CTRL: %d !!",i+1);
    b822:       0f 2e           mov     r0, r31
    b824:       f3 eb           ldi     r31, 0xB3       ; 179
    b826:       af 2e           mov     r10, r31
    b828:       f3 e0           ldi     r31, 0x03       ; 3
    b82a:       bf 2e           mov     r11, r31
    b82c:       f0 2d           mov     r31, r0
    b82e:       0f 2e           mov     r0, r31
    b830:       f7 eb           ldi     r31, 0xB7       ; 183
    b832:       cf 2e           mov     r12, r31
    b834:       fc ea           ldi     r31, 0xAC       ; 172
    b836:       df 2e           mov     r13, r31
    b838:       f0 2d           mov     r31, r0
                        ServoActive = 2; // just in case the FC would be used as camera-stabilizer
    b83a:       68 94           set
    b83c:       77 24           eor     r7, r7
    b83e:       71 f8           bld     r7, 1
    b840:       48 01           movw    r8, r16
                        //                      printf(":V%03d\n\r",vers);
                }
        }
        for(i=0; i < MAX_MOTORS; i++)
        {
                if(!(Motor[i].State & MOTOR_STATE_PRESENT_MASK) && Mixer.Motor[i][0] > 0)
    b842:       f8 01           movw    r30, r16
    b844:       80 81           ld      r24, Z
    b846:       88 23           and     r24, r24
    b848:       bc f0           brlt    .+46            ; 0xb878 <main+0x33c>
    b84a:       f7 01           movw    r30, r14
    b84c:       80 81           ld      r24, Z
    b84e:       18 16           cp      r1, r24
    b850:       9c f4           brge    .+38            ; 0xb878 <main+0x33c>
                {
                        printf("\n\r\n\r!! MISSING BL-CTRL: %d !!",i+1);
    b852:       df 93           push    r29
    b854:       cf 93           push    r28
    b856:       bf 92           push    r11
    b858:       af 92           push    r10
    b85a:       df 92           push    r13
    b85c:       cf 92           push    r12
    b85e:       e0 91 78 06     lds     r30, 0x0678
    b862:       f0 91 79 06     lds     r31, 0x0679
    b866:       09 95           icall
                        ServoActive = 2; // just in case the FC would be used as camera-stabilizer
    b868:       70 92 cb 04     sts     0x04CB, r7
    b86c:       0f 90           pop     r0
    b86e:       0f 90           pop     r0
    b870:       0f 90           pop     r0
    b872:       0f 90           pop     r0
    b874:       0f 90           pop     r0
    b876:       0f 90           pop     r0
                }
                Motor[i].State &= ~MOTOR_STATE_ERROR_MASK; // clear error counter
    b878:       f4 01           movw    r30, r8
    b87a:       80 81           ld      r24, Z
    b87c:       80 78           andi    r24, 0x80       ; 128
    b87e:       80 83           st      Z, r24
    b880:       21 96           adiw    r28, 0x01       ; 1
    b882:       01 5f           subi    r16, 0xF1       ; 241
    b884:       1f 4f           sbci    r17, 0xFF       ; 255
    b886:       f4 e0           ldi     r31, 0x04       ; 4
    b888:       ef 0e           add     r14, r31
    b88a:       f1 1c           adc     r15, r1
                        //                      if(Motor[i].Version & MOTOR_STATE_FAST_MODE) printf("(fast)\n\r");
                        //                      else if(Motor[i].Version & MOTOR_STATE_NEW_PROTOCOL_MASK) printf("(new)\n\r");
                        //                      printf(":V%03d\n\r",vers);
                }
        }
        for(i=0; i < MAX_MOTORS; i++)
    b88c:       cd 30           cpi     r28, 0x0D       ; 13
    b88e:       d1 05           cpc     r29, r1
    b890:       b9 f6           brne    .-82            ; 0xb840 <main+0x304>
                        ServoActive = 2; // just in case the FC would be used as camera-stabilizer
                }
                Motor[i].State &= ~MOTOR_STATE_ERROR_MASK; // clear error counter
        }
        #if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
        if(VersionInfo.BL_Firmware != 255)
    b892:       80 91 65 0a     lds     r24, 0x0A65
    b896:       8f 3f           cpi     r24, 0xFF       ; 255
    b898:       d1 f1           breq    .+116           ; 0xb90e <main+0x3d2>
        {
                printf("\n\rBL-Firmware %d.%02d",VersionInfo.BL_Firmware/100,VersionInfo.BL_Firmware%100);
    b89a:       99 e2           ldi     r25, 0x29       ; 41
    b89c:       89 9f           mul     r24, r25
    b89e:       91 2d           mov     r25, r1
    b8a0:       11 24           eor     r1, r1
    b8a2:       92 95           swap    r25
    b8a4:       9f 70           andi    r25, 0x0F       ; 15
    b8a6:       24 e6           ldi     r18, 0x64       ; 100
    b8a8:       92 9f           mul     r25, r18
    b8aa:       80 19           sub     r24, r0
    b8ac:       11 24           eor     r1, r1
    b8ae:       1f 92           push    r1
    b8b0:       8f 93           push    r24
    b8b2:       1f 92           push    r1
    b8b4:       9f 93           push    r25
    b8b6:       8d e9           ldi     r24, 0x9D       ; 157
    b8b8:       93 e0           ldi     r25, 0x03       ; 3
    b8ba:       9f 93           push    r25
    b8bc:       8f 93           push    r24
    b8be:       87 eb           ldi     r24, 0xB7       ; 183
    b8c0:       9c ea           ldi     r25, 0xAC       ; 172
    b8c2:       9f 93           push    r25
    b8c4:       8f 93           push    r24
    b8c6:       e0 91 78 06     lds     r30, 0x0678
    b8ca:       f0 91 79 06     lds     r31, 0x0679
    b8ce:       09 95           icall
                if(VersionInfo.BL_Firmware >= 100 && VersionInfo.BL_Firmware <= 102) printf("<-- warning old Version!");
    b8d0:       80 91 65 0a     lds     r24, 0x0A65
    b8d4:       84 56           subi    r24, 0x64       ; 100
    b8d6:       4d b7           in      r20, 0x3d       ; 61
    b8d8:       5e b7           in      r21, 0x3e       ; 62
    b8da:       48 5f           subi    r20, 0xF8       ; 248
    b8dc:       5f 4f           sbci    r21, 0xFF       ; 255
    b8de:       0f b6           in      r0, 0x3f        ; 63
    b8e0:       f8 94           cli
    b8e2:       5e bf           out     0x3e, r21       ; 62
    b8e4:       0f be           out     0x3f, r0        ; 63
    b8e6:       4d bf           out     0x3d, r20       ; 61
    b8e8:       83 30           cpi     r24, 0x03       ; 3
    b8ea:       88 f4           brcc    .+34            ; 0xb90e <main+0x3d2>
    b8ec:       84 e8           ldi     r24, 0x84       ; 132
    b8ee:       93 e0           ldi     r25, 0x03       ; 3
    b8f0:       9f 93           push    r25
    b8f2:       8f 93           push    r24
    b8f4:       87 eb           ldi     r24, 0xB7       ; 183
    b8f6:       9c ea           ldi     r25, 0xAC       ; 172
    b8f8:       9f 93           push    r25
    b8fa:       8f 93           push    r24
    b8fc:       e0 91 78 06     lds     r30, 0x0678
    b900:       f0 91 79 06     lds     r31, 0x0679
    b904:       09 95           icall
    b906:       0f 90           pop     r0
    b908:       0f 90           pop     r0
    b90a:       0f 90           pop     r0
    b90c:       0f 90           pop     r0
        }
        #endif

        PrintLine();// ("\n\r===================================");
    b90e:       c3 dc           rcall   .-1658          ; 0xb296 <PrintLine>
        if(RequiredMotors < FoundMotors) VersionInfo.HardwareError[1] |= FC_ERROR1_MIXER;
    b910:       80 91 3d 05     lds     r24, 0x053D
    b914:       90 91 5d 04     lds     r25, 0x045D
    b918:       89 17           cp      r24, r25
    b91a:       28 f4           brcc    .+10            ; 0xb926 <main+0x3ea>
    b91c:       e3 e6           ldi     r30, 0x63       ; 99
    b91e:       fa e0           ldi     r31, 0x0A       ; 10
    b920:       90 81           ld      r25, Z
    b922:       90 61           ori     r25, 0x10       ; 16
    b924:       90 83           st      Z, r25
        if(RequiredMotors > 8) Max_I2C_Packets = 8; else Max_I2C_Packets = RequiredMotors;
    b926:       89 30           cpi     r24, 0x09       ; 9
    b928:       20 f0           brcs    .+8             ; 0xb932 <main+0x3f6>
    b92a:       88 e0           ldi     r24, 0x08       ; 8
    b92c:       80 93 b2 02     sts     0x02B2, r24
    b930:       02 c0           rjmp    .+4             ; 0xb936 <main+0x3fa>
    b932:       80 93 b2 02     sts     0x02B2, r24
        // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        // Calibrating altitude sensor
        // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
        //if(EE_Parameter.GlobalConfig & CFG_HOEHENREGELUNG)
        {
                printf("\n\rCalibrating pressure sensor..");
    b936:       84 e6           ldi     r24, 0x64       ; 100
    b938:       93 e0           ldi     r25, 0x03       ; 3
    b93a:       9f 93           push    r25
    b93c:       8f 93           push    r24
    b93e:       87 eb           ldi     r24, 0xB7       ; 183
    b940:       9c ea           ldi     r25, 0xAC       ; 172
    b942:       9f 93           push    r25
    b944:       8f 93           push    r24
    b946:       e0 91 78 06     lds     r30, 0x0678
    b94a:       f0 91 79 06     lds     r31, 0x0679
    b94e:       09 95           icall
                timer = SetDelay(1000);
    b950:       88 ee           ldi     r24, 0xE8       ; 232
    b952:       93 e0           ldi     r25, 0x03       ; 3
    b954:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
    b958:       ec 01           movw    r28, r24
                SucheLuftruckOffset();
    b95a:       0e 94 4b 1b     call    0x3696  ; 0x3696 <SucheLuftruckOffset>
                while (!CheckDelay(timer));
    b95e:       0f 90           pop     r0
    b960:       0f 90           pop     r0
    b962:       0f 90           pop     r0
    b964:       0f 90           pop     r0
    b966:       ce 01           movw    r24, r28
    b968:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
    b96c:       88 23           and     r24, r24
    b96e:       d9 f3           breq    .-10            ; 0xb966 <main+0x42a>
                printf("OK\n\r");
    b970:       8f e5           ldi     r24, 0x5F       ; 95
    b972:       93 e0           ldi     r25, 0x03       ; 3
    b974:       9f 93           push    r25
    b976:       8f 93           push    r24
    b978:       87 eb           ldi     r24, 0xB7       ; 183
    b97a:       9c ea           ldi     r25, 0xAC       ; 172
    b97c:       9f 93           push    r25
    b97e:       8f 93           push    r24
    b980:       e0 91 78 06     lds     r30, 0x0678
    b984:       f0 91 79 06     lds     r31, 0x0679
    b988:       09 95           icall
        #ifdef REDUNDANT_FC_SLAVE
        VersionInfo.HardwareError[0] = 0;
        VersionInfo.HardwareError[1] = 0;
        #endif

        SetNeutral(0);
    b98a:       80 e0           ldi     r24, 0x00       ; 0
    b98c:       0e 94 53 29     call    0x52a6  ; 0x52a6 <SetNeutral>

        ROT_OFF;
    b990:       28 98           cbi     0x05, 0 ; 5

        beeptime = 2000;
    b992:       80 ed           ldi     r24, 0xD0       ; 208
    b994:       97 e0           ldi     r25, 0x07       ; 7
    b996:       90 93 ce 04     sts     0x04CE, r25
    b99a:       80 93 cd 04     sts     0x04CD, r24
        ExternControl.Digital[0] = 0x55;
    b99e:       85 e5           ldi     r24, 0x55       ; 85
    b9a0:       80 93 7f 0a     sts     0x0A7F, r24


        FlugMinuten = (unsigned int)GetParamByte(PID_FLIGHT_MINUTES) * 256 + (unsigned int)GetParamByte(PID_FLIGHT_MINUTES + 1);
    b9a4:       8e e0           ldi     r24, 0x0E       ; 14
    b9a6:       90 e0           ldi     r25, 0x00       ; 0
    b9a8:       0e 94 42 25     call    0x4a84  ; 0x4a84 <GetParamByte>
    b9ac:       c8 2f           mov     r28, r24
    b9ae:       8f e0           ldi     r24, 0x0F       ; 15
    b9b0:       90 e0           ldi     r25, 0x00       ; 0
    b9b2:       0e 94 42 25     call    0x4a84  ; 0x4a84 <GetParamByte>
    b9b6:       2c 2f           mov     r18, r28
    b9b8:       30 e0           ldi     r19, 0x00       ; 0
    b9ba:       32 2f           mov     r19, r18
    b9bc:       22 27           eor     r18, r18
    b9be:       28 0f           add     r18, r24
    b9c0:       31 1d           adc     r19, r1
    b9c2:       30 93 63 04     sts     0x0463, r19
    b9c6:       20 93 62 04     sts     0x0462, r18
        FlugMinutenGesamt = (unsigned int)GetParamByte(PID_FLIGHT_MINUTES_TOTAL) * 256 + (unsigned int)GetParamByte(PID_FLIGHT_MINUTES_TOTAL + 1);
    b9ca:       8a e0           ldi     r24, 0x0A       ; 10
    b9cc:       90 e0           ldi     r25, 0x00       ; 0
    b9ce:       0e 94 42 25     call    0x4a84  ; 0x4a84 <GetParamByte>
    b9d2:       c8 2f           mov     r28, r24
    b9d4:       8b e0           ldi     r24, 0x0B       ; 11
    b9d6:       90 e0           ldi     r25, 0x00       ; 0
    b9d8:       0e 94 42 25     call    0x4a84  ; 0x4a84 <GetParamByte>
    b9dc:       2c 2f           mov     r18, r28
    b9de:       30 e0           ldi     r19, 0x00       ; 0
    b9e0:       32 2f           mov     r19, r18
    b9e2:       22 27           eor     r18, r18
    b9e4:       f9 01           movw    r30, r18
    b9e6:       e8 0f           add     r30, r24
    b9e8:       f1 1d           adc     r31, r1
    b9ea:       cf 01           movw    r24, r30
    b9ec:       f0 93 61 04     sts     0x0461, r31
    b9f0:       e0 93 60 04     sts     0x0460, r30

        if((FlugMinutenGesamt == 0xFFFF) || (FlugMinuten == 0xFFFF))
    b9f4:       0f 90           pop     r0
    b9f6:       0f 90           pop     r0
    b9f8:       0f 90           pop     r0
    b9fa:       0f 90           pop     r0
    b9fc:       01 96           adiw    r24, 0x01       ; 1
    b9fe:       31 f0           breq    .+12            ; 0xba0c <main+0x4d0>
    ba00:       80 91 62 04     lds     r24, 0x0462
    ba04:       90 91 63 04     lds     r25, 0x0463
    ba08:       01 96           adiw    r24, 0x01       ; 1
    ba0a:       41 f4           brne    .+16            ; 0xba1c <main+0x4e0>
        {
                FlugMinuten = 0;
    ba0c:       10 92 63 04     sts     0x0463, r1
    ba10:       10 92 62 04     sts     0x0462, r1
                FlugMinutenGesamt = 0;
    ba14:       10 92 61 04     sts     0x0461, r1
    ba18:       10 92 60 04     sts     0x0460, r1
        }
        printf("\n\rFlight-time %u min Total:%u min", FlugMinuten, FlugMinutenGesamt);
    ba1c:       80 91 61 04     lds     r24, 0x0461
    ba20:       8f 93           push    r24
    ba22:       80 91 60 04     lds     r24, 0x0460
    ba26:       8f 93           push    r24
    ba28:       80 91 63 04     lds     r24, 0x0463
    ba2c:       8f 93           push    r24
    ba2e:       80 91 62 04     lds     r24, 0x0462
    ba32:       8f 93           push    r24
    ba34:       8d e3           ldi     r24, 0x3D       ; 61
    ba36:       93 e0           ldi     r25, 0x03       ; 3
    ba38:       9f 93           push    r25
    ba3a:       8f 93           push    r24
    ba3c:       87 eb           ldi     r24, 0xB7       ; 183
    ba3e:       9c ea           ldi     r25, 0xAC       ; 172
    ba40:       9f 93           push    r25
    ba42:       8f 93           push    r24
    ba44:       e0 91 78 06     lds     r30, 0x0678
    ba48:       f0 91 79 06     lds     r31, 0x0679
    ba4c:       09 95           icall
        LcdClear();
    ba4e:       0e 94 1d 87     call    0x10e3a ; 0x10e3a <LcdClear>
        I2CTimeout = 5000;
    ba52:       88 e8           ldi     r24, 0x88       ; 136
    ba54:       93 e1           ldi     r25, 0x13       ; 19
    ba56:       90 93 b1 02     sts     0x02B1, r25
    ba5a:       80 93 b0 02     sts     0x02B0, r24
        WinkelOut.Orientation = 1;
    ba5e:       81 e0           ldi     r24, 0x01       ; 1
    ba60:       80 93 7e 0a     sts     0x0A7E, r24
        LipoDetection(1);
    ba64:       5d dc           rcall   .-1862          ; 0xb320 <LipoDetection>
        LIBFC_ReceiverInit(EE_Parameter.Receiver);
    ba66:       80 91 65 05     lds     r24, 0x0565
    ba6a:       0e 94 68 18     call    0x30d0  ; 0x30d0 <LIBFC_ReceiverInit>
        PrintLine();// ("\n\r===================================");
    ba6e:       13 dc           rcall   .-2010          ; 0xb296 <PrintLine>
        //SpektrumBinding();
        timer = SetDelay(2000);
    ba70:       80 ed           ldi     r24, 0xD0       ; 208
    ba72:       97 e0           ldi     r25, 0x07       ; 7
    ba74:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
    ba78:       4c 01           movw    r8, r24
        timerPolling = SetDelay(250);
    ba7a:       8a ef           ldi     r24, 0xFA       ; 250
    ba7c:       90 e0           ldi     r25, 0x00       ; 0
    ba7e:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>

        Debug(ANSI_CLEAR "FC-Start!\n\rFlugzeit: %d min", FlugMinutenGesamt);   // Note: this won't waste flash memory, if #DEBUG is not active
    ba82:       80 91 61 04     lds     r24, 0x0461
    ba86:       8f 93           push    r24
    ba88:       80 91 60 04     lds     r24, 0x0460
    ba8c:       8f 93           push    r24
    ba8e:       8d e1           ldi     r24, 0x1D       ; 29
    ba90:       93 e0           ldi     r25, 0x03       ; 3
    ba92:       9f 93           push    r25
    ba94:       8f 93           push    r24
    ba96:       88 e1           ldi     r24, 0x18       ; 24
    ba98:       93 e2           ldi     r25, 0x23       ; 35
    ba9a:       9f 93           push    r25
    ba9c:       8f 93           push    r24
    ba9e:       e0 91 78 06     lds     r30, 0x0678
    baa2:       f0 91 79 06     lds     r31, 0x0679
    baa6:       09 95           icall
    baa8:       80 e0           ldi     r24, 0x00       ; 0
    baaa:       0e 94 2c 23     call    0x4658  ; 0x4658 <DebugSend>
        //printf("\n\rEE_Parameter size:%i\n\r", PARAMSET_STRUCT_LEN);

        DebugOut.Status[0] = 0x01 | 0x02;
    baae:       83 e0           ldi     r24, 0x03       ; 3
    bab0:       80 93 46 0c     sts     0x0C46, r24
        JetiBeep = 0;
    bab4:       10 92 5c 04     sts     0x045C, r1
        if(EE_Parameter.ExtraConfig & CFG_NO_RCOFF_BEEPING)       DisableRcOffBeeping = 1;
    bab8:       80 91 b8 05     lds     r24, 0x05B8
    babc:       4d b7           in      r20, 0x3d       ; 61
    babe:       5e b7           in      r21, 0x3e       ; 62
    bac0:       42 5f           subi    r20, 0xF2       ; 242
    bac2:       5f 4f           sbci    r21, 0xFF       ; 255
    bac4:       0f b6           in      r0, 0x3f        ; 63
    bac6:       f8 94           cli
    bac8:       5e bf           out     0x3e, r21       ; 62
    baca:       0f be           out     0x3f, r0        ; 63
    bacc:       4d bf           out     0x3d, r20       ; 61
    bace:       84 ff           sbrs    r24, 4
    bad0:       03 c0           rjmp    .+6             ; 0xbad8 <main+0x59c>
    bad2:       81 e0           ldi     r24, 0x01       ; 1
    bad4:       80 93 66 04     sts     0x0466, r24
        ReadBlSize = 3; // don't read the version any more
    bad8:       83 e0           ldi     r24, 0x03       ; 3
    bada:       80 93 b3 02     sts     0x02B3, r24
        PORTB = 0x00;
        DDRD  = 0x0A; // UART & J3 J4 J5
        PORTD = 0x5F; // PPM-Input & UART
        for(timer = 0; timer < 1000; timer++); // verzögern
        #if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
        unsigned char AccZ_ErrorCnt = 0;
    bade:       61 2c           mov     r6, r1
//Hauptprogramm
int main (void)
//############################################################################
{
        unsigned int timer,i,timer2 = 0, timerPolling;
        unsigned char update_spi = 1;
    bae0:       77 24           eor     r7, r7
    bae2:       73 94           inc     r7
//############################################################################
//Hauptprogramm
int main (void)
//############################################################################
{
        unsigned int timer,i,timer2 = 0, timerPolling;
    bae4:       c0 e0           ldi     r28, 0x00       ; 0
    bae6:       d0 e0           ldi     r29, 0x00       ; 0
                if(UpdateMotor && AdReady)      // ReglerIntervall
                {
                        cli();
                        UpdateMotor--;
                        sei();
                        if(WinkelOut.CalcState) CalMk3Mag();
    bae8:       0f 2e           mov     r0, r31
    baea:       fd e7           ldi     r31, 0x7D       ; 125
    baec:       af 2e           mov     r10, r31
    baee:       fa e0           ldi     r31, 0x0A       ; 10
    baf0:       bf 2e           mov     r11, r31
    baf2:       f0 2d           mov     r31, r0
                                        {
                                                static unsigned char second;
                                                timer += 20; // 20 ms interval
                                                CalcNickServoValue();
                                                #if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                                if(EE_Parameter.Receiver == RECEIVER_HOTT) HoTT_Menu();
    baf4:       0f 2e           mov     r0, r31
    baf6:       f5 e6           ldi     r31, 0x65       ; 101
    baf8:       cf 2e           mov     r12, r31
    bafa:       f5 e0           ldi     r31, 0x05       ; 5
    bafc:       df 2e           mov     r13, r31
    bafe:       f0 2d           mov     r31, r0
                                                if(UBat <= BattLowVoltageWarning)
                                                {
                                                        FC_StatusFlags |= FC_STATUS_LOWBAT;
                                                        if(BeepMuster == 0xffff && UBat > 10) // Do not beep, if the voltage reading is below 1V (Supplied via MKUSB)
                                                        {
                                                                beeptime = 6000;
    bb00:       0f 2e           mov     r0, r31
    bb02:       f0 e7           ldi     r31, 0x70       ; 112
    bb04:       ef 2e           mov     r14, r31
    bb06:       f7 e1           ldi     r31, 0x17       ; 23
    bb08:       ff 2e           mov     r15, r31
    bb0a:       f0 2d           mov     r31, r0
                                                        GPS_Roll = 0;
                                                        GPS_Aid_StickMultiplikator = 0;
                                                        GPSInfo.Flags = 0;
                                                        FromNaviCtrl_Value.Kalman_K = -1;
                                                        FromNaviCtrl.AccErrorN = 0;
                                                        FromNaviCtrl.AccErrorR = 0;
    bb0c:       0f 2e           mov     r0, r31
    bb0e:       f7 e1           ldi     r31, 0x17       ; 23
    bb10:       2f 2e           mov     r2, r31
    bb12:       f9 e0           ldi     r31, 0x09       ; 9
    bb14:       3f 2e           mov     r3, r31
    bb16:       f0 2d           mov     r31, r0
                                                        FromNaviCtrl.CompassValue = -1;
    bb18:       0f 2e           mov     r0, r31
    bb1a:       f3 e1           ldi     r31, 0x13       ; 19
    bb1c:       4f 2e           mov     r4, r31
    bb1e:       f9 e0           ldi     r31, 0x09       ; 9
    bb20:       5f 2e           mov     r5, r31
    bb22:       f0 2d           mov     r31, r0
    bb24:       17 2d           mov     r17, r7
    bb26:       06 2d           mov     r16, r6
    bb28:       03 c0           rjmp    .+6             ; 0xbb30 <main+0x5f4>
                        } //else DebugOut.Analog[18]++;
                        if(update_spi) update_spi--;
                } // 500Hz
                if(update_spi == 0) // 41Hz
                {
                        if(SPI_StartTransmitPacket()) update_spi = 12;
    bb2a:       1c e0           ldi     r17, 0x0C       ; 12
    bb2c:       01 c0           rjmp    .+2             ; 0xbb30 <main+0x5f4>
    bb2e:       10 e0           ldi     r17, 0x00       ; 0
        while(!CheckDelay(timer));
        printf("\n\rStart\n\r");
        #endif
        while(1)
        {
                EEAR = EE_DUMMY;  // Set the EEPROM Address pointer to an unused space
    bb30:       12 bc           out     0x22, r1        ; 34
    bb32:       11 bc           out     0x21, r1        ; 33
                if(ReceiverUpdateModeActive) while (1) PORTC &= ~(1<<7); // Beeper off
    bb34:       80 91 ec 04     lds     r24, 0x04EC
    bb38:       88 23           and     r24, r24
    bb3a:       11 f0           breq    .+4             ; 0xbb40 <main+0x604>
    bb3c:       47 98           cbi     0x08, 7 ; 8
    bb3e:       fe cf           rjmp    .-4             ; 0xbb3c <main+0x600>
                if(UpdateMotor && AdReady)      // ReglerIntervall
    bb40:       80 91 d1 04     lds     r24, 0x04D1
    bb44:       88 23           and     r24, r24
    bb46:       09 f4           brne    .+2             ; 0xbb4a <main+0x60e>
    bb48:       bf c2           rjmp    .+1406          ; 0xc0c8 <main+0xb8c>
    bb4a:       80 91 0f 01     lds     r24, 0x010F
    bb4e:       88 23           and     r24, r24
    bb50:       09 f4           brne    .+2             ; 0xbb54 <main+0x618>
    bb52:       ba c2           rjmp    .+1396          ; 0xc0c8 <main+0xb8c>
                {
                        cli();
    bb54:       f8 94           cli
                        UpdateMotor--;
    bb56:       80 91 d1 04     lds     r24, 0x04D1
    bb5a:       81 50           subi    r24, 0x01       ; 1
    bb5c:       80 93 d1 04     sts     0x04D1, r24
                        sei();
    bb60:       78 94           sei
                        if(WinkelOut.CalcState) CalMk3Mag();
    bb62:       f5 01           movw    r30, r10
    bb64:       80 81           ld      r24, Z
    bb66:       88 23           and     r24, r24
    bb68:       11 f0           breq    .+4             ; 0xbb6e <main+0x632>
    bb6a:       a7 db           rcall   .-2226          ; 0xb2ba <CalMk3Mag>
    bb6c:       02 c0           rjmp    .+4             ; 0xbb72 <main+0x636>
                        else  MotorRegler();
    bb6e:       0e 94 06 38     call    0x700c  ; 0x700c <MotorRegler>
                        SendMotorData();
    bb72:       0e 94 c7 33     call    0x678e  ; 0x678e <SendMotorData>
                        ROT_OFF;
    bb76:       28 98           cbi     0x05, 0 ; 5
                        if(SenderOkay)  { SenderOkay--; /*VersionInfo.HardwareError[1] &= ~FC_ERROR1_PPM;*/ }
    bb78:       80 91 04 04     lds     r24, 0x0404
    bb7c:       88 23           and     r24, r24
    bb7e:       31 f0           breq    .+12            ; 0xbb8c <main+0x650>
    bb80:       80 91 04 04     lds     r24, 0x0404
    bb84:       81 50           subi    r24, 0x01       ; 1
    bb86:       80 93 04 04     sts     0x0404, r24
    bb8a:       3e c0           rjmp    .+124           ; 0xbc08 <main+0x6cc>
                        else
                        {
                                TIMSK1 |= _BV(ICIE1); // enable PPM-Input
    bb8c:       ef e6           ldi     r30, 0x6F       ; 111
    bb8e:       f0 e0           ldi     r31, 0x00       ; 0
    bb90:       80 81           ld      r24, Z
    bb92:       80 62           ori     r24, 0x20       ; 32
    bb94:       80 83           st      Z, r24
                                PPM_in[0] = 0; // set RSSI to zero on data timeout
    bb96:       10 92 32 08     sts     0x0832, r1
    bb9a:       10 92 31 08     sts     0x0831, r1
                                VersionInfo.HardwareError[1] |= FC_ERROR1_PPM;
    bb9e:       e3 e6           ldi     r30, 0x63       ; 99
    bba0:       fa e0           ldi     r31, 0x0A       ; 10
    bba2:       80 81           ld      r24, Z
    bba4:       88 60           ori     r24, 0x08       ; 8
    bba6:       80 83           st      Z, r24
                                // Now clear the channel values - they would be wrong
                                PPM_diff[EE_Parameter.Kanalbelegung[K_NICK]] = 0;
    bba8:       20 91 3f 05     lds     r18, 0x053F
    bbac:       30 e0           ldi     r19, 0x00       ; 0
    bbae:       22 0f           add     r18, r18
    bbb0:       33 1f           adc     r19, r19
    bbb2:       f9 01           movw    r30, r18
    bbb4:       e9 58           subi    r30, 0x89       ; 137
    bbb6:       f7 4f           sbci    r31, 0xF7       ; 247
    bbb8:       11 82           std     Z+1, r1 ; 0x01
    bbba:       10 82           st      Z, r1
                                PPM_diff[EE_Parameter.Kanalbelegung[K_ROLL]] = 0;
    bbbc:       80 91 40 05     lds     r24, 0x0540
    bbc0:       90 e0           ldi     r25, 0x00       ; 0
    bbc2:       88 0f           add     r24, r24
    bbc4:       99 1f           adc     r25, r25
    bbc6:       fc 01           movw    r30, r24
    bbc8:       e9 58           subi    r30, 0x89       ; 137
    bbca:       f7 4f           sbci    r31, 0xF7       ; 247
    bbcc:       11 82           std     Z+1, r1 ; 0x01
    bbce:       10 82           st      Z, r1
                                PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] = 0;
    bbd0:       f9 01           movw    r30, r18
    bbd2:       ef 5c           subi    r30, 0xCF       ; 207
    bbd4:       f7 4f           sbci    r31, 0xF7       ; 247
    bbd6:       11 82           std     Z+1, r1 ; 0x01
    bbd8:       10 82           st      Z, r1
                                PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] = 0;
    bbda:       fc 01           movw    r30, r24
    bbdc:       ef 5c           subi    r30, 0xCF       ; 207
    bbde:       f7 4f           sbci    r31, 0xF7       ; 247
    bbe0:       11 82           std     Z+1, r1 ; 0x01
    bbe2:       10 82           st      Z, r1
                                PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] = 0;
    bbe4:       e0 91 42 05     lds     r30, 0x0542
    bbe8:       f0 e0           ldi     r31, 0x00       ; 0
    bbea:       ee 0f           add     r30, r30
    bbec:       ff 1f           adc     r31, r31
    bbee:       ef 5c           subi    r30, 0xCF       ; 207
    bbf0:       f7 4f           sbci    r31, 0xF7       ; 247
    bbf2:       11 82           std     Z+1, r1 ; 0x01
    bbf4:       10 82           st      Z, r1
                                PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] = 0;
    bbf6:       e0 91 41 05     lds     r30, 0x0541
    bbfa:       f0 e0           ldi     r31, 0x00       ; 0
    bbfc:       ee 0f           add     r30, r30
    bbfe:       ff 1f           adc     r31, r31
    bc00:       ef 5c           subi    r30, 0xCF       ; 207
    bc02:       f7 4f           sbci    r31, 0xF7       ; 247
    bc04:       11 82           std     Z+1, r1 ; 0x01
    bc06:       10 82           st      Z, r1
                        }
                        //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                        //if(HoehenReglerAktiv && NaviDataOkay && SenderOkay < 160 && SenderOkay > 10 && FromNaviCtrl_Value.SerialDataOkay > 220) SenderOkay = 160;
                        //if(HoehenReglerAktiv && NaviDataOkay && SenderOkay < 101 && SenderOkay > 10 && FromNaviCtrl_Value.SerialDataOkay > 1) SenderOkay = 101;
                        //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                        if(!--I2CTimeout || MissingMotor)
    bc08:       80 91 b0 02     lds     r24, 0x02B0
    bc0c:       90 91 b1 02     lds     r25, 0x02B1
    bc10:       01 97           sbiw    r24, 0x01       ; 1
    bc12:       90 93 b1 02     sts     0x02B1, r25
    bc16:       80 93 b0 02     sts     0x02B0, r24
    bc1a:       89 2b           or      r24, r25
    bc1c:       21 f0           breq    .+8             ; 0xbc26 <main+0x6ea>
    bc1e:       80 91 df 04     lds     r24, 0x04DF
    bc22:       88 23           and     r24, r24
    bc24:       b1 f1           breq    .+108           ; 0xbc92 <main+0x756>
                        {
                                if(!I2CTimeout)
    bc26:       80 91 b0 02     lds     r24, 0x02B0
    bc2a:       90 91 b1 02     lds     r25, 0x02B1
    bc2e:       89 2b           or      r24, r25
    bc30:       c9 f4           brne    .+50            ; 0xbc64 <main+0x728>
                                {
                                        I2C_Reset();
    bc32:       0e 94 09 a1     call    0x14212 ; 0x14212 <I2C_Reset>
                                        I2CTimeout = 5;
    bc36:       85 e0           ldi     r24, 0x05       ; 5
    bc38:       90 e0           ldi     r25, 0x00       ; 0
    bc3a:       90 93 b1 02     sts     0x02B1, r25
    bc3e:       80 93 b0 02     sts     0x02B0, r24
                                        DebugOut.Analog[28]++; // I2C-Error
    bc42:       e0 e8           ldi     r30, 0x80       ; 128
    bc44:       fc e0           ldi     r31, 0x0C       ; 12
    bc46:       80 81           ld      r24, Z
    bc48:       91 81           ldd     r25, Z+1        ; 0x01
    bc4a:       01 96           adiw    r24, 0x01       ; 1
    bc4c:       91 83           std     Z+1, r25        ; 0x01
    bc4e:       80 83           st      Z, r24
                                        VersionInfo.HardwareError[1] |= FC_ERROR1_I2C;
    bc50:       e3 e6           ldi     r30, 0x63       ; 99
    bc52:       fa e0           ldi     r31, 0x0A       ; 10
    bc54:       80 81           ld      r24, Z
    bc56:       81 60           ori     r24, 0x01       ; 1
    bc58:       80 83           st      Z, r24
                                        DebugOut.Status[1] |= 0x02; // BL-Error-Status
    bc5a:       e7 e4           ldi     r30, 0x47       ; 71
    bc5c:       fc e0           ldi     r31, 0x0C       ; 12
    bc5e:       80 81           ld      r24, Z
    bc60:       82 60           ori     r24, 0x02       ; 2
    bc62:       80 83           st      Z, r24
                                }
                                if((BeepMuster == 0xffff) && MotorenEin)
    bc64:       80 91 a9 02     lds     r24, 0x02A9
    bc68:       90 91 aa 02     lds     r25, 0x02AA
    bc6c:       01 96           adiw    r24, 0x01       ; 1
    bc6e:       91 f4           brne    .+36            ; 0xbc94 <main+0x758>
    bc70:       80 91 03 04     lds     r24, 0x0403
    bc74:       88 23           and     r24, r24
    bc76:       71 f0           breq    .+28            ; 0xbc94 <main+0x758>
                                {
                                        beeptime = 25000;
    bc78:       88 ea           ldi     r24, 0xA8       ; 168
    bc7a:       91 e6           ldi     r25, 0x61       ; 97
    bc7c:       90 93 ce 04     sts     0x04CE, r25
    bc80:       80 93 cd 04     sts     0x04CD, r24
                                        BeepMuster = 0x0080;
    bc84:       80 e8           ldi     r24, 0x80       ; 128
    bc86:       90 e0           ldi     r25, 0x00       ; 0
    bc88:       90 93 aa 02     sts     0x02AA, r25
    bc8c:       80 93 a9 02     sts     0x02A9, r24
    bc90:       01 c0           rjmp    .+2             ; 0xbc94 <main+0x758>
                                }
                        }
                        else
                        {
                                ROT_OFF;
    bc92:       28 98           cbi     0x05, 0 ; 5
                        }
                        LIBFC_Polling();
    bc94:       0e 94 16 1a     call    0x342c  ; 0x342c <LIBFC_Polling>

                        if(!UpdateMotor)
    bc98:       80 91 d1 04     lds     r24, 0x04D1
    bc9c:       81 11           cpse    r24, r1
    bc9e:       11 c2           rjmp    .+1058          ; 0xc0c2 <main+0xb86>
                        {
                                #if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                if(NewSBusData) ProcessSBus();
    bca0:       80 91 ab 04     lds     r24, 0x04AB
    bca4:       88 23           and     r24, r24
    bca6:       19 f0           breq    .+6             ; 0xbcae <main+0x772>
    bca8:       0e 94 33 93     call    0x12666 ; 0x12666 <ProcessSBus>
    bcac:       0a c2           rjmp    .+1044          ; 0xc0c2 <main+0xb86>
                                else
                                #endif
                                {
                                        if(BytegapSPI == 0)  SPI_TransmitByte();
    bcae:       80 91 cc 04     lds     r24, 0x04CC
    bcb2:       81 11           cpse    r24, r1
    bcb4:       02 c0           rjmp    .+4             ; 0xbcba <main+0x77e>
    bcb6:       0e 94 de 95     call    0x12bbc ; 0x12bbc <SPI_TransmitByte>
                                        if(CalculateServoSignals) CalculateServo();
    bcba:       80 91 af 02     lds     r24, 0x02AF
    bcbe:       81 11           cpse    r24, r1
    bcc0:       0e 94 14 9d     call    0x13a28 ; 0x13a28 <CalculateServo>
                                        DatenUebertragung();
    bcc4:       0e 94 00 ad     call    0x15a00 ; 0x15a00 <DatenUebertragung>
                                        BearbeiteRxDaten();
    bcc8:       0e 94 5f a8     call    0x150be ; 0x150be <BearbeiteRxDaten>
                                        if(CheckDelay(timer))
    bccc:       c4 01           movw    r24, r8
    bcce:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
    bcd2:       88 23           and     r24, r24
    bcd4:       09 f4           brne    .+2             ; 0xbcd8 <main+0x79c>
    bcd6:       f1 c1           rjmp    .+994           ; 0xc0ba <main+0xb7e>
                                        {
                                                static unsigned char second;
                                                timer += 20; // 20 ms interval
    bcd8:       24 e1           ldi     r18, 0x14       ; 20
    bcda:       82 0e           add     r8, r18
    bcdc:       91 1c           adc     r9, r1
                                                CalcNickServoValue();
    bcde:       0e 94 d3 9c     call    0x139a6 ; 0x139a6 <CalcNickServoValue>
                                                #if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                                if(EE_Parameter.Receiver == RECEIVER_HOTT) HoTT_Menu();
    bce2:       f6 01           movw    r30, r12
    bce4:       80 81           ld      r24, Z
    bce6:       86 30           cpi     r24, 0x06       ; 6
    bce8:       11 f4           brne    .+4             ; 0xbcee <main+0x7b2>
    bcea:       a9 d7           rcall   .+3922          ; 0xcc3e <HoTT_Menu>
    bcec:       04 c0           rjmp    .+8             ; 0xbcf6 <main+0x7ba>
                                                else
                                                if(EE_Parameter.Receiver == RECEIVER_JETI) BuildJeti_Vario();
    bcee:       84 30           cpi     r24, 0x04       ; 4
    bcf0:       11 f4           brne    .+4             ; 0xbcf6 <main+0x7ba>
    bcf2:       0e 94 2c 84     call    0x10858 ; 0x10858 <BuildJeti_Vario>
                                                // ++++++++++++++++++++++++++++
                                                // + check the ACC-Z range
                                                if(ACC_AltitudeControl && ((Aktuell_az < 300) || (DebugOut.Analog[7] < (128 * 4) && Aktuell_az > 850))) // DebugOut.Analog[7] = GasMischanteil
    bcf6:       80 91 c2 03     lds     r24, 0x03C2
    bcfa:       88 23           and     r24, r24
    bcfc:       29 f1           breq    .+74            ; 0xbd48 <main+0x80c>
    bcfe:       80 91 06 05     lds     r24, 0x0506
    bd02:       90 91 07 05     lds     r25, 0x0507
    bd06:       8c 32           cpi     r24, 0x2C       ; 44
    bd08:       91 40           sbci    r25, 0x01       ; 1
    bd0a:       74 f0           brlt    .+28            ; 0xbd28 <main+0x7ec>
    bd0c:       80 91 56 0c     lds     r24, 0x0C56
    bd10:       90 91 57 0c     lds     r25, 0x0C57
    bd14:       81 15           cp      r24, r1
    bd16:       92 40           sbci    r25, 0x02       ; 2
    bd18:       cc f4           brge    .+50            ; 0xbd4c <main+0x810>
    bd1a:       80 91 06 05     lds     r24, 0x0506
    bd1e:       90 91 07 05     lds     r25, 0x0507
    bd22:       83 35           cpi     r24, 0x53       ; 83
    bd24:       93 40           sbci    r25, 0x03       ; 3
    bd26:       a4 f0           brlt    .+40            ; 0xbd50 <main+0x814>
                                                {
                                                        if(++AccZ_ErrorCnt > 50)
    bd28:       0f 5f           subi    r16, 0xFF       ; 255
    bd2a:       03 33           cpi     r16, 0x33       ; 51
    bd2c:       90 f0           brcs    .+36            ; 0xbd52 <main+0x816>
                                                        {
                                                                if(MotorenEin) VersionInfo.HardwareError[0] |= FC_ERROR0_ACC_TOP;
    bd2e:       80 91 03 04     lds     r24, 0x0403
    bd32:       88 23           and     r24, r24
    bd34:       31 f0           breq    .+12            ; 0xbd42 <main+0x806>
    bd36:       e2 e6           ldi     r30, 0x62       ; 98
    bd38:       fa e0           ldi     r31, 0x0A       ; 10
    bd3a:       80 81           ld      r24, Z
    bd3c:       80 62           ori     r24, 0x20       ; 32
    bd3e:       80 83           st      Z, r24
    bd40:       08 c0           rjmp    .+16            ; 0xbd52 <main+0x816>
                                                                else CalibrationDone = 0;
    bd42:       10 92 ef 03     sts     0x03EF, r1
    bd46:       05 c0           rjmp    .+10            ; 0xbd52 <main+0x816>
                                                        }
                                                }
                                                else AccZ_ErrorCnt = 0;
    bd48:       00 e0           ldi     r16, 0x00       ; 0
    bd4a:       03 c0           rjmp    .+6             ; 0xbd52 <main+0x816>
    bd4c:       00 e0           ldi     r16, 0x00       ; 0
    bd4e:       01 c0           rjmp    .+2             ; 0xbd52 <main+0x816>
    bd50:       00 e0           ldi     r16, 0x00       ; 0
                                                // ++++++++++++++++++++++++++++
                                                #endif
                                                if(MissingMotor || Capacity.MinOfMaxPWM < 30)
    bd52:       80 91 df 04     lds     r24, 0x04DF
    bd56:       81 11           cpse    r24, r1
    bd58:       05 c0           rjmp    .+10            ; 0xbd64 <main+0x828>
    bd5a:       80 91 1b 05     lds     r24, 0x051B
    bd5e:       8e 31           cpi     r24, 0x1E       ; 30
    bd60:       30 f0           brcs    .+12            ; 0xbd6e <main+0x832>
    bd62:       0b c0           rjmp    .+22            ; 0xbd7a <main+0x83e>
                                                {
                                                        if(MissingMotor) VersionInfo.HardwareError[1] |= FC_ERROR1_BL_MISSING;
    bd64:       e3 e6           ldi     r30, 0x63       ; 99
    bd66:       fa e0           ldi     r31, 0x0A       ; 10
    bd68:       80 81           ld      r24, Z
    bd6a:       82 60           ori     r24, 0x02       ; 2
    bd6c:       80 83           st      Z, r24
                                                        DebugOut.Status[1] |= 0x02; // BL-Error-Status
    bd6e:       e7 e4           ldi     r30, 0x47       ; 71
    bd70:       fc e0           ldi     r31, 0x0C       ; 12
    bd72:       80 81           ld      r24, Z
    bd74:       82 60           ori     r24, 0x02       ; 2
    bd76:       80 83           st      Z, r24
    bd78:       11 c0           rjmp    .+34            ; 0xbd9c <main+0x860>
                                                }
                                                else
                                                {
                                                        if(!beeptime)
    bd7a:       80 91 cd 04     lds     r24, 0x04CD
    bd7e:       90 91 ce 04     lds     r25, 0x04CE
    bd82:       89 2b           or      r24, r25
    bd84:       59 f4           brne    .+22            ; 0xbd9c <main+0x860>
                                                        {
                                                                if(I2CTimeout > 6) DebugOut.Status[1] &= ~0x02; // BL-Error-Status
    bd86:       80 91 b0 02     lds     r24, 0x02B0
    bd8a:       90 91 b1 02     lds     r25, 0x02B1
    bd8e:       07 97           sbiw    r24, 0x07       ; 7
    bd90:       28 f0           brcs    .+10            ; 0xbd9c <main+0x860>
    bd92:       e7 e4           ldi     r30, 0x47       ; 71
    bd94:       fc e0           ldi     r31, 0x0C       ; 12
    bd96:       80 81           ld      r24, Z
    bd98:       8d 7f           andi    r24, 0xFD       ; 253
    bd9a:       80 83           st      Z, r24
                                                        }
                                                }
                                                if(DisableRcOffBeeping) if(SenderOkay > 150) { DisableRcOffBeeping = 0; beeptime = 5000;};
    bd9c:       80 91 66 04     lds     r24, 0x0466
    bda0:       88 23           and     r24, r24
    bda2:       61 f0           breq    .+24            ; 0xbdbc <main+0x880>
    bda4:       80 91 04 04     lds     r24, 0x0404
    bda8:       87 39           cpi     r24, 0x97       ; 151
    bdaa:       40 f0           brcs    .+16            ; 0xbdbc <main+0x880>
    bdac:       10 92 66 04     sts     0x0466, r1
    bdb0:       88 e8           ldi     r24, 0x88       ; 136
    bdb2:       93 e1           ldi     r25, 0x13       ; 19
    bdb4:       90 93 ce 04     sts     0x04CE, r25
    bdb8:       80 93 cd 04     sts     0x04CD, r24
                                                if(PcZugriff) PcZugriff--;
    bdbc:       80 91 b5 02     lds     r24, 0x02B5
    bdc0:       88 23           and     r24, r24
    bdc2:       21 f0           breq    .+8             ; 0xbdcc <main+0x890>
    bdc4:       81 50           subi    r24, 0x01       ; 1
    bdc6:       80 93 b5 02     sts     0x02B5, r24
    bdca:       2d c0           rjmp    .+90            ; 0xbe26 <main+0x8ea>
                                                else
                                                {
                                                        ExternControl.Config = 0;
    bdcc:       10 92 89 0a     sts     0x0A89, r1
                                                        ExternStickNick = 0;
    bdd0:       10 92 d7 03     sts     0x03D7, r1
    bdd4:       10 92 d6 03     sts     0x03D6, r1
                                                        ExternStickRoll = 0;
    bdd8:       10 92 d5 03     sts     0x03D5, r1
    bddc:       10 92 d4 03     sts     0x03D4, r1
                                                        ExternStickGier = 0;
    bde0:       10 92 d3 03     sts     0x03D3, r1
    bde4:       10 92 d2 03     sts     0x03D2, r1
                                                        if(!SenderOkay)
    bde8:       80 91 04 04     lds     r24, 0x0404
    bdec:       81 11           cpse    r24, r1
    bdee:       1b c0           rjmp    .+54            ; 0xbe26 <main+0x8ea>
                                                        {
                                                                if(BeepMuster == 0xffff && DisableRcOffBeeping != 2)
    bdf0:       80 91 a9 02     lds     r24, 0x02A9
    bdf4:       90 91 aa 02     lds     r25, 0x02AA
    bdf8:       01 96           adiw    r24, 0x01       ; 1
    bdfa:       a9 f4           brne    .+42            ; 0xbe26 <main+0x8ea>
    bdfc:       20 91 66 04     lds     r18, 0x0466
    be00:       22 30           cpi     r18, 0x02       ; 2
    be02:       89 f0           breq    .+34            ; 0xbe26 <main+0x8ea>
                                                                {
                                                                        beeptime = 15000;
    be04:       88 e9           ldi     r24, 0x98       ; 152
    be06:       9a e3           ldi     r25, 0x3A       ; 58
    be08:       90 93 ce 04     sts     0x04CE, r25
    be0c:       80 93 cd 04     sts     0x04CD, r24
                                                                        BeepMuster = 0x0c00;
    be10:       80 e0           ldi     r24, 0x00       ; 0
    be12:       9c e0           ldi     r25, 0x0C       ; 12
    be14:       90 93 aa 02     sts     0x02AA, r25
    be18:       80 93 a9 02     sts     0x02A9, r24
                                                                        if(DisableRcOffBeeping) DisableRcOffBeeping = 2;
    be1c:       22 23           and     r18, r18
    be1e:       19 f0           breq    .+6             ; 0xbe26 <main+0x8ea>
    be20:       82 e0           ldi     r24, 0x02       ; 2
    be22:       80 93 66 04     sts     0x0466, r24
                                                                }
                                                        }
                                                }
                                                if(NaviDataOkay > 200)
    be26:       80 91 a4 02     lds     r24, 0x02A4
    be2a:       89 3c           cpi     r24, 0xC9       ; 201
    be2c:       70 f0           brcs    .+28            ; 0xbe4a <main+0x90e>
                                                {
                                                        NaviDataOkay--;
    be2e:       81 50           subi    r24, 0x01       ; 1
    be30:       80 93 a4 02     sts     0x02A4, r24
                                                        VersionInfo.HardwareError[1] &= ~FC_ERROR1_SPI_RX;
    be34:       e3 e6           ldi     r30, 0x63       ; 99
    be36:       fa e0           ldi     r31, 0x0A       ; 10
    be38:       80 81           ld      r24, Z
    be3a:       8b 7f           andi    r24, 0xFB       ; 251
    be3c:       80 83           st      Z, r24
                                                        VersionInfo.Flags |= FC_VERSION_FLAG_NC_PRESENT;
    be3e:       e6 e6           ldi     r30, 0x66       ; 102
    be40:       fa e0           ldi     r31, 0x0A       ; 10
    be42:       80 81           ld      r24, Z
    be44:       81 60           ori     r24, 0x01       ; 1
    be46:       80 83           st      Z, r24
    be48:       51 c0           rjmp    .+162           ; 0xbeec <main+0x9b0>
                                                }
                                                else
                                                {
                                                        if(NC_Version.Compatible)
    be4a:       e4 ee           ldi     r30, 0xE4       ; 228
    be4c:       f8 e0           ldi     r31, 0x08       ; 8
    be4e:       80 81           ld      r24, Z
    be50:       88 23           and     r24, r24
    be52:       f1 f0           breq    .+60            ; 0xbe90 <main+0x954>
                                                        {
                                                                VersionInfo.HardwareError[1] |= FC_ERROR1_SPI_RX;
    be54:       e3 e6           ldi     r30, 0x63       ; 99
    be56:       fa e0           ldi     r31, 0x0A       ; 10
    be58:       80 81           ld      r24, Z
    be5a:       84 60           ori     r24, 0x04       ; 4
    be5c:       80 83           st      Z, r24
                                                                NC_ErrorCode = 9; // "ERR: no NC communication"
    be5e:       89 e0           ldi     r24, 0x09       ; 9
    be60:       80 93 bb 04     sts     0x04BB, r24
                                                                if(BeepMuster == 0xffff && MotorenEin)
    be64:       80 91 a9 02     lds     r24, 0x02A9
    be68:       90 91 aa 02     lds     r25, 0x02AA
    be6c:       01 96           adiw    r24, 0x01       ; 1
    be6e:       81 f4           brne    .+32            ; 0xbe90 <main+0x954>
    be70:       80 91 03 04     lds     r24, 0x0403
    be74:       88 23           and     r24, r24
    be76:       61 f0           breq    .+24            ; 0xbe90 <main+0x954>
                                                                {
                                                                        beeptime = 15000;
    be78:       88 e9           ldi     r24, 0x98       ; 152
    be7a:       9a e3           ldi     r25, 0x3A       ; 58
    be7c:       90 93 ce 04     sts     0x04CE, r25
    be80:       80 93 cd 04     sts     0x04CD, r24
                                                                        BeepMuster = 0xA800;
    be84:       80 e0           ldi     r24, 0x00       ; 0
    be86:       98 ea           ldi     r25, 0xA8       ; 168
    be88:       90 93 aa 02     sts     0x02AA, r25
    be8c:       80 93 a9 02     sts     0x02A9, r24
                                                                }
                                                        }
                                                        GPS_Nick = 0;
    be90:       10 92 6b 04     sts     0x046B, r1
    be94:       10 92 6a 04     sts     0x046A, r1
                                                        GPS_Roll = 0;
    be98:       10 92 69 04     sts     0x0469, r1
    be9c:       10 92 68 04     sts     0x0468, r1
                                                        GPS_Aid_StickMultiplikator = 0;
    bea0:       10 92 67 04     sts     0x0467, r1
                                                        GPSInfo.Flags = 0;
    bea4:       e7 ed           ldi     r30, 0xD7       ; 215
    bea6:       f8 e0           ldi     r31, 0x08       ; 8
    bea8:       10 82           st      Z, r1
                                                        FromNaviCtrl_Value.Kalman_K = -1;
    beaa:       8f ef           ldi     r24, 0xFF       ; 255
    beac:       ec e4           ldi     r30, 0x4C       ; 76
    beae:       f9 e0           ldi     r31, 0x09       ; 9
    beb0:       80 83           st      Z, r24
                                                        FromNaviCtrl.AccErrorN = 0;
    beb2:       e5 e1           ldi     r30, 0x15       ; 21
    beb4:       f9 e0           ldi     r31, 0x09       ; 9
    beb6:       11 82           std     Z+1, r1 ; 0x01
    beb8:       10 82           st      Z, r1
                                                        FromNaviCtrl.AccErrorR = 0;
    beba:       f1 01           movw    r30, r2
    bebc:       11 82           std     Z+1, r1 ; 0x01
    bebe:       10 82           st      Z, r1
                                                        FromNaviCtrl.CompassValue = -1;
    bec0:       8f ef           ldi     r24, 0xFF       ; 255
    bec2:       9f ef           ldi     r25, 0xFF       ; 255
    bec4:       f2 01           movw    r30, r4
    bec6:       91 83           std     Z+1, r25        ; 0x01
    bec8:       80 83           st      Z, r24
                                                        FromNC_AltitudeSpeed = 0;
    beca:       10 92 f3 03     sts     0x03F3, r1
                                                        FromNC_AltitudeSetpoint = 0;
    bece:       10 92 f4 03     sts     0x03F4, r1
    bed2:       10 92 f5 03     sts     0x03F5, r1
    bed6:       10 92 f6 03     sts     0x03F6, r1
    beda:       10 92 f7 03     sts     0x03F7, r1
                                                        VersionInfo.Flags &= ~FC_VERSION_FLAG_NC_PRESENT;
    bede:       e6 e6           ldi     r30, 0x66       ; 102
    bee0:       fa e0           ldi     r31, 0x0A       ; 10
    bee2:       80 81           ld      r24, Z
    bee4:       8e 7f           andi    r24, 0xFE       ; 254
    bee6:       80 83           st      Z, r24
                                                        NaviDataOkay = 0;
    bee8:       10 92 a4 02     sts     0x02A4, r1
                                                }
                                                if(UBat <= BattLowVoltageWarning)
    beec:       20 91 53 01     lds     r18, 0x0153
    bef0:       30 e0           ldi     r19, 0x00       ; 0
    bef2:       80 91 1a 01     lds     r24, 0x011A
    bef6:       90 91 1b 01     lds     r25, 0x011B
    befa:       28 17           cp      r18, r24
    befc:       39 07           cpc     r19, r25
    befe:       dc f0           brlt    .+54            ; 0xbf36 <main+0x9fa>
                                                {
                                                        FC_StatusFlags |= FC_STATUS_LOWBAT;
    bf00:       80 91 cb 03     lds     r24, 0x03CB
    bf04:       80 62           ori     r24, 0x20       ; 32
    bf06:       80 93 cb 03     sts     0x03CB, r24
                                                        if(BeepMuster == 0xffff && UBat > 10) // Do not beep, if the voltage reading is below 1V (Supplied via MKUSB)
    bf0a:       80 91 a9 02     lds     r24, 0x02A9
    bf0e:       90 91 aa 02     lds     r25, 0x02AA
    bf12:       01 96           adiw    r24, 0x01       ; 1
    bf14:       81 f4           brne    .+32            ; 0xbf36 <main+0x9fa>
    bf16:       80 91 1a 01     lds     r24, 0x011A
    bf1a:       90 91 1b 01     lds     r25, 0x011B
    bf1e:       0b 97           sbiw    r24, 0x0b       ; 11
    bf20:       54 f0           brlt    .+20            ; 0xbf36 <main+0x9fa>
                                                        {
                                                                beeptime = 6000;
    bf22:       f0 92 ce 04     sts     0x04CE, r15
    bf26:       e0 92 cd 04     sts     0x04CD, r14
                                                                BeepMuster = 0x0300;
    bf2a:       40 e0           ldi     r20, 0x00       ; 0
    bf2c:       53 e0           ldi     r21, 0x03       ; 3
    bf2e:       50 93 aa 02     sts     0x02AA, r21
    bf32:       40 93 a9 02     sts     0x02A9, r20
                                                        }
                                                }
                                                // +++++++++++++++++++++++++++++++++
                                                // Sekundentakt
                                                if(++second == 49)
    bf36:       80 91 5b 04     lds     r24, 0x045B
    bf3a:       8f 5f           subi    r24, 0xFF       ; 255
    bf3c:       80 93 5b 04     sts     0x045B, r24
    bf40:       81 33           cpi     r24, 0x31       ; 49
    bf42:       09 f0           breq    .+2             ; 0xbf46 <main+0xa0a>
    bf44:       82 c0           rjmp    .+260           ; 0xc04a <main+0xb0e>
                                                {
                                                        second = 0;
    bf46:       10 92 5b 04     sts     0x045B, r1
                                                        #if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                                        if(ShowSettingNameTime) ShowSettingNameTime--;
    bf4a:       80 91 80 04     lds     r24, 0x0480
    bf4e:       88 23           and     r24, r24
    bf50:       19 f0           breq    .+6             ; 0xbf58 <main+0xa1c>
    bf52:       81 50           subi    r24, 0x01       ; 1
    bf54:       80 93 80 04     sts     0x0480, r24
                                                        #endif
                                                        if(FC_StatusFlags & FC_STATUS_FLY) FlugSekunden++;
    bf58:       80 91 cb 03     lds     r24, 0x03CB
    bf5c:       81 ff           sbrs    r24, 1
    bf5e:       0a c0           rjmp    .+20            ; 0xbf74 <main+0xa38>
    bf60:       80 91 5e 04     lds     r24, 0x045E
    bf64:       90 91 5f 04     lds     r25, 0x045F
    bf68:       01 96           adiw    r24, 0x01       ; 1
    bf6a:       90 93 5f 04     sts     0x045F, r25
    bf6e:       80 93 5e 04     sts     0x045E, r24
    bf72:       04 c0           rjmp    .+8             ; 0xbf7c <main+0xa40>
                                                        else timer2 = 1450; // 0,5 Minuten aufrunden
    bf74:       5a ea           ldi     r21, 0xAA       ; 170
    bf76:       c5 2f           mov     r28, r21
    bf78:       85 e0           ldi     r24, 0x05       ; 5
    bf7a:       d8 2f           mov     r29, r24
                                                        if(modell_fliegt < 1024)
    bf7c:       80 91 cc 03     lds     r24, 0x03CC
    bf80:       90 91 cd 03     lds     r25, 0x03CD
    bf84:       81 15           cp      r24, r1
    bf86:       94 40           sbci    r25, 0x04       ; 4
    bf88:       08 f0           brcs    .+2             ; 0xbf8c <main+0xa50>
    bf8a:       51 c0           rjmp    .+162           ; 0xc02e <main+0xaf2>
                                                        {
                                                                if(StartLuftdruck < Luftdruck) StartLuftdruck += 5;
    bf8c:       40 91 08 05     lds     r20, 0x0508
    bf90:       50 91 09 05     lds     r21, 0x0509
    bf94:       60 91 0a 05     lds     r22, 0x050A
    bf98:       70 91 0b 05     lds     r23, 0x050B
    bf9c:       80 91 12 01     lds     r24, 0x0112
    bfa0:       90 91 13 01     lds     r25, 0x0113
    bfa4:       a0 91 14 01     lds     r26, 0x0114
    bfa8:       b0 91 15 01     lds     r27, 0x0115
    bfac:       48 17           cp      r20, r24
    bfae:       59 07           cpc     r21, r25
    bfb0:       6a 07           cpc     r22, r26
    bfb2:       7b 07           cpc     r23, r27
    bfb4:       a4 f4           brge    .+40            ; 0xbfde <main+0xaa2>
    bfb6:       80 91 08 05     lds     r24, 0x0508
    bfba:       90 91 09 05     lds     r25, 0x0509
    bfbe:       a0 91 0a 05     lds     r26, 0x050A
    bfc2:       b0 91 0b 05     lds     r27, 0x050B
    bfc6:       05 96           adiw    r24, 0x05       ; 5
    bfc8:       a1 1d           adc     r26, r1
    bfca:       b1 1d           adc     r27, r1
    bfcc:       80 93 08 05     sts     0x0508, r24
    bfd0:       90 93 09 05     sts     0x0509, r25
    bfd4:       a0 93 0a 05     sts     0x050A, r26
    bfd8:       b0 93 0b 05     sts     0x050B, r27
    bfdc:       28 c0           rjmp    .+80            ; 0xc02e <main+0xaf2>
                                                                else
                                                                if(StartLuftdruck > Luftdruck) StartLuftdruck -= 5;
    bfde:       40 91 08 05     lds     r20, 0x0508
    bfe2:       50 91 09 05     lds     r21, 0x0509
    bfe6:       60 91 0a 05     lds     r22, 0x050A
    bfea:       70 91 0b 05     lds     r23, 0x050B
    bfee:       80 91 12 01     lds     r24, 0x0112
    bff2:       90 91 13 01     lds     r25, 0x0113
    bff6:       a0 91 14 01     lds     r26, 0x0114
    bffa:       b0 91 15 01     lds     r27, 0x0115
    bffe:       84 17           cp      r24, r20
    c000:       95 07           cpc     r25, r21
    c002:       a6 07           cpc     r26, r22
    c004:       b7 07           cpc     r27, r23
    c006:       9c f4           brge    .+38            ; 0xc02e <main+0xaf2>
    c008:       80 91 08 05     lds     r24, 0x0508
    c00c:       90 91 09 05     lds     r25, 0x0509
    c010:       a0 91 0a 05     lds     r26, 0x050A
    c014:       b0 91 0b 05     lds     r27, 0x050B
    c018:       05 97           sbiw    r24, 0x05       ; 5
    c01a:       a1 09           sbc     r26, r1
    c01c:       b1 09           sbc     r27, r1
    c01e:       80 93 08 05     sts     0x0508, r24
    c022:       90 93 09 05     sts     0x0509, r25
    c026:       a0 93 0a 05     sts     0x050A, r26
    c02a:       b0 93 0b 05     sts     0x050B, r27
                                                        }
                                                        if(UBat > BattLowVoltageWarning + 1) FC_StatusFlags &= ~FC_STATUS_LOWBAT;
    c02e:       80 91 1a 01     lds     r24, 0x011A
    c032:       90 91 1b 01     lds     r25, 0x011B
    c036:       2f 5f           subi    r18, 0xFF       ; 255
    c038:       3f 4f           sbci    r19, 0xFF       ; 255
    c03a:       28 17           cp      r18, r24
    c03c:       39 07           cpc     r19, r25
    c03e:       2c f4           brge    .+10            ; 0xc04a <main+0xb0e>
    c040:       80 91 cb 03     lds     r24, 0x03CB
    c044:       8f 7d           andi    r24, 0xDF       ; 223
    c046:       80 93 cb 03     sts     0x03CB, r24
                                                }
                                                // +++++++++++++++++++++++++++++++++
                                                if(++timer2 == 2930)  // eine Minute
    c04a:       21 96           adiw    r28, 0x01       ; 1
    c04c:       c2 37           cpi     r28, 0x72       ; 114
    c04e:       fb e0           ldi     r31, 0x0B       ; 11
    c050:       df 07           cpc     r29, r31
    c052:       99 f5           brne    .+102           ; 0xc0ba <main+0xb7e>
                                                {
                                                        timer2 = 0;
                                                        FlugMinuten++;
    c054:       80 91 62 04     lds     r24, 0x0462
    c058:       90 91 63 04     lds     r25, 0x0463
    c05c:       01 96           adiw    r24, 0x01       ; 1
    c05e:       90 93 63 04     sts     0x0463, r25
    c062:       80 93 62 04     sts     0x0462, r24
                                                        FlugMinutenGesamt++;
    c066:       20 91 60 04     lds     r18, 0x0460
    c06a:       30 91 61 04     lds     r19, 0x0461
    c06e:       2f 5f           subi    r18, 0xFF       ; 255
    c070:       3f 4f           sbci    r19, 0xFF       ; 255
    c072:       30 93 61 04     sts     0x0461, r19
    c076:       20 93 60 04     sts     0x0460, r18
                                                        SetParamByte(PID_FLIGHT_MINUTES,FlugMinuten / 256);
    c07a:       69 2f           mov     r22, r25
    c07c:       8e e0           ldi     r24, 0x0E       ; 14
    c07e:       90 e0           ldi     r25, 0x00       ; 0
    c080:       0e 94 45 25     call    0x4a8a  ; 0x4a8a <SetParamByte>
                                                        SetParamByte(PID_FLIGHT_MINUTES+1,FlugMinuten % 256);
    c084:       e2 e6           ldi     r30, 0x62       ; 98
    c086:       f4 e0           ldi     r31, 0x04       ; 4
    c088:       60 81           ld      r22, Z
    c08a:       8f e0           ldi     r24, 0x0F       ; 15
    c08c:       90 e0           ldi     r25, 0x00       ; 0
    c08e:       0e 94 45 25     call    0x4a8a  ; 0x4a8a <SetParamByte>
                                                        SetParamByte(PID_FLIGHT_MINUTES_TOTAL,FlugMinutenGesamt / 256);
    c092:       60 91 61 04     lds     r22, 0x0461
    c096:       8a e0           ldi     r24, 0x0A       ; 10
    c098:       90 e0           ldi     r25, 0x00       ; 0
    c09a:       0e 94 45 25     call    0x4a8a  ; 0x4a8a <SetParamByte>
                                                        SetParamByte(PID_FLIGHT_MINUTES_TOTAL+1,FlugMinutenGesamt % 256);
    c09e:       e0 e6           ldi     r30, 0x60       ; 96
    c0a0:       f4 e0           ldi     r31, 0x04       ; 4
    c0a2:       60 81           ld      r22, Z
    c0a4:       8b e0           ldi     r24, 0x0B       ; 11
    c0a6:       90 e0           ldi     r25, 0x00       ; 0
    c0a8:       0e 94 45 25     call    0x4a8a  ; 0x4a8a <SetParamByte>
                                                        timer = SetDelay(20); // falls "timer += 20;" mal nicht geht
    c0ac:       84 e1           ldi     r24, 0x14       ; 20
    c0ae:       90 e0           ldi     r25, 0x00       ; 0
    c0b0:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
    c0b4:       4c 01           movw    r8, r24
                                                        if(UBat > BattLowVoltageWarning + 1) FC_StatusFlags &= ~FC_STATUS_LOWBAT;
                                                }
                                                // +++++++++++++++++++++++++++++++++
                                                if(++timer2 == 2930)  // eine Minute
                                                {
                                                        timer2 = 0;
    c0b6:       c0 e0           ldi     r28, 0x00       ; 0
    c0b8:       d0 e0           ldi     r29, 0x00       ; 0
                                                        SetParamByte(PID_FLIGHT_MINUTES_TOTAL,FlugMinutenGesamt / 256);
                                                        SetParamByte(PID_FLIGHT_MINUTES_TOTAL+1,FlugMinutenGesamt % 256);
                                                        timer = SetDelay(20); // falls "timer += 20;" mal nicht geht
                                                }
                                        }
                                        LED_Update();
    c0ba:       0e 94 8f 85     call    0x10b1e ; 0x10b1e <LED_Update>
                                        Capacity_Update();
    c0be:       0e 94 fd 21     call    0x43fa  ; 0x43fa <Capacity_Update>
                                }
                        } //else DebugOut.Analog[18]++;
                        if(update_spi) update_spi--;
    c0c2:       11 23           and     r17, r17
    c0c4:       19 f0           breq    .+6             ; 0xc0cc <main+0xb90>
    c0c6:       11 50           subi    r17, 0x01       ; 1
                } // 500Hz
                if(update_spi == 0) // 41Hz
    c0c8:       11 11           cpse    r17, r1
    c0ca:       0c c0           rjmp    .+24            ; 0xc0e4 <main+0xba8>
                {
                        if(SPI_StartTransmitPacket()) update_spi = 12;
    c0cc:       0e 94 3a 9b     call    0x13674 ; 0x13674 <SPI_StartTransmitPacket>
    c0d0:       81 11           cpse    r24, r1
    c0d2:       2b cd           rjmp    .-1450          ; 0xbb2a <main+0x5ee>
                        else
                        if(BytegapSPI == 0)  SPI_TransmitByte();
    c0d4:       80 91 cc 04     lds     r24, 0x04CC
    c0d8:       81 11           cpse    r24, r1
    c0da:       29 cd           rjmp    .-1454          ; 0xbb2e <main+0x5f2>
    c0dc:       0e 94 de 95     call    0x12bbc ; 0x12bbc <SPI_TransmitByte>
    c0e0:       10 e0           ldi     r17, 0x00       ; 0
    c0e2:       26 cd           rjmp    .-1460          ; 0xbb30 <main+0x5f4>
                }
                else if(BytegapSPI == 0)  SPI_TransmitByte();
    c0e4:       80 91 cc 04     lds     r24, 0x04CC
    c0e8:       81 11           cpse    r24, r1
    c0ea:       22 cd           rjmp    .-1468          ; 0xbb30 <main+0x5f4>
    c0ec:       0e 94 de 95     call    0x12bbc ; 0x12bbc <SPI_TransmitByte>
    c0f0:       1f cd           rjmp    .-1474          ; 0xbb30 <main+0x5f4>

0000c0f2 <GetHottestBl>:


void GetHottestBl(void)
{
 static unsigned char search = 0,tmp_max,tmp_min,who;
                if(Motor[search].Temperature > tmp_max) { tmp_max = Motor[search].Temperature; who = search;}
    c0f2:       80 91 7d 04     lds     r24, 0x047D
    c0f6:       9f e0           ldi     r25, 0x0F       ; 15
    c0f8:       89 9f           mul     r24, r25
    c0fa:       f0 01           movw    r30, r0
    c0fc:       11 24           eor     r1, r1
    c0fe:       e9 56           subi    r30, 0x69       ; 105
    c100:       f6 4f           sbci    r31, 0xF6       ; 246
    c102:       97 81           ldd     r25, Z+7        ; 0x07
    c104:       20 91 7c 04     lds     r18, 0x047C
    c108:       29 17           cp      r18, r25
    c10a:       28 f4           brcc    .+10            ; 0xc116 <GetHottestBl+0x24>
    c10c:       90 93 7c 04     sts     0x047C, r25
    c110:       80 93 7b 04     sts     0x047B, r24
    c114:       08 c0           rjmp    .+16            ; 0xc126 <GetHottestBl+0x34>
                else
                if(Motor[search].Temperature) if(Motor[search].Temperature < tmp_min) tmp_min = Motor[search].Temperature;
    c116:       99 23           and     r25, r25
    c118:       31 f0           breq    .+12            ; 0xc126 <GetHottestBl+0x34>
    c11a:       20 91 7a 04     lds     r18, 0x047A
    c11e:       92 17           cp      r25, r18
    c120:       10 f4           brcc    .+4             ; 0xc126 <GetHottestBl+0x34>
    c122:       90 93 7a 04     sts     0x047A, r25
                if(++search >= MAX_MOTORS) 
    c126:       8f 5f           subi    r24, 0xFF       ; 255
    c128:       8c 30           cpi     r24, 0x0C       ; 12
    c12a:       18 f4           brcc    .+6             ; 0xc132 <GetHottestBl+0x40>
    c12c:       80 93 7d 04     sts     0x047D, r24
    c130:       08 95           ret
                { 
                 search = 0; 
    c132:       10 92 7d 04     sts     0x047D, r1
                 if(tmp_min != 255) MinBlTemperture = tmp_min; else MinBlTemperture = 0;
    c136:       80 91 7a 04     lds     r24, 0x047A
    c13a:       8f 3f           cpi     r24, 0xFF       ; 255
    c13c:       19 f0           breq    .+6             ; 0xc144 <GetHottestBl+0x52>
    c13e:       80 93 83 04     sts     0x0483, r24
    c142:       02 c0           rjmp    .+4             ; 0xc148 <GetHottestBl+0x56>
    c144:       10 92 83 04     sts     0x0483, r1
                 MaxBlTemperture = tmp_max; 
    c148:       80 91 7c 04     lds     r24, 0x047C
    c14c:       80 93 84 04     sts     0x0484, r24
                 HottestBl = who;
    c150:       80 91 7b 04     lds     r24, 0x047B
    c154:       80 93 82 04     sts     0x0482, r24
                 tmp_min = 255; 
    c158:       8f ef           ldi     r24, 0xFF       ; 255
    c15a:       80 93 7a 04     sts     0x047A, r24
                 tmp_max = 0;
    c15e:       10 92 7c 04     sts     0x047C, r1
                 who = 0;
    c162:       10 92 7b 04     sts     0x047B, r1
    c166:       08 95           ret

0000c168 <Hott_ClearLine>:
}

//---------------------------------------------------------------
void Hott_ClearLine(unsigned char line)
{
 HoTT_printfxy(0,line,"                     ");
    c168:       95 e1           ldi     r25, 0x15       ; 21
    c16a:       89 9f           mul     r24, r25
    c16c:       80 2d           mov     r24, r0
    c16e:       11 24           eor     r1, r1
    c170:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    c174:       80 e1           ldi     r24, 0x10       ; 16
    c176:       9b e0           ldi     r25, 0x0B       ; 11
    c178:       9f 93           push    r25
    c17a:       8f 93           push    r24
    c17c:       8b e0           ldi     r24, 0x0B       ; 11
    c17e:       95 e1           ldi     r25, 0x15       ; 21
    c180:       9f 93           push    r25
    c182:       8f 93           push    r24
    c184:       e0 91 78 06     lds     r30, 0x0678
    c188:       f0 91 79 06     lds     r31, 0x0679
    c18c:       09 95           icall
    c18e:       0f 90           pop     r0
    c190:       0f 90           pop     r0
    c192:       0f 90           pop     r0
    c194:       0f 90           pop     r0
    c196:       08 95           ret

0000c198 <HoTT_Waring>:
}
//---------------------------------------------------------------


unsigned char HoTT_Waring(void)
{
    c198:       cf 93           push    r28
  unsigned char status = 0;
  static char old_status = 0;
  static int repeat;
//if(Parameter_UserParam1) return(Parameter_UserParam1); 
  ToNC_SpeakHoTT = SpeakHoTT;
    c19a:       c0 91 57 01     lds     r28, 0x0157
    c19e:       c0 93 81 04     sts     0x0481, r28
  if(FC_StatusFlags & FC_STATUS_LOWBAT) 
    c1a2:       80 91 cb 03     lds     r24, 0x03CB
    c1a6:       85 ff           sbrs    r24, 5
    c1a8:       14 c0           rjmp    .+40            ; 0xc1d2 <HoTT_Waring+0x3a>
   {
    if(LowVoltageLandingActive && (EE_Parameter.Receiver == RECEIVER_HOTT)) status = SPEAK_LANDING;
    c1aa:       80 91 c1 03     lds     r24, 0x03C1
    c1ae:       88 23           and     r24, r24
    c1b0:       31 f0           breq    .+12            ; 0xc1be <HoTT_Waring+0x26>
    c1b2:       80 91 65 05     lds     r24, 0x0565
    c1b6:       86 30           cpi     r24, 0x06       ; 6
    c1b8:       21 f0           breq    .+8             ; 0xc1c2 <HoTT_Waring+0x2a>
        else status = VOICE_MINIMALE_EINGANSSPANNUNG; // Jeti hat kein wort: "LANDEN"
    c1ba:       e0 e1           ldi     r30, 0x10       ; 16
    c1bc:       03 c0           rjmp    .+6             ; 0xc1c4 <HoTT_Waring+0x2c>
    c1be:       e0 e1           ldi     r30, 0x10       ; 16
    c1c0:       01 c0           rjmp    .+2             ; 0xc1c4 <HoTT_Waring+0x2c>
  static int repeat;
//if(Parameter_UserParam1) return(Parameter_UserParam1); 
  ToNC_SpeakHoTT = SpeakHoTT;
  if(FC_StatusFlags & FC_STATUS_LOWBAT) 
   {
    if(LowVoltageLandingActive && (EE_Parameter.Receiver == RECEIVER_HOTT)) status = SPEAK_LANDING;
    c1c2:       ee e0           ldi     r30, 0x0E       ; 14
        else status = VOICE_MINIMALE_EINGANSSPANNUNG; // Jeti hat kein wort: "LANDEN"
        if(SpeakHoTT && old_status == VOICE_MINIMALE_EINGANSSPANNUNG) status = SpeakHoTT; // das soll auch noch durch kommen
    c1c4:       cc 23           and     r28, r28
    c1c6:       01 f1           breq    .+64            ; 0xc208 <HoTT_Waring+0x70>
    c1c8:       80 91 79 04     lds     r24, 0x0479
    c1cc:       80 31           cpi     r24, 0x10       ; 16
    c1ce:       e1 f4           brne    .+56            ; 0xc208 <HoTT_Waring+0x70>
    c1d0:       25 c0           rjmp    .+74            ; 0xc21c <HoTT_Waring+0x84>
   }    
  else
  if(NC_ErrorCode && NC_ErrorCode < MAX_ERR_NUMBER)     // Fehlercodes
    c1d2:       80 91 bb 04     lds     r24, 0x04BB
    c1d6:       9f ef           ldi     r25, 0xFF       ; 255
    c1d8:       98 0f           add     r25, r24
    c1da:       92 32           cpi     r25, 0x22       ; 34
    c1dc:       b8 f4           brcc    .+46            ; 0xc20c <HoTT_Waring+0x74>
   {
    if(MotorenEin || !pgm_read_byte(&HOTT_ERROR[NC_ErrorCode][1])) status = pgm_read_byte(&HOTT_ERROR[NC_ErrorCode][0]);
    c1de:       90 91 03 04     lds     r25, 0x0403
    c1e2:       91 11           cpse    r25, r1
    c1e4:       0a c0           rjmp    .+20            ; 0xc1fa <HoTT_Waring+0x62>
    c1e6:       28 2f           mov     r18, r24
    c1e8:       30 e0           ldi     r19, 0x00       ; 0
    c1ea:       f9 01           movw    r30, r18
    c1ec:       ee 0f           add     r30, r30
    c1ee:       ff 1f           adc     r31, r31
    c1f0:       e9 5d           subi    r30, 0xD9       ; 217
    c1f2:       f4 4f           sbci    r31, 0xF4       ; 244
    c1f4:       e4 91           lpm     r30, Z
    c1f6:       e1 11           cpse    r30, r1
    c1f8:       09 c0           rjmp    .+18            ; 0xc20c <HoTT_Waring+0x74>
    c1fa:       e8 2f           mov     r30, r24
    c1fc:       f0 e0           ldi     r31, 0x00       ; 0
    c1fe:       ee 0f           add     r30, r30
    c200:       ff 1f           adc     r31, r31
    c202:       ea 5d           subi    r30, 0xDA       ; 218
    c204:       f4 4f           sbci    r31, 0xF4       ; 244
    c206:       e4 91           lpm     r30, Z
   }
  if(!status)    // Sprachansagen
    c208:       e1 11           cpse    r30, r1
    c20a:       09 c0           rjmp    .+18            ; 0xc21e <HoTT_Waring+0x86>
   {
//      if(!(GetParamByte(PID_SPEAK_HOTT_CFG) & 0x01)) SpeakHoTT = 0;  // is the voice wanted?
    if(!(EE_Parameter.GlobalConfig3 & CFG3_SPEAK_ALL)) SpeakHoTT = 0;  // is the voice wanted?
    c20c:       80 91 b9 05     lds     r24, 0x05B9
    c210:       86 fd           sbrc    r24, 6
    c212:       08 c0           rjmp    .+16            ; 0xc224 <HoTT_Waring+0x8c>
    c214:       10 92 57 01     sts     0x0157, r1
    c218:       c0 e0           ldi     r28, 0x00       ; 0
    c21a:       04 c0           rjmp    .+8             ; 0xc224 <HoTT_Waring+0x8c>
  ToNC_SpeakHoTT = SpeakHoTT;
  if(FC_StatusFlags & FC_STATUS_LOWBAT) 
   {
    if(LowVoltageLandingActive && (EE_Parameter.Receiver == RECEIVER_HOTT)) status = SPEAK_LANDING;
        else status = VOICE_MINIMALE_EINGANSSPANNUNG; // Jeti hat kein wort: "LANDEN"
        if(SpeakHoTT && old_status == VOICE_MINIMALE_EINGANSSPANNUNG) status = SpeakHoTT; // das soll auch noch durch kommen
    c21c:       ec 2f           mov     r30, r28
   {
//      if(!(GetParamByte(PID_SPEAK_HOTT_CFG) & 0x01)) SpeakHoTT = 0;  // is the voice wanted?
    if(!(EE_Parameter.GlobalConfig3 & CFG3_SPEAK_ALL)) SpeakHoTT = 0;  // is the voice wanted?
    else status = SpeakHoTT; 
   }
   else ToNC_SpeakHoTT = status;
    c21e:       e0 93 81 04     sts     0x0481, r30
    c222:       ce 2f           mov     r28, r30

  if(old_status == status) // Gleichen Fehler nur alle 4 sek bringen
    c224:       80 91 79 04     lds     r24, 0x0479
    c228:       8c 13           cpse    r24, r28
    c22a:       11 c0           rjmp    .+34            ; 0xc24e <HoTT_Waring+0xb6>
   {
    if(!CheckDelay(repeat)) return(0);
    c22c:       80 91 77 04     lds     r24, 0x0477
    c230:       90 91 78 04     lds     r25, 0x0478
    c234:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
    c238:       88 23           and     r24, r24
    c23a:       e9 f0           breq    .+58            ; 0xc276 <HoTT_Waring+0xde>
        repeat = SetDelay(4000);
    c23c:       80 ea           ldi     r24, 0xA0       ; 160
    c23e:       9f e0           ldi     r25, 0x0F       ; 15
    c240:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
    c244:       90 93 78 04     sts     0x0478, r25
    c248:       80 93 77 04     sts     0x0477, r24
    c24c:       08 c0           rjmp    .+16            ; 0xc25e <HoTT_Waring+0xc6>
   }
   else repeat = SetDelay(2000);
    c24e:       80 ed           ldi     r24, 0xD0       ; 208
    c250:       97 e0           ldi     r25, 0x07       ; 7
    c252:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
    c256:       90 93 78 04     sts     0x0478, r25
    c25a:       80 93 77 04     sts     0x0477, r24

  if(status) 
    c25e:       cc 23           and     r28, r28
    c260:       31 f0           breq    .+12            ; 0xc26e <HoTT_Waring+0xd6>
   {
    if(status == SpeakHoTT) SpeakHoTT = 0;
    c262:       80 91 57 01     lds     r24, 0x0157
    c266:       c8 13           cpse    r28, r24
    c268:       02 c0           rjmp    .+4             ; 0xc26e <HoTT_Waring+0xd6>
    c26a:       10 92 57 01     sts     0x0157, r1
   }    
  old_status = status;
    c26e:       c0 93 79 04     sts     0x0479, r28
//  DebugOut.Analog[16] = status;
  return(status);
    c272:       8c 2f           mov     r24, r28
    c274:       01 c0           rjmp    .+2             ; 0xc278 <HoTT_Waring+0xe0>
   }
   else ToNC_SpeakHoTT = status;

  if(old_status == status) // Gleichen Fehler nur alle 4 sek bringen
   {
    if(!CheckDelay(repeat)) return(0);
    c276:       80 e0           ldi     r24, 0x00       ; 0
    if(status == SpeakHoTT) SpeakHoTT = 0;
   }    
  old_status = status;
//  DebugOut.Analog[16] = status;
  return(status);
}
    c278:       cf 91           pop     r28
    c27a:       08 95           ret

0000c27c <NC_Fills_HoTT_Telemety>:
//---------------------------------------------------------------
void NC_Fills_HoTT_Telemety(void)
{
 unsigned char *ptr = NULL;
 unsigned char max = 0,i,z;
 switch(FromNaviCtrl.Param.Byte[11])
    c27c:       80 91 2a 09     lds     r24, 0x092A
    c280:       89 38           cpi     r24, 0x89       ; 137
    c282:       31 f1           breq    .+76            ; 0xc2d0 <NC_Fills_HoTT_Telemety+0x54>
    c284:       38 f4           brcc    .+14            ; 0xc294 <NC_Fills_HoTT_Telemety+0x18>
    c286:       82 30           cpi     r24, 0x02       ; 2
    c288:       d9 f0           breq    .+54            ; 0xc2c0 <NC_Fills_HoTT_Telemety+0x44>
    c28a:       83 30           cpi     r24, 0x03       ; 3
    c28c:       e9 f0           breq    .+58            ; 0xc2c8 <NC_Fills_HoTT_Telemety+0x4c>
    c28e:       81 30           cpi     r24, 0x01       ; 1
    c290:       f1 f5           brne    .+124           ; 0xc30e <NC_Fills_HoTT_Telemety+0x92>
    c292:       12 c0           rjmp    .+36            ; 0xc2b8 <NC_Fills_HoTT_Telemety+0x3c>
    c294:       8d 38           cpi     r24, 0x8D       ; 141
    c296:       61 f0           breq    .+24            ; 0xc2b0 <NC_Fills_HoTT_Telemety+0x34>
    c298:       8e 38           cpi     r24, 0x8E       ; 142
    c29a:       31 f0           breq    .+12            ; 0xc2a8 <NC_Fills_HoTT_Telemety+0x2c>
    c29c:       8a 38           cpi     r24, 0x8A       ; 138
    c29e:       b9 f5           brne    .+110           ; 0xc30e <NC_Fills_HoTT_Telemety+0x92>
                ptr = (unsigned char *) &VarioPacket;
                max = sizeof(VarioPacket);
                break;
   case HOTT_GPS_PACKET_ID: 
                ptr = (unsigned char *) &GPSPacket;
                max = sizeof(GPSPacket);
    c2a0:       5c e2           ldi     r21, 0x2C       ; 44
   case HOTT_VARIO_PACKET_ID: 
                ptr = (unsigned char *) &VarioPacket;
                max = sizeof(VarioPacket);
                break;
   case HOTT_GPS_PACKET_ID: 
                ptr = (unsigned char *) &GPSPacket;
    c2a2:       84 eb           ldi     r24, 0xB4       ; 180
    c2a4:       97 e0           ldi     r25, 0x07       ; 7
                max = sizeof(GPSPacket);
                break;
    c2a6:       17 c0           rjmp    .+46            ; 0xc2d6 <NC_Fills_HoTT_Telemety+0x5a>
   case HOTT_ELECTRIC_AIR_PACKET_ID: 
                ptr = (unsigned char *) &ElectricAirPacket;
                max = sizeof(ElectricAirPacket);
    c2a8:       5c e2           ldi     r21, 0x2C       ; 44
   case HOTT_GPS_PACKET_ID: 
                ptr = (unsigned char *) &GPSPacket;
                max = sizeof(GPSPacket);
                break;
   case HOTT_ELECTRIC_AIR_PACKET_ID: 
                ptr = (unsigned char *) &ElectricAirPacket;
    c2aa:       8a e7           ldi     r24, 0x7A       ; 122
    c2ac:       96 e0           ldi     r25, 0x06       ; 6
                max = sizeof(ElectricAirPacket);
                break;
    c2ae:       13 c0           rjmp    .+38            ; 0xc2d6 <NC_Fills_HoTT_Telemety+0x5a>
   case HOTT_GENERAL_PACKET_ID: 
                ptr = (unsigned char *) &HoTTGeneral;
                max = sizeof(HoTTGeneral);
    c2b0:       5c e2           ldi     r21, 0x2C       ; 44
   case HOTT_ELECTRIC_AIR_PACKET_ID: 
                ptr = (unsigned char *) &ElectricAirPacket;
                max = sizeof(ElectricAirPacket);
                break;
   case HOTT_GENERAL_PACKET_ID: 
                ptr = (unsigned char *) &HoTTGeneral;
    c2b2:       86 ea           ldi     r24, 0xA6       ; 166
    c2b4:       96 e0           ldi     r25, 0x06       ; 6
                max = sizeof(HoTTGeneral);
                break;
    c2b6:       0f c0           rjmp    .+30            ; 0xc2d6 <NC_Fills_HoTT_Telemety+0x5a>
   case JETI_GPS_PACKET_ID1: 
                ptr = (unsigned char *) &JetiExData[14].Value;
                max = sizeof(JetiExData[14].Value);
    c2b8:       54 e0           ldi     r21, 0x04       ; 4
   case HOTT_GENERAL_PACKET_ID: 
                ptr = (unsigned char *) &HoTTGeneral;
                max = sizeof(HoTTGeneral);
                break;
   case JETI_GPS_PACKET_ID1: 
                ptr = (unsigned char *) &JetiExData[14].Value;
    c2ba:       86 e7           ldi     r24, 0x76       ; 118
    c2bc:       92 e0           ldi     r25, 0x02       ; 2
                max = sizeof(JetiExData[14].Value);
                break;
    c2be:       0b c0           rjmp    .+22            ; 0xc2d6 <NC_Fills_HoTT_Telemety+0x5a>
   case JETI_GPS_PACKET_ID2: 
                ptr = (unsigned char *) &JetiExData[15].Value;
                max = sizeof(JetiExData[15].Value);
    c2c0:       54 e0           ldi     r21, 0x04       ; 4
   case JETI_GPS_PACKET_ID1: 
                ptr = (unsigned char *) &JetiExData[14].Value;
                max = sizeof(JetiExData[14].Value);
                break;
   case JETI_GPS_PACKET_ID2: 
                ptr = (unsigned char *) &JetiExData[15].Value;
    c2c2:       89 e8           ldi     r24, 0x89       ; 137
    c2c4:       92 e0           ldi     r25, 0x02       ; 2
                max = sizeof(JetiExData[15].Value);
                break;
    c2c6:       07 c0           rjmp    .+14            ; 0xc2d6 <NC_Fills_HoTT_Telemety+0x5a>
   case HOTT_WPL_NAME: 
                ptr = (unsigned char *) WPL_Name;
                max = sizeof(WPL_Name)-1;
    c2c8:       59 e0           ldi     r21, 0x09       ; 9
   case JETI_GPS_PACKET_ID2: 
                ptr = (unsigned char *) &JetiExData[15].Value;
                max = sizeof(JetiExData[15].Value);
                break;
   case HOTT_WPL_NAME: 
                ptr = (unsigned char *) WPL_Name;
    c2ca:       82 ed           ldi     r24, 0xD2       ; 210
    c2cc:       96 e0           ldi     r25, 0x06       ; 6
                max = sizeof(WPL_Name)-1;
                break;
    c2ce:       03 c0           rjmp    .+6             ; 0xc2d6 <NC_Fills_HoTT_Telemety+0x5a>
 unsigned char max = 0,i,z;
 switch(FromNaviCtrl.Param.Byte[11])
  {
   case HOTT_VARIO_PACKET_ID: 
                ptr = (unsigned char *) &VarioPacket;
                max = sizeof(VarioPacket);
    c2d0:       5c e2           ldi     r21, 0x2C       ; 44
 unsigned char *ptr = NULL;
 unsigned char max = 0,i,z;
 switch(FromNaviCtrl.Param.Byte[11])
  {
   case HOTT_VARIO_PACKET_ID: 
                ptr = (unsigned char *) &VarioPacket;
    c2d2:       8c ed           ldi     r24, 0xDC       ; 220
    c2d4:       96 e0           ldi     r25, 0x06       ; 6
                ptr = (unsigned char *) WPL_Name;
                max = sizeof(WPL_Name)-1;
                break;

  }
 z = FromNaviCtrl.Param.Byte[0]; // Data allocation
    c2d6:       20 91 1f 09     lds     r18, 0x091F

 for(i=0; i < FromNaviCtrl.Param.Byte[1]; i++)
    c2da:       30 91 20 09     lds     r19, 0x0920
    c2de:       33 23           and     r19, r19
    c2e0:       b1 f0           breq    .+44            ; 0xc30e <NC_Fills_HoTT_Telemety+0x92>
  {
   if(z >= max) break;
    c2e2:       25 17           cp      r18, r21
    c2e4:       a0 f4           brcc    .+40            ; 0xc30e <NC_Fills_HoTT_Telemety+0x92>
                break;

  }
 z = FromNaviCtrl.Param.Byte[0]; // Data allocation

 for(i=0; i < FromNaviCtrl.Param.Byte[1]; i++)
    c2e6:       30 e0           ldi     r19, 0x00       ; 0
    c2e8:       a0 e2           ldi     r26, 0x20       ; 32
    c2ea:       b9 e0           ldi     r27, 0x09       ; 9
    c2ec:       02 c0           rjmp    .+4             ; 0xc2f2 <NC_Fills_HoTT_Telemety+0x76>
  {
   if(z >= max) break;
    c2ee:       25 17           cp      r18, r21
    c2f0:       70 f4           brcc    .+28            ; 0xc30e <NC_Fills_HoTT_Telemety+0x92>
   ptr[z] = FromNaviCtrl.Param.Byte[2+i];
    c2f2:       e3 2f           mov     r30, r19
    c2f4:       f0 e0           ldi     r31, 0x00       ; 0
    c2f6:       e4 5f           subi    r30, 0xF4       ; 244
    c2f8:       f6 4f           sbci    r31, 0xF6       ; 246
    c2fa:       45 89           ldd     r20, Z+21       ; 0x15
    c2fc:       fc 01           movw    r30, r24
    c2fe:       e2 0f           add     r30, r18
    c300:       f1 1d           adc     r31, r1
    c302:       40 83           st      Z, r20
   z++;
    c304:       2f 5f           subi    r18, 0xFF       ; 255
                break;

  }
 z = FromNaviCtrl.Param.Byte[0]; // Data allocation

 for(i=0; i < FromNaviCtrl.Param.Byte[1]; i++)
    c306:       3f 5f           subi    r19, 0xFF       ; 255
    c308:       4c 91           ld      r20, X
    c30a:       34 17           cp      r19, r20
    c30c:       80 f3           brcs    .-32            ; 0xc2ee <NC_Fills_HoTT_Telemety+0x72>
    c30e:       08 95           ret

0000c310 <BuildHoTT_Vario>:
}

unsigned int BuildHoTT_Vario(void)
{
 unsigned int tmp = VARIO_ZERO;
 if(VarioCharacter == '+' || VarioCharacter == '-')
    c310:       80 91 20 01     lds     r24, 0x0120
    c314:       8b 32           cpi     r24, 0x2B       ; 43
    c316:       11 f0           breq    .+4             ; 0xc31c <BuildHoTT_Vario+0xc>
    c318:       8d 32           cpi     r24, 0x2D       ; 45
    c31a:       c9 f4           brne    .+50            ; 0xc34e <BuildHoTT_Vario+0x3e>
  { 
   tmp = VARIO_ZERO + (AltitudeSetpointTrimming * EE_Parameter.Hoehe_Verstaerkung) / 3;
    c31c:       40 91 50 05     lds     r20, 0x0550
    c320:       20 91 f8 03     lds     r18, 0x03F8
    c324:       30 91 f9 03     lds     r19, 0x03F9
    c328:       42 9f           mul     r20, r18
    c32a:       c0 01           movw    r24, r0
    c32c:       43 9f           mul     r20, r19
    c32e:       90 0d           add     r25, r0
    c330:       11 24           eor     r1, r1
    c332:       63 e0           ldi     r22, 0x03       ; 3
    c334:       70 e0           ldi     r23, 0x00       ; 0
    c336:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    c33a:       cb 01           movw    r24, r22
    c33c:       80 5d           subi    r24, 0xD0       ; 208
    c33e:       9a 48           sbci    r25, 0x8A       ; 138
   if(tmp < VARIO_ZERO && tmp > VARIO_ZERO - 50) tmp = VARIO_ZERO - 50; // weil es sonst erst bei < 0,5m/sek piept
    c340:       6f 5c           subi    r22, 0xCF       ; 207
    c342:       7f 4f           sbci    r23, 0xFF       ; 255
    c344:       61 33           cpi     r22, 0x31       ; 49
    c346:       71 05           cpc     r23, r1
    c348:       08 f4           brcc    .+2             ; 0xc34c <BuildHoTT_Vario+0x3c>
    c34a:       40 c0           rjmp    .+128           ; 0xc3cc <BuildHoTT_Vario+0xbc>
    c34c:       08 95           ret
  } 
 else
 if((VarioCharacter == ' ') && (FC_StatusFlags & FC_STATUS_FLY))
    c34e:       80 32           cpi     r24, 0x20       ; 32
    c350:       f9 f4           brne    .+62            ; 0xc390 <BuildHoTT_Vario+0x80>
    c352:       80 91 cb 03     lds     r24, 0x03CB
    c356:       81 ff           sbrs    r24, 1
    c358:       3c c0           rjmp    .+120           ; 0xc3d2 <BuildHoTT_Vario+0xc2>
  {
   tmp = VARIO_ZERO + HoTTVarioMeter;
    c35a:       80 91 7e 04     lds     r24, 0x047E
    c35e:       90 91 7f 04     lds     r25, 0x047F
    c362:       80 5d           subi    r24, 0xD0       ; 208
    c364:       9a 48           sbci    r25, 0x8A       ; 138
   if(tmp > VARIO_ZERO)
    c366:       81 33           cpi     r24, 0x31       ; 49
    c368:       25 e7           ldi     r18, 0x75       ; 117
    c36a:       92 07           cpc     r25, r18
    c36c:       30 f0           brcs    .+12            ; 0xc37a <BuildHoTT_Vario+0x6a>
    {
     if(tmp < VARIO_ZERO + 100) tmp = VARIO_ZERO; 
    c36e:       84 39           cpi     r24, 0x94       ; 148
    c370:       35 e7           ldi     r19, 0x75       ; 117
    c372:       93 07           cpc     r25, r19
    c374:       88 f1           brcs    .+98            ; 0xc3d8 <BuildHoTT_Vario+0xc8>
         else tmp -= 100; 
    c376:       84 56           subi    r24, 0x64       ; 100
    c378:       91 09           sbc     r25, r1
        } 
   if(tmp < VARIO_ZERO)
    c37a:       80 33           cpi     r24, 0x30       ; 48
    c37c:       25 e7           ldi     r18, 0x75       ; 117
    c37e:       92 07           cpc     r25, r18
    c380:       98 f5           brcc    .+102           ; 0xc3e8 <BuildHoTT_Vario+0xd8>
    {
     if(tmp > VARIO_ZERO - 100) tmp = VARIO_ZERO; 
    c382:       8d 3c           cpi     r24, 0xCD       ; 205
    c384:       34 e7           ldi     r19, 0x74       ; 116
    c386:       93 07           cpc     r25, r19
    c388:       50 f5           brcc    .+84            ; 0xc3de <BuildHoTT_Vario+0xce>
         else tmp += 100; 
    c38a:       8c 59           subi    r24, 0x9C       ; 156
    c38c:       9f 4f           sbci    r25, 0xFF       ; 255
    c38e:       08 95           ret
        } 
  }
 else
 if(VarioCharacter == '^') tmp = VARIO_ZERO + FromNC_AltitudeSpeed * 10;
    c390:       8e 35           cpi     r24, 0x5E       ; 94
    c392:       89 f4           brne    .+34            ; 0xc3b6 <BuildHoTT_Vario+0xa6>
    c394:       20 91 f3 03     lds     r18, 0x03F3
    c398:       30 e0           ldi     r19, 0x00       ; 0
    c39a:       c9 01           movw    r24, r18
    c39c:       88 0f           add     r24, r24
    c39e:       99 1f           adc     r25, r25
    c3a0:       22 0f           add     r18, r18
    c3a2:       33 1f           adc     r19, r19
    c3a4:       22 0f           add     r18, r18
    c3a6:       33 1f           adc     r19, r19
    c3a8:       22 0f           add     r18, r18
    c3aa:       33 1f           adc     r19, r19
    c3ac:       82 0f           add     r24, r18
    c3ae:       93 1f           adc     r25, r19
    c3b0:       80 5d           subi    r24, 0xD0       ; 208
    c3b2:       9a 48           sbci    r25, 0x8A       ; 138
    c3b4:       08 95           ret
 else 
 if(VarioCharacter == 'v') tmp = VARIO_ZERO - FromNC_AltitudeSpeed * 10;
    c3b6:       86 37           cpi     r24, 0x76       ; 118
    c3b8:       a9 f4           brne    .+42            ; 0xc3e4 <BuildHoTT_Vario+0xd4>
    c3ba:       20 91 f3 03     lds     r18, 0x03F3
    c3be:       36 ef           ldi     r19, 0xF6       ; 246
    c3c0:       32 03           mulsu   r19, r18
    c3c2:       c0 01           movw    r24, r0
    c3c4:       11 24           eor     r1, r1
    c3c6:       80 5d           subi    r24, 0xD0       ; 208
    c3c8:       9a 48           sbci    r25, 0x8A       ; 138
    c3ca:       08 95           ret
{
 unsigned int tmp = VARIO_ZERO;
 if(VarioCharacter == '+' || VarioCharacter == '-')
  { 
   tmp = VARIO_ZERO + (AltitudeSetpointTrimming * EE_Parameter.Hoehe_Verstaerkung) / 3;
   if(tmp < VARIO_ZERO && tmp > VARIO_ZERO - 50) tmp = VARIO_ZERO - 50; // weil es sonst erst bei < 0,5m/sek piept
    c3cc:       8e ef           ldi     r24, 0xFE       ; 254
    c3ce:       94 e7           ldi     r25, 0x74       ; 116
    c3d0:       08 95           ret
  }
}

unsigned int BuildHoTT_Vario(void)
{
 unsigned int tmp = VARIO_ZERO;
    c3d2:       80 e3           ldi     r24, 0x30       ; 48
    c3d4:       95 e7           ldi     r25, 0x75       ; 117
    c3d6:       08 95           ret
 if((VarioCharacter == ' ') && (FC_StatusFlags & FC_STATUS_FLY))
  {
   tmp = VARIO_ZERO + HoTTVarioMeter;
   if(tmp > VARIO_ZERO)
    {
     if(tmp < VARIO_ZERO + 100) tmp = VARIO_ZERO; 
    c3d8:       80 e3           ldi     r24, 0x30       ; 48
    c3da:       95 e7           ldi     r25, 0x75       ; 117
    c3dc:       08 95           ret
         else tmp -= 100; 
        } 
   if(tmp < VARIO_ZERO)
    {
     if(tmp > VARIO_ZERO - 100) tmp = VARIO_ZERO; 
    c3de:       80 e3           ldi     r24, 0x30       ; 48
    c3e0:       95 e7           ldi     r25, 0x75       ; 117
    c3e2:       08 95           ret
  }
}

unsigned int BuildHoTT_Vario(void)
{
 unsigned int tmp = VARIO_ZERO;
    c3e4:       80 e3           ldi     r24, 0x30       ; 48
    c3e6:       95 e7           ldi     r25, 0x75       ; 117
 else
 if(VarioCharacter == '^') tmp = VARIO_ZERO + FromNC_AltitudeSpeed * 10;
 else 
 if(VarioCharacter == 'v') tmp = VARIO_ZERO - FromNC_AltitudeSpeed * 10;
 return(tmp);
}
    c3e8:       08 95           ret

0000c3ea <HoTT_Telemety>:

//---------------------------------------------------------------
unsigned char HoTT_Telemety(unsigned char packet_request)
{
    c3ea:       cf 93           push    r28
 unsigned char i = 0;
  //Debug("rqst: %02X",packet_request);

 switch(packet_request)
    c3ec:       8a 38           cpi     r24, 0x8A       ; 138
    c3ee:       09 f4           brne    .+2             ; 0xc3f2 <HoTT_Telemety+0x8>
    c3f0:       36 c2           rjmp    .+1132          ; 0xc85e <HoTT_Telemety+0x474>
    c3f2:       18 f4           brcc    .+6             ; 0xc3fa <HoTT_Telemety+0x10>
    c3f4:       89 38           cpi     r24, 0x89       ; 137
    c3f6:       41 f0           breq    .+16            ; 0xc408 <HoTT_Telemety+0x1e>
    c3f8:       17 c4           rjmp    .+2094          ; 0xcc28 <HoTT_Telemety+0x83e>
    c3fa:       8d 38           cpi     r24, 0x8D       ; 141
    c3fc:       09 f4           brne    .+2             ; 0xc400 <HoTT_Telemety+0x16>
    c3fe:       42 c3           rjmp    .+1668          ; 0xca84 <HoTT_Telemety+0x69a>
    c400:       8e 38           cpi     r24, 0x8E       ; 142
    c402:       09 f4           brne    .+2             ; 0xc406 <HoTT_Telemety+0x1c>
    c404:       85 c2           rjmp    .+1290          ; 0xc910 <HoTT_Telemety+0x526>
    c406:       10 c4           rjmp    .+2080          ; 0xcc28 <HoTT_Telemety+0x83e>
 {
  case HOTT_VARIO_PACKET_ID:
                GPSPacket.WarnBeep = HoTT_Waring(); // Achtung: das ist richtig hier, damit der Varioton schon vorher abgestellt wird
    c408:       c7 de           rcall   .-626           ; 0xc198 <HoTT_Waring>
    c40a:       c8 2f           mov     r28, r24
    c40c:       80 93 b6 07     sts     0x07B6, r24
                VarioPacket.Altitude = HoehenWert/100 + 500;  
    c410:       60 91 fe 03     lds     r22, 0x03FE
    c414:       70 91 ff 03     lds     r23, 0x03FF
    c418:       80 91 00 04     lds     r24, 0x0400
    c41c:       90 91 01 04     lds     r25, 0x0401
    c420:       24 e6           ldi     r18, 0x64       ; 100
    c422:       30 e0           ldi     r19, 0x00       ; 0
    c424:       40 e0           ldi     r20, 0x00       ; 0
    c426:       50 e0           ldi     r21, 0x00       ; 0
    c428:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    c42c:       2c 50           subi    r18, 0x0C       ; 12
    c42e:       3e 4f           sbci    r19, 0xFE       ; 254
    c430:       30 93 e2 06     sts     0x06E2, r19
    c434:       20 93 e1 06     sts     0x06E1, r18
                if(!GPSPacket.WarnBeep) VarioPacket.m_sec = BuildHoTT_Vario(); else VarioPacket.m_sec = VARIO_ZERO;
    c438:       c1 11           cpse    r28, r1
    c43a:       06 c0           rjmp    .+12            ; 0xc448 <HoTT_Telemety+0x5e>
    c43c:       69 df           rcall   .-302           ; 0xc310 <BuildHoTT_Vario>
    c43e:       90 93 e8 06     sts     0x06E8, r25
    c442:       80 93 e7 06     sts     0x06E7, r24
    c446:       06 c0           rjmp    .+12            ; 0xc454 <HoTT_Telemety+0x6a>
    c448:       80 e3           ldi     r24, 0x30       ; 48
    c44a:       95 e7           ldi     r25, 0x75       ; 117
    c44c:       90 93 e8 06     sts     0x06E8, r25
    c450:       80 93 e7 06     sts     0x06E7, r24
                VarioPacket.m_3sec = VarioPacket.m_sec;
    c454:       80 91 e7 06     lds     r24, 0x06E7
    c458:       90 91 e8 06     lds     r25, 0x06E8
    c45c:       90 93 ea 06     sts     0x06EA, r25
    c460:       80 93 e9 06     sts     0x06E9, r24
                VarioPacket.m_10sec = VarioPacket.m_sec;
    c464:       90 93 ec 06     sts     0x06EC, r25
    c468:       80 93 eb 06     sts     0x06EB, r24
                if (VarioPacket.Altitude < VarioPacket.MinAltitude) VarioPacket.MinAltitude = VarioPacket.Altitude;
    c46c:       80 91 e1 06     lds     r24, 0x06E1
    c470:       90 91 e2 06     lds     r25, 0x06E2
    c474:       20 91 e5 06     lds     r18, 0x06E5
    c478:       30 91 e6 06     lds     r19, 0x06E6
    c47c:       82 17           cp      r24, r18
    c47e:       93 07           cpc     r25, r19
    c480:       24 f4           brge    .+8             ; 0xc48a <HoTT_Telemety+0xa0>
    c482:       90 93 e6 06     sts     0x06E6, r25
    c486:       80 93 e5 06     sts     0x06E5, r24
                if (VarioPacket.Altitude > VarioPacket.MaxAltitude) VarioPacket.MaxAltitude = VarioPacket.Altitude;             
    c48a:       20 91 e3 06     lds     r18, 0x06E3
    c48e:       30 91 e4 06     lds     r19, 0x06E4
    c492:       28 17           cp      r18, r24
    c494:       39 07           cpc     r19, r25
    c496:       24 f4           brge    .+8             ; 0xc4a0 <HoTT_Telemety+0xb6>
    c498:       90 93 e4 06     sts     0x06E4, r25
    c49c:       80 93 e3 06     sts     0x06E3, r24
                VarioPacket.WarnBeep = 0;//HoTT_Waring();
    c4a0:       10 92 de 06     sts     0x06DE, r1
                HoTT_DataPointer = (unsigned char *) &VarioPacket;
    c4a4:       8c ed           ldi     r24, 0xDC       ; 220
    c4a6:       96 e0           ldi     r25, 0x06       ; 6
    c4a8:       90 93 f1 02     sts     0x02F1, r25
    c4ac:       80 93 f0 02     sts     0x02F0, r24
        VarioPacket.FreeCharacters[0] = VarioCharacter;
    c4b0:       80 91 20 01     lds     r24, 0x0120
    c4b4:       80 93 02 07     sts     0x0702, r24
    if(FC_StatusFlags2 & FC_STATUS2_CAREFREE) VarioPacket.FreeCharacters[1] = 'C'; else VarioPacket.FreeCharacters[1] = ' ';
    c4b8:       80 91 ca 03     lds     r24, 0x03CA
    c4bc:       80 ff           sbrs    r24, 0
    c4be:       04 c0           rjmp    .+8             ; 0xc4c8 <HoTT_Telemety+0xde>
    c4c0:       83 e4           ldi     r24, 0x43       ; 67
    c4c2:       80 93 03 07     sts     0x0703, r24
    c4c6:       03 c0           rjmp    .+6             ; 0xc4ce <HoTT_Telemety+0xe4>
    c4c8:       80 e2           ldi     r24, 0x20       ; 32
    c4ca:       80 93 03 07     sts     0x0703, r24
//      VarioPacket.FreeCharacters[2] = ' ';
    if(NC_ErrorCode)
    c4ce:       e0 91 bb 04     lds     r30, 0x04BB
    c4d2:       ee 23           and     r30, r30
    c4d4:       81 f1           breq    .+96            ; 0xc536 <HoTT_Telemety+0x14c>
         {
                VarioPacket.Text[0] = NC_ErrorCode/10 + '0';
    c4d6:       8d ec           ldi     r24, 0xCD       ; 205
    c4d8:       e8 9f           mul     r30, r24
    c4da:       81 2d           mov     r24, r1
    c4dc:       11 24           eor     r1, r1
    c4de:       86 95           lsr     r24
    c4e0:       86 95           lsr     r24
    c4e2:       86 95           lsr     r24
    c4e4:       90 e3           ldi     r25, 0x30       ; 48
    c4e6:       98 0f           add     r25, r24
    c4e8:       90 93 ed 06     sts     0x06ED, r25
                VarioPacket.Text[1] = NC_ErrorCode%10 + '0';
    c4ec:       88 0f           add     r24, r24
    c4ee:       98 2f           mov     r25, r24
    c4f0:       99 0f           add     r25, r25
    c4f2:       99 0f           add     r25, r25
    c4f4:       89 0f           add     r24, r25
    c4f6:       2e 2f           mov     r18, r30
    c4f8:       28 1b           sub     r18, r24
    c4fa:       82 2f           mov     r24, r18
    c4fc:       80 5d           subi    r24, 0xD0       ; 208
    c4fe:       80 93 ee 06     sts     0x06EE, r24
                VarioPacket.Text[2] = ':';
    c502:       8a e3           ldi     r24, 0x3A       ; 58
    c504:       80 93 ef 06     sts     0x06EF, r24
    c508:       41 e1           ldi     r20, 0x11       ; 17
    c50a:       e4 9f           mul     r30, r20
    c50c:       f0 01           movw    r30, r0
    c50e:       11 24           eor     r1, r1
    c510:       e4 59           subi    r30, 0x94       ; 148
    c512:       f4 4f           sbci    r31, 0xF4       ; 244
    c514:       a0 ef           ldi     r26, 0xF0       ; 240
    c516:       b6 e0           ldi     r27, 0x06       ; 6
    c518:       80 e0           ldi     r24, 0x00       ; 0
    c51a:       97 e0           ldi     r25, 0x07       ; 7
                for(i=0; i<16;i++) VarioPacket.Text[i+3] = pgm_read_byte(&NC_ERROR_TEXT[NC_ErrorCode][i]);
    c51c:       24 91           lpm     r18, Z
    c51e:       2d 93           st      X+, r18
    c520:       31 96           adiw    r30, 0x01       ; 1
    c522:       a8 17           cp      r26, r24
    c524:       b9 07           cpc     r27, r25
    c526:       d1 f7           brne    .-12            ; 0xc51c <HoTT_Telemety+0x132>
                VarioPacket.Text[19] = ' '; 
    c528:       80 e2           ldi     r24, 0x20       ; 32
    c52a:       80 93 00 07     sts     0x0700, r24
                VarioPacket.Text[20] = ' '; 
    c52e:       80 93 01 07     sts     0x0701, r24
         {
          if(FC_StatusFlags3 & FC_STATUS3_BOAT) for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&BOAT_MODE[i]); // no Error
          else  for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&MIKROKOPTER[i]); // no Error
          if(FC_StatusFlags3 & FC_STATUS3_REDUNDANCE)  VarioPacket.Text[0] = 'R';
         } 
                return(sizeof(VarioPacket)); 
    c532:       8c e2           ldi     r24, 0x2C       ; 44
    c534:       82 c3           rjmp    .+1796          ; 0xcc3a <HoTT_Telemety+0x850>
                for(i=0; i<16;i++) VarioPacket.Text[i+3] = pgm_read_byte(&NC_ERROR_TEXT[NC_ErrorCode][i]);
                VarioPacket.Text[19] = ' '; 
                VarioPacket.Text[20] = ' '; 
         }
         else 
         if(LowVoltageLandingActive) for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&LANDING[i]); // no Error
    c536:       80 91 c1 03     lds     r24, 0x03C1
    c53a:       88 23           and     r24, r24
    c53c:       69 f0           breq    .+26            ; 0xc558 <HoTT_Telemety+0x16e>
    c53e:       e2 ef           ldi     r30, 0xF2       ; 242
    c540:       fd e0           ldi     r31, 0x0D       ; 13
    c542:       ad ee           ldi     r26, 0xED       ; 237
    c544:       b6 e0           ldi     r27, 0x06       ; 6
    c546:       87 e0           ldi     r24, 0x07       ; 7
    c548:       9e e0           ldi     r25, 0x0E       ; 14
    c54a:       24 91           lpm     r18, Z
    c54c:       2d 93           st      X+, r18
    c54e:       31 96           adiw    r30, 0x01       ; 1
    c550:       e8 17           cp      r30, r24
    c552:       f9 07           cpc     r31, r25
    c554:       d1 f7           brne    .-12            ; 0xc54a <HoTT_Telemety+0x160>
    c556:       6a c3           rjmp    .+1748          ; 0xcc2c <HoTT_Telemety+0x842>
     else
         if(FC_StatusFlags & FC_STATUS_LOWBAT) for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&UNDERVOLTAGE[i]); // no Error
    c558:       80 91 cb 03     lds     r24, 0x03CB
    c55c:       85 ff           sbrs    r24, 5
    c55e:       0d c0           rjmp    .+26            ; 0xc57a <HoTT_Telemety+0x190>
    c560:       e8 e0           ldi     r30, 0x08       ; 8
    c562:       fe e0           ldi     r31, 0x0E       ; 14
    c564:       ad ee           ldi     r26, 0xED       ; 237
    c566:       b6 e0           ldi     r27, 0x06       ; 6
    c568:       8d e1           ldi     r24, 0x1D       ; 29
    c56a:       9e e0           ldi     r25, 0x0E       ; 14
    c56c:       24 91           lpm     r18, Z
    c56e:       2d 93           st      X+, r18
    c570:       31 96           adiw    r30, 0x01       ; 1
    c572:       e8 17           cp      r30, r24
    c574:       f9 07           cpc     r31, r25
    c576:       d1 f7           brne    .-12            ; 0xc56c <HoTT_Telemety+0x182>
    c578:       5b c3           rjmp    .+1718          ; 0xcc30 <HoTT_Telemety+0x846>
         else
         if(ShowSettingNameTime) // no Error
    c57a:       80 91 80 04     lds     r24, 0x0480
    c57e:       88 23           and     r24, r24
    c580:       b9 f1           breq    .+110           ; 0xc5f0 <HoTT_Telemety+0x206>
    c582:       ef eb           ldi     r30, 0xBF       ; 191
    c584:       fd e0           ldi     r31, 0x0D       ; 13
    c586:       ad ee           ldi     r26, 0xED       ; 237
    c588:       b6 e0           ldi     r27, 0x06       ; 6
    c58a:       86 ec           ldi     r24, 0xC6       ; 198
    c58c:       9d e0           ldi     r25, 0x0D       ; 13
         {                   
          for(i=0; i<sizeof(SETTING);i++) VarioPacket.Text[i] = pgm_read_byte(&SETTING[i]); 
    c58e:       24 91           lpm     r18, Z
    c590:       2d 93           st      X+, r18
    c592:       31 96           adiw    r30, 0x01       ; 1
    c594:       e8 17           cp      r30, r24
    c596:       f9 07           cpc     r31, r25
    c598:       d1 f7           brne    .-12            ; 0xc58e <HoTT_Telemety+0x1a4>
      VarioPacket.Text[4] = '0' + ActiveParamSet;
    c59a:       80 91 52 01     lds     r24, 0x0152
    c59e:       80 5d           subi    r24, 0xD0       ; 208
    c5a0:       80 93 f1 06     sts     0x06F1, r24
    c5a4:       ea eb           ldi     r30, 0xBA       ; 186
    c5a6:       f5 e0           ldi     r31, 0x05       ; 5
    c5a8:       a4 ef           ldi     r26, 0xF4       ; 244
    c5aa:       b6 e0           ldi     r27, 0x06       ; 6
    c5ac:       86 ec           ldi     r24, 0xC6       ; 198
    c5ae:       95 e0           ldi     r25, 0x05       ; 5
          for(i=0; i<sizeof(EE_Parameter.Name);i++) VarioPacket.Text[i+7] = EE_Parameter.Name[i]; // no Error
    c5b0:       21 91           ld      r18, Z+
    c5b2:       2d 93           st      X+, r18
    c5b4:       e8 17           cp      r30, r24
    c5b6:       f9 07           cpc     r31, r25
    c5b8:       d9 f7           brne    .-10            ; 0xc5b0 <HoTT_Telemety+0x1c6>
      if(FC_StatusFlags3 & FC_STATUS3_BOAT)
    c5ba:       80 91 c9 03     lds     r24, 0x03C9
    c5be:       81 ff           sbrs    r24, 1
    c5c0:       0e c0           rjmp    .+28            ; 0xc5de <HoTT_Telemety+0x1f4>
                {
         VarioPacket.Text[17] = 'B'; 
    c5c2:       82 e4           ldi     r24, 0x42       ; 66
    c5c4:       80 93 fe 06     sts     0x06FE, r24
         VarioPacket.Text[18] = 'O'; 
    c5c8:       8f e4           ldi     r24, 0x4F       ; 79
    c5ca:       80 93 ff 06     sts     0x06FF, r24
         VarioPacket.Text[19] = 'A'; 
    c5ce:       81 e4           ldi     r24, 0x41       ; 65
    c5d0:       80 93 00 07     sts     0x0700, r24
         VarioPacket.Text[20] = 'T'; 
    c5d4:       84 e5           ldi     r24, 0x54       ; 84
    c5d6:       80 93 01 07     sts     0x0701, r24
         {
          if(FC_StatusFlags3 & FC_STATUS3_BOAT) for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&BOAT_MODE[i]); // no Error
          else  for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&MIKROKOPTER[i]); // no Error
          if(FC_StatusFlags3 & FC_STATUS3_REDUNDANCE)  VarioPacket.Text[0] = 'R';
         } 
                return(sizeof(VarioPacket)); 
    c5da:       8c e2           ldi     r24, 0x2C       ; 44
    c5dc:       2e c3           rjmp    .+1628          ; 0xcc3a <HoTT_Telemety+0x850>
         VarioPacket.Text[19] = 'A'; 
         VarioPacket.Text[20] = 'T'; 
                }
          else
                {
         VarioPacket.Text[18] = ' '; 
    c5de:       80 e2           ldi     r24, 0x20       ; 32
    c5e0:       80 93 ff 06     sts     0x06FF, r24
         VarioPacket.Text[19] = ' '; 
    c5e4:       80 93 00 07     sts     0x0700, r24
         VarioPacket.Text[20] = ' '; 
    c5e8:       80 93 01 07     sts     0x0701, r24
         {
          if(FC_StatusFlags3 & FC_STATUS3_BOAT) for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&BOAT_MODE[i]); // no Error
          else  for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&MIKROKOPTER[i]); // no Error
          if(FC_StatusFlags3 & FC_STATUS3_REDUNDANCE)  VarioPacket.Text[0] = 'R';
         } 
                return(sizeof(VarioPacket)); 
    c5ec:       8c e2           ldi     r24, 0x2C       ; 44
    c5ee:       25 c3           rjmp    .+1610          ; 0xcc3a <HoTT_Telemety+0x850>
         VarioPacket.Text[19] = ' '; 
         VarioPacket.Text[20] = ' '; 
                } 
         } 
         else    
     if(NaviData_WaypointNumber)
    c5f0:       80 91 8c 04     lds     r24, 0x048C
    c5f4:       88 23           and     r24, r24
    c5f6:       09 f4           brne    .+2             ; 0xc5fa <HoTT_Telemety+0x210>
    c5f8:       da c0           rjmp    .+436           ; 0xc7ae <HoTT_Telemety+0x3c4>
         {    
          unsigned int tmp_int;
      unsigned char tmp;
      VarioPacket.Text[0] = 'W'; VarioPacket.Text[1] = 'P';
    c5fa:       97 e5           ldi     r25, 0x57       ; 87
    c5fc:       90 93 ed 06     sts     0x06ED, r25
    c600:       90 e5           ldi     r25, 0x50       ; 80
    c602:       90 93 ee 06     sts     0x06EE, r25
      VarioPacket.Text[2] = ' '; 
    c606:       90 e2           ldi     r25, 0x20       ; 32
    c608:       90 93 ef 06     sts     0x06EF, r25
      VarioPacket.Text[3] = '0'+(NaviData_WaypointIndex) / 10;
    c60c:       30 91 8d 04     lds     r19, 0x048D
    c610:       2d ec           ldi     r18, 0xCD       ; 205
    c612:       32 9f           mul     r19, r18
    c614:       41 2d           mov     r20, r1
    c616:       11 24           eor     r1, r1
    c618:       46 95           lsr     r20
    c61a:       46 95           lsr     r20
    c61c:       46 95           lsr     r20
    c61e:       50 e3           ldi     r21, 0x30       ; 48
    c620:       54 0f           add     r21, r20
    c622:       50 93 f0 06     sts     0x06F0, r21
      VarioPacket.Text[4] = '0'+(NaviData_WaypointIndex) % 10;
    c626:       44 0f           add     r20, r20
    c628:       54 2f           mov     r21, r20
    c62a:       55 0f           add     r21, r21
    c62c:       55 0f           add     r21, r21
    c62e:       45 0f           add     r20, r21
    c630:       34 1b           sub     r19, r20
    c632:       30 5d           subi    r19, 0xD0       ; 208
    c634:       30 93 f1 06     sts     0x06F1, r19
      VarioPacket.Text[5] = '/'; 
    c638:       3f e2           ldi     r19, 0x2F       ; 47
    c63a:       30 93 f2 06     sts     0x06F2, r19
      VarioPacket.Text[6] = '0'+(NaviData_WaypointNumber) / 10;
    c63e:       82 9f           mul     r24, r18
    c640:       21 2d           mov     r18, r1
    c642:       11 24           eor     r1, r1
    c644:       26 95           lsr     r18
    c646:       26 95           lsr     r18
    c648:       26 95           lsr     r18
    c64a:       30 e3           ldi     r19, 0x30       ; 48
    c64c:       32 0f           add     r19, r18
    c64e:       30 93 f3 06     sts     0x06F3, r19
      VarioPacket.Text[7] = '0'+(NaviData_WaypointNumber) % 10;
    c652:       22 0f           add     r18, r18
    c654:       32 2f           mov     r19, r18
    c656:       33 0f           add     r19, r19
    c658:       33 0f           add     r19, r19
    c65a:       23 0f           add     r18, r19
    c65c:       82 1b           sub     r24, r18
    c65e:       80 5d           subi    r24, 0xD0       ; 208
    c660:       80 93 f4 06     sts     0x06F4, r24
      VarioPacket.Text[8] = ' '; 
    c664:       90 93 f5 06     sts     0x06F5, r25
          tmp_int = NaviData_TargetDistance;
    c668:       40 91 85 04     lds     r20, 0x0485
    c66c:       50 91 86 04     lds     r21, 0x0486
      if(tmp_int > 1000) { VarioPacket.Text[9] = '0'+(tmp_int) / 1000; tmp_int %= 1000;}
    c670:       49 3e           cpi     r20, 0xE9       ; 233
    c672:       83 e0           ldi     r24, 0x03       ; 3
    c674:       58 07           cpc     r21, r24
    c676:       08 f1           brcs    .+66            ; 0xc6ba <HoTT_Telemety+0x2d0>
    c678:       9a 01           movw    r18, r20
    c67a:       36 95           lsr     r19
    c67c:       27 95           ror     r18
    c67e:       36 95           lsr     r19
    c680:       27 95           ror     r18
    c682:       36 95           lsr     r19
    c684:       27 95           ror     r18
    c686:       a5 ec           ldi     r26, 0xC5       ; 197
    c688:       b0 e2           ldi     r27, 0x20       ; 32
    c68a:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    c68e:       92 95           swap    r25
    c690:       82 95           swap    r24
    c692:       8f 70           andi    r24, 0x0F       ; 15
    c694:       89 27           eor     r24, r25
    c696:       9f 70           andi    r25, 0x0F       ; 15
    c698:       89 27           eor     r24, r25
    c69a:       20 e3           ldi     r18, 0x30       ; 48
    c69c:       28 0f           add     r18, r24
    c69e:       20 93 f6 06     sts     0x06F6, r18
    c6a2:       68 ee           ldi     r22, 0xE8       ; 232
    c6a4:       73 e0           ldi     r23, 0x03       ; 3
    c6a6:       86 9f           mul     r24, r22
    c6a8:       90 01           movw    r18, r0
    c6aa:       87 9f           mul     r24, r23
    c6ac:       30 0d           add     r19, r0
    c6ae:       96 9f           mul     r25, r22
    c6b0:       30 0d           add     r19, r0
    c6b2:       11 24           eor     r1, r1
    c6b4:       42 1b           sub     r20, r18
    c6b6:       53 0b           sbc     r21, r19
    c6b8:       03 c0           rjmp    .+6             ; 0xc6c0 <HoTT_Telemety+0x2d6>
          else VarioPacket.Text[9] = ' ';
    c6ba:       80 e2           ldi     r24, 0x20       ; 32
    c6bc:       80 93 f6 06     sts     0x06F6, r24
      if(tmp_int > 100) { VarioPacket.Text[10] = '0'+(tmp_int) / 100; tmp_int %= 100;}
    c6c0:       45 36           cpi     r20, 0x65       ; 101
    c6c2:       51 05           cpc     r21, r1
    c6c4:       c0 f0           brcs    .+48            ; 0xc6f6 <HoTT_Telemety+0x30c>
    c6c6:       9a 01           movw    r18, r20
    c6c8:       36 95           lsr     r19
    c6ca:       27 95           ror     r18
    c6cc:       36 95           lsr     r19
    c6ce:       27 95           ror     r18
    c6d0:       ab e7           ldi     r26, 0x7B       ; 123
    c6d2:       b4 e1           ldi     r27, 0x14       ; 20
    c6d4:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    c6d8:       96 95           lsr     r25
    c6da:       87 95           ror     r24
    c6dc:       20 e3           ldi     r18, 0x30       ; 48
    c6de:       28 0f           add     r18, r24
    c6e0:       20 93 f7 06     sts     0x06F7, r18
    c6e4:       64 e6           ldi     r22, 0x64       ; 100
    c6e6:       68 9f           mul     r22, r24
    c6e8:       90 01           movw    r18, r0
    c6ea:       69 9f           mul     r22, r25
    c6ec:       30 0d           add     r19, r0
    c6ee:       11 24           eor     r1, r1
    c6f0:       42 1b           sub     r20, r18
    c6f2:       53 0b           sbc     r21, r19
    c6f4:       03 c0           rjmp    .+6             ; 0xc6fc <HoTT_Telemety+0x312>
          else VarioPacket.Text[10] = ' ';
    c6f6:       80 e2           ldi     r24, 0x20       ; 32
    c6f8:       80 93 f7 06     sts     0x06F7, r24
      VarioPacket.Text[11] = '0'+(tmp_int) / 10; 
    c6fc:       9a 01           movw    r18, r20
    c6fe:       ad ec           ldi     r26, 0xCD       ; 205
    c700:       bc ec           ldi     r27, 0xCC       ; 204
    c702:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    c706:       96 95           lsr     r25
    c708:       87 95           ror     r24
    c70a:       96 95           lsr     r25
    c70c:       87 95           ror     r24
    c70e:       96 95           lsr     r25
    c710:       87 95           ror     r24
    c712:       20 e3           ldi     r18, 0x30       ; 48
    c714:       28 0f           add     r18, r24
    c716:       20 93 f8 06     sts     0x06F8, r18
      VarioPacket.Text[12] = '0'+(tmp_int) % 10; 
    c71a:       9c 01           movw    r18, r24
    c71c:       22 0f           add     r18, r18
    c71e:       33 1f           adc     r19, r19
    c720:       88 0f           add     r24, r24
    c722:       99 1f           adc     r25, r25
    c724:       88 0f           add     r24, r24
    c726:       99 1f           adc     r25, r25
    c728:       88 0f           add     r24, r24
    c72a:       99 1f           adc     r25, r25
    c72c:       82 0f           add     r24, r18
    c72e:       93 1f           adc     r25, r19
    c730:       48 1b           sub     r20, r24
    c732:       59 0b           sbc     r21, r25
    c734:       40 5d           subi    r20, 0xD0       ; 208
    c736:       40 93 f9 06     sts     0x06F9, r20
      VarioPacket.Text[13] = 'm'; 
    c73a:       8d e6           ldi     r24, 0x6D       ; 109
    c73c:       80 93 fa 06     sts     0x06FA, r24
      VarioPacket.Text[14] = ' '; 
    c740:       80 e2           ldi     r24, 0x20       ; 32
    c742:       80 93 fb 06     sts     0x06FB, r24
      tmp = NaviData_TargetHoldTime;
    c746:       80 91 8b 04     lds     r24, 0x048B
          if(tmp > 100) { VarioPacket.Text[15] = '0'+(tmp) / 100; tmp %= 100;} else VarioPacket.Text[15] = ' '; 
    c74a:       85 36           cpi     r24, 0x65       ; 101
    c74c:       78 f0           brcs    .+30            ; 0xc76c <HoTT_Telemety+0x382>
    c74e:       99 e2           ldi     r25, 0x29       ; 41
    c750:       89 9f           mul     r24, r25
    c752:       91 2d           mov     r25, r1
    c754:       11 24           eor     r1, r1
    c756:       92 95           swap    r25
    c758:       9f 70           andi    r25, 0x0F       ; 15
    c75a:       20 e3           ldi     r18, 0x30       ; 48
    c75c:       29 0f           add     r18, r25
    c75e:       20 93 fc 06     sts     0x06FC, r18
    c762:       24 e6           ldi     r18, 0x64       ; 100
    c764:       92 9f           mul     r25, r18
    c766:       80 19           sub     r24, r0
    c768:       11 24           eor     r1, r1
    c76a:       03 c0           rjmp    .+6             ; 0xc772 <HoTT_Telemety+0x388>
    c76c:       90 e2           ldi     r25, 0x20       ; 32
    c76e:       90 93 fc 06     sts     0x06FC, r25
      VarioPacket.Text[16] = '0'+(tmp) / 10; 
    c772:       9d ec           ldi     r25, 0xCD       ; 205
    c774:       89 9f           mul     r24, r25
    c776:       91 2d           mov     r25, r1
    c778:       11 24           eor     r1, r1
    c77a:       96 95           lsr     r25
    c77c:       96 95           lsr     r25
    c77e:       96 95           lsr     r25
    c780:       20 e3           ldi     r18, 0x30       ; 48
    c782:       29 0f           add     r18, r25
    c784:       20 93 fd 06     sts     0x06FD, r18
      VarioPacket.Text[17] = '0'+(tmp) % 10; 
    c788:       99 0f           add     r25, r25
    c78a:       29 2f           mov     r18, r25
    c78c:       22 0f           add     r18, r18
    c78e:       22 0f           add     r18, r18
    c790:       92 0f           add     r25, r18
    c792:       89 1b           sub     r24, r25
    c794:       80 5d           subi    r24, 0xD0       ; 208
    c796:       80 93 fe 06     sts     0x06FE, r24
      VarioPacket.Text[18] = 's'; 
    c79a:       83 e7           ldi     r24, 0x73       ; 115
    c79c:       80 93 ff 06     sts     0x06FF, r24
      VarioPacket.Text[19] = ' '; 
    c7a0:       80 e2           ldi     r24, 0x20       ; 32
    c7a2:       80 93 00 07     sts     0x0700, r24
      VarioPacket.Text[20] = ' '; 
    c7a6:       80 93 01 07     sts     0x0701, r24
         {
          if(FC_StatusFlags3 & FC_STATUS3_BOAT) for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&BOAT_MODE[i]); // no Error
          else  for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&MIKROKOPTER[i]); // no Error
          if(FC_StatusFlags3 & FC_STATUS3_REDUNDANCE)  VarioPacket.Text[0] = 'R';
         } 
                return(sizeof(VarioPacket)); 
    c7aa:       8c e2           ldi     r24, 0x2C       ; 44
    c7ac:       46 c2           rjmp    .+1164          ; 0xcc3a <HoTT_Telemety+0x850>
      VarioPacket.Text[18] = 's'; 
      VarioPacket.Text[19] = ' '; 
      VarioPacket.Text[20] = ' '; 
         }
         else
         if(NC_To_FC_Flags & NC_TO_FC_SIMULATION_ACTIVE)
    c7ae:       80 91 b7 04     lds     r24, 0x04B7
    c7b2:       84 ff           sbrs    r24, 4
    c7b4:       0d c0           rjmp    .+26            ; 0xc7d0 <HoTT_Telemety+0x3e6>
    c7b6:       ec ed           ldi     r30, 0xDC       ; 220
    c7b8:       fd e0           ldi     r31, 0x0D       ; 13
    c7ba:       ad ee           ldi     r26, 0xED       ; 237
    c7bc:       b6 e0           ldi     r27, 0x06       ; 6
    c7be:       81 ef           ldi     r24, 0xF1       ; 241
    c7c0:       9d e0           ldi     r25, 0x0D       ; 13
         {
          for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&SIMULATION[i]); 
    c7c2:       24 91           lpm     r18, Z
    c7c4:       2d 93           st      X+, r18
    c7c6:       31 96           adiw    r30, 0x01       ; 1
    c7c8:       e8 17           cp      r30, r24
    c7ca:       f9 07           cpc     r31, r25
    c7cc:       d1 f7           brne    .-12            ; 0xc7c2 <HoTT_Telemety+0x3d8>
    c7ce:       32 c2           rjmp    .+1124          ; 0xcc34 <HoTT_Telemety+0x84a>
         }
         else
         if(!CalibrationDone)
    c7d0:       80 91 ef 03     lds     r24, 0x03EF
    c7d4:       81 11           cpse    r24, r1
    c7d6:       1d c0           rjmp    .+58            ; 0xc812 <HoTT_Telemety+0x428>
    c7d8:       e0 e2           ldi     r30, 0x20       ; 32
    c7da:       fe e0           ldi     r31, 0x0E       ; 14
    c7dc:       ad ee           ldi     r26, 0xED       ; 237
    c7de:       b6 e0           ldi     r27, 0x06       ; 6
    c7e0:       81 e3           ldi     r24, 0x31       ; 49
    c7e2:       9e e0           ldi     r25, 0x0E       ; 14
         {
          for(i=0; i<17;i++) VarioPacket.Text[i] = pgm_read_byte(&MIKROKOPTER[i+2]); // no Error and not calibrated
    c7e4:       24 91           lpm     r18, Z
    c7e6:       2d 93           st      X+, r18
    c7e8:       31 96           adiw    r30, 0x01       ; 1
    c7ea:       e8 17           cp      r30, r24
    c7ec:       f9 07           cpc     r31, r25
    c7ee:       d1 f7           brne    .-12            ; 0xc7e4 <HoTT_Telemety+0x3fa>
      VarioPacket.Text[16] = '0'+VERSION_MAJOR; 
    c7f0:       82 e3           ldi     r24, 0x32       ; 50
    c7f2:       80 93 fd 06     sts     0x06FD, r24
      VarioPacket.Text[17] = '.'; 
    c7f6:       8e e2           ldi     r24, 0x2E       ; 46
    c7f8:       80 93 fe 06     sts     0x06FE, r24
      VarioPacket.Text[18] = '0'+VERSION_MINOR/10; 
    c7fc:       80 e3           ldi     r24, 0x30       ; 48
    c7fe:       80 93 ff 06     sts     0x06FF, r24
      VarioPacket.Text[19] = '0'+VERSION_MINOR%10; 
    c802:       88 e3           ldi     r24, 0x38       ; 56
    c804:       80 93 00 07     sts     0x0700, r24
      VarioPacket.Text[20] = 'a'+VERSION_PATCH; 
    c808:       81 e6           ldi     r24, 0x61       ; 97
    c80a:       80 93 01 07     sts     0x0701, r24
         {
          if(FC_StatusFlags3 & FC_STATUS3_BOAT) for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&BOAT_MODE[i]); // no Error
          else  for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&MIKROKOPTER[i]); // no Error
          if(FC_StatusFlags3 & FC_STATUS3_REDUNDANCE)  VarioPacket.Text[0] = 'R';
         } 
                return(sizeof(VarioPacket)); 
    c80e:       8c e2           ldi     r24, 0x2C       ; 44
    c810:       14 c2           rjmp    .+1064          ; 0xcc3a <HoTT_Telemety+0x850>
      VarioPacket.Text[19] = '0'+VERSION_MINOR%10; 
      VarioPacket.Text[20] = 'a'+VERSION_PATCH; 
         }
         else
         {
          if(FC_StatusFlags3 & FC_STATUS3_BOAT) for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&BOAT_MODE[i]); // no Error
    c812:       80 91 c9 03     lds     r24, 0x03C9
    c816:       81 ff           sbrs    r24, 1
    c818:       0d c0           rjmp    .+26            ; 0xc834 <HoTT_Telemety+0x44a>
    c81a:       e6 ec           ldi     r30, 0xC6       ; 198
    c81c:       fd e0           ldi     r31, 0x0D       ; 13
    c81e:       ad ee           ldi     r26, 0xED       ; 237
    c820:       b6 e0           ldi     r27, 0x06       ; 6
    c822:       8b ed           ldi     r24, 0xDB       ; 219
    c824:       9d e0           ldi     r25, 0x0D       ; 13
    c826:       24 91           lpm     r18, Z
    c828:       2d 93           st      X+, r18
    c82a:       31 96           adiw    r30, 0x01       ; 1
    c82c:       e8 17           cp      r30, r24
    c82e:       f9 07           cpc     r31, r25
    c830:       d1 f7           brne    .-12            ; 0xc826 <HoTT_Telemety+0x43c>
    c832:       0c c0           rjmp    .+24            ; 0xc84c <HoTT_Telemety+0x462>
    c834:       ee e1           ldi     r30, 0x1E       ; 30
    c836:       fe e0           ldi     r31, 0x0E       ; 14
    c838:       ad ee           ldi     r26, 0xED       ; 237
    c83a:       b6 e0           ldi     r27, 0x06       ; 6
    c83c:       83 e3           ldi     r24, 0x33       ; 51
    c83e:       9e e0           ldi     r25, 0x0E       ; 14
          else  for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&MIKROKOPTER[i]); // no Error
    c840:       24 91           lpm     r18, Z
    c842:       2d 93           st      X+, r18
    c844:       31 96           adiw    r30, 0x01       ; 1
    c846:       e8 17           cp      r30, r24
    c848:       f9 07           cpc     r31, r25
    c84a:       d1 f7           brne    .-12            ; 0xc840 <HoTT_Telemety+0x456>
          if(FC_StatusFlags3 & FC_STATUS3_REDUNDANCE)  VarioPacket.Text[0] = 'R';
    c84c:       80 91 c9 03     lds     r24, 0x03C9
    c850:       80 ff           sbrs    r24, 0
    c852:       f2 c1           rjmp    .+996           ; 0xcc38 <HoTT_Telemety+0x84e>
    c854:       82 e5           ldi     r24, 0x52       ; 82
    c856:       80 93 ed 06     sts     0x06ED, r24
         } 
                return(sizeof(VarioPacket)); 
    c85a:       8c e2           ldi     r24, 0x2C       ; 44
    c85c:       ee c1           rjmp    .+988           ; 0xcc3a <HoTT_Telemety+0x850>
                break;

  case HOTT_GPS_PACKET_ID:
                GPSPacket.Altitude = HoehenWert/100 + 500;  
    c85e:       60 91 fe 03     lds     r22, 0x03FE
    c862:       70 91 ff 03     lds     r23, 0x03FF
    c866:       80 91 00 04     lds     r24, 0x0400
    c86a:       90 91 01 04     lds     r25, 0x0401
    c86e:       24 e6           ldi     r18, 0x64       ; 100
    c870:       30 e0           ldi     r19, 0x00       ; 0
    c872:       40 e0           ldi     r20, 0x00       ; 0
    c874:       50 e0           ldi     r21, 0x00       ; 0
    c876:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    c87a:       2c 50           subi    r18, 0x0C       ; 12
    c87c:       3e 4f           sbci    r19, 0xFE       ; 254
    c87e:       30 93 ca 07     sts     0x07CA, r19
    c882:       20 93 c9 07     sts     0x07C9, r18
//              GPSPacket.Distance = GPSInfo.HomeDistance/10;  // macht die NC
//              GPSPacket.Heading = GPSInfo.HomeBearing/2;     // macht die NC
//              GPSPacket.Speed = (GPSInfo.Speed * 36) / 10;   // macht die NC
//      GPSPacket.WarnBeep = HoTT_Waring();                //(wird jetzt weiter oben gemacht)
                if(!GPSPacket.WarnBeep) GPSPacket.m_sec = BuildHoTT_Vario(); else GPSPacket.m_sec = VARIO_ZERO;
    c886:       80 91 b6 07     lds     r24, 0x07B6
    c88a:       81 11           cpse    r24, r1
    c88c:       06 c0           rjmp    .+12            ; 0xc89a <HoTT_Telemety+0x4b0>
    c88e:       40 dd           rcall   .-1408          ; 0xc310 <BuildHoTT_Vario>
    c890:       90 93 cc 07     sts     0x07CC, r25
    c894:       80 93 cb 07     sts     0x07CB, r24
    c898:       06 c0           rjmp    .+12            ; 0xc8a6 <HoTT_Telemety+0x4bc>
    c89a:       80 e3           ldi     r24, 0x30       ; 48
    c89c:       95 e7           ldi     r25, 0x75       ; 117
    c89e:       90 93 cc 07     sts     0x07CC, r25
    c8a2:       80 93 cb 07     sts     0x07CB, r24
                GPSPacket.m_3sec = 120;
    c8a6:       88 e7           ldi     r24, 0x78       ; 120
    c8a8:       80 93 cd 07     sts     0x07CD, r24
                GPSPacket.NumOfSats = GPSInfo.NumOfSats;
    c8ac:       80 91 d8 08     lds     r24, 0x08D8
    c8b0:       80 93 ce 07     sts     0x07CE, r24
                if(GPSInfo.Flags & FLAG_DIFFSOLN) GPSPacket.SatFix = 'D';
    c8b4:       80 91 d7 08     lds     r24, 0x08D7
    c8b8:       81 ff           sbrs    r24, 1
    c8ba:       04 c0           rjmp    .+8             ; 0xc8c4 <HoTT_Telemety+0x4da>
    c8bc:       84 e4           ldi     r24, 0x44       ; 68
    c8be:       80 93 cf 07     sts     0x07CF, r24
    c8c2:       0b c0           rjmp    .+22            ; 0xc8da <HoTT_Telemety+0x4f0>
                else
        if(GPSInfo.SatFix == SATFIX_3D) GPSPacket.SatFix = ' '; 
    c8c4:       80 91 d9 08     lds     r24, 0x08D9
    c8c8:       83 30           cpi     r24, 0x03       ; 3
    c8ca:       21 f4           brne    .+8             ; 0xc8d4 <HoTT_Telemety+0x4ea>
    c8cc:       80 e2           ldi     r24, 0x20       ; 32
    c8ce:       80 93 cf 07     sts     0x07CF, r24
    c8d2:       03 c0           rjmp    .+6             ; 0xc8da <HoTT_Telemety+0x4f0>
                else GPSPacket.SatFix = '!';
    c8d4:       81 e2           ldi     r24, 0x21       ; 33
    c8d6:       80 93 cf 07     sts     0x07CF, r24
                HoTT_DataPointer = (unsigned char *) &GPSPacket;
    c8da:       84 eb           ldi     r24, 0xB4       ; 180
    c8dc:       97 e0           ldi     r25, 0x07       ; 7
    c8de:       90 93 f1 02     sts     0x02F1, r25
    c8e2:       80 93 f0 02     sts     0x02F0, r24
                GPSPacket.FreeCharacters[0] = NC_GPS_ModeCharacter;
    c8e6:       80 91 96 02     lds     r24, 0x0296
    c8ea:       80 93 db 07     sts     0x07DB, r24
                GPSPacket.FreeCharacters[2] = GPSPacket.SatFix;
    c8ee:       80 91 cf 07     lds     r24, 0x07CF
    c8f2:       80 93 dd 07     sts     0x07DD, r24
                GPSPacket.HomeDirection = GPSInfo.HomeBearing / 2;//230;
    c8f6:       80 91 dd 08     lds     r24, 0x08DD
    c8fa:       90 91 de 08     lds     r25, 0x08DE
    c8fe:       99 23           and     r25, r25
    c900:       0c f4           brge    .+2             ; 0xc904 <HoTT_Telemety+0x51a>
    c902:       01 96           adiw    r24, 0x01       ; 1
    c904:       95 95           asr     r25
    c906:       87 95           ror     r24
    c908:       80 93 d0 07     sts     0x07D0, r24
                return(sizeof(GPSPacket));  
    c90c:       8c e2           ldi     r24, 0x2C       ; 44
    c90e:       95 c1           rjmp    .+810           ; 0xcc3a <HoTT_Telemety+0x850>
                break;
  case HOTT_ELECTRIC_AIR_PACKET_ID:
                GetHottestBl();
    c910:       f0 db           rcall   .-2080          ; 0xc0f2 <GetHottestBl>
                ElectricAirPacket.Altitude = HoehenWert/100 + 500; 
    c912:       60 91 fe 03     lds     r22, 0x03FE
    c916:       70 91 ff 03     lds     r23, 0x03FF
    c91a:       80 91 00 04     lds     r24, 0x0400
    c91e:       90 91 01 04     lds     r25, 0x0401
    c922:       24 e6           ldi     r18, 0x64       ; 100
    c924:       30 e0           ldi     r19, 0x00       ; 0
    c926:       40 e0           ldi     r20, 0x00       ; 0
    c928:       50 e0           ldi     r21, 0x00       ; 0
    c92a:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    c92e:       2c 50           subi    r18, 0x0C       ; 12
    c930:       3e 4f           sbci    r19, 0xFE       ; 254
    c932:       30 93 95 06     sts     0x0695, r19
    c936:       20 93 94 06     sts     0x0694, r18
                ElectricAirPacket.Battery1 = UBat;
    c93a:       80 91 1a 01     lds     r24, 0x011A
    c93e:       90 91 1b 01     lds     r25, 0x011B
    c942:       90 93 8f 06     sts     0x068F, r25
    c946:       80 93 8e 06     sts     0x068E, r24
                ElectricAirPacket.Battery2 = UBat;
    c94a:       80 91 1a 01     lds     r24, 0x011A
    c94e:       90 91 1b 01     lds     r25, 0x011B
    c952:       90 93 91 06     sts     0x0691, r25
    c956:       80 93 90 06     sts     0x0690, r24
                ElectricAirPacket.VoltageCell1 = CompassCorrected / 2;
    c95a:       80 91 65 06     lds     r24, 0x0665
    c95e:       90 91 66 06     lds     r25, 0x0666
    c962:       99 23           and     r25, r25
    c964:       0c f4           brge    .+2             ; 0xc968 <HoTT_Telemety+0x57e>
    c966:       01 96           adiw    r24, 0x01       ; 1
    c968:       95 95           asr     r25
    c96a:       87 95           ror     r24
    c96c:       80 93 80 06     sts     0x0680, r24
                ElectricAirPacket.VoltageCell8 = ElectricAirPacket.VoltageCell1;
    c970:       80 93 87 06     sts     0x0687, r24
                ElectricAirPacket.VoltageCell6 = GPSInfo.HomeBearing / 2;
    c974:       80 91 dd 08     lds     r24, 0x08DD
    c978:       90 91 de 08     lds     r25, 0x08DE
    c97c:       99 23           and     r25, r25
    c97e:       0c f4           brge    .+2             ; 0xc982 <HoTT_Telemety+0x598>
    c980:       01 96           adiw    r24, 0x01       ; 1
    c982:       ac 01           movw    r20, r24
    c984:       55 95           asr     r21
    c986:       47 95           ror     r20
    c988:       40 93 85 06     sts     0x0685, r20
                ElectricAirPacket.VoltageCell7 = GPSInfo.HomeDistance/20;
    c98c:       20 91 db 08     lds     r18, 0x08DB
    c990:       30 91 dc 08     lds     r19, 0x08DC
    c994:       ad ec           ldi     r26, 0xCD       ; 205
    c996:       bc ec           ldi     r27, 0xCC       ; 204
    c998:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    c99c:       92 95           swap    r25
    c99e:       82 95           swap    r24
    c9a0:       8f 70           andi    r24, 0x0F       ; 15
    c9a2:       89 27           eor     r24, r25
    c9a4:       9f 70           andi    r25, 0x0F       ; 15
    c9a6:       89 27           eor     r24, r25
    c9a8:       80 93 86 06     sts     0x0686, r24
                ElectricAirPacket.VoltageCell13 = ElectricAirPacket.VoltageCell6;
    c9ac:       40 93 8c 06     sts     0x068C, r20
                ElectricAirPacket.VoltageCell14 = ElectricAirPacket.VoltageCell7;
    c9b0:       80 93 8d 06     sts     0x068D, r24
        if(!GPSPacket.WarnBeep) ElectricAirPacket.m_sec = BuildHoTT_Vario(); else ElectricAirPacket.m_sec = VARIO_ZERO;
    c9b4:       80 91 b6 07     lds     r24, 0x07B6
    c9b8:       81 11           cpse    r24, r1
    c9ba:       06 c0           rjmp    .+12            ; 0xc9c8 <HoTT_Telemety+0x5de>
    c9bc:       a9 dc           rcall   .-1710          ; 0xc310 <BuildHoTT_Vario>
    c9be:       90 93 9d 06     sts     0x069D, r25
    c9c2:       80 93 9c 06     sts     0x069C, r24
    c9c6:       06 c0           rjmp    .+12            ; 0xc9d4 <HoTT_Telemety+0x5ea>
    c9c8:       80 e3           ldi     r24, 0x30       ; 48
    c9ca:       95 e7           ldi     r25, 0x75       ; 117
    c9cc:       90 93 9d 06     sts     0x069D, r25
    c9d0:       80 93 9c 06     sts     0x069C, r24
                ElectricAirPacket.m_3sec = 120;
    c9d4:       88 e7           ldi     r24, 0x78       ; 120
    c9d6:       80 93 9e 06     sts     0x069E, r24
                ElectricAirPacket.InputVoltage = UBat;
    c9da:       80 91 1a 01     lds     r24, 0x011A
    c9de:       90 91 1b 01     lds     r25, 0x011B
    c9e2:       90 93 99 06     sts     0x0699, r25
    c9e6:       80 93 98 06     sts     0x0698, r24
                ElectricAirPacket.Temperature1 = MinBlTemperture + 20;
    c9ea:       80 91 83 04     lds     r24, 0x0483
    c9ee:       8c 5e           subi    r24, 0xEC       ; 236
    c9f0:       80 93 92 06     sts     0x0692, r24
                ElectricAirPacket.Temperature2 = MaxBlTemperture + 20;
    c9f4:       80 91 84 04     lds     r24, 0x0484
    c9f8:       8c 5e           subi    r24, 0xEC       ; 236
    c9fa:       80 93 93 06     sts     0x0693, r24
                ElectricAirPacket.Capacity = Capacity.UsedCapacity/10;
    c9fe:       20 91 19 05     lds     r18, 0x0519
    ca02:       30 91 1a 05     lds     r19, 0x051A
    ca06:       ad ec           ldi     r26, 0xCD       ; 205
    ca08:       bc ec           ldi     r27, 0xCC       ; 204
    ca0a:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    ca0e:       96 95           lsr     r25
    ca10:       87 95           ror     r24
    ca12:       96 95           lsr     r25
    ca14:       87 95           ror     r24
    ca16:       96 95           lsr     r25
    ca18:       87 95           ror     r24
    ca1a:       90 93 9b 06     sts     0x069B, r25
    ca1e:       80 93 9a 06     sts     0x069A, r24
//              ElectricAirPacket.WarnBeep = 0;//HoTT_Waring();
ElectricAirPacket.WarnBeep = GPSPacket.WarnBeep;
    ca22:       80 91 b6 07     lds     r24, 0x07B6
    ca26:       80 93 7c 06     sts     0x067C, r24
                ElectricAirPacket.Current = Capacity.ActualCurrent;
    ca2a:       80 91 15 05     lds     r24, 0x0515
    ca2e:       90 91 16 05     lds     r25, 0x0516
    ca32:       90 93 97 06     sts     0x0697, r25
    ca36:       80 93 96 06     sts     0x0696, r24
                HoTT_DataPointer = (unsigned char *) &ElectricAirPacket;
    ca3a:       8a e7           ldi     r24, 0x7A       ; 122
    ca3c:       96 e0           ldi     r25, 0x06       ; 6
    ca3e:       90 93 f1 02     sts     0x02F1, r25
    ca42:       80 93 f0 02     sts     0x02F0, r24
                ElectricAirPacket.FlightTimeMinutes = FlugSekunden / 60;
    ca46:       40 91 5e 04     lds     r20, 0x045E
    ca4a:       50 91 5f 04     lds     r21, 0x045F
    ca4e:       9a 01           movw    r18, r20
    ca50:       a9 e8           ldi     r26, 0x89       ; 137
    ca52:       b8 e8           ldi     r27, 0x88       ; 136
    ca54:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    ca58:       96 95           lsr     r25
    ca5a:       87 95           ror     r24
    ca5c:       92 95           swap    r25
    ca5e:       82 95           swap    r24
    ca60:       8f 70           andi    r24, 0x0F       ; 15
    ca62:       89 27           eor     r24, r25
    ca64:       9f 70           andi    r25, 0x0F       ; 15
    ca66:       89 27           eor     r24, r25
    ca68:       80 93 a1 06     sts     0x06A1, r24
                ElectricAirPacket.FlightTimeSeconds = FlugSekunden % 60; 
    ca6c:       6c e3           ldi     r22, 0x3C       ; 60
    ca6e:       68 9f           mul     r22, r24
    ca70:       90 01           movw    r18, r0
    ca72:       69 9f           mul     r22, r25
    ca74:       30 0d           add     r19, r0
    ca76:       11 24           eor     r1, r1
    ca78:       42 1b           sub     r20, r18
    ca7a:       53 0b           sbc     r21, r19
    ca7c:       40 93 a2 06     sts     0x06A2, r20
                return(sizeof(ElectricAirPacket)); 
    ca80:       8c e2           ldi     r24, 0x2C       ; 44
    ca82:       db c0           rjmp    .+438           ; 0xcc3a <HoTT_Telemety+0x850>
                break;
  case HOTT_GENERAL_PACKET_ID:
                GetHottestBl();
    ca84:       36 db           rcall   .-2452          ; 0xc0f2 <GetHottestBl>
                HoTTGeneral.Rpm = GPSInfo.HomeDistance/100;
    ca86:       20 91 db 08     lds     r18, 0x08DB
    ca8a:       30 91 dc 08     lds     r19, 0x08DC
    ca8e:       36 95           lsr     r19
    ca90:       27 95           ror     r18
    ca92:       36 95           lsr     r19
    ca94:       27 95           ror     r18
    ca96:       ab e7           ldi     r26, 0x7B       ; 123
    ca98:       b4 e1           ldi     r27, 0x14       ; 20
    ca9a:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    ca9e:       96 95           lsr     r25
    caa0:       87 95           ror     r24
    caa2:       90 93 bc 06     sts     0x06BC, r25
    caa6:       80 93 bb 06     sts     0x06BB, r24
                HoTTGeneral.VoltageCell1 = CompassCorrected / 2;
    caaa:       80 91 65 06     lds     r24, 0x0665
    caae:       90 91 66 06     lds     r25, 0x0666
    cab2:       99 23           and     r25, r25
    cab4:       0c f4           brge    .+2             ; 0xcab8 <HoTT_Telemety+0x6ce>
    cab6:       01 96           adiw    r24, 0x01       ; 1
    cab8:       95 95           asr     r25
    caba:       87 95           ror     r24
    cabc:       80 93 ac 06     sts     0x06AC, r24
                HoTTGeneral.VoltageCell2 = KompassValue / 2;
    cac0:       80 91 4e 01     lds     r24, 0x014E
    cac4:       90 91 4f 01     lds     r25, 0x014F
    cac8:       99 23           and     r25, r25
    caca:       0c f4           brge    .+2             ; 0xcace <HoTT_Telemety+0x6e4>
    cacc:       01 96           adiw    r24, 0x01       ; 1
    cace:       95 95           asr     r25
    cad0:       87 95           ror     r24
    cad2:       80 93 ad 06     sts     0x06AD, r24
                //HoTTGeneral.VoltageCell3 = Magnetstaerke -> macht NC
                //HoTTGeneral.VoltageCell4 = Inclinition -> macht NC
                HoTTGeneral.VoltageCell5 = DebugOut.Analog[28]; // I2C ErrorCounter
    cad6:       80 91 80 0c     lds     r24, 0x0C80
    cada:       80 93 b0 06     sts     0x06B0, r24
                HoTTGeneral.VoltageCell6 = GPSInfo.HomeBearing / 2;
    cade:       80 91 dd 08     lds     r24, 0x08DD
    cae2:       90 91 de 08     lds     r25, 0x08DE
    cae6:       99 23           and     r25, r25
    cae8:       0c f4           brge    .+2             ; 0xcaec <HoTT_Telemety+0x702>
    caea:       01 96           adiw    r24, 0x01       ; 1
    caec:       95 95           asr     r25
    caee:       87 95           ror     r24
    caf0:       80 93 b1 06     sts     0x06B1, r24
                if(UBat > BattLowVoltageWarning + 2) HoTTGeneral.FuelPercent = (UBat - (BattLowVoltageWarning + 2)) * 3;
    caf4:       80 91 53 01     lds     r24, 0x0153
    caf8:       90 e0           ldi     r25, 0x00       ; 0
    cafa:       20 91 1a 01     lds     r18, 0x011A
    cafe:       30 91 1b 01     lds     r19, 0x011B
    cb02:       ac 01           movw    r20, r24
    cb04:       4e 5f           subi    r20, 0xFE       ; 254
    cb06:       5f 4f           sbci    r21, 0xFF       ; 255
    cb08:       42 17           cp      r20, r18
    cb0a:       53 07           cpc     r21, r19
    cb0c:       8c f4           brge    .+34            ; 0xcb30 <HoTT_Telemety+0x746>
    cb0e:       20 91 1a 01     lds     r18, 0x011A
    cb12:       30 91 1b 01     lds     r19, 0x011B
    cb16:       a9 01           movw    r20, r18
    cb18:       48 1b           sub     r20, r24
    cb1a:       59 0b           sbc     r21, r25
    cb1c:       ca 01           movw    r24, r20
    cb1e:       02 97           sbiw    r24, 0x02       ; 2
    cb20:       98 2f           mov     r25, r24
    cb22:       99 0f           add     r25, r25
    cb24:       89 0f           add     r24, r25
    cb26:       80 93 b8 06     sts     0x06B8, r24
                else HoTTGeneral.FuelPercent = 0;
                if(HoTTGeneral.FuelPercent > 100) HoTTGeneral.FuelPercent = 100;
    cb2a:       85 36           cpi     r24, 0x65       ; 101
    cb2c:       20 f4           brcc    .+8             ; 0xcb36 <HoTT_Telemety+0x74c>
    cb2e:       06 c0           rjmp    .+12            ; 0xcb3c <HoTT_Telemety+0x752>
                //HoTTGeneral.VoltageCell3 = Magnetstaerke -> macht NC
                //HoTTGeneral.VoltageCell4 = Inclinition -> macht NC
                HoTTGeneral.VoltageCell5 = DebugOut.Analog[28]; // I2C ErrorCounter
                HoTTGeneral.VoltageCell6 = GPSInfo.HomeBearing / 2;
                if(UBat > BattLowVoltageWarning + 2) HoTTGeneral.FuelPercent = (UBat - (BattLowVoltageWarning + 2)) * 3;
                else HoTTGeneral.FuelPercent = 0;
    cb30:       10 92 b8 06     sts     0x06B8, r1
    cb34:       03 c0           rjmp    .+6             ; 0xcb3c <HoTT_Telemety+0x752>
                if(HoTTGeneral.FuelPercent > 100) HoTTGeneral.FuelPercent = 100;
    cb36:       84 e6           ldi     r24, 0x64       ; 100
    cb38:       80 93 b8 06     sts     0x06B8, r24
                HoTTGeneral.FuelCapacity = NC_ErrorCode;//HoehenWert/100; // Oelpegel
    cb3c:       80 91 bb 04     lds     r24, 0x04BB
    cb40:       90 e0           ldi     r25, 0x00       ; 0
    cb42:       90 93 ba 06     sts     0x06BA, r25
    cb46:       80 93 b9 06     sts     0x06B9, r24
//              if(HoTTGeneral.FuelCapacity < 0) HoTTGeneral.FuelCapacity = 0;
                HoTTGeneral.Altitude = HoehenWert/100 + 500; 
    cb4a:       60 91 fe 03     lds     r22, 0x03FE
    cb4e:       70 91 ff 03     lds     r23, 0x03FF
    cb52:       80 91 00 04     lds     r24, 0x0400
    cb56:       90 91 01 04     lds     r25, 0x0401
    cb5a:       24 e6           ldi     r18, 0x64       ; 100
    cb5c:       30 e0           ldi     r19, 0x00       ; 0
    cb5e:       40 e0           ldi     r20, 0x00       ; 0
    cb60:       50 e0           ldi     r21, 0x00       ; 0
    cb62:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    cb66:       2c 50           subi    r18, 0x0C       ; 12
    cb68:       3e 4f           sbci    r19, 0xFE       ; 254
    cb6a:       30 93 be 06     sts     0x06BE, r19
    cb6e:       20 93 bd 06     sts     0x06BD, r18
                HoTTGeneral.Battery1 = UBat;
    cb72:       80 91 1a 01     lds     r24, 0x011A
    cb76:       90 91 1b 01     lds     r25, 0x011B
    cb7a:       90 93 b3 06     sts     0x06B3, r25
    cb7e:       80 93 b2 06     sts     0x06B2, r24
                HoTTGeneral.Battery2 = UBat;
    cb82:       80 91 1a 01     lds     r24, 0x011A
    cb86:       90 91 1b 01     lds     r25, 0x011B
    cb8a:       90 93 b5 06     sts     0x06B5, r25
    cb8e:       80 93 b4 06     sts     0x06B4, r24
                if(!GPSPacket.WarnBeep) HoTTGeneral.m_sec =  BuildHoTT_Vario(); else  HoTTGeneral.m_sec = VARIO_ZERO;
    cb92:       80 91 b6 07     lds     r24, 0x07B6
    cb96:       81 11           cpse    r24, r1
    cb98:       06 c0           rjmp    .+12            ; 0xcba6 <HoTT_Telemety+0x7bc>
    cb9a:       ba db           rcall   .-2188          ; 0xc310 <BuildHoTT_Vario>
    cb9c:       90 93 c0 06     sts     0x06C0, r25
    cba0:       80 93 bf 06     sts     0x06BF, r24
    cba4:       06 c0           rjmp    .+12            ; 0xcbb2 <HoTT_Telemety+0x7c8>
    cba6:       80 e3           ldi     r24, 0x30       ; 48
    cba8:       95 e7           ldi     r25, 0x75       ; 117
    cbaa:       90 93 c0 06     sts     0x06C0, r25
    cbae:       80 93 bf 06     sts     0x06BF, r24
                HoTTGeneral.m_3sec = 120 + GPSPacket.WarnBeep;
    cbb2:       80 91 b6 07     lds     r24, 0x07B6
    cbb6:       88 58           subi    r24, 0x88       ; 136
    cbb8:       80 93 c1 06     sts     0x06C1, r24
                HoTTGeneral.InputVoltage = UBat;
    cbbc:       80 91 1a 01     lds     r24, 0x011A
    cbc0:       90 91 1b 01     lds     r25, 0x011B
    cbc4:       90 93 c5 06     sts     0x06C5, r25
    cbc8:       80 93 c4 06     sts     0x06C4, r24
                HoTTGeneral.Temperature1 = MinBlTemperture + 20;
    cbcc:       80 91 83 04     lds     r24, 0x0483
    cbd0:       8c 5e           subi    r24, 0xEC       ; 236
    cbd2:       80 93 b6 06     sts     0x06B6, r24
                HoTTGeneral.Temperature2 = MaxBlTemperture + 20;
    cbd6:       80 91 84 04     lds     r24, 0x0484
    cbda:       8c 5e           subi    r24, 0xEC       ; 236
    cbdc:       80 93 b7 06     sts     0x06B7, r24
                HoTTGeneral.Capacity = Capacity.UsedCapacity/10;
    cbe0:       20 91 19 05     lds     r18, 0x0519
    cbe4:       30 91 1a 05     lds     r19, 0x051A
    cbe8:       ad ec           ldi     r26, 0xCD       ; 205
    cbea:       bc ec           ldi     r27, 0xCC       ; 204
    cbec:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    cbf0:       96 95           lsr     r25
    cbf2:       87 95           ror     r24
    cbf4:       96 95           lsr     r25
    cbf6:       87 95           ror     r24
    cbf8:       96 95           lsr     r25
    cbfa:       87 95           ror     r24
    cbfc:       90 93 c7 06     sts     0x06C7, r25
    cc00:       80 93 c6 06     sts     0x06C6, r24
                HoTTGeneral.WarnBeep = 0;//HoTT_Waring();
    cc04:       10 92 a8 06     sts     0x06A8, r1
                HoTTGeneral.Current = Capacity.ActualCurrent;
    cc08:       80 91 15 05     lds     r24, 0x0515
    cc0c:       90 91 16 05     lds     r25, 0x0516
    cc10:       90 93 c3 06     sts     0x06C3, r25
    cc14:       80 93 c2 06     sts     0x06C2, r24
//HoTTGeneral.ErrorNumber = HoTTErrorCode();
                HoTT_DataPointer = (unsigned char *) &HoTTGeneral;
    cc18:       86 ea           ldi     r24, 0xA6       ; 166
    cc1a:       96 e0           ldi     r25, 0x06       ; 6
    cc1c:       90 93 f1 02     sts     0x02F1, r25
    cc20:       80 93 f0 02     sts     0x02F0, r24
                return(sizeof(HoTTGeneral)); 
    cc24:       8c e2           ldi     r24, 0x2C       ; 44
    cc26:       09 c0           rjmp    .+18            ; 0xcc3a <HoTT_Telemety+0x850>
                break;
  default: return(0);
    cc28:       80 e0           ldi     r24, 0x00       ; 0
    cc2a:       07 c0           rjmp    .+14            ; 0xcc3a <HoTT_Telemety+0x850>
         {
          if(FC_StatusFlags3 & FC_STATUS3_BOAT) for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&BOAT_MODE[i]); // no Error
          else  for(i=0; i<21;i++) VarioPacket.Text[i] = pgm_read_byte(&MIKROKOPTER[i]); // no Error
          if(FC_StatusFlags3 & FC_STATUS3_REDUNDANCE)  VarioPacket.Text[0] = 'R';
         } 
                return(sizeof(VarioPacket)); 
    cc2c:       8c e2           ldi     r24, 0x2C       ; 44
    cc2e:       05 c0           rjmp    .+10            ; 0xcc3a <HoTT_Telemety+0x850>
    cc30:       8c e2           ldi     r24, 0x2C       ; 44
    cc32:       03 c0           rjmp    .+6             ; 0xcc3a <HoTT_Telemety+0x850>
    cc34:       8c e2           ldi     r24, 0x2C       ; 44
    cc36:       01 c0           rjmp    .+2             ; 0xcc3a <HoTT_Telemety+0x850>
    cc38:       8c e2           ldi     r24, 0x2C       ; 44
                HoTT_DataPointer = (unsigned char *) &HoTTGeneral;
                return(sizeof(HoTTGeneral)); 
                break;
  default: return(0);
  }             
}
    cc3a:       cf 91           pop     r28
    cc3c:       08 95           ret

0000cc3e <HoTT_Menu>:

//---------------------------------------------------------------
void HoTT_Menu(void)
{
    cc3e:       2f 92           push    r2
    cc40:       3f 92           push    r3
    cc42:       4f 92           push    r4
    cc44:       5f 92           push    r5
    cc46:       6f 92           push    r6
    cc48:       7f 92           push    r7
    cc4a:       8f 92           push    r8
    cc4c:       9f 92           push    r9
    cc4e:       af 92           push    r10
    cc50:       bf 92           push    r11
    cc52:       cf 92           push    r12
    cc54:       df 92           push    r13
    cc56:       ef 92           push    r14
    cc58:       ff 92           push    r15
    cc5a:       0f 93           push    r16
    cc5c:       1f 93           push    r17
    cc5e:       cf 93           push    r28
    cc60:       df 93           push    r29
    cc62:       00 d0           rcall   .+0             ; 0xcc64 <HoTT_Menu+0x26>
    cc64:       00 d0           rcall   .+0             ; 0xcc66 <HoTT_Menu+0x28>
    cc66:       cd b7           in      r28, 0x3d       ; 61
    cc68:       de b7           in      r29, 0x3e       ; 62
 static unsigned char line, page = 0,show_current = 0,show_mag = 0, show_poti = 0;
 unsigned char tmp; 
 HoTTVarioMeter = (HoTTVarioMeter * 7 + VarioMeter) / 8;
    cc6a:       40 91 54 03     lds     r20, 0x0354
    cc6e:       50 91 55 03     lds     r21, 0x0355
    cc72:       20 91 7e 04     lds     r18, 0x047E
    cc76:       30 91 7f 04     lds     r19, 0x047F
    cc7a:       c9 01           movw    r24, r18
    cc7c:       88 0f           add     r24, r24
    cc7e:       99 1f           adc     r25, r25
    cc80:       88 0f           add     r24, r24
    cc82:       99 1f           adc     r25, r25
    cc84:       88 0f           add     r24, r24
    cc86:       99 1f           adc     r25, r25
    cc88:       82 1b           sub     r24, r18
    cc8a:       93 0b           sbc     r25, r19
    cc8c:       84 0f           add     r24, r20
    cc8e:       95 1f           adc     r25, r21
    cc90:       99 23           and     r25, r25
    cc92:       0c f4           brge    .+2             ; 0xcc96 <HoTT_Menu+0x58>
    cc94:       07 96           adiw    r24, 0x07       ; 7
    cc96:       95 95           asr     r25
    cc98:       87 95           ror     r24
    cc9a:       95 95           asr     r25
    cc9c:       87 95           ror     r24
    cc9e:       95 95           asr     r25
    cca0:       87 95           ror     r24
    cca2:       90 93 7f 04     sts     0x047F, r25
    cca6:       80 93 7e 04     sts     0x047E, r24

// if(HottKeyboard) {beeptime = 1000;};  
 
 switch(page)
    ccaa:       80 91 76 04     lds     r24, 0x0476
    ccae:       90 e0           ldi     r25, 0x00       ; 0
    ccb0:       87 30           cpi     r24, 0x07       ; 7
    ccb2:       91 05           cpc     r25, r1
    ccb4:       10 f0           brcs    .+4             ; 0xccba <HoTT_Menu+0x7c>
    ccb6:       0c 94 97 7b     jmp     0xf72e  ; 0xf72e <HoTT_Menu+0x2af0>
    ccba:       fc 01           movw    r30, r24
    ccbc:       e8 5a           subi    r30, 0xA8       ; 168
    ccbe:       ff 4f           sbci    r31, 0xFF       ; 255
    ccc0:       0c 94 a7 b1     jmp     0x1634e ; 0x1634e <__tablejump2__>
 {
  case 0:
  switch(line++)
    ccc4:       80 91 75 04     lds     r24, 0x0475
    ccc8:       91 e0           ldi     r25, 0x01       ; 1
    ccca:       98 0f           add     r25, r24
    cccc:       90 93 75 04     sts     0x0475, r25
    ccd0:       90 e0           ldi     r25, 0x00       ; 0
    ccd2:       81 31           cpi     r24, 0x11       ; 17
    ccd4:       91 05           cpc     r25, r1
    ccd6:       08 f0           brcs    .+2             ; 0xccda <HoTT_Menu+0x9c>
    ccd8:       37 c4           rjmp    .+2158          ; 0xd548 <HoTT_Menu+0x90a>
    ccda:       fc 01           movw    r30, r24
    ccdc:       e1 5a           subi    r30, 0xA1       ; 161
    ccde:       ff 4f           sbci    r31, 0xFF       ; 255
    cce0:       0c 94 a7 b1     jmp     0x1634e ; 0x1634e <__tablejump2__>
  {
        case 0:  
                if(FC_StatusFlags & FC_STATUS_LOWBAT) 
    cce4:       80 91 cb 03     lds     r24, 0x03CB
    cce8:       85 ff           sbrs    r24, 5
    ccea:       2b c0           rjmp    .+86            ; 0xcd42 <HoTT_Menu+0x104>
                         HoTT_printfxy_BLINK(0,0,"  %2i.%1iV  ",UBat/10, UBat%10)
    ccec:       80 e0           ldi     r24, 0x00       ; 0
    ccee:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ccf2:       80 91 1a 01     lds     r24, 0x011A
    ccf6:       90 91 1b 01     lds     r25, 0x011B
    ccfa:       e0 91 1a 01     lds     r30, 0x011A
    ccfe:       f0 91 1b 01     lds     r31, 0x011B
    cd02:       2a e0           ldi     r18, 0x0A       ; 10
    cd04:       30 e0           ldi     r19, 0x00       ; 0
    cd06:       b9 01           movw    r22, r18
    cd08:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    cd0c:       9f 93           push    r25
    cd0e:       8f 93           push    r24
    cd10:       cf 01           movw    r24, r30
    cd12:       b9 01           movw    r22, r18
    cd14:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    cd18:       7f 93           push    r23
    cd1a:       6f 93           push    r22
    cd1c:       83 e0           ldi     r24, 0x03       ; 3
    cd1e:       9b e0           ldi     r25, 0x0B       ; 11
    cd20:       9f 93           push    r25
    cd22:       8f 93           push    r24
    cd24:       8c e2           ldi     r24, 0x2C       ; 44
    cd26:       95 e1           ldi     r25, 0x15       ; 21
    cd28:       9f 93           push    r25
    cd2a:       8f 93           push    r24
    cd2c:       e0 91 78 06     lds     r30, 0x0678
    cd30:       f0 91 79 06     lds     r31, 0x0679
    cd34:       09 95           icall
    cd36:       0f b6           in      r0, 0x3f        ; 63
    cd38:       f8 94           cli
    cd3a:       de bf           out     0x3e, r29       ; 62
    cd3c:       0f be           out     0x3f, r0        ; 63
    cd3e:       cd bf           out     0x3d, r28       ; 61
    cd40:       2a c0           rjmp    .+84            ; 0xcd96 <HoTT_Menu+0x158>
                        else 
                         HoTT_printfxy(0,0,"  %2i.%1iV  ",UBat/10, UBat%10)
    cd42:       80 e0           ldi     r24, 0x00       ; 0
    cd44:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    cd48:       80 91 1a 01     lds     r24, 0x011A
    cd4c:       90 91 1b 01     lds     r25, 0x011B
    cd50:       e0 91 1a 01     lds     r30, 0x011A
    cd54:       f0 91 1b 01     lds     r31, 0x011B
    cd58:       2a e0           ldi     r18, 0x0A       ; 10
    cd5a:       30 e0           ldi     r19, 0x00       ; 0
    cd5c:       b9 01           movw    r22, r18
    cd5e:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    cd62:       9f 93           push    r25
    cd64:       8f 93           push    r24
    cd66:       cf 01           movw    r24, r30
    cd68:       b9 01           movw    r22, r18
    cd6a:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    cd6e:       7f 93           push    r23
    cd70:       6f 93           push    r22
    cd72:       86 ef           ldi     r24, 0xF6       ; 246
    cd74:       9a e0           ldi     r25, 0x0A       ; 10
    cd76:       9f 93           push    r25
    cd78:       8f 93           push    r24
    cd7a:       8b e0           ldi     r24, 0x0B       ; 11
    cd7c:       95 e1           ldi     r25, 0x15       ; 21
    cd7e:       9f 93           push    r25
    cd80:       8f 93           push    r24
    cd82:       e0 91 78 06     lds     r30, 0x0678
    cd86:       f0 91 79 06     lds     r31, 0x0679
    cd8a:       09 95           icall
    cd8c:       0f b6           in      r0, 0x3f        ; 63
    cd8e:       f8 94           cli
    cd90:       de bf           out     0x3e, r29       ; 62
    cd92:       0f be           out     0x3f, r0        ; 63
    cd94:       cd bf           out     0x3d, r28       ; 61

                        if(Parameter_GlobalConfig & CFG_HOEHENREGELUNG)
    cd96:       80 91 5c 06     lds     r24, 0x065C
    cd9a:       80 ff           sbrs    r24, 0
    cd9c:       57 c0           rjmp    .+174           ; 0xce4c <HoTT_Menu+0x20e>
                          {
                           if(HoehenReglerAktiv)        HoTT_printfxy_INV(10,0,"ALT:%4im %c", (int16_t)(HoehenWert/100),VarioCharacter)
    cd9e:       80 91 1b 04     lds     r24, 0x041B
    cda2:       88 23           and     r24, r24
    cda4:       59 f1           breq    .+86            ; 0xcdfc <HoTT_Menu+0x1be>
    cda6:       8a e0           ldi     r24, 0x0A       ; 10
    cda8:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    cdac:       80 91 20 01     lds     r24, 0x0120
    cdb0:       1f 92           push    r1
    cdb2:       8f 93           push    r24
    cdb4:       60 91 fe 03     lds     r22, 0x03FE
    cdb8:       70 91 ff 03     lds     r23, 0x03FF
    cdbc:       80 91 00 04     lds     r24, 0x0400
    cdc0:       90 91 01 04     lds     r25, 0x0401
    cdc4:       24 e6           ldi     r18, 0x64       ; 100
    cdc6:       30 e0           ldi     r19, 0x00       ; 0
    cdc8:       40 e0           ldi     r20, 0x00       ; 0
    cdca:       50 e0           ldi     r21, 0x00       ; 0
    cdcc:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    cdd0:       3f 93           push    r19
    cdd2:       2f 93           push    r18
    cdd4:       8a ee           ldi     r24, 0xEA       ; 234
    cdd6:       9a e0           ldi     r25, 0x0A       ; 10
    cdd8:       9f 93           push    r25
    cdda:       8f 93           push    r24
    cddc:       8b e1           ldi     r24, 0x1B       ; 27
    cdde:       95 e1           ldi     r25, 0x15       ; 21
    cde0:       9f 93           push    r25
    cde2:       8f 93           push    r24
    cde4:       e0 91 78 06     lds     r30, 0x0678
    cde8:       f0 91 79 06     lds     r31, 0x0679
    cdec:       09 95           icall
    cdee:       0f b6           in      r0, 0x3f        ; 63
    cdf0:       f8 94           cli
    cdf2:       de bf           out     0x3e, r29       ; 62
    cdf4:       0f be           out     0x3f, r0        ; 63
    cdf6:       cd bf           out     0x3d, r28       ; 61
    cdf8:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                           else                                         HoTT_printfxy(10,0,"ALT:%4im  ", (int16_t)(HoehenWert/100))
    cdfc:       8a e0           ldi     r24, 0x0A       ; 10
    cdfe:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ce02:       60 91 fe 03     lds     r22, 0x03FE
    ce06:       70 91 ff 03     lds     r23, 0x03FF
    ce0a:       80 91 00 04     lds     r24, 0x0400
    ce0e:       90 91 01 04     lds     r25, 0x0401
    ce12:       24 e6           ldi     r18, 0x64       ; 100
    ce14:       30 e0           ldi     r19, 0x00       ; 0
    ce16:       40 e0           ldi     r20, 0x00       ; 0
    ce18:       50 e0           ldi     r21, 0x00       ; 0
    ce1a:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    ce1e:       3f 93           push    r19
    ce20:       2f 93           push    r18
    ce22:       8f ed           ldi     r24, 0xDF       ; 223
    ce24:       9a e0           ldi     r25, 0x0A       ; 10
    ce26:       9f 93           push    r25
    ce28:       8f 93           push    r24
    ce2a:       8b e0           ldi     r24, 0x0B       ; 11
    ce2c:       95 e1           ldi     r25, 0x15       ; 21
    ce2e:       9f 93           push    r25
    ce30:       8f 93           push    r24
    ce32:       e0 91 78 06     lds     r30, 0x0678
    ce36:       f0 91 79 06     lds     r31, 0x0679
    ce3a:       09 95           icall
    ce3c:       0f 90           pop     r0
    ce3e:       0f 90           pop     r0
    ce40:       0f 90           pop     r0
    ce42:       0f 90           pop     r0
    ce44:       0f 90           pop     r0
    ce46:       0f 90           pop     r0
    ce48:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                           }
            else    HoTT_printfxy(10,0,"ALT:---- ");
    ce4c:       8a e0           ldi     r24, 0x0A       ; 10
    ce4e:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ce52:       85 ed           ldi     r24, 0xD5       ; 213
    ce54:       9a e0           ldi     r25, 0x0A       ; 10
    ce56:       9f 93           push    r25
    ce58:       8f 93           push    r24
    ce5a:       8b e0           ldi     r24, 0x0B       ; 11
    ce5c:       95 e1           ldi     r25, 0x15       ; 21
    ce5e:       9f 93           push    r25
    ce60:       8f 93           push    r24
    ce62:       e0 91 78 06     lds     r30, 0x0678
    ce66:       f0 91 79 06     lds     r31, 0x0679
    ce6a:       09 95           icall
    ce6c:       0f 90           pop     r0
    ce6e:       0f 90           pop     r0
    ce70:       0f 90           pop     r0
    ce72:       0f 90           pop     r0
    ce74:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                        break;
        case 1:  
                if(FC_StatusFlags & FC_STATUS_LOWBAT) 
    ce78:       80 91 cb 03     lds     r24, 0x03CB
    ce7c:       85 ff           sbrs    r24, 5
    ce7e:       3f c0           rjmp    .+126           ; 0xcefe <HoTT_Menu+0x2c0>
                         HoTT_printfxy_BLINK(0,1,"  %2i:%02i  ",FlugSekunden/60,FlugSekunden%60)
    ce80:       85 e1           ldi     r24, 0x15       ; 21
    ce82:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ce86:       40 91 5e 04     lds     r20, 0x045E
    ce8a:       50 91 5f 04     lds     r21, 0x045F
    ce8e:       9a 01           movw    r18, r20
    ce90:       a9 e8           ldi     r26, 0x89       ; 137
    ce92:       b8 e8           ldi     r27, 0x88       ; 136
    ce94:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    ce98:       96 95           lsr     r25
    ce9a:       87 95           ror     r24
    ce9c:       92 95           swap    r25
    ce9e:       82 95           swap    r24
    cea0:       8f 70           andi    r24, 0x0F       ; 15
    cea2:       89 27           eor     r24, r25
    cea4:       9f 70           andi    r25, 0x0F       ; 15
    cea6:       89 27           eor     r24, r25
    cea8:       6c e3           ldi     r22, 0x3C       ; 60
    ceaa:       68 9f           mul     r22, r24
    ceac:       90 01           movw    r18, r0
    ceae:       69 9f           mul     r22, r25
    ceb0:       30 0d           add     r19, r0
    ceb2:       11 24           eor     r1, r1
    ceb4:       ca 01           movw    r24, r20
    ceb6:       82 1b           sub     r24, r18
    ceb8:       93 0b           sbc     r25, r19
    ceba:       9f 93           push    r25
    cebc:       8f 93           push    r24
    cebe:       9a 01           movw    r18, r20
    cec0:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    cec4:       96 95           lsr     r25
    cec6:       87 95           ror     r24
    cec8:       92 95           swap    r25
    ceca:       82 95           swap    r24
    cecc:       8f 70           andi    r24, 0x0F       ; 15
    cece:       89 27           eor     r24, r25
    ced0:       9f 70           andi    r25, 0x0F       ; 15
    ced2:       89 27           eor     r24, r25
    ced4:       9f 93           push    r25
    ced6:       8f 93           push    r24
    ced8:       88 ec           ldi     r24, 0xC8       ; 200
    ceda:       9a e0           ldi     r25, 0x0A       ; 10
    cedc:       9f 93           push    r25
    cede:       8f 93           push    r24
    cee0:       8c e2           ldi     r24, 0x2C       ; 44
    cee2:       95 e1           ldi     r25, 0x15       ; 21
    cee4:       9f 93           push    r25
    cee6:       8f 93           push    r24
    cee8:       e0 91 78 06     lds     r30, 0x0678
    ceec:       f0 91 79 06     lds     r31, 0x0679
    cef0:       09 95           icall
    cef2:       0f b6           in      r0, 0x3f        ; 63
    cef4:       f8 94           cli
    cef6:       de bf           out     0x3e, r29       ; 62
    cef8:       0f be           out     0x3f, r0        ; 63
    cefa:       cd bf           out     0x3d, r28       ; 61
    cefc:       3e c0           rjmp    .+124           ; 0xcf7a <HoTT_Menu+0x33c>
            else   HoTT_printfxy(0,1,"  %2i:%02i  ",FlugSekunden/60,FlugSekunden%60);                      
    cefe:       85 e1           ldi     r24, 0x15       ; 21
    cf00:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    cf04:       40 91 5e 04     lds     r20, 0x045E
    cf08:       50 91 5f 04     lds     r21, 0x045F
    cf0c:       9a 01           movw    r18, r20
    cf0e:       a9 e8           ldi     r26, 0x89       ; 137
    cf10:       b8 e8           ldi     r27, 0x88       ; 136
    cf12:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    cf16:       96 95           lsr     r25
    cf18:       87 95           ror     r24
    cf1a:       92 95           swap    r25
    cf1c:       82 95           swap    r24
    cf1e:       8f 70           andi    r24, 0x0F       ; 15
    cf20:       89 27           eor     r24, r25
    cf22:       9f 70           andi    r25, 0x0F       ; 15
    cf24:       89 27           eor     r24, r25
    cf26:       6c e3           ldi     r22, 0x3C       ; 60
    cf28:       68 9f           mul     r22, r24
    cf2a:       90 01           movw    r18, r0
    cf2c:       69 9f           mul     r22, r25
    cf2e:       30 0d           add     r19, r0
    cf30:       11 24           eor     r1, r1
    cf32:       ca 01           movw    r24, r20
    cf34:       82 1b           sub     r24, r18
    cf36:       93 0b           sbc     r25, r19
    cf38:       9f 93           push    r25
    cf3a:       8f 93           push    r24
    cf3c:       9a 01           movw    r18, r20
    cf3e:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    cf42:       96 95           lsr     r25
    cf44:       87 95           ror     r24
    cf46:       92 95           swap    r25
    cf48:       82 95           swap    r24
    cf4a:       8f 70           andi    r24, 0x0F       ; 15
    cf4c:       89 27           eor     r24, r25
    cf4e:       9f 70           andi    r25, 0x0F       ; 15
    cf50:       89 27           eor     r24, r25
    cf52:       9f 93           push    r25
    cf54:       8f 93           push    r24
    cf56:       8b eb           ldi     r24, 0xBB       ; 187
    cf58:       9a e0           ldi     r25, 0x0A       ; 10
    cf5a:       9f 93           push    r25
    cf5c:       8f 93           push    r24
    cf5e:       8b e0           ldi     r24, 0x0B       ; 11
    cf60:       95 e1           ldi     r25, 0x15       ; 21
    cf62:       9f 93           push    r25
    cf64:       8f 93           push    r24
    cf66:       e0 91 78 06     lds     r30, 0x0678
    cf6a:       f0 91 79 06     lds     r31, 0x0679
    cf6e:       09 95           icall
    cf70:       0f b6           in      r0, 0x3f        ; 63
    cf72:       f8 94           cli
    cf74:       de bf           out     0x3e, r29       ; 62
    cf76:       0f be           out     0x3f, r0        ; 63
    cf78:       cd bf           out     0x3d, r28       ; 61
                        HoTT_printfxy(10,1,"DIR: %3d%c",CompassCorrected, HoTT_GRAD);
    cf7a:       8f e1           ldi     r24, 0x1F       ; 31
    cf7c:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    cf80:       1f 92           push    r1
    cf82:       80 e6           ldi     r24, 0x60       ; 96
    cf84:       8f 93           push    r24
    cf86:       80 91 66 06     lds     r24, 0x0666
    cf8a:       8f 93           push    r24
    cf8c:       80 91 65 06     lds     r24, 0x0665
    cf90:       8f 93           push    r24
    cf92:       80 eb           ldi     r24, 0xB0       ; 176
    cf94:       9a e0           ldi     r25, 0x0A       ; 10
    cf96:       9f 93           push    r25
    cf98:       8f 93           push    r24
    cf9a:       8b e0           ldi     r24, 0x0B       ; 11
    cf9c:       95 e1           ldi     r25, 0x15       ; 21
    cf9e:       9f 93           push    r25
    cfa0:       8f 93           push    r24
    cfa2:       e0 91 78 06     lds     r30, 0x0678
    cfa6:       f0 91 79 06     lds     r31, 0x0679
    cfaa:       09 95           icall
                        if(FC_StatusFlags2 & FC_STATUS2_CAREFREE) HoTT_printfxy_INV(20,1,"C") else HoTT_printfxy(20,1," ");
    cfac:       80 91 ca 03     lds     r24, 0x03CA
    cfb0:       0f b6           in      r0, 0x3f        ; 63
    cfb2:       f8 94           cli
    cfb4:       de bf           out     0x3e, r29       ; 62
    cfb6:       0f be           out     0x3f, r0        ; 63
    cfb8:       cd bf           out     0x3d, r28       ; 61
    cfba:       80 ff           sbrs    r24, 0
    cfbc:       16 c0           rjmp    .+44            ; 0xcfea <HoTT_Menu+0x3ac>
    cfbe:       89 e2           ldi     r24, 0x29       ; 41
    cfc0:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    cfc4:       8e ea           ldi     r24, 0xAE       ; 174
    cfc6:       9a e0           ldi     r25, 0x0A       ; 10
    cfc8:       9f 93           push    r25
    cfca:       8f 93           push    r24
    cfcc:       8b e1           ldi     r24, 0x1B       ; 27
    cfce:       95 e1           ldi     r25, 0x15       ; 21
    cfd0:       9f 93           push    r25
    cfd2:       8f 93           push    r24
    cfd4:       e0 91 78 06     lds     r30, 0x0678
    cfd8:       f0 91 79 06     lds     r31, 0x0679
    cfdc:       09 95           icall
    cfde:       0f 90           pop     r0
    cfe0:       0f 90           pop     r0
    cfe2:       0f 90           pop     r0
    cfe4:       0f 90           pop     r0
    cfe6:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
    cfea:       89 e2           ldi     r24, 0x29       ; 41
    cfec:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    cff0:       8c ea           ldi     r24, 0xAC       ; 172
    cff2:       9a e0           ldi     r25, 0x0A       ; 10
    cff4:       9f 93           push    r25
    cff6:       8f 93           push    r24
    cff8:       8b e0           ldi     r24, 0x0B       ; 11
    cffa:       95 e1           ldi     r25, 0x15       ; 21
    cffc:       9f 93           push    r25
    cffe:       8f 93           push    r24
    d000:       e0 91 78 06     lds     r30, 0x0678
    d004:       f0 91 79 06     lds     r31, 0x0679
    d008:       09 95           icall
    d00a:       0f 90           pop     r0
    d00c:       0f 90           pop     r0
    d00e:       0f 90           pop     r0
    d010:       0f 90           pop     r0
    d012:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
            break;
        case 2:
                if(FC_StatusFlags & FC_STATUS_LOWBAT) 
    d016:       80 91 cb 03     lds     r24, 0x03CB
    d01a:       85 ff           sbrs    r24, 5
    d01c:       1d c0           rjmp    .+58            ; 0xd058 <HoTT_Menu+0x41a>
                         HoTT_printfxy_BLINK(0,2,"  %5i  ",Capacity.UsedCapacity)
    d01e:       8a e2           ldi     r24, 0x2A       ; 42
    d020:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d024:       e9 e1           ldi     r30, 0x19       ; 25
    d026:       f5 e0           ldi     r31, 0x05       ; 5
    d028:       81 81           ldd     r24, Z+1        ; 0x01
    d02a:       8f 93           push    r24
    d02c:       80 81           ld      r24, Z
    d02e:       8f 93           push    r24
    d030:       84 ea           ldi     r24, 0xA4       ; 164
    d032:       9a e0           ldi     r25, 0x0A       ; 10
    d034:       9f 93           push    r25
    d036:       8f 93           push    r24
    d038:       8c e2           ldi     r24, 0x2C       ; 44
    d03a:       95 e1           ldi     r25, 0x15       ; 21
    d03c:       9f 93           push    r25
    d03e:       8f 93           push    r24
    d040:       e0 91 78 06     lds     r30, 0x0678
    d044:       f0 91 79 06     lds     r31, 0x0679
    d048:       09 95           icall
    d04a:       0f 90           pop     r0
    d04c:       0f 90           pop     r0
    d04e:       0f 90           pop     r0
    d050:       0f 90           pop     r0
    d052:       0f 90           pop     r0
    d054:       0f 90           pop     r0
    d056:       1c c0           rjmp    .+56            ; 0xd090 <HoTT_Menu+0x452>
            else   HoTT_printfxy(0,2,"  %5i  ",Capacity.UsedCapacity);                     
    d058:       8a e2           ldi     r24, 0x2A       ; 42
    d05a:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d05e:       e9 e1           ldi     r30, 0x19       ; 25
    d060:       f5 e0           ldi     r31, 0x05       ; 5
    d062:       81 81           ldd     r24, Z+1        ; 0x01
    d064:       8f 93           push    r24
    d066:       80 81           ld      r24, Z
    d068:       8f 93           push    r24
    d06a:       8c e9           ldi     r24, 0x9C       ; 156
    d06c:       9a e0           ldi     r25, 0x0A       ; 10
    d06e:       9f 93           push    r25
    d070:       8f 93           push    r24
    d072:       8b e0           ldi     r24, 0x0B       ; 11
    d074:       95 e1           ldi     r25, 0x15       ; 21
    d076:       9f 93           push    r25
    d078:       8f 93           push    r24
    d07a:       e0 91 78 06     lds     r30, 0x0678
    d07e:       f0 91 79 06     lds     r31, 0x0679
    d082:       09 95           icall
    d084:       0f 90           pop     r0
    d086:       0f 90           pop     r0
    d088:       0f 90           pop     r0
    d08a:       0f 90           pop     r0
    d08c:       0f 90           pop     r0
    d08e:       0f 90           pop     r0
                        HoTT_printfxy(12,2,"I:%2i.%1iA ",Capacity.ActualCurrent/10, Capacity.ActualCurrent%10);
    d090:       86 e3           ldi     r24, 0x36       ; 54
    d092:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d096:       40 91 15 05     lds     r20, 0x0515
    d09a:       50 91 16 05     lds     r21, 0x0516
    d09e:       9a 01           movw    r18, r20
    d0a0:       ad ec           ldi     r26, 0xCD       ; 205
    d0a2:       bc ec           ldi     r27, 0xCC       ; 204
    d0a4:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    d0a8:       96 95           lsr     r25
    d0aa:       87 95           ror     r24
    d0ac:       96 95           lsr     r25
    d0ae:       87 95           ror     r24
    d0b0:       96 95           lsr     r25
    d0b2:       87 95           ror     r24
    d0b4:       9c 01           movw    r18, r24
    d0b6:       22 0f           add     r18, r18
    d0b8:       33 1f           adc     r19, r19
    d0ba:       88 0f           add     r24, r24
    d0bc:       99 1f           adc     r25, r25
    d0be:       88 0f           add     r24, r24
    d0c0:       99 1f           adc     r25, r25
    d0c2:       88 0f           add     r24, r24
    d0c4:       99 1f           adc     r25, r25
    d0c6:       82 0f           add     r24, r18
    d0c8:       93 1f           adc     r25, r19
    d0ca:       9a 01           movw    r18, r20
    d0cc:       28 1b           sub     r18, r24
    d0ce:       39 0b           sbc     r19, r25
    d0d0:       c9 01           movw    r24, r18
    d0d2:       9f 93           push    r25
    d0d4:       2f 93           push    r18
    d0d6:       9a 01           movw    r18, r20
    d0d8:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    d0dc:       96 95           lsr     r25
    d0de:       87 95           ror     r24
    d0e0:       96 95           lsr     r25
    d0e2:       87 95           ror     r24
    d0e4:       96 95           lsr     r25
    d0e6:       87 95           ror     r24
    d0e8:       9f 93           push    r25
    d0ea:       8f 93           push    r24
    d0ec:       80 e9           ldi     r24, 0x90       ; 144
    d0ee:       9a e0           ldi     r25, 0x0A       ; 10
    d0f0:       9f 93           push    r25
    d0f2:       8f 93           push    r24
    d0f4:       8b e0           ldi     r24, 0x0B       ; 11
    d0f6:       95 e1           ldi     r25, 0x15       ; 21
    d0f8:       9f 93           push    r25
    d0fa:       8f 93           push    r24
    d0fc:       e0 91 78 06     lds     r30, 0x0678
    d100:       f0 91 79 06     lds     r31, 0x0679
    d104:       09 95           icall
                        break;
    d106:       0f b6           in      r0, 0x3f        ; 63
    d108:       f8 94           cli
    d10a:       de bf           out     0x3e, r29       ; 62
    d10c:       0f be           out     0x3f, r0        ; 63
    d10e:       cd bf           out     0x3d, r28       ; 61
    d110:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
        case 3: 
                        HoTT_printfxy(9,0,":");
    d114:       89 e0           ldi     r24, 0x09       ; 9
    d116:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d11a:       8e e8           ldi     r24, 0x8E       ; 142
    d11c:       9a e0           ldi     r25, 0x0A       ; 10
    d11e:       9f 93           push    r25
    d120:       8f 93           push    r24
    d122:       0b e0           ldi     r16, 0x0B       ; 11
    d124:       15 e1           ldi     r17, 0x15       ; 21
    d126:       1f 93           push    r17
    d128:       0f 93           push    r16
    d12a:       e0 91 78 06     lds     r30, 0x0678
    d12e:       f0 91 79 06     lds     r31, 0x0679
    d132:       09 95           icall
                        HoTT_printfxy(9,1,":");
    d134:       8e e1           ldi     r24, 0x1E       ; 30
    d136:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d13a:       8c e8           ldi     r24, 0x8C       ; 140
    d13c:       9a e0           ldi     r25, 0x0A       ; 10
    d13e:       9f 93           push    r25
    d140:       8f 93           push    r24
    d142:       1f 93           push    r17
    d144:       0f 93           push    r16
    d146:       e0 91 78 06     lds     r30, 0x0678
    d14a:       f0 91 79 06     lds     r31, 0x0679
    d14e:       09 95           icall
                        HoTT_printfxy(9,2,":");
    d150:       83 e3           ldi     r24, 0x33       ; 51
    d152:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d156:       8a e8           ldi     r24, 0x8A       ; 138
    d158:       9a e0           ldi     r25, 0x0A       ; 10
    d15a:       9f 93           push    r25
    d15c:       8f 93           push    r24
    d15e:       1f 93           push    r17
    d160:       0f 93           push    r16
    d162:       e0 91 78 06     lds     r30, 0x0678
    d166:       f0 91 79 06     lds     r31, 0x0679
    d16a:       09 95           icall
                        HoTT_printfxy(0,3,"---------+-----------");
    d16c:       8f e3           ldi     r24, 0x3F       ; 63
    d16e:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d172:       84 e7           ldi     r24, 0x74       ; 116
    d174:       9a e0           ldi     r25, 0x0A       ; 10
    d176:       9f 93           push    r25
    d178:       8f 93           push    r24
    d17a:       1f 93           push    r17
    d17c:       0f 93           push    r16
    d17e:       e0 91 78 06     lds     r30, 0x0678
    d182:       f0 91 79 06     lds     r31, 0x0679
    d186:       09 95           icall

//                      HoTT_printfxy(0,3,"---------------------");
                        HoTT_printfxy(0,6,"---------------------");
    d188:       8e e7           ldi     r24, 0x7E       ; 126
    d18a:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d18e:       8e e5           ldi     r24, 0x5E       ; 94
    d190:       9a e0           ldi     r25, 0x0A       ; 10
    d192:       9f 93           push    r25
    d194:       8f 93           push    r24
    d196:       1f 93           push    r17
    d198:       0f 93           push    r16
    d19a:       e0 91 78 06     lds     r30, 0x0678
    d19e:       f0 91 79 06     lds     r31, 0x0679
    d1a2:       09 95           icall
                        break;
    d1a4:       0f b6           in      r0, 0x3f        ; 63
    d1a6:       f8 94           cli
    d1a8:       de bf           out     0x3e, r29       ; 62
    d1aa:       0f be           out     0x3f, r0        ; 63
    d1ac:       cd bf           out     0x3d, r28       ; 61
    d1ae:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
        case 4:  
                        if(NaviDataOkay)
    d1b2:       80 91 a4 02     lds     r24, 0x02A4
    d1b6:       88 23           and     r24, r24
    d1b8:       09 f4           brne    .+2             ; 0xd1bc <HoTT_Menu+0x57e>
    d1ba:       8e c0           rjmp    .+284           ; 0xd2d8 <HoTT_Menu+0x69a>
                        {
                                HoTT_printfxy(9,4,":");
    d1bc:       8d e5           ldi     r24, 0x5D       ; 93
    d1be:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d1c2:       8c e5           ldi     r24, 0x5C       ; 92
    d1c4:       9a e0           ldi     r25, 0x0A       ; 10
    d1c6:       9f 93           push    r25
    d1c8:       8f 93           push    r24
    d1ca:       0b e0           ldi     r16, 0x0B       ; 11
    d1cc:       15 e1           ldi     r17, 0x15       ; 21
    d1ce:       1f 93           push    r17
    d1d0:       0f 93           push    r16
    d1d2:       e0 91 78 06     lds     r30, 0x0678
    d1d6:       f0 91 79 06     lds     r31, 0x0679
    d1da:       09 95           icall
                                HoTT_printfxy(0,4,"SAT:%2d ",GPSInfo.NumOfSats);
    d1dc:       84 e5           ldi     r24, 0x54       ; 84
    d1de:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d1e2:       80 91 d8 08     lds     r24, 0x08D8
    d1e6:       1f 92           push    r1
    d1e8:       8f 93           push    r24
    d1ea:       83 e5           ldi     r24, 0x53       ; 83
    d1ec:       9a e0           ldi     r25, 0x0A       ; 10
    d1ee:       9f 93           push    r25
    d1f0:       8f 93           push    r24
    d1f2:       1f 93           push    r17
    d1f4:       0f 93           push    r16
    d1f6:       e0 91 78 06     lds     r30, 0x0678
    d1fa:       f0 91 79 06     lds     r31, 0x0679
    d1fe:       09 95           icall
                            HoTT_printfxy(10,4,"DIST:%3dm",GPSInfo.HomeDistance/10);
    d200:       8e e5           ldi     r24, 0x5E       ; 94
    d202:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d206:       20 91 db 08     lds     r18, 0x08DB
    d20a:       30 91 dc 08     lds     r19, 0x08DC
    d20e:       ad ec           ldi     r26, 0xCD       ; 205
    d210:       bc ec           ldi     r27, 0xCC       ; 204
    d212:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    d216:       96 95           lsr     r25
    d218:       87 95           ror     r24
    d21a:       96 95           lsr     r25
    d21c:       87 95           ror     r24
    d21e:       96 95           lsr     r25
    d220:       87 95           ror     r24
    d222:       9f 93           push    r25
    d224:       8f 93           push    r24
    d226:       89 e4           ldi     r24, 0x49       ; 73
    d228:       9a e0           ldi     r25, 0x0A       ; 10
    d22a:       9f 93           push    r25
    d22c:       8f 93           push    r24
    d22e:       1f 93           push    r17
    d230:       0f 93           push    r16
    d232:       e0 91 78 06     lds     r30, 0x0678
    d236:       f0 91 79 06     lds     r31, 0x0679
    d23a:       09 95           icall
                                switch (GPSInfo.SatFix)
    d23c:       0f b6           in      r0, 0x3f        ; 63
    d23e:       f8 94           cli
    d240:       de bf           out     0x3e, r29       ; 62
    d242:       0f be           out     0x3f, r0        ; 63
    d244:       cd bf           out     0x3d, r28       ; 61
    d246:       80 91 d9 08     lds     r24, 0x08D9
    d24a:       83 30           cpi     r24, 0x03       ; 3
    d24c:       79 f5           brne    .+94            ; 0xd2ac <HoTT_Menu+0x66e>
                                {
                                        case SATFIX_3D:
                                                        if(GPSInfo.Flags & FLAG_DIFFSOLN) HoTT_printfxy(7,4,"D ")
    d24e:       80 91 d7 08     lds     r24, 0x08D7
    d252:       81 ff           sbrs    r24, 1
    d254:       15 c0           rjmp    .+42            ; 0xd280 <HoTT_Menu+0x642>
    d256:       8b e5           ldi     r24, 0x5B       ; 91
    d258:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d25c:       86 e4           ldi     r24, 0x46       ; 70
    d25e:       9a e0           ldi     r25, 0x0A       ; 10
    d260:       9f 93           push    r25
    d262:       8f 93           push    r24
    d264:       c8 01           movw    r24, r16
    d266:       9f 93           push    r25
    d268:       0f 93           push    r16
    d26a:       e0 91 78 06     lds     r30, 0x0678
    d26e:       f0 91 79 06     lds     r31, 0x0679
    d272:       09 95           icall
    d274:       0f 90           pop     r0
    d276:       0f 90           pop     r0
    d278:       0f 90           pop     r0
    d27a:       0f 90           pop     r0
    d27c:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                                                        else HoTT_printfxy(7,4,"3D");
    d280:       8b e5           ldi     r24, 0x5B       ; 91
    d282:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d286:       83 e4           ldi     r24, 0x43       ; 67
    d288:       9a e0           ldi     r25, 0x0A       ; 10
    d28a:       9f 93           push    r25
    d28c:       8f 93           push    r24
    d28e:       8b e0           ldi     r24, 0x0B       ; 11
    d290:       95 e1           ldi     r25, 0x15       ; 21
    d292:       9f 93           push    r25
    d294:       8f 93           push    r24
    d296:       e0 91 78 06     lds     r30, 0x0678
    d29a:       f0 91 79 06     lds     r31, 0x0679
    d29e:       09 95           icall
    d2a0:       0f 90           pop     r0
    d2a2:       0f 90           pop     r0
    d2a4:       0f 90           pop     r0
    d2a6:       0f 90           pop     r0
    d2a8:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                                                break;
                                        default:
                                                HoTT_printfxy_BLINK(7,4,"!!");
    d2ac:       8b e5           ldi     r24, 0x5B       ; 91
    d2ae:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d2b2:       80 e4           ldi     r24, 0x40       ; 64
    d2b4:       9a e0           ldi     r25, 0x0A       ; 10
    d2b6:       9f 93           push    r25
    d2b8:       8f 93           push    r24
    d2ba:       8c e2           ldi     r24, 0x2C       ; 44
    d2bc:       95 e1           ldi     r25, 0x15       ; 21
    d2be:       9f 93           push    r25
    d2c0:       8f 93           push    r24
    d2c2:       e0 91 78 06     lds     r30, 0x0678
    d2c6:       f0 91 79 06     lds     r31, 0x0679
    d2ca:       09 95           icall
                                                break;
    d2cc:       0f 90           pop     r0
    d2ce:       0f 90           pop     r0
    d2d0:       0f 90           pop     r0
    d2d2:       0f 90           pop     r0
    d2d4:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                                }       
                        }
                        else
                        {                    
                                Hott_ClearLine(4);
    d2d8:       84 e0           ldi     r24, 0x04       ; 4
    d2da:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
    d2de:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                        }
                        break;
        case 5:
                        if(NaviDataOkay)
    d2e2:       80 91 a4 02     lds     r24, 0x02A4
    d2e6:       88 23           and     r24, r24
    d2e8:       09 f4           brne    .+2             ; 0xd2ec <HoTT_Menu+0x6ae>
    d2ea:       7f c0           rjmp    .+254           ; 0xd3ea <HoTT_Menu+0x7ac>
                        {
                        if(show_mag)
    d2ec:       80 91 74 04     lds     r24, 0x0474
    d2f0:       88 23           and     r24, r24
    d2f2:       09 f4           brne    .+2             ; 0xd2f6 <HoTT_Menu+0x6b8>
    d2f4:       52 c0           rjmp    .+164           ; 0xd39a <HoTT_Menu+0x75c>
                          { 
                                HoTT_printfxy(0,5,"MAG:%3u%% ",EarthMagneticField);
    d2f6:       89 e6           ldi     r24, 0x69       ; 105
    d2f8:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d2fc:       80 91 ba 04     lds     r24, 0x04BA
    d300:       1f 92           push    r1
    d302:       8f 93           push    r24
    d304:       85 e3           ldi     r24, 0x35       ; 53
    d306:       9a e0           ldi     r25, 0x0A       ; 10
    d308:       9f 93           push    r25
    d30a:       8f 93           push    r24
    d30c:       0f 2e           mov     r0, r31
    d30e:       fb e0           ldi     r31, 0x0B       ; 11
    d310:       ef 2e           mov     r14, r31
    d312:       f5 e1           ldi     r31, 0x15       ; 21
    d314:       ff 2e           mov     r15, r31
    d316:       f0 2d           mov     r31, r0
    d318:       ff 92           push    r15
    d31a:       ef 92           push    r14
    d31c:       e0 91 78 06     lds     r30, 0x0678
    d320:       f0 91 79 06     lds     r31, 0x0679
    d324:       09 95           icall
                            HoTT_printfxy(12,5,"HM:%3d%c %c", GPSInfo.HomeBearing, HoTT_GRAD, NC_GPS_ModeCharacter);
    d326:       85 e7           ldi     r24, 0x75       ; 117
    d328:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d32c:       80 91 96 02     lds     r24, 0x0296
    d330:       1f 92           push    r1
    d332:       8f 93           push    r24
    d334:       1f 92           push    r1
    d336:       10 e6           ldi     r17, 0x60       ; 96
    d338:       1f 93           push    r17
    d33a:       ed ed           ldi     r30, 0xDD       ; 221
    d33c:       f8 e0           ldi     r31, 0x08       ; 8
    d33e:       81 81           ldd     r24, Z+1        ; 0x01
    d340:       8f 93           push    r24
    d342:       80 81           ld      r24, Z
    d344:       8f 93           push    r24
    d346:       89 e2           ldi     r24, 0x29       ; 41
    d348:       9a e0           ldi     r25, 0x0A       ; 10
    d34a:       9f 93           push    r25
    d34c:       8f 93           push    r24
    d34e:       ff 92           push    r15
    d350:       ef 92           push    r14
    d352:       e0 91 78 06     lds     r30, 0x0678
    d356:       f0 91 79 06     lds     r31, 0x0679
    d35a:       09 95           icall
                                HoTT_printfxy(9,5,"incl:%2d%c(%2i)",EarthMagneticInclination, HoTT_GRAD,EarthMagneticInclinationTheoretic);
    d35c:       82 e7           ldi     r24, 0x72       ; 114
    d35e:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d362:       80 91 b8 04     lds     r24, 0x04B8
    d366:       1f 92           push    r1
    d368:       8f 93           push    r24
    d36a:       1f 92           push    r1
    d36c:       1f 93           push    r17
    d36e:       80 91 b9 04     lds     r24, 0x04B9
    d372:       1f 92           push    r1
    d374:       8f 93           push    r24
    d376:       89 e1           ldi     r24, 0x19       ; 25
    d378:       9a e0           ldi     r25, 0x0A       ; 10
    d37a:       9f 93           push    r25
    d37c:       8f 93           push    r24
    d37e:       ff 92           push    r15
    d380:       ef 92           push    r14
    d382:       e0 91 78 06     lds     r30, 0x0678
    d386:       f0 91 79 06     lds     r31, 0x0679
    d38a:       09 95           icall
    d38c:       0f b6           in      r0, 0x3f        ; 63
    d38e:       f8 94           cli
    d390:       de bf           out     0x3e, r29       ; 62
    d392:       0f be           out     0x3f, r0        ; 63
    d394:       cd bf           out     0x3d, r28       ; 61
    d396:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
              }
                         else 
                          {
                                HoTT_printfxy(0,5,"    %2um/s:  HM:%3d%c %c",GPSInfo.Speed, GPSInfo.HomeBearing, HoTT_GRAD, NC_GPS_ModeCharacter);
    d39a:       89 e6           ldi     r24, 0x69       ; 105
    d39c:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d3a0:       80 91 96 02     lds     r24, 0x0296
    d3a4:       1f 92           push    r1
    d3a6:       8f 93           push    r24
    d3a8:       1f 92           push    r1
    d3aa:       80 e6           ldi     r24, 0x60       ; 96
    d3ac:       8f 93           push    r24
    d3ae:       ed ed           ldi     r30, 0xDD       ; 221
    d3b0:       f8 e0           ldi     r31, 0x08       ; 8
    d3b2:       81 81           ldd     r24, Z+1        ; 0x01
    d3b4:       8f 93           push    r24
    d3b6:       80 81           ld      r24, Z
    d3b8:       8f 93           push    r24
    d3ba:       80 91 da 08     lds     r24, 0x08DA
    d3be:       1f 92           push    r1
    d3c0:       8f 93           push    r24
    d3c2:       80 e0           ldi     r24, 0x00       ; 0
    d3c4:       9a e0           ldi     r25, 0x0A       ; 10
    d3c6:       9f 93           push    r25
    d3c8:       8f 93           push    r24
    d3ca:       8b e0           ldi     r24, 0x0B       ; 11
    d3cc:       95 e1           ldi     r25, 0x15       ; 21
    d3ce:       9f 93           push    r25
    d3d0:       8f 93           push    r24
    d3d2:       e0 91 78 06     lds     r30, 0x0678
    d3d6:       f0 91 79 06     lds     r31, 0x0679
    d3da:       09 95           icall
    d3dc:       0f b6           in      r0, 0x3f        ; 63
    d3de:       f8 94           cli
    d3e0:       de bf           out     0x3e, r29       ; 62
    d3e2:       0f be           out     0x3f, r0        ; 63
    d3e4:       cd bf           out     0x3d, r28       ; 61
    d3e6:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                          }     
            }
                        else Hott_ClearLine(5);
    d3ea:       85 e0           ldi     r24, 0x05       ; 5
    d3ec:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
    d3f0:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                        break;
        case 6: 
                        break;
        case 7: if(NC_ErrorCode) 
    d3f4:       80 91 bb 04     lds     r24, 0x04BB
    d3f8:       88 23           and     r24, r24
    d3fa:       09 f4           brne    .+2             ; 0xd3fe <HoTT_Menu+0x7c0>
    d3fc:       4f c0           rjmp    .+158           ; 0xd49c <HoTT_Menu+0x85e>
                  {
                           if(HoTTBlink && NC_ErrorCode < MAX_ERR_NUMBER)
    d3fe:       90 91 ed 02     lds     r25, 0x02ED
    d402:       99 23           and     r25, r25
    d404:       09 f1           breq    .+66            ; 0xd448 <HoTT_Menu+0x80a>
    d406:       83 32           cpi     r24, 0x23       ; 35
    d408:       f8 f4           brcc    .+62            ; 0xd448 <HoTT_Menu+0x80a>
                            {
                             Hott_ClearLine(7); 
    d40a:       87 e0           ldi     r24, 0x07       ; 7
    d40c:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
                             HoTT_printfxy_INV(0,7,"ERR: %2d !",NC_ErrorCode);
    d410:       83 e9           ldi     r24, 0x93       ; 147
    d412:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d416:       80 91 bb 04     lds     r24, 0x04BB
    d41a:       1f 92           push    r1
    d41c:       8f 93           push    r24
    d41e:       85 ef           ldi     r24, 0xF5       ; 245
    d420:       99 e0           ldi     r25, 0x09       ; 9
    d422:       9f 93           push    r25
    d424:       8f 93           push    r24
    d426:       8b e1           ldi     r24, 0x1B       ; 27
    d428:       95 e1           ldi     r25, 0x15       ; 21
    d42a:       9f 93           push    r25
    d42c:       8f 93           push    r24
    d42e:       e0 91 78 06     lds     r30, 0x0678
    d432:       f0 91 79 06     lds     r31, 0x0679
    d436:       09 95           icall
    d438:       0f 90           pop     r0
    d43a:       0f 90           pop     r0
    d43c:       0f 90           pop     r0
    d43e:       0f 90           pop     r0
    d440:       0f 90           pop     r0
    d442:       0f 90           pop     r0
    d444:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                            }
                                else 
                                {
                                 HoTT_printfxy(0,7,"ERR: ");     _printf_P(&LIBFC_HoTT_Putchar, NC_ERROR_TEXT[NC_ErrorCode] , 0);};
    d448:       83 e9           ldi     r24, 0x93       ; 147
    d44a:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d44e:       8f ee           ldi     r24, 0xEF       ; 239
    d450:       99 e0           ldi     r25, 0x09       ; 9
    d452:       9f 93           push    r25
    d454:       8f 93           push    r24
    d456:       0b e0           ldi     r16, 0x0B       ; 11
    d458:       15 e1           ldi     r17, 0x15       ; 21
    d45a:       1f 93           push    r17
    d45c:       0f 93           push    r16
    d45e:       e0 91 78 06     lds     r30, 0x0678
    d462:       f0 91 79 06     lds     r31, 0x0679
    d466:       09 95           icall
    d468:       1f 92           push    r1
    d46a:       1f 92           push    r1
    d46c:       80 91 bb 04     lds     r24, 0x04BB
    d470:       f1 e1           ldi     r31, 0x11       ; 17
    d472:       8f 9f           mul     r24, r31
    d474:       c0 01           movw    r24, r0
    d476:       11 24           eor     r1, r1
    d478:       84 59           subi    r24, 0x94       ; 148
    d47a:       94 4f           sbci    r25, 0xF4       ; 244
    d47c:       9f 93           push    r25
    d47e:       8f 93           push    r24
    d480:       1f 93           push    r17
    d482:       0f 93           push    r16
    d484:       e0 91 78 06     lds     r30, 0x0678
    d488:       f0 91 79 06     lds     r31, 0x0679
    d48c:       09 95           icall
    d48e:       0f b6           in      r0, 0x3f        ; 63
    d490:       f8 94           cli
    d492:       de bf           out     0x3e, r29       ; 62
    d494:       0f be           out     0x3f, r0        ; 63
    d496:       cd bf           out     0x3d, r28       ; 61
    d498:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                                } 
                        else 
                        if(FC_StatusFlags & FC_STATUS_LOWBAT) HoTT_printfxy(1,7,"!! LiPo voltage !!") 
    d49c:       80 91 cb 03     lds     r24, 0x03CB
    d4a0:       85 ff           sbrs    r24, 5
    d4a2:       16 c0           rjmp    .+44            ; 0xd4d0 <HoTT_Menu+0x892>
    d4a4:       84 e9           ldi     r24, 0x94       ; 148
    d4a6:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d4aa:       8c ed           ldi     r24, 0xDC       ; 220
    d4ac:       99 e0           ldi     r25, 0x09       ; 9
    d4ae:       9f 93           push    r25
    d4b0:       8f 93           push    r24
    d4b2:       8b e0           ldi     r24, 0x0B       ; 11
    d4b4:       95 e1           ldi     r25, 0x15       ; 21
    d4b6:       9f 93           push    r25
    d4b8:       8f 93           push    r24
    d4ba:       e0 91 78 06     lds     r30, 0x0678
    d4be:       f0 91 79 06     lds     r31, 0x0679
    d4c2:       09 95           icall
    d4c4:       0f 90           pop     r0
    d4c6:       0f 90           pop     r0
    d4c8:       0f 90           pop     r0
    d4ca:       0f 90           pop     r0
    d4cc:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                        else HoTT_printfxy(0,7," www.MikroKopter.de  ");
    d4d0:       83 e9           ldi     r24, 0x93       ; 147
    d4d2:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d4d6:       86 ec           ldi     r24, 0xC6       ; 198
    d4d8:       99 e0           ldi     r25, 0x09       ; 9
    d4da:       9f 93           push    r25
    d4dc:       8f 93           push    r24
    d4de:       8b e0           ldi     r24, 0x0B       ; 11
    d4e0:       95 e1           ldi     r25, 0x15       ; 21
    d4e2:       9f 93           push    r25
    d4e4:       8f 93           push    r24
    d4e6:       e0 91 78 06     lds     r30, 0x0678
    d4ea:       f0 91 79 06     lds     r31, 0x0679
    d4ee:       09 95           icall
    d4f0:       0f 90           pop     r0
    d4f2:       0f 90           pop     r0
    d4f4:       0f 90           pop     r0
    d4f6:       0f 90           pop     r0
    d4f8:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
        case 12:
        case 13:
        case 14:  
        case 15:  
        case 16:  
                        if(HottKeyboard == HOTT_KEY_DOWN) { LIBFC_HoTT_Clear(); page = 5; line = 0;}
    d4fc:       80 91 a9 0c     lds     r24, 0x0CA9
    d500:       82 30           cpi     r24, 0x02       ; 2
    d502:       41 f4           brne    .+16            ; 0xd514 <HoTT_Menu+0x8d6>
    d504:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
    d508:       85 e0           ldi     r24, 0x05       ; 5
    d50a:       80 93 76 04     sts     0x0476, r24
    d50e:       10 92 75 04     sts     0x0475, r1
    d512:       16 c0           rjmp    .+44            ; 0xd540 <HoTT_Menu+0x902>
                        else
                        if(HottKeyboard == HOTT_KEY_SET) { if(show_mag) show_mag = 0; else show_mag = 1;}
    d514:       86 30           cpi     r24, 0x06       ; 6
    d516:       59 f4           brne    .+22            ; 0xd52e <HoTT_Menu+0x8f0>
    d518:       80 91 74 04     lds     r24, 0x0474
    d51c:       88 23           and     r24, r24
    d51e:       19 f0           breq    .+6             ; 0xd526 <HoTT_Menu+0x8e8>
    d520:       10 92 74 04     sts     0x0474, r1
    d524:       0d c0           rjmp    .+26            ; 0xd540 <HoTT_Menu+0x902>
    d526:       81 e0           ldi     r24, 0x01       ; 1
    d528:       80 93 74 04     sts     0x0474, r24
    d52c:       09 c0           rjmp    .+18            ; 0xd540 <HoTT_Menu+0x902>
                        else
                        if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page = 1; line = 0;};
    d52e:       88 30           cpi     r24, 0x08       ; 8
    d530:       39 f4           brne    .+14            ; 0xd540 <HoTT_Menu+0x902>
    d532:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
    d536:       81 e0           ldi     r24, 0x01       ; 1
    d538:       80 93 76 04     sts     0x0476, r24
    d53c:       10 92 75 04     sts     0x0475, r1
                        HottKeyboard = 0;
    d540:       10 92 a9 0c     sts     0x0CA9, r1
                        break;
    d544:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
   default:  line = 0;
    d548:       10 92 75 04     sts     0x0475, r1
                        break;
    d54c:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
  }
  break;
  case 1:
  switch(line++)
    d550:       80 91 75 04     lds     r24, 0x0475
    d554:       91 e0           ldi     r25, 0x01       ; 1
    d556:       98 0f           add     r25, r24
    d558:       90 93 75 04     sts     0x0475, r25
    d55c:       90 e0           ldi     r25, 0x00       ; 0
    d55e:       81 31           cpi     r24, 0x11       ; 17
    d560:       91 05           cpc     r25, r1
    d562:       08 f0           brcs    .+2             ; 0xd566 <HoTT_Menu+0x928>
    d564:       e9 c5           rjmp    .+3026          ; 0xe138 <HoTT_Menu+0x14fa>
    d566:       fc 01           movw    r30, r24
    d568:       e0 59           subi    r30, 0x90       ; 144
    d56a:       ff 4f           sbci    r31, 0xFF       ; 255
    d56c:       0c 94 a7 b1     jmp     0x1634e ; 0x1634e <__tablejump2__>
  {
        case 0:  
                if(FC_StatusFlags & FC_STATUS_LOWBAT) 
    d570:       80 91 cb 03     lds     r24, 0x03CB
    d574:       85 ff           sbrs    r24, 5
    d576:       5d c0           rjmp    .+186           ; 0xd632 <HoTT_Menu+0x9f4>
                         HoTT_printfxy_BLINK(0,0," %2i:%02i  %2i.%1iV %4imAh",FlugSekunden/60,FlugSekunden%60,UBat/10, UBat%10,Capacity.UsedCapacity)
    d578:       80 e0           ldi     r24, 0x00       ; 0
    d57a:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d57e:       80 91 1a 01     lds     r24, 0x011A
    d582:       90 91 1b 01     lds     r25, 0x011B
    d586:       00 91 1a 01     lds     r16, 0x011A
    d58a:       10 91 1b 01     lds     r17, 0x011B
    d58e:       e0 91 5e 04     lds     r30, 0x045E
    d592:       f0 91 5f 04     lds     r31, 0x045F
    d596:       a9 e1           ldi     r26, 0x19       ; 25
    d598:       b5 e0           ldi     r27, 0x05       ; 5
    d59a:       11 96           adiw    r26, 0x01       ; 1
    d59c:       2c 91           ld      r18, X
    d59e:       11 97           sbiw    r26, 0x01       ; 1
    d5a0:       2f 93           push    r18
    d5a2:       2c 91           ld      r18, X
    d5a4:       2f 93           push    r18
    d5a6:       2a e0           ldi     r18, 0x0A       ; 10
    d5a8:       30 e0           ldi     r19, 0x00       ; 0
    d5aa:       b9 01           movw    r22, r18
    d5ac:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    d5b0:       9f 93           push    r25
    d5b2:       8f 93           push    r24
    d5b4:       c8 01           movw    r24, r16
    d5b6:       b9 01           movw    r22, r18
    d5b8:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    d5bc:       7f 93           push    r23
    d5be:       6f 93           push    r22
    d5c0:       9f 01           movw    r18, r30
    d5c2:       a9 e8           ldi     r26, 0x89       ; 137
    d5c4:       b8 e8           ldi     r27, 0x88       ; 136
    d5c6:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    d5ca:       96 95           lsr     r25
    d5cc:       87 95           ror     r24
    d5ce:       92 95           swap    r25
    d5d0:       82 95           swap    r24
    d5d2:       8f 70           andi    r24, 0x0F       ; 15
    d5d4:       89 27           eor     r24, r25
    d5d6:       9f 70           andi    r25, 0x0F       ; 15
    d5d8:       89 27           eor     r24, r25
    d5da:       4c e3           ldi     r20, 0x3C       ; 60
    d5dc:       48 9f           mul     r20, r24
    d5de:       90 01           movw    r18, r0
    d5e0:       49 9f           mul     r20, r25
    d5e2:       30 0d           add     r19, r0
    d5e4:       11 24           eor     r1, r1
    d5e6:       cf 01           movw    r24, r30
    d5e8:       82 1b           sub     r24, r18
    d5ea:       93 0b           sbc     r25, r19
    d5ec:       9f 93           push    r25
    d5ee:       8f 93           push    r24
    d5f0:       9f 01           movw    r18, r30
    d5f2:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    d5f6:       96 95           lsr     r25
    d5f8:       87 95           ror     r24
    d5fa:       92 95           swap    r25
    d5fc:       82 95           swap    r24
    d5fe:       8f 70           andi    r24, 0x0F       ; 15
    d600:       89 27           eor     r24, r25
    d602:       9f 70           andi    r25, 0x0F       ; 15
    d604:       89 27           eor     r24, r25
    d606:       9f 93           push    r25
    d608:       8f 93           push    r24
    d60a:       8b ea           ldi     r24, 0xAB       ; 171
    d60c:       99 e0           ldi     r25, 0x09       ; 9
    d60e:       9f 93           push    r25
    d610:       8f 93           push    r24
    d612:       8c e2           ldi     r24, 0x2C       ; 44
    d614:       95 e1           ldi     r25, 0x15       ; 21
    d616:       9f 93           push    r25
    d618:       8f 93           push    r24
    d61a:       e0 91 78 06     lds     r30, 0x0678
    d61e:       f0 91 79 06     lds     r31, 0x0679
    d622:       09 95           icall
    d624:       0f b6           in      r0, 0x3f        ; 63
    d626:       f8 94           cli
    d628:       de bf           out     0x3e, r29       ; 62
    d62a:       0f be           out     0x3f, r0        ; 63
    d62c:       cd bf           out     0x3d, r28       ; 61
    d62e:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
            else   HoTT_printfxy(0,0," %2i:%02i  %2i.%1iV %4imAh",FlugSekunden/60,FlugSekunden%60,UBat/10, UBat%10,Capacity.UsedCapacity);                         
    d632:       80 e0           ldi     r24, 0x00       ; 0
    d634:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d638:       80 91 1a 01     lds     r24, 0x011A
    d63c:       90 91 1b 01     lds     r25, 0x011B
    d640:       00 91 1a 01     lds     r16, 0x011A
    d644:       10 91 1b 01     lds     r17, 0x011B
    d648:       e0 91 5e 04     lds     r30, 0x045E
    d64c:       f0 91 5f 04     lds     r31, 0x045F
    d650:       a9 e1           ldi     r26, 0x19       ; 25
    d652:       b5 e0           ldi     r27, 0x05       ; 5
    d654:       11 96           adiw    r26, 0x01       ; 1
    d656:       2c 91           ld      r18, X
    d658:       11 97           sbiw    r26, 0x01       ; 1
    d65a:       2f 93           push    r18
    d65c:       2c 91           ld      r18, X
    d65e:       2f 93           push    r18
    d660:       2a e0           ldi     r18, 0x0A       ; 10
    d662:       30 e0           ldi     r19, 0x00       ; 0
    d664:       b9 01           movw    r22, r18
    d666:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    d66a:       9f 93           push    r25
    d66c:       8f 93           push    r24
    d66e:       c8 01           movw    r24, r16
    d670:       b9 01           movw    r22, r18
    d672:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    d676:       7f 93           push    r23
    d678:       6f 93           push    r22
    d67a:       9f 01           movw    r18, r30
    d67c:       a9 e8           ldi     r26, 0x89       ; 137
    d67e:       b8 e8           ldi     r27, 0x88       ; 136
    d680:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    d684:       96 95           lsr     r25
    d686:       87 95           ror     r24
    d688:       92 95           swap    r25
    d68a:       82 95           swap    r24
    d68c:       8f 70           andi    r24, 0x0F       ; 15
    d68e:       89 27           eor     r24, r25
    d690:       9f 70           andi    r25, 0x0F       ; 15
    d692:       89 27           eor     r24, r25
    d694:       4c e3           ldi     r20, 0x3C       ; 60
    d696:       48 9f           mul     r20, r24
    d698:       90 01           movw    r18, r0
    d69a:       49 9f           mul     r20, r25
    d69c:       30 0d           add     r19, r0
    d69e:       11 24           eor     r1, r1
    d6a0:       cf 01           movw    r24, r30
    d6a2:       82 1b           sub     r24, r18
    d6a4:       93 0b           sbc     r25, r19
    d6a6:       9f 93           push    r25
    d6a8:       8f 93           push    r24
    d6aa:       9f 01           movw    r18, r30
    d6ac:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    d6b0:       96 95           lsr     r25
    d6b2:       87 95           ror     r24
    d6b4:       92 95           swap    r25
    d6b6:       82 95           swap    r24
    d6b8:       8f 70           andi    r24, 0x0F       ; 15
    d6ba:       89 27           eor     r24, r25
    d6bc:       9f 70           andi    r25, 0x0F       ; 15
    d6be:       89 27           eor     r24, r25
    d6c0:       9f 93           push    r25
    d6c2:       8f 93           push    r24
    d6c4:       80 e9           ldi     r24, 0x90       ; 144
    d6c6:       99 e0           ldi     r25, 0x09       ; 9
    d6c8:       9f 93           push    r25
    d6ca:       8f 93           push    r24
    d6cc:       8b e0           ldi     r24, 0x0B       ; 11
    d6ce:       95 e1           ldi     r25, 0x15       ; 21
    d6d0:       9f 93           push    r25
    d6d2:       8f 93           push    r24
    d6d4:       e0 91 78 06     lds     r30, 0x0678
    d6d8:       f0 91 79 06     lds     r31, 0x0679
    d6dc:       09 95           icall
    d6de:       0f b6           in      r0, 0x3f        ; 63
    d6e0:       f8 94           cli
    d6e2:       de bf           out     0x3e, r29       ; 62
    d6e4:       0f be           out     0x3f, r0        ; 63
    d6e6:       cd bf           out     0x3d, r28       ; 61
    d6e8:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                        break;
        case 1:  
                        HoTT_printfxy(0,1,"DIR:%3d%c",CompassCorrected, HoTT_GRAD);
    d6ec:       85 e1           ldi     r24, 0x15       ; 21
    d6ee:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d6f2:       1f 92           push    r1
    d6f4:       80 e6           ldi     r24, 0x60       ; 96
    d6f6:       8f 93           push    r24
    d6f8:       80 91 66 06     lds     r24, 0x0666
    d6fc:       8f 93           push    r24
    d6fe:       80 91 65 06     lds     r24, 0x0665
    d702:       8f 93           push    r24
    d704:       86 e8           ldi     r24, 0x86       ; 134
    d706:       99 e0           ldi     r25, 0x09       ; 9
    d708:       9f 93           push    r25
    d70a:       8f 93           push    r24
    d70c:       8b e0           ldi     r24, 0x0B       ; 11
    d70e:       95 e1           ldi     r25, 0x15       ; 21
    d710:       9f 93           push    r25
    d712:       8f 93           push    r24
    d714:       e0 91 78 06     lds     r30, 0x0678
    d718:       f0 91 79 06     lds     r31, 0x0679
    d71c:       09 95           icall
                        if(Parameter_GlobalConfig & CFG_HOEHENREGELUNG)
    d71e:       80 91 5c 06     lds     r24, 0x065C
    d722:       0f b6           in      r0, 0x3f        ; 63
    d724:       f8 94           cli
    d726:       de bf           out     0x3e, r29       ; 62
    d728:       0f be           out     0x3f, r0        ; 63
    d72a:       cd bf           out     0x3d, r28       ; 61
    d72c:       80 ff           sbrs    r24, 0
    d72e:       52 c0           rjmp    .+164           ; 0xd7d4 <HoTT_Menu+0xb96>
                          {
                           if(HoehenReglerAktiv)        HoTT_printfxy_INV(10,1,"ALT:%4im", (int16_t)(HoehenWert/100))
    d730:       80 91 1b 04     lds     r24, 0x041B
    d734:       88 23           and     r24, r24
    d736:       39 f1           breq    .+78            ; 0xd786 <HoTT_Menu+0xb48>
    d738:       8f e1           ldi     r24, 0x1F       ; 31
    d73a:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d73e:       60 91 fe 03     lds     r22, 0x03FE
    d742:       70 91 ff 03     lds     r23, 0x03FF
    d746:       80 91 00 04     lds     r24, 0x0400
    d74a:       90 91 01 04     lds     r25, 0x0401
    d74e:       24 e6           ldi     r18, 0x64       ; 100
    d750:       30 e0           ldi     r19, 0x00       ; 0
    d752:       40 e0           ldi     r20, 0x00       ; 0
    d754:       50 e0           ldi     r21, 0x00       ; 0
    d756:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    d75a:       3f 93           push    r19
    d75c:       2f 93           push    r18
    d75e:       8d e7           ldi     r24, 0x7D       ; 125
    d760:       99 e0           ldi     r25, 0x09       ; 9
    d762:       9f 93           push    r25
    d764:       8f 93           push    r24
    d766:       8b e1           ldi     r24, 0x1B       ; 27
    d768:       95 e1           ldi     r25, 0x15       ; 21
    d76a:       9f 93           push    r25
    d76c:       8f 93           push    r24
    d76e:       e0 91 78 06     lds     r30, 0x0678
    d772:       f0 91 79 06     lds     r31, 0x0679
    d776:       09 95           icall
    d778:       0f 90           pop     r0
    d77a:       0f 90           pop     r0
    d77c:       0f 90           pop     r0
    d77e:       0f 90           pop     r0
    d780:       0f 90           pop     r0
    d782:       0f 90           pop     r0
    d784:       3b c0           rjmp    .+118           ; 0xd7fc <HoTT_Menu+0xbbe>
                           else                                         HoTT_printfxy(10,1,"ALT:%4im", (int16_t)(HoehenWert/100))
    d786:       8f e1           ldi     r24, 0x1F       ; 31
    d788:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d78c:       60 91 fe 03     lds     r22, 0x03FE
    d790:       70 91 ff 03     lds     r23, 0x03FF
    d794:       80 91 00 04     lds     r24, 0x0400
    d798:       90 91 01 04     lds     r25, 0x0401
    d79c:       24 e6           ldi     r18, 0x64       ; 100
    d79e:       30 e0           ldi     r19, 0x00       ; 0
    d7a0:       40 e0           ldi     r20, 0x00       ; 0
    d7a2:       50 e0           ldi     r21, 0x00       ; 0
    d7a4:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    d7a8:       3f 93           push    r19
    d7aa:       2f 93           push    r18
    d7ac:       84 e7           ldi     r24, 0x74       ; 116
    d7ae:       99 e0           ldi     r25, 0x09       ; 9
    d7b0:       9f 93           push    r25
    d7b2:       8f 93           push    r24
    d7b4:       8b e0           ldi     r24, 0x0B       ; 11
    d7b6:       95 e1           ldi     r25, 0x15       ; 21
    d7b8:       9f 93           push    r25
    d7ba:       8f 93           push    r24
    d7bc:       e0 91 78 06     lds     r30, 0x0678
    d7c0:       f0 91 79 06     lds     r31, 0x0679
    d7c4:       09 95           icall
    d7c6:       0f 90           pop     r0
    d7c8:       0f 90           pop     r0
    d7ca:       0f 90           pop     r0
    d7cc:       0f 90           pop     r0
    d7ce:       0f 90           pop     r0
    d7d0:       0f 90           pop     r0
    d7d2:       14 c0           rjmp    .+40            ; 0xd7fc <HoTT_Menu+0xbbe>
                           }
            else    HoTT_printfxy(10,1,"ALT:---- ");
    d7d4:       8f e1           ldi     r24, 0x1F       ; 31
    d7d6:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d7da:       8a e6           ldi     r24, 0x6A       ; 106
    d7dc:       99 e0           ldi     r25, 0x09       ; 9
    d7de:       9f 93           push    r25
    d7e0:       8f 93           push    r24
    d7e2:       8b e0           ldi     r24, 0x0B       ; 11
    d7e4:       95 e1           ldi     r25, 0x15       ; 21
    d7e6:       9f 93           push    r25
    d7e8:       8f 93           push    r24
    d7ea:       e0 91 78 06     lds     r30, 0x0678
    d7ee:       f0 91 79 06     lds     r31, 0x0679
    d7f2:       09 95           icall
    d7f4:       0f 90           pop     r0
    d7f6:       0f 90           pop     r0
    d7f8:       0f 90           pop     r0
    d7fa:       0f 90           pop     r0
                        HoTT_printfxy(20,1,"%c",VarioCharacter);
    d7fc:       89 e2           ldi     r24, 0x29       ; 41
    d7fe:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d802:       80 91 20 01     lds     r24, 0x0120
    d806:       1f 92           push    r1
    d808:       8f 93           push    r24
    d80a:       87 e6           ldi     r24, 0x67       ; 103
    d80c:       99 e0           ldi     r25, 0x09       ; 9
    d80e:       9f 93           push    r25
    d810:       8f 93           push    r24
    d812:       8b e0           ldi     r24, 0x0B       ; 11
    d814:       95 e1           ldi     r25, 0x15       ; 21
    d816:       9f 93           push    r25
    d818:       8f 93           push    r24
    d81a:       e0 91 78 06     lds     r30, 0x0678
    d81e:       f0 91 79 06     lds     r31, 0x0679
    d822:       09 95           icall
            break;
    d824:       0f 90           pop     r0
    d826:       0f 90           pop     r0
    d828:       0f 90           pop     r0
    d82a:       0f 90           pop     r0
    d82c:       0f 90           pop     r0
    d82e:       0f 90           pop     r0
    d830:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
        case 2:
                        if(NaviDataOkay)
    d834:       80 91 a4 02     lds     r24, 0x02A4
    d838:       88 23           and     r24, r24
    d83a:       a1 f1           breq    .+104           ; 0xd8a4 <HoTT_Menu+0xc66>
                        {
                          HoTT_printfxy(1,2,"HM:%3d%c  DIST:%3dm %c", GPSInfo.HomeBearing, HoTT_GRAD, GPSInfo.HomeDistance/10, NC_GPS_ModeCharacter);
    d83c:       8b e2           ldi     r24, 0x2B       ; 43
    d83e:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d842:       80 91 96 02     lds     r24, 0x0296
    d846:       1f 92           push    r1
    d848:       8f 93           push    r24
    d84a:       20 91 db 08     lds     r18, 0x08DB
    d84e:       30 91 dc 08     lds     r19, 0x08DC
    d852:       ad ec           ldi     r26, 0xCD       ; 205
    d854:       bc ec           ldi     r27, 0xCC       ; 204
    d856:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    d85a:       96 95           lsr     r25
    d85c:       87 95           ror     r24
    d85e:       96 95           lsr     r25
    d860:       87 95           ror     r24
    d862:       96 95           lsr     r25
    d864:       87 95           ror     r24
    d866:       9f 93           push    r25
    d868:       8f 93           push    r24
    d86a:       1f 92           push    r1
    d86c:       80 e6           ldi     r24, 0x60       ; 96
    d86e:       8f 93           push    r24
    d870:       ed ed           ldi     r30, 0xDD       ; 221
    d872:       f8 e0           ldi     r31, 0x08       ; 8
    d874:       81 81           ldd     r24, Z+1        ; 0x01
    d876:       8f 93           push    r24
    d878:       80 81           ld      r24, Z
    d87a:       8f 93           push    r24
    d87c:       80 e5           ldi     r24, 0x50       ; 80
    d87e:       99 e0           ldi     r25, 0x09       ; 9
    d880:       9f 93           push    r25
    d882:       8f 93           push    r24
    d884:       8b e0           ldi     r24, 0x0B       ; 11
    d886:       95 e1           ldi     r25, 0x15       ; 21
    d888:       9f 93           push    r25
    d88a:       8f 93           push    r24
    d88c:       e0 91 78 06     lds     r30, 0x0678
    d890:       f0 91 79 06     lds     r31, 0x0679
    d894:       09 95           icall
    d896:       0f b6           in      r0, 0x3f        ; 63
    d898:       f8 94           cli
    d89a:       de bf           out     0x3e, r29       ; 62
    d89c:       0f be           out     0x3f, r0        ; 63
    d89e:       cd bf           out     0x3d, r28       ; 61
    d8a0:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
            }
                        else
                        {
                         Hott_ClearLine(2);
    d8a4:       82 e0           ldi     r24, 0x02       ; 2
    d8a6:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
    d8aa:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                        }
                        break;
        case 3:
                        HoTT_printfxy(0,3,"PWR:%2i.%1iA (%iW) ",Capacity.ActualCurrent/10, Capacity.ActualCurrent%10,Capacity.ActualPower);
    d8ae:       8f e3           ldi     r24, 0x3F       ; 63
    d8b0:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d8b4:       40 91 15 05     lds     r20, 0x0515
    d8b8:       50 91 16 05     lds     r21, 0x0516
    d8bc:       e7 e1           ldi     r30, 0x17       ; 23
    d8be:       f5 e0           ldi     r31, 0x05       ; 5
    d8c0:       81 81           ldd     r24, Z+1        ; 0x01
    d8c2:       8f 93           push    r24
    d8c4:       80 81           ld      r24, Z
    d8c6:       8f 93           push    r24
    d8c8:       9a 01           movw    r18, r20
    d8ca:       ad ec           ldi     r26, 0xCD       ; 205
    d8cc:       bc ec           ldi     r27, 0xCC       ; 204
    d8ce:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    d8d2:       96 95           lsr     r25
    d8d4:       87 95           ror     r24
    d8d6:       96 95           lsr     r25
    d8d8:       87 95           ror     r24
    d8da:       96 95           lsr     r25
    d8dc:       87 95           ror     r24
    d8de:       9c 01           movw    r18, r24
    d8e0:       22 0f           add     r18, r18
    d8e2:       33 1f           adc     r19, r19
    d8e4:       88 0f           add     r24, r24
    d8e6:       99 1f           adc     r25, r25
    d8e8:       88 0f           add     r24, r24
    d8ea:       99 1f           adc     r25, r25
    d8ec:       88 0f           add     r24, r24
    d8ee:       99 1f           adc     r25, r25
    d8f0:       82 0f           add     r24, r18
    d8f2:       93 1f           adc     r25, r19
    d8f4:       fa 01           movw    r30, r20
    d8f6:       e8 1b           sub     r30, r24
    d8f8:       f9 0b           sbc     r31, r25
    d8fa:       cf 01           movw    r24, r30
    d8fc:       9f 93           push    r25
    d8fe:       ef 93           push    r30
    d900:       9a 01           movw    r18, r20
    d902:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    d906:       96 95           lsr     r25
    d908:       87 95           ror     r24
    d90a:       96 95           lsr     r25
    d90c:       87 95           ror     r24
    d90e:       96 95           lsr     r25
    d910:       87 95           ror     r24
    d912:       9f 93           push    r25
    d914:       8f 93           push    r24
    d916:       8c e3           ldi     r24, 0x3C       ; 60
    d918:       99 e0           ldi     r25, 0x09       ; 9
    d91a:       9f 93           push    r25
    d91c:       8f 93           push    r24
    d91e:       8b e0           ldi     r24, 0x0B       ; 11
    d920:       95 e1           ldi     r25, 0x15       ; 21
    d922:       9f 93           push    r25
    d924:       8f 93           push    r24
    d926:       e0 91 78 06     lds     r30, 0x0678
    d92a:       f0 91 79 06     lds     r31, 0x0679
    d92e:       09 95           icall
                        if(FC_StatusFlags2 & FC_STATUS2_CAREFREE) HoTT_printfxy_INV(19,3,"CF") else HoTT_printfxy(19,3,"  ");
    d930:       80 91 ca 03     lds     r24, 0x03CA
    d934:       0f b6           in      r0, 0x3f        ; 63
    d936:       f8 94           cli
    d938:       de bf           out     0x3e, r29       ; 62
    d93a:       0f be           out     0x3f, r0        ; 63
    d93c:       cd bf           out     0x3d, r28       ; 61
    d93e:       80 ff           sbrs    r24, 0
    d940:       16 c0           rjmp    .+44            ; 0xd96e <HoTT_Menu+0xd30>
    d942:       82 e5           ldi     r24, 0x52       ; 82
    d944:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d948:       89 e3           ldi     r24, 0x39       ; 57
    d94a:       99 e0           ldi     r25, 0x09       ; 9
    d94c:       9f 93           push    r25
    d94e:       8f 93           push    r24
    d950:       8b e1           ldi     r24, 0x1B       ; 27
    d952:       95 e1           ldi     r25, 0x15       ; 21
    d954:       9f 93           push    r25
    d956:       8f 93           push    r24
    d958:       e0 91 78 06     lds     r30, 0x0678
    d95c:       f0 91 79 06     lds     r31, 0x0679
    d960:       09 95           icall
    d962:       0f 90           pop     r0
    d964:       0f 90           pop     r0
    d966:       0f 90           pop     r0
    d968:       0f 90           pop     r0
    d96a:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
    d96e:       82 e5           ldi     r24, 0x52       ; 82
    d970:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d974:       86 e3           ldi     r24, 0x36       ; 54
    d976:       99 e0           ldi     r25, 0x09       ; 9
    d978:       9f 93           push    r25
    d97a:       8f 93           push    r24
    d97c:       8b e0           ldi     r24, 0x0B       ; 11
    d97e:       95 e1           ldi     r25, 0x15       ; 21
    d980:       9f 93           push    r25
    d982:       8f 93           push    r24
    d984:       e0 91 78 06     lds     r30, 0x0678
    d988:       f0 91 79 06     lds     r31, 0x0679
    d98c:       09 95           icall
    d98e:       0f 90           pop     r0
    d990:       0f 90           pop     r0
    d992:       0f 90           pop     r0
    d994:       0f 90           pop     r0
    d996:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                        break;
        case 4:  
                        if(NaviDataOkay)
    d99a:       80 91 a4 02     lds     r24, 0x02A4
    d99e:       88 23           and     r24, r24
    d9a0:       09 f4           brne    .+2             ; 0xd9a4 <HoTT_Menu+0xd66>
    d9a2:       66 c0           rjmp    .+204           ; 0xda70 <HoTT_Menu+0xe32>
                        {
                                HoTT_printfxy(0,4,"GPS:%2um/s SAT:%d ",GPSInfo.Speed,GPSInfo.NumOfSats);
    d9a4:       84 e5           ldi     r24, 0x54       ; 84
    d9a6:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d9aa:       80 91 d8 08     lds     r24, 0x08D8
    d9ae:       1f 92           push    r1
    d9b0:       8f 93           push    r24
    d9b2:       80 91 da 08     lds     r24, 0x08DA
    d9b6:       1f 92           push    r1
    d9b8:       8f 93           push    r24
    d9ba:       83 e2           ldi     r24, 0x23       ; 35
    d9bc:       99 e0           ldi     r25, 0x09       ; 9
    d9be:       9f 93           push    r25
    d9c0:       8f 93           push    r24
    d9c2:       8b e0           ldi     r24, 0x0B       ; 11
    d9c4:       95 e1           ldi     r25, 0x15       ; 21
    d9c6:       9f 93           push    r25
    d9c8:       8f 93           push    r24
    d9ca:       e0 91 78 06     lds     r30, 0x0678
    d9ce:       f0 91 79 06     lds     r31, 0x0679
    d9d2:       09 95           icall
                                switch (GPSInfo.SatFix)
    d9d4:       0f b6           in      r0, 0x3f        ; 63
    d9d6:       f8 94           cli
    d9d8:       de bf           out     0x3e, r29       ; 62
    d9da:       0f be           out     0x3f, r0        ; 63
    d9dc:       cd bf           out     0x3d, r28       ; 61
    d9de:       80 91 d9 08     lds     r24, 0x08D9
    d9e2:       83 30           cpi     r24, 0x03       ; 3
    d9e4:       a9 f4           brne    .+42            ; 0xda10 <HoTT_Menu+0xdd2>
                                {
                                        case SATFIX_3D:
                                                HoTT_printfxy(16,4,"  3D ");
    d9e6:       84 e6           ldi     r24, 0x64       ; 100
    d9e8:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    d9ec:       8d e1           ldi     r24, 0x1D       ; 29
    d9ee:       99 e0           ldi     r25, 0x09       ; 9
    d9f0:       9f 93           push    r25
    d9f2:       8f 93           push    r24
    d9f4:       8b e0           ldi     r24, 0x0B       ; 11
    d9f6:       95 e1           ldi     r25, 0x15       ; 21
    d9f8:       9f 93           push    r25
    d9fa:       8f 93           push    r24
    d9fc:       e0 91 78 06     lds     r30, 0x0678
    da00:       f0 91 79 06     lds     r31, 0x0679
    da04:       09 95           icall
                                                break;
    da06:       0f 90           pop     r0
    da08:       0f 90           pop     r0
    da0a:       0f 90           pop     r0
    da0c:       0f 90           pop     r0
    da0e:       14 c0           rjmp    .+40            ; 0xda38 <HoTT_Menu+0xdfa>
                                        //case SATFIX_2D:
                                        //case SATFIX_NONE:
                                        default:
                                                HoTT_printfxy_BLINK(16,4,"NOFIX");
    da10:       84 e6           ldi     r24, 0x64       ; 100
    da12:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    da16:       87 e1           ldi     r24, 0x17       ; 23
    da18:       99 e0           ldi     r25, 0x09       ; 9
    da1a:       9f 93           push    r25
    da1c:       8f 93           push    r24
    da1e:       8c e2           ldi     r24, 0x2C       ; 44
    da20:       95 e1           ldi     r25, 0x15       ; 21
    da22:       9f 93           push    r25
    da24:       8f 93           push    r24
    da26:       e0 91 78 06     lds     r30, 0x0678
    da2a:       f0 91 79 06     lds     r31, 0x0679
    da2e:       09 95           icall
                                                break;
    da30:       0f 90           pop     r0
    da32:       0f 90           pop     r0
    da34:       0f 90           pop     r0
    da36:       0f 90           pop     r0
                                }       
                                if(GPSInfo.Flags & FLAG_DIFFSOLN)
    da38:       80 91 d7 08     lds     r24, 0x08D7
    da3c:       81 fd           sbrc    r24, 1
    da3e:       02 c0           rjmp    .+4             ; 0xda44 <HoTT_Menu+0xe06>
    da40:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                                {
                                        HoTT_printfxy(16,4,"DGPS ");
    da44:       84 e6           ldi     r24, 0x64       ; 100
    da46:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    da4a:       81 e1           ldi     r24, 0x11       ; 17
    da4c:       99 e0           ldi     r25, 0x09       ; 9
    da4e:       9f 93           push    r25
    da50:       8f 93           push    r24
    da52:       8b e0           ldi     r24, 0x0B       ; 11
    da54:       95 e1           ldi     r25, 0x15       ; 21
    da56:       9f 93           push    r25
    da58:       8f 93           push    r24
    da5a:       e0 91 78 06     lds     r30, 0x0678
    da5e:       f0 91 79 06     lds     r31, 0x0679
    da62:       09 95           icall
    da64:       0f 90           pop     r0
    da66:       0f 90           pop     r0
    da68:       0f 90           pop     r0
    da6a:       0f 90           pop     r0
    da6c:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                                }
                        }
                        else
                        {                    //012345678901234567890
                                HoTT_printfxy(0,4,"   No NaviCtrl       ");
    da70:       84 e5           ldi     r24, 0x54       ; 84
    da72:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    da76:       8b ef           ldi     r24, 0xFB       ; 251
    da78:       98 e0           ldi     r25, 0x08       ; 8
    da7a:       9f 93           push    r25
    da7c:       8f 93           push    r24
    da7e:       8b e0           ldi     r24, 0x0B       ; 11
    da80:       95 e1           ldi     r25, 0x15       ; 21
    da82:       9f 93           push    r25
    da84:       8f 93           push    r24
    da86:       e0 91 78 06     lds     r30, 0x0678
    da8a:       f0 91 79 06     lds     r31, 0x0679
    da8e:       09 95           icall
    da90:       0f 90           pop     r0
    da92:       0f 90           pop     r0
    da94:       0f 90           pop     r0
    da96:       0f 90           pop     r0
    da98:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                        }
                        break;
        case 5:
                        if(show_current)
    da9c:       80 91 73 04     lds     r24, 0x0473
    daa0:       88 23           and     r24, r24
    daa2:       09 f4           brne    .+2             ; 0xdaa6 <HoTT_Menu+0xe68>
    daa4:       c6 c0           rjmp    .+396           ; 0xdc32 <HoTT_Menu+0xff4>
                         {
//                              HoTT_printfxy(0,5,"%2i.%i %2i.%i %2i.%i %2i.%iA", Motor[0].Current/10,Motor[0].Current%10,Motor[1].Current/10,Motor[1].Current%10,Motor[2].Current/10,Motor[2].Current%10,Motor[3].Current/10,Motor[3].Current%10);
                                HoTT_printfxy(0,5,"%2i.%i %2i.%i %2i.%i %2i.%iA", BL3_Current(0)/10,BL3_Current(0)%10,BL3_Current(1)/10,BL3_Current(1)%10,BL3_Current(2)/10,BL3_Current(2)%10,BL3_Current(3)/10,BL3_Current(3)%10);
    daa6:       89 e6           ldi     r24, 0x69       ; 105
    daa8:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    daac:       40 90 78 06     lds     r4, 0x0678
    dab0:       50 90 79 06     lds     r5, 0x0679
    dab4:       83 e0           ldi     r24, 0x03       ; 3
    dab6:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    daba:       6c 01           movw    r12, r24
    dabc:       83 e0           ldi     r24, 0x03       ; 3
    dabe:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dac2:       4c 01           movw    r8, r24
    dac4:       82 e0           ldi     r24, 0x02       ; 2
    dac6:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    daca:       7c 01           movw    r14, r24
    dacc:       82 e0           ldi     r24, 0x02       ; 2
    dace:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dad2:       5c 01           movw    r10, r24
    dad4:       81 e0           ldi     r24, 0x01       ; 1
    dad6:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dada:       8c 01           movw    r16, r24
    dadc:       81 e0           ldi     r24, 0x01       ; 1
    dade:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dae2:       3c 01           movw    r6, r24
    dae4:       80 e0           ldi     r24, 0x00       ; 0
    dae6:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    daea:       1c 01           movw    r2, r24
    daec:       80 e0           ldi     r24, 0x00       ; 0
    daee:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    daf2:       ac 01           movw    r20, r24
    daf4:       96 01           movw    r18, r12
    daf6:       ad ec           ldi     r26, 0xCD       ; 205
    daf8:       bc ec           ldi     r27, 0xCC       ; 204
    dafa:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    dafe:       96 95           lsr     r25
    db00:       87 95           ror     r24
    db02:       96 95           lsr     r25
    db04:       87 95           ror     r24
    db06:       96 95           lsr     r25
    db08:       87 95           ror     r24
    db0a:       9c 01           movw    r18, r24
    db0c:       22 0f           add     r18, r18
    db0e:       33 1f           adc     r19, r19
    db10:       88 0f           add     r24, r24
    db12:       99 1f           adc     r25, r25
    db14:       88 0f           add     r24, r24
    db16:       99 1f           adc     r25, r25
    db18:       88 0f           add     r24, r24
    db1a:       99 1f           adc     r25, r25
    db1c:       82 0f           add     r24, r18
    db1e:       93 1f           adc     r25, r19
    db20:       c8 1a           sub     r12, r24
    db22:       d9 0a           sbc     r13, r25
    db24:       df 92           push    r13
    db26:       cf 92           push    r12
    db28:       94 01           movw    r18, r8
    db2a:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    db2e:       96 95           lsr     r25
    db30:       87 95           ror     r24
    db32:       96 95           lsr     r25
    db34:       87 95           ror     r24
    db36:       96 95           lsr     r25
    db38:       87 95           ror     r24
    db3a:       9f 93           push    r25
    db3c:       8f 93           push    r24
    db3e:       97 01           movw    r18, r14
    db40:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    db44:       96 95           lsr     r25
    db46:       87 95           ror     r24
    db48:       96 95           lsr     r25
    db4a:       87 95           ror     r24
    db4c:       96 95           lsr     r25
    db4e:       87 95           ror     r24
    db50:       9c 01           movw    r18, r24
    db52:       22 0f           add     r18, r18
    db54:       33 1f           adc     r19, r19
    db56:       88 0f           add     r24, r24
    db58:       99 1f           adc     r25, r25
    db5a:       88 0f           add     r24, r24
    db5c:       99 1f           adc     r25, r25
    db5e:       88 0f           add     r24, r24
    db60:       99 1f           adc     r25, r25
    db62:       82 0f           add     r24, r18
    db64:       93 1f           adc     r25, r19
    db66:       e8 1a           sub     r14, r24
    db68:       f9 0a           sbc     r15, r25
    db6a:       ff 92           push    r15
    db6c:       ef 92           push    r14
    db6e:       95 01           movw    r18, r10
    db70:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    db74:       96 95           lsr     r25
    db76:       87 95           ror     r24
    db78:       96 95           lsr     r25
    db7a:       87 95           ror     r24
    db7c:       96 95           lsr     r25
    db7e:       87 95           ror     r24
    db80:       9f 93           push    r25
    db82:       8f 93           push    r24
    db84:       98 01           movw    r18, r16
    db86:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    db8a:       96 95           lsr     r25
    db8c:       87 95           ror     r24
    db8e:       96 95           lsr     r25
    db90:       87 95           ror     r24
    db92:       96 95           lsr     r25
    db94:       87 95           ror     r24
    db96:       9c 01           movw    r18, r24
    db98:       22 0f           add     r18, r18
    db9a:       33 1f           adc     r19, r19
    db9c:       88 0f           add     r24, r24
    db9e:       99 1f           adc     r25, r25
    dba0:       88 0f           add     r24, r24
    dba2:       99 1f           adc     r25, r25
    dba4:       88 0f           add     r24, r24
    dba6:       99 1f           adc     r25, r25
    dba8:       82 0f           add     r24, r18
    dbaa:       93 1f           adc     r25, r19
    dbac:       08 1b           sub     r16, r24
    dbae:       19 0b           sbc     r17, r25
    dbb0:       1f 93           push    r17
    dbb2:       0f 93           push    r16
    dbb4:       93 01           movw    r18, r6
    dbb6:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    dbba:       96 95           lsr     r25
    dbbc:       87 95           ror     r24
    dbbe:       96 95           lsr     r25
    dbc0:       87 95           ror     r24
    dbc2:       96 95           lsr     r25
    dbc4:       87 95           ror     r24
    dbc6:       9f 93           push    r25
    dbc8:       8f 93           push    r24
    dbca:       91 01           movw    r18, r2
    dbcc:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    dbd0:       96 95           lsr     r25
    dbd2:       87 95           ror     r24
    dbd4:       96 95           lsr     r25
    dbd6:       87 95           ror     r24
    dbd8:       96 95           lsr     r25
    dbda:       87 95           ror     r24
    dbdc:       9c 01           movw    r18, r24
    dbde:       22 0f           add     r18, r18
    dbe0:       33 1f           adc     r19, r19
    dbe2:       88 0f           add     r24, r24
    dbe4:       99 1f           adc     r25, r25
    dbe6:       88 0f           add     r24, r24
    dbe8:       99 1f           adc     r25, r25
    dbea:       88 0f           add     r24, r24
    dbec:       99 1f           adc     r25, r25
    dbee:       82 0f           add     r24, r18
    dbf0:       93 1f           adc     r25, r19
    dbf2:       28 1a           sub     r2, r24
    dbf4:       39 0a           sbc     r3, r25
    dbf6:       3f 92           push    r3
    dbf8:       2f 92           push    r2
    dbfa:       9a 01           movw    r18, r20
    dbfc:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    dc00:       96 95           lsr     r25
    dc02:       87 95           ror     r24
    dc04:       96 95           lsr     r25
    dc06:       87 95           ror     r24
    dc08:       96 95           lsr     r25
    dc0a:       87 95           ror     r24
    dc0c:       9f 93           push    r25
    dc0e:       8f 93           push    r24
    dc10:       8e ed           ldi     r24, 0xDE       ; 222
    dc12:       98 e0           ldi     r25, 0x08       ; 8
    dc14:       9f 93           push    r25
    dc16:       8f 93           push    r24
    dc18:       8b e0           ldi     r24, 0x0B       ; 11
    dc1a:       95 e1           ldi     r25, 0x15       ; 21
    dc1c:       9f 93           push    r25
    dc1e:       8f 93           push    r24
    dc20:       f2 01           movw    r30, r4
    dc22:       09 95           icall
    dc24:       0f b6           in      r0, 0x3f        ; 63
    dc26:       f8 94           cli
    dc28:       de bf           out     0x3e, r29       ; 62
    dc2a:       0f be           out     0x3f, r0        ; 63
    dc2c:       cd bf           out     0x3d, r28       ; 61
    dc2e:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                         }
                         else
                         {
                                HoTT_printfxy(0,5,"%3i %3i %3i %3i%cC", Motor[0].Temperature, Motor[1].Temperature, Motor[2].Temperature, Motor[3].Temperature,HoTT_GRAD);
    dc32:       89 e6           ldi     r24, 0x69       ; 105
    dc34:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    dc38:       1f 92           push    r1
    dc3a:       80 e6           ldi     r24, 0x60       ; 96
    dc3c:       8f 93           push    r24
    dc3e:       80 91 cb 09     lds     r24, 0x09CB
    dc42:       1f 92           push    r1
    dc44:       8f 93           push    r24
    dc46:       80 91 bc 09     lds     r24, 0x09BC
    dc4a:       1f 92           push    r1
    dc4c:       8f 93           push    r24
    dc4e:       80 91 ad 09     lds     r24, 0x09AD
    dc52:       1f 92           push    r1
    dc54:       8f 93           push    r24
    dc56:       80 91 9e 09     lds     r24, 0x099E
    dc5a:       1f 92           push    r1
    dc5c:       8f 93           push    r24
    dc5e:       8b ec           ldi     r24, 0xCB       ; 203
    dc60:       98 e0           ldi     r25, 0x08       ; 8
    dc62:       9f 93           push    r25
    dc64:       8f 93           push    r24
    dc66:       8b e0           ldi     r24, 0x0B       ; 11
    dc68:       95 e1           ldi     r25, 0x15       ; 21
    dc6a:       9f 93           push    r25
    dc6c:       8f 93           push    r24
    dc6e:       e0 91 78 06     lds     r30, 0x0678
    dc72:       f0 91 79 06     lds     r31, 0x0679
    dc76:       09 95           icall
    dc78:       0f b6           in      r0, 0x3f        ; 63
    dc7a:       f8 94           cli
    dc7c:       de bf           out     0x3e, r29       ; 62
    dc7e:       0f be           out     0x3f, r0        ; 63
    dc80:       cd bf           out     0x3d, r28       ; 61
    dc82:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                         }
                        break;
        case 6: 
                        if(show_current)
    dc86:       80 91 73 04     lds     r24, 0x0473
    dc8a:       88 23           and     r24, r24
    dc8c:       09 f4           brne    .+2             ; 0xdc90 <HoTT_Menu+0x1052>
    dc8e:       4a c1           rjmp    .+660           ; 0xdf24 <HoTT_Menu+0x12e6>
                         {
                    if(RequiredMotors == 4) Hott_ClearLine(6);
    dc90:       80 91 3d 05     lds     r24, 0x053D
    dc94:       84 30           cpi     r24, 0x04       ; 4
    dc96:       29 f4           brne    .+10            ; 0xdca2 <HoTT_Menu+0x1064>
    dc98:       86 e0           ldi     r24, 0x06       ; 6
    dc9a:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
    dc9e:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                                else
//                              if(RequiredMotors == 6)  HoTT_printfxy(0,6,"%2i.%i %2i.%iA", Motor[4].Current/10,Motor[4].Current%10,Motor[5].Current/10,Motor[5].Current%10)
                                if(RequiredMotors == 6)  HoTT_printfxy(0,6,"%2i.%i %2i.%iA", BL3_Current(4)/10,BL3_Current(4)%10, BL3_Current(5)/10,BL3_Current(5)%10)
    dca2:       86 30           cpi     r24, 0x06       ; 6
    dca4:       09 f0           breq    .+2             ; 0xdca8 <HoTT_Menu+0x106a>
    dca6:       42 c0           rjmp    .+132           ; 0xdd2c <HoTT_Menu+0x10ee>
    dca8:       8e e7           ldi     r24, 0x7E       ; 126
    dcaa:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    dcae:       a0 90 78 06     lds     r10, 0x0678
    dcb2:       b0 90 79 06     lds     r11, 0x0679
    dcb6:       85 e0           ldi     r24, 0x05       ; 5
    dcb8:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dcbc:       6c 01           movw    r12, r24
    dcbe:       85 e0           ldi     r24, 0x05       ; 5
    dcc0:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dcc4:       7c 01           movw    r14, r24
    dcc6:       84 e0           ldi     r24, 0x04       ; 4
    dcc8:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dccc:       8c 01           movw    r16, r24
    dcce:       84 e0           ldi     r24, 0x04       ; 4
    dcd0:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dcd4:       fc 01           movw    r30, r24
    dcd6:       2a e0           ldi     r18, 0x0A       ; 10
    dcd8:       30 e0           ldi     r19, 0x00       ; 0
    dcda:       c6 01           movw    r24, r12
    dcdc:       b9 01           movw    r22, r18
    dcde:       0e 94 42 b1     call    0x16284 ; 0x16284 <__udivmodhi4>
    dce2:       9f 93           push    r25
    dce4:       8f 93           push    r24
    dce6:       c7 01           movw    r24, r14
    dce8:       b9 01           movw    r22, r18
    dcea:       0e 94 42 b1     call    0x16284 ; 0x16284 <__udivmodhi4>
    dcee:       7f 93           push    r23
    dcf0:       6f 93           push    r22
    dcf2:       c8 01           movw    r24, r16
    dcf4:       b9 01           movw    r22, r18
    dcf6:       0e 94 42 b1     call    0x16284 ; 0x16284 <__udivmodhi4>
    dcfa:       9f 93           push    r25
    dcfc:       8f 93           push    r24
    dcfe:       cf 01           movw    r24, r30
    dd00:       b9 01           movw    r22, r18
    dd02:       0e 94 42 b1     call    0x16284 ; 0x16284 <__udivmodhi4>
    dd06:       7f 93           push    r23
    dd08:       6f 93           push    r22
    dd0a:       8c eb           ldi     r24, 0xBC       ; 188
    dd0c:       98 e0           ldi     r25, 0x08       ; 8
    dd0e:       9f 93           push    r25
    dd10:       8f 93           push    r24
    dd12:       8b e0           ldi     r24, 0x0B       ; 11
    dd14:       95 e1           ldi     r25, 0x15       ; 21
    dd16:       9f 93           push    r25
    dd18:       8f 93           push    r24
    dd1a:       f5 01           movw    r30, r10
    dd1c:       09 95           icall
    dd1e:       0f b6           in      r0, 0x3f        ; 63
    dd20:       f8 94           cli
    dd22:       de bf           out     0x3e, r29       ; 62
    dd24:       0f be           out     0x3f, r0        ; 63
    dd26:       cd bf           out     0x3d, r28       ; 61
    dd28:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                                else
//                              if(RequiredMotors > 6)   HoTT_printfxy(0,6,"%2i.%i %2i.%i %2i.%i %2i.%iA", Motor[4].Current/10,Motor[4].Current%10,Motor[5].Current/10,Motor[5].Current%10,Motor[6].Current/10,Motor[6].Current%10,Motor[7].Current/10,Motor[7].Current%10);
                                if(RequiredMotors > 6)   HoTT_printfxy(0,6,"%2i.%i %2i.%i %2i.%i %2i.%iA", BL3_Current(4)/10,BL3_Current(4)%10,BL3_Current(5)/10,BL3_Current(5)%10,BL3_Current(6)/10,BL3_Current(6)%10,BL3_Current(7)/10,BL3_Current(7)%10,BL3_Current(8)/10,BL3_Current(8)%10);
    dd2c:       87 30           cpi     r24, 0x07       ; 7
    dd2e:       10 f4           brcc    .+4             ; 0xdd34 <HoTT_Menu+0x10f6>
    dd30:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
    dd34:       8e e7           ldi     r24, 0x7E       ; 126
    dd36:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    dd3a:       80 91 78 06     lds     r24, 0x0678
    dd3e:       90 91 79 06     lds     r25, 0x0679
    dd42:       9a 83           std     Y+2, r25        ; 0x02
    dd44:       89 83           std     Y+1, r24        ; 0x01
    dd46:       88 e0           ldi     r24, 0x08       ; 8
    dd48:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dd4c:       5c 01           movw    r10, r24
    dd4e:       88 e0           ldi     r24, 0x08       ; 8
    dd50:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dd54:       4c 01           movw    r8, r24
    dd56:       87 e0           ldi     r24, 0x07       ; 7
    dd58:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dd5c:       6c 01           movw    r12, r24
    dd5e:       87 e0           ldi     r24, 0x07       ; 7
    dd60:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dd64:       3c 01           movw    r6, r24
    dd66:       86 e0           ldi     r24, 0x06       ; 6
    dd68:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dd6c:       7c 01           movw    r14, r24
    dd6e:       86 e0           ldi     r24, 0x06       ; 6
    dd70:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dd74:       2c 01           movw    r4, r24
    dd76:       85 e0           ldi     r24, 0x05       ; 5
    dd78:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dd7c:       8c 01           movw    r16, r24
    dd7e:       85 e0           ldi     r24, 0x05       ; 5
    dd80:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dd84:       1c 01           movw    r2, r24
    dd86:       84 e0           ldi     r24, 0x04       ; 4
    dd88:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dd8c:       9c 83           std     Y+4, r25        ; 0x04
    dd8e:       8b 83           std     Y+3, r24        ; 0x03
    dd90:       84 e0           ldi     r24, 0x04       ; 4
    dd92:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
    dd96:       ac 01           movw    r20, r24
    dd98:       95 01           movw    r18, r10
    dd9a:       ad ec           ldi     r26, 0xCD       ; 205
    dd9c:       bc ec           ldi     r27, 0xCC       ; 204
    dd9e:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    dda2:       96 95           lsr     r25
    dda4:       87 95           ror     r24
    dda6:       96 95           lsr     r25
    dda8:       87 95           ror     r24
    ddaa:       96 95           lsr     r25
    ddac:       87 95           ror     r24
    ddae:       9c 01           movw    r18, r24
    ddb0:       22 0f           add     r18, r18
    ddb2:       33 1f           adc     r19, r19
    ddb4:       88 0f           add     r24, r24
    ddb6:       99 1f           adc     r25, r25
    ddb8:       88 0f           add     r24, r24
    ddba:       99 1f           adc     r25, r25
    ddbc:       88 0f           add     r24, r24
    ddbe:       99 1f           adc     r25, r25
    ddc0:       82 0f           add     r24, r18
    ddc2:       93 1f           adc     r25, r19
    ddc4:       a8 1a           sub     r10, r24
    ddc6:       b9 0a           sbc     r11, r25
    ddc8:       bf 92           push    r11
    ddca:       af 92           push    r10
    ddcc:       94 01           movw    r18, r8
    ddce:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    ddd2:       96 95           lsr     r25
    ddd4:       87 95           ror     r24
    ddd6:       96 95           lsr     r25
    ddd8:       87 95           ror     r24
    ddda:       96 95           lsr     r25
    dddc:       87 95           ror     r24
    ddde:       9f 93           push    r25
    dde0:       8f 93           push    r24
    dde2:       96 01           movw    r18, r12
    dde4:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    dde8:       96 95           lsr     r25
    ddea:       87 95           ror     r24
    ddec:       96 95           lsr     r25
    ddee:       87 95           ror     r24
    ddf0:       96 95           lsr     r25
    ddf2:       87 95           ror     r24
    ddf4:       9c 01           movw    r18, r24
    ddf6:       22 0f           add     r18, r18
    ddf8:       33 1f           adc     r19, r19
    ddfa:       88 0f           add     r24, r24
    ddfc:       99 1f           adc     r25, r25
    ddfe:       88 0f           add     r24, r24
    de00:       99 1f           adc     r25, r25
    de02:       88 0f           add     r24, r24
    de04:       99 1f           adc     r25, r25
    de06:       82 0f           add     r24, r18
    de08:       93 1f           adc     r25, r19
    de0a:       c8 1a           sub     r12, r24
    de0c:       d9 0a           sbc     r13, r25
    de0e:       df 92           push    r13
    de10:       cf 92           push    r12
    de12:       93 01           movw    r18, r6
    de14:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    de18:       96 95           lsr     r25
    de1a:       87 95           ror     r24
    de1c:       96 95           lsr     r25
    de1e:       87 95           ror     r24
    de20:       96 95           lsr     r25
    de22:       87 95           ror     r24
    de24:       9f 93           push    r25
    de26:       8f 93           push    r24
    de28:       97 01           movw    r18, r14
    de2a:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    de2e:       96 95           lsr     r25
    de30:       87 95           ror     r24
    de32:       96 95           lsr     r25
    de34:       87 95           ror     r24
    de36:       96 95           lsr     r25
    de38:       87 95           ror     r24
    de3a:       9c 01           movw    r18, r24
    de3c:       22 0f           add     r18, r18
    de3e:       33 1f           adc     r19, r19
    de40:       88 0f           add     r24, r24
    de42:       99 1f           adc     r25, r25
    de44:       88 0f           add     r24, r24
    de46:       99 1f           adc     r25, r25
    de48:       88 0f           add     r24, r24
    de4a:       99 1f           adc     r25, r25
    de4c:       82 0f           add     r24, r18
    de4e:       93 1f           adc     r25, r19
    de50:       e8 1a           sub     r14, r24
    de52:       f9 0a           sbc     r15, r25
    de54:       ff 92           push    r15
    de56:       ef 92           push    r14
    de58:       92 01           movw    r18, r4
    de5a:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    de5e:       96 95           lsr     r25
    de60:       87 95           ror     r24
    de62:       96 95           lsr     r25
    de64:       87 95           ror     r24
    de66:       96 95           lsr     r25
    de68:       87 95           ror     r24
    de6a:       9f 93           push    r25
    de6c:       8f 93           push    r24
    de6e:       98 01           movw    r18, r16
    de70:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    de74:       96 95           lsr     r25
    de76:       87 95           ror     r24
    de78:       96 95           lsr     r25
    de7a:       87 95           ror     r24
    de7c:       96 95           lsr     r25
    de7e:       87 95           ror     r24
    de80:       9c 01           movw    r18, r24
    de82:       22 0f           add     r18, r18
    de84:       33 1f           adc     r19, r19
    de86:       88 0f           add     r24, r24
    de88:       99 1f           adc     r25, r25
    de8a:       88 0f           add     r24, r24
    de8c:       99 1f           adc     r25, r25
    de8e:       88 0f           add     r24, r24
    de90:       99 1f           adc     r25, r25
    de92:       82 0f           add     r24, r18
    de94:       93 1f           adc     r25, r19
    de96:       08 1b           sub     r16, r24
    de98:       19 0b           sbc     r17, r25
    de9a:       1f 93           push    r17
    de9c:       0f 93           push    r16
    de9e:       91 01           movw    r18, r2
    dea0:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    dea4:       96 95           lsr     r25
    dea6:       87 95           ror     r24
    dea8:       96 95           lsr     r25
    deaa:       87 95           ror     r24
    deac:       96 95           lsr     r25
    deae:       87 95           ror     r24
    deb0:       9f 93           push    r25
    deb2:       8f 93           push    r24
    deb4:       2b 81           ldd     r18, Y+3        ; 0x03
    deb6:       3c 81           ldd     r19, Y+4        ; 0x04
    deb8:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    debc:       96 95           lsr     r25
    debe:       87 95           ror     r24
    dec0:       96 95           lsr     r25
    dec2:       87 95           ror     r24
    dec4:       96 95           lsr     r25
    dec6:       87 95           ror     r24
    dec8:       9c 01           movw    r18, r24
    deca:       22 0f           add     r18, r18
    decc:       33 1f           adc     r19, r19
    dece:       88 0f           add     r24, r24
    ded0:       99 1f           adc     r25, r25
    ded2:       88 0f           add     r24, r24
    ded4:       99 1f           adc     r25, r25
    ded6:       88 0f           add     r24, r24
    ded8:       99 1f           adc     r25, r25
    deda:       82 0f           add     r24, r18
    dedc:       93 1f           adc     r25, r19
    dede:       2b 81           ldd     r18, Y+3        ; 0x03
    dee0:       3c 81           ldd     r19, Y+4        ; 0x04
    dee2:       28 1b           sub     r18, r24
    dee4:       39 0b           sbc     r19, r25
    dee6:       3f 93           push    r19
    dee8:       2f 93           push    r18
    deea:       9a 01           movw    r18, r20
    deec:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    def0:       96 95           lsr     r25
    def2:       87 95           ror     r24
    def4:       96 95           lsr     r25
    def6:       87 95           ror     r24
    def8:       96 95           lsr     r25
    defa:       87 95           ror     r24
    defc:       9f 93           push    r25
    defe:       8f 93           push    r24
    df00:       8f e9           ldi     r24, 0x9F       ; 159
    df02:       98 e0           ldi     r25, 0x08       ; 8
    df04:       9f 93           push    r25
    df06:       8f 93           push    r24
    df08:       8b e0           ldi     r24, 0x0B       ; 11
    df0a:       95 e1           ldi     r25, 0x15       ; 21
    df0c:       9f 93           push    r25
    df0e:       8f 93           push    r24
    df10:       e9 81           ldd     r30, Y+1        ; 0x01
    df12:       fa 81           ldd     r31, Y+2        ; 0x02
    df14:       09 95           icall
    df16:       0f b6           in      r0, 0x3f        ; 63
    df18:       f8 94           cli
    df1a:       de bf           out     0x3e, r29       ; 62
    df1c:       0f be           out     0x3f, r0        ; 63
    df1e:       cd bf           out     0x3d, r28       ; 61
    df20:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
             }
                         else
                         {
                    if(RequiredMotors == 4) Hott_ClearLine(6);
    df24:       80 91 3d 05     lds     r24, 0x053D
    df28:       84 30           cpi     r24, 0x04       ; 4
    df2a:       29 f4           brne    .+10            ; 0xdf36 <HoTT_Menu+0x12f8>
    df2c:       86 e0           ldi     r24, 0x06       ; 6
    df2e:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
    df32:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                                else
                                if(RequiredMotors == 6)  HoTT_printfxy(0,6,"%3i %3i%cC        ", Motor[4].Temperature, Motor[5].Temperature,HoTT_GRAD)
    df36:       86 30           cpi     r24, 0x06       ; 6
    df38:       11 f5           brne    .+68            ; 0xdf7e <HoTT_Menu+0x1340>
    df3a:       8e e7           ldi     r24, 0x7E       ; 126
    df3c:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    df40:       1f 92           push    r1
    df42:       80 e6           ldi     r24, 0x60       ; 96
    df44:       8f 93           push    r24
    df46:       80 91 e9 09     lds     r24, 0x09E9
    df4a:       1f 92           push    r1
    df4c:       8f 93           push    r24
    df4e:       80 91 da 09     lds     r24, 0x09DA
    df52:       1f 92           push    r1
    df54:       8f 93           push    r24
    df56:       8c e8           ldi     r24, 0x8C       ; 140
    df58:       98 e0           ldi     r25, 0x08       ; 8
    df5a:       9f 93           push    r25
    df5c:       8f 93           push    r24
    df5e:       8b e0           ldi     r24, 0x0B       ; 11
    df60:       95 e1           ldi     r25, 0x15       ; 21
    df62:       9f 93           push    r25
    df64:       8f 93           push    r24
    df66:       e0 91 78 06     lds     r30, 0x0678
    df6a:       f0 91 79 06     lds     r31, 0x0679
    df6e:       09 95           icall
    df70:       0f b6           in      r0, 0x3f        ; 63
    df72:       f8 94           cli
    df74:       de bf           out     0x3e, r29       ; 62
    df76:       0f be           out     0x3f, r0        ; 63
    df78:       cd bf           out     0x3d, r28       ; 61
    df7a:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                                else
                                if(RequiredMotors > 6)   HoTT_printfxy(0,6,"%3i %3i %3i %3i%cC", Motor[4].Temperature, Motor[5].Temperature, Motor[6].Temperature, Motor[7].Temperature,HoTT_GRAD);
    df7e:       87 30           cpi     r24, 0x07       ; 7
    df80:       10 f4           brcc    .+4             ; 0xdf86 <HoTT_Menu+0x1348>
    df82:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
    df86:       8e e7           ldi     r24, 0x7E       ; 126
    df88:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    df8c:       1f 92           push    r1
    df8e:       80 e6           ldi     r24, 0x60       ; 96
    df90:       8f 93           push    r24
    df92:       80 91 07 0a     lds     r24, 0x0A07
    df96:       1f 92           push    r1
    df98:       8f 93           push    r24
    df9a:       80 91 f8 09     lds     r24, 0x09F8
    df9e:       1f 92           push    r1
    dfa0:       8f 93           push    r24
    dfa2:       80 91 e9 09     lds     r24, 0x09E9
    dfa6:       1f 92           push    r1
    dfa8:       8f 93           push    r24
    dfaa:       80 91 da 09     lds     r24, 0x09DA
    dfae:       1f 92           push    r1
    dfb0:       8f 93           push    r24
    dfb2:       89 e7           ldi     r24, 0x79       ; 121
    dfb4:       98 e0           ldi     r25, 0x08       ; 8
    dfb6:       9f 93           push    r25
    dfb8:       8f 93           push    r24
    dfba:       8b e0           ldi     r24, 0x0B       ; 11
    dfbc:       95 e1           ldi     r25, 0x15       ; 21
    dfbe:       9f 93           push    r25
    dfc0:       8f 93           push    r24
    dfc2:       e0 91 78 06     lds     r30, 0x0678
    dfc6:       f0 91 79 06     lds     r31, 0x0679
    dfca:       09 95           icall
    dfcc:       0f b6           in      r0, 0x3f        ; 63
    dfce:       f8 94           cli
    dfd0:       de bf           out     0x3e, r29       ; 62
    dfd2:       0f be           out     0x3f, r0        ; 63
    dfd4:       cd bf           out     0x3d, r28       ; 61
    dfd6:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
             }
                        break;
        case 7: if(NC_ErrorCode) 
    dfda:       80 91 bb 04     lds     r24, 0x04BB
    dfde:       88 23           and     r24, r24
    dfe0:       09 f4           brne    .+2             ; 0xdfe4 <HoTT_Menu+0x13a6>
    dfe2:       4f c0           rjmp    .+158           ; 0xe082 <HoTT_Menu+0x1444>
                  {
                           if(HoTTBlink && NC_ErrorCode < MAX_ERR_NUMBER)
    dfe4:       90 91 ed 02     lds     r25, 0x02ED
    dfe8:       99 23           and     r25, r25
    dfea:       09 f1           breq    .+66            ; 0xe02e <HoTT_Menu+0x13f0>
    dfec:       83 32           cpi     r24, 0x23       ; 35
    dfee:       f8 f4           brcc    .+62            ; 0xe02e <HoTT_Menu+0x13f0>
                            {
                             Hott_ClearLine(7); 
    dff0:       87 e0           ldi     r24, 0x07       ; 7
    dff2:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
                             HoTT_printfxy_INV(0,7,"ERR: %2d !",NC_ErrorCode);
    dff6:       83 e9           ldi     r24, 0x93       ; 147
    dff8:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    dffc:       80 91 bb 04     lds     r24, 0x04BB
    e000:       1f 92           push    r1
    e002:       8f 93           push    r24
    e004:       8e e6           ldi     r24, 0x6E       ; 110
    e006:       98 e0           ldi     r25, 0x08       ; 8
    e008:       9f 93           push    r25
    e00a:       8f 93           push    r24
    e00c:       8b e1           ldi     r24, 0x1B       ; 27
    e00e:       95 e1           ldi     r25, 0x15       ; 21
    e010:       9f 93           push    r25
    e012:       8f 93           push    r24
    e014:       e0 91 78 06     lds     r30, 0x0678
    e018:       f0 91 79 06     lds     r31, 0x0679
    e01c:       09 95           icall
    e01e:       0f 90           pop     r0
    e020:       0f 90           pop     r0
    e022:       0f 90           pop     r0
    e024:       0f 90           pop     r0
    e026:       0f 90           pop     r0
    e028:       0f 90           pop     r0
    e02a:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                            }
                                else 
                                {
                                 HoTT_printfxy(0,7,"ERR: ");     _printf_P(&LIBFC_HoTT_Putchar, NC_ERROR_TEXT[NC_ErrorCode] , 0);};
    e02e:       83 e9           ldi     r24, 0x93       ; 147
    e030:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e034:       88 e6           ldi     r24, 0x68       ; 104
    e036:       98 e0           ldi     r25, 0x08       ; 8
    e038:       9f 93           push    r25
    e03a:       8f 93           push    r24
    e03c:       0b e0           ldi     r16, 0x0B       ; 11
    e03e:       15 e1           ldi     r17, 0x15       ; 21
    e040:       1f 93           push    r17
    e042:       0f 93           push    r16
    e044:       e0 91 78 06     lds     r30, 0x0678
    e048:       f0 91 79 06     lds     r31, 0x0679
    e04c:       09 95           icall
    e04e:       1f 92           push    r1
    e050:       1f 92           push    r1
    e052:       80 91 bb 04     lds     r24, 0x04BB
    e056:       f1 e1           ldi     r31, 0x11       ; 17
    e058:       8f 9f           mul     r24, r31
    e05a:       c0 01           movw    r24, r0
    e05c:       11 24           eor     r1, r1
    e05e:       84 59           subi    r24, 0x94       ; 148
    e060:       94 4f           sbci    r25, 0xF4       ; 244
    e062:       9f 93           push    r25
    e064:       8f 93           push    r24
    e066:       1f 93           push    r17
    e068:       0f 93           push    r16
    e06a:       e0 91 78 06     lds     r30, 0x0678
    e06e:       f0 91 79 06     lds     r31, 0x0679
    e072:       09 95           icall
    e074:       0f b6           in      r0, 0x3f        ; 63
    e076:       f8 94           cli
    e078:       de bf           out     0x3e, r29       ; 62
    e07a:       0f be           out     0x3f, r0        ; 63
    e07c:       cd bf           out     0x3d, r28       ; 61
    e07e:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                                } 
                        else 
                        if(FC_StatusFlags & FC_STATUS_LOWBAT) HoTT_printfxy(1,7,"!! LiPo voltage !!") 
    e082:       80 91 cb 03     lds     r24, 0x03CB
    e086:       85 ff           sbrs    r24, 5
    e088:       16 c0           rjmp    .+44            ; 0xe0b6 <HoTT_Menu+0x1478>
    e08a:       84 e9           ldi     r24, 0x94       ; 148
    e08c:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e090:       85 e5           ldi     r24, 0x55       ; 85
    e092:       98 e0           ldi     r25, 0x08       ; 8
    e094:       9f 93           push    r25
    e096:       8f 93           push    r24
    e098:       8b e0           ldi     r24, 0x0B       ; 11
    e09a:       95 e1           ldi     r25, 0x15       ; 21
    e09c:       9f 93           push    r25
    e09e:       8f 93           push    r24
    e0a0:       e0 91 78 06     lds     r30, 0x0678
    e0a4:       f0 91 79 06     lds     r31, 0x0679
    e0a8:       09 95           icall
    e0aa:       0f 90           pop     r0
    e0ac:       0f 90           pop     r0
    e0ae:       0f 90           pop     r0
    e0b0:       0f 90           pop     r0
    e0b2:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                        else HoTT_printfxy(0,7," www.MikroKopter.de  ");
    e0b6:       83 e9           ldi     r24, 0x93       ; 147
    e0b8:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e0bc:       8f e3           ldi     r24, 0x3F       ; 63
    e0be:       98 e0           ldi     r25, 0x08       ; 8
    e0c0:       9f 93           push    r25
    e0c2:       8f 93           push    r24
    e0c4:       8b e0           ldi     r24, 0x0B       ; 11
    e0c6:       95 e1           ldi     r25, 0x15       ; 21
    e0c8:       9f 93           push    r25
    e0ca:       8f 93           push    r24
    e0cc:       e0 91 78 06     lds     r30, 0x0678
    e0d0:       f0 91 79 06     lds     r31, 0x0679
    e0d4:       09 95           icall
    e0d6:       0f 90           pop     r0
    e0d8:       0f 90           pop     r0
    e0da:       0f 90           pop     r0
    e0dc:       0f 90           pop     r0
    e0de:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
        case 12:
        case 13:
        case 14:  
        case 15:  
        case 16:  
                        if(HottKeyboard == HOTT_KEY_SET) { if(show_current) show_current = 0; else show_current = 1;   Hott_ClearLine(5);  Hott_ClearLine(6);}
    e0e2:       80 91 a9 0c     lds     r24, 0x0CA9
    e0e6:       86 30           cpi     r24, 0x06       ; 6
    e0e8:       89 f4           brne    .+34            ; 0xe10c <HoTT_Menu+0x14ce>
    e0ea:       80 91 73 04     lds     r24, 0x0473
    e0ee:       88 23           and     r24, r24
    e0f0:       19 f0           breq    .+6             ; 0xe0f8 <HoTT_Menu+0x14ba>
    e0f2:       10 92 73 04     sts     0x0473, r1
    e0f6:       03 c0           rjmp    .+6             ; 0xe0fe <HoTT_Menu+0x14c0>
    e0f8:       81 e0           ldi     r24, 0x01       ; 1
    e0fa:       80 93 73 04     sts     0x0473, r24
    e0fe:       85 e0           ldi     r24, 0x05       ; 5
    e100:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
    e104:       86 e0           ldi     r24, 0x06       ; 6
    e106:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
    e10a:       12 c0           rjmp    .+36            ; 0xe130 <HoTT_Menu+0x14f2>
                        else
                        if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page = 2; line = 0;}
    e10c:       88 30           cpi     r24, 0x08       ; 8
    e10e:       41 f4           brne    .+16            ; 0xe120 <HoTT_Menu+0x14e2>
    e110:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
    e114:       82 e0           ldi     r24, 0x02       ; 2
    e116:       80 93 76 04     sts     0x0476, r24
    e11a:       10 92 75 04     sts     0x0475, r1
    e11e:       08 c0           rjmp    .+16            ; 0xe130 <HoTT_Menu+0x14f2>
                        else
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page = 0; line = 0;}
    e120:       81 30           cpi     r24, 0x01       ; 1
    e122:       31 f4           brne    .+12            ; 0xe130 <HoTT_Menu+0x14f2>
    e124:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
    e128:       10 92 76 04     sts     0x0476, r1
    e12c:       10 92 75 04     sts     0x0475, r1
//if(HottKeyboard) HoTT_printfxy(15,6,"%KEY:%02x ",HottKeyboard);
                        HottKeyboard = 0;
    e130:       10 92 a9 0c     sts     0x0CA9, r1
                        break;
    e134:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
   default:  line = 0;
    e138:       10 92 75 04     sts     0x0475, r1
                        break;
    e13c:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
  }
  break;
  case 2:
  switch(line++)
    e140:       80 91 75 04     lds     r24, 0x0475
    e144:       91 e0           ldi     r25, 0x01       ; 1
    e146:       98 0f           add     r25, r24
    e148:       90 93 75 04     sts     0x0475, r25
    e14c:       90 e0           ldi     r25, 0x00       ; 0
    e14e:       81 31           cpi     r24, 0x11       ; 17
    e150:       91 05           cpc     r25, r1
    e152:       08 f0           brcs    .+2             ; 0xe156 <HoTT_Menu+0x1518>
    e154:       65 c3           rjmp    .+1738          ; 0xe820 <HoTT_Menu+0x1be2>
    e156:       fc 01           movw    r30, r24
    e158:       ef 57           subi    r30, 0x7F       ; 127
    e15a:       ff 4f           sbci    r31, 0xFF       ; 255
    e15c:       0c 94 a7 b1     jmp     0x1634e ; 0x1634e <__tablejump2__>
  {
        case 0:  
                        HoTT_printfxy_INV(0,0,"Setting:%u %s ",ActiveParamSet,EE_Parameter.Name); 
    e160:       80 e0           ldi     r24, 0x00       ; 0
    e162:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e166:       8a eb           ldi     r24, 0xBA       ; 186
    e168:       95 e0           ldi     r25, 0x05       ; 5
    e16a:       9f 93           push    r25
    e16c:       8f 93           push    r24
    e16e:       80 91 52 01     lds     r24, 0x0152
    e172:       1f 92           push    r1
    e174:       8f 93           push    r24
    e176:       80 e3           ldi     r24, 0x30       ; 48
    e178:       98 e0           ldi     r25, 0x08       ; 8
    e17a:       9f 93           push    r25
    e17c:       8f 93           push    r24
    e17e:       8b e1           ldi     r24, 0x1B       ; 27
    e180:       95 e1           ldi     r25, 0x15       ; 21
    e182:       9f 93           push    r25
    e184:       8f 93           push    r24
    e186:       e0 91 78 06     lds     r30, 0x0678
    e18a:       f0 91 79 06     lds     r31, 0x0679
    e18e:       09 95           icall
                        break;
    e190:       0f b6           in      r0, 0x3f        ; 63
    e192:       f8 94           cli
    e194:       de bf           out     0x3e, r29       ; 62
    e196:       0f be           out     0x3f, r0        ; 63
    e198:       cd bf           out     0x3d, r28       ; 61
    e19a:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
    case 1: HoTT_printfxy(0,1,"Min:%2i.%1iV %s ",BattLowVoltageWarning/10, BattLowVoltageWarning%10, Mixer.Name); 
    e19e:       85 e1           ldi     r24, 0x15       ; 21
    e1a0:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e1a4:       20 91 53 01     lds     r18, 0x0153
    e1a8:       88 ec           ldi     r24, 0xC8       ; 200
    e1aa:       95 e0           ldi     r25, 0x05       ; 5
    e1ac:       9f 93           push    r25
    e1ae:       8f 93           push    r24
    e1b0:       8d ec           ldi     r24, 0xCD       ; 205
    e1b2:       28 9f           mul     r18, r24
    e1b4:       81 2d           mov     r24, r1
    e1b6:       11 24           eor     r1, r1
    e1b8:       86 95           lsr     r24
    e1ba:       86 95           lsr     r24
    e1bc:       86 95           lsr     r24
    e1be:       98 2f           mov     r25, r24
    e1c0:       99 0f           add     r25, r25
    e1c2:       39 2f           mov     r19, r25
    e1c4:       33 0f           add     r19, r19
    e1c6:       33 0f           add     r19, r19
    e1c8:       93 0f           add     r25, r19
    e1ca:       29 1b           sub     r18, r25
    e1cc:       1f 92           push    r1
    e1ce:       2f 93           push    r18
    e1d0:       1f 92           push    r1
    e1d2:       8f 93           push    r24
    e1d4:       8f e1           ldi     r24, 0x1F       ; 31
    e1d6:       98 e0           ldi     r25, 0x08       ; 8
    e1d8:       9f 93           push    r25
    e1da:       8f 93           push    r24
    e1dc:       8b e0           ldi     r24, 0x0B       ; 11
    e1de:       95 e1           ldi     r25, 0x15       ; 21
    e1e0:       9f 93           push    r25
    e1e2:       8f 93           push    r24
    e1e4:       e0 91 78 06     lds     r30, 0x0678
    e1e8:       f0 91 79 06     lds     r31, 0x0679
    e1ec:       09 95           icall
                        break;
    e1ee:       0f b6           in      r0, 0x3f        ; 63
    e1f0:       f8 94           cli
    e1f2:       de bf           out     0x3e, r29       ; 62
    e1f4:       0f be           out     0x3f, r0        ; 63
    e1f6:       cd bf           out     0x3d, r28       ; 61
    e1f8:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
    case 2:  HoTT_printfxy(0,2,"ALT:");
    e1fc:       8a e2           ldi     r24, 0x2A       ; 42
    e1fe:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e202:       8a e1           ldi     r24, 0x1A       ; 26
    e204:       98 e0           ldi     r25, 0x08       ; 8
    e206:       9f 93           push    r25
    e208:       8f 93           push    r24
    e20a:       8b e0           ldi     r24, 0x0B       ; 11
    e20c:       95 e1           ldi     r25, 0x15       ; 21
    e20e:       9f 93           push    r25
    e210:       8f 93           push    r24
    e212:       e0 91 78 06     lds     r30, 0x0678
    e216:       f0 91 79 06     lds     r31, 0x0679
    e21a:       09 95           icall
                 if(Parameter_GlobalConfig & CFG_HOEHENREGELUNG) 
    e21c:       80 91 5c 06     lds     r24, 0x065C
    e220:       0f 90           pop     r0
    e222:       0f 90           pop     r0
    e224:       0f 90           pop     r0
    e226:       0f 90           pop     r0
    e228:       80 ff           sbrs    r24, 0
    e22a:       7a c0           rjmp    .+244           ; 0xe320 <HoTT_Menu+0x16e2>
                 {
                          if(!(EE_Parameter.GlobalConfig & CFG_HOEHEN_SCHALTER)) HoTT_printf("POTI:%3u ", Parameter_HoehenSchalter)
    e22c:       80 91 4b 05     lds     r24, 0x054B
    e230:       81 fd           sbrc    r24, 1
    e232:       19 c0           rjmp    .+50            ; 0xe266 <HoTT_Menu+0x1628>
    e234:       80 91 e1 03     lds     r24, 0x03E1
    e238:       1f 92           push    r1
    e23a:       8f 93           push    r24
    e23c:       80 e1           ldi     r24, 0x10       ; 16
    e23e:       98 e0           ldi     r25, 0x08       ; 8
    e240:       9f 93           push    r25
    e242:       8f 93           push    r24
    e244:       8b e0           ldi     r24, 0x0B       ; 11
    e246:       95 e1           ldi     r25, 0x15       ; 21
    e248:       9f 93           push    r25
    e24a:       8f 93           push    r24
    e24c:       e0 91 78 06     lds     r30, 0x0678
    e250:       f0 91 79 06     lds     r31, 0x0679
    e254:       09 95           icall
    e256:       0f 90           pop     r0
    e258:       0f 90           pop     r0
    e25a:       0f 90           pop     r0
    e25c:       0f 90           pop     r0
    e25e:       0f 90           pop     r0
    e260:       0f 90           pop     r0
    e262:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                          else 
                          {
                           if(Parameter_HoehenSchalter > 50) HoTT_printf("(ON)  ") else HoTT_printf("(OFF) ");
    e266:       80 91 e1 03     lds     r24, 0x03E1
    e26a:       83 33           cpi     r24, 0x33       ; 51
    e26c:       90 f0           brcs    .+36            ; 0xe292 <HoTT_Menu+0x1654>
    e26e:       89 e0           ldi     r24, 0x09       ; 9
    e270:       98 e0           ldi     r25, 0x08       ; 8
    e272:       9f 93           push    r25
    e274:       8f 93           push    r24
    e276:       8b e0           ldi     r24, 0x0B       ; 11
    e278:       95 e1           ldi     r25, 0x15       ; 21
    e27a:       9f 93           push    r25
    e27c:       8f 93           push    r24
    e27e:       e0 91 78 06     lds     r30, 0x0678
    e282:       f0 91 79 06     lds     r31, 0x0679
    e286:       09 95           icall
    e288:       0f 90           pop     r0
    e28a:       0f 90           pop     r0
    e28c:       0f 90           pop     r0
    e28e:       0f 90           pop     r0
    e290:       11 c0           rjmp    .+34            ; 0xe2b4 <HoTT_Menu+0x1676>
    e292:       82 e0           ldi     r24, 0x02       ; 2
    e294:       98 e0           ldi     r25, 0x08       ; 8
    e296:       9f 93           push    r25
    e298:       8f 93           push    r24
    e29a:       8b e0           ldi     r24, 0x0B       ; 11
    e29c:       95 e1           ldi     r25, 0x15       ; 21
    e29e:       9f 93           push    r25
    e2a0:       8f 93           push    r24
    e2a2:       e0 91 78 06     lds     r30, 0x0678
    e2a6:       f0 91 79 06     lds     r31, 0x0679
    e2aa:       09 95           icall
    e2ac:       0f 90           pop     r0
    e2ae:       0f 90           pop     r0
    e2b0:       0f 90           pop     r0
    e2b2:       0f 90           pop     r0
                           if((Parameter_ExtraConfig & CFG2_HEIGHT_LIMIT)) HoTT_printf("LIMIT", Parameter_HoehenSchalter)
    e2b4:       80 91 40 06     lds     r24, 0x0640
    e2b8:       80 ff           sbrs    r24, 0
    e2ba:       19 c0           rjmp    .+50            ; 0xe2ee <HoTT_Menu+0x16b0>
    e2bc:       80 91 e1 03     lds     r24, 0x03E1
    e2c0:       1f 92           push    r1
    e2c2:       8f 93           push    r24
    e2c4:       8c ef           ldi     r24, 0xFC       ; 252
    e2c6:       97 e0           ldi     r25, 0x07       ; 7
    e2c8:       9f 93           push    r25
    e2ca:       8f 93           push    r24
    e2cc:       8b e0           ldi     r24, 0x0B       ; 11
    e2ce:       95 e1           ldi     r25, 0x15       ; 21
    e2d0:       9f 93           push    r25
    e2d2:       8f 93           push    r24
    e2d4:       e0 91 78 06     lds     r30, 0x0678
    e2d8:       f0 91 79 06     lds     r31, 0x0679
    e2dc:       09 95           icall
    e2de:       0f 90           pop     r0
    e2e0:       0f 90           pop     r0
    e2e2:       0f 90           pop     r0
    e2e4:       0f 90           pop     r0
    e2e6:       0f 90           pop     r0
    e2e8:       0f 90           pop     r0
    e2ea:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                           else HoTT_printf("VARIO", Parameter_HoehenSchalter);
    e2ee:       80 91 e1 03     lds     r24, 0x03E1
    e2f2:       1f 92           push    r1
    e2f4:       8f 93           push    r24
    e2f6:       86 ef           ldi     r24, 0xF6       ; 246
    e2f8:       97 e0           ldi     r25, 0x07       ; 7
    e2fa:       9f 93           push    r25
    e2fc:       8f 93           push    r24
    e2fe:       8b e0           ldi     r24, 0x0B       ; 11
    e300:       95 e1           ldi     r25, 0x15       ; 21
    e302:       9f 93           push    r25
    e304:       8f 93           push    r24
    e306:       e0 91 78 06     lds     r30, 0x0678
    e30a:       f0 91 79 06     lds     r31, 0x0679
    e30e:       09 95           icall
    e310:       0f 90           pop     r0
    e312:       0f 90           pop     r0
    e314:       0f 90           pop     r0
    e316:       0f 90           pop     r0
    e318:       0f 90           pop     r0
    e31a:       0f 90           pop     r0
    e31c:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                          }
                         }
                        else 
                                HoTT_printf("DISABLED");
    e320:       8d ee           ldi     r24, 0xED       ; 237
    e322:       97 e0           ldi     r25, 0x07       ; 7
    e324:       9f 93           push    r25
    e326:       8f 93           push    r24
    e328:       8b e0           ldi     r24, 0x0B       ; 11
    e32a:       95 e1           ldi     r25, 0x15       ; 21
    e32c:       9f 93           push    r25
    e32e:       8f 93           push    r24
    e330:       e0 91 78 06     lds     r30, 0x0678
    e334:       f0 91 79 06     lds     r31, 0x0679
    e338:       09 95           icall
    e33a:       0f 90           pop     r0
    e33c:       0f 90           pop     r0
    e33e:       0f 90           pop     r0
    e340:       0f 90           pop     r0
    e342:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                        break;
    case 3: HoTT_printfxy(0,3,"CF:");
    e346:       8f e3           ldi     r24, 0x3F       ; 63
    e348:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e34c:       89 ee           ldi     r24, 0xE9       ; 233
    e34e:       97 e0           ldi     r25, 0x07       ; 7
    e350:       9f 93           push    r25
    e352:       8f 93           push    r24
    e354:       8b e0           ldi     r24, 0x0B       ; 11
    e356:       95 e1           ldi     r25, 0x15       ; 21
    e358:       9f 93           push    r25
    e35a:       8f 93           push    r24
    e35c:       e0 91 78 06     lds     r30, 0x0678
    e360:       f0 91 79 06     lds     r31, 0x0679
    e364:       09 95           icall
                        if(!EE_Parameter.CareFreeChannel) HoTT_printf("DISABLED")
    e366:       0f 90           pop     r0
    e368:       0f 90           pop     r0
    e36a:       0f 90           pop     r0
    e36c:       0f 90           pop     r0
    e36e:       80 91 a2 05     lds     r24, 0x05A2
    e372:       81 11           cpse    r24, r1
    e374:       13 c0           rjmp    .+38            ; 0xe39c <HoTT_Menu+0x175e>
    e376:       80 ee           ldi     r24, 0xE0       ; 224
    e378:       97 e0           ldi     r25, 0x07       ; 7
    e37a:       9f 93           push    r25
    e37c:       8f 93           push    r24
    e37e:       8b e0           ldi     r24, 0x0B       ; 11
    e380:       95 e1           ldi     r25, 0x15       ; 21
    e382:       9f 93           push    r25
    e384:       8f 93           push    r24
    e386:       e0 91 78 06     lds     r30, 0x0678
    e38a:       f0 91 79 06     lds     r31, 0x0679
    e38e:       09 95           icall
    e390:       0f 90           pop     r0
    e392:       0f 90           pop     r0
    e394:       0f 90           pop     r0
    e396:       0f 90           pop     r0
    e398:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                        else 
                         {
                          if(CareFree)  HoTT_printf(" (ON) ") else HoTT_printf(" (OFF)");
    e39c:       80 91 d8 03     lds     r24, 0x03D8
    e3a0:       88 23           and     r24, r24
    e3a2:       91 f0           breq    .+36            ; 0xe3c8 <HoTT_Menu+0x178a>
    e3a4:       89 ed           ldi     r24, 0xD9       ; 217
    e3a6:       97 e0           ldi     r25, 0x07       ; 7
    e3a8:       9f 93           push    r25
    e3aa:       8f 93           push    r24
    e3ac:       8b e0           ldi     r24, 0x0B       ; 11
    e3ae:       95 e1           ldi     r25, 0x15       ; 21
    e3b0:       9f 93           push    r25
    e3b2:       8f 93           push    r24
    e3b4:       e0 91 78 06     lds     r30, 0x0678
    e3b8:       f0 91 79 06     lds     r31, 0x0679
    e3bc:       09 95           icall
    e3be:       0f 90           pop     r0
    e3c0:       0f 90           pop     r0
    e3c2:       0f 90           pop     r0
    e3c4:       0f 90           pop     r0
    e3c6:       11 c0           rjmp    .+34            ; 0xe3ea <HoTT_Menu+0x17ac>
    e3c8:       82 ed           ldi     r24, 0xD2       ; 210
    e3ca:       97 e0           ldi     r25, 0x07       ; 7
    e3cc:       9f 93           push    r25
    e3ce:       8f 93           push    r24
    e3d0:       8b e0           ldi     r24, 0x0B       ; 11
    e3d2:       95 e1           ldi     r25, 0x15       ; 21
    e3d4:       9f 93           push    r25
    e3d6:       8f 93           push    r24
    e3d8:       e0 91 78 06     lds     r30, 0x0678
    e3dc:       f0 91 79 06     lds     r31, 0x0679
    e3e0:       09 95           icall
    e3e2:       0f 90           pop     r0
    e3e4:       0f 90           pop     r0
    e3e6:       0f 90           pop     r0
    e3e8:       0f 90           pop     r0
                          if(EE_Parameter.ExtraConfig & CFG_LEARNABLE_CAREFREE) HoTT_printf(" TEACH");
    e3ea:       80 91 b8 05     lds     r24, 0x05B8
    e3ee:       86 fd           sbrc    r24, 6
    e3f0:       02 c0           rjmp    .+4             ; 0xe3f6 <HoTT_Menu+0x17b8>
    e3f2:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
    e3f6:       8b ec           ldi     r24, 0xCB       ; 203
    e3f8:       97 e0           ldi     r25, 0x07       ; 7
    e3fa:       9f 93           push    r25
    e3fc:       8f 93           push    r24
    e3fe:       8b e0           ldi     r24, 0x0B       ; 11
    e400:       95 e1           ldi     r25, 0x15       ; 21
    e402:       9f 93           push    r25
    e404:       8f 93           push    r24
    e406:       e0 91 78 06     lds     r30, 0x0678
    e40a:       f0 91 79 06     lds     r31, 0x0679
    e40e:       09 95           icall
    e410:       0f 90           pop     r0
    e412:       0f 90           pop     r0
    e414:       0f 90           pop     r0
    e416:       0f 90           pop     r0
    e418:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                         } 
                        break;
    case 4: HoTT_printfxy(0,4,"GPS:");
    e41c:       84 e5           ldi     r24, 0x54       ; 84
    e41e:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e422:       86 ec           ldi     r24, 0xC6       ; 198
    e424:       97 e0           ldi     r25, 0x07       ; 7
    e426:       9f 93           push    r25
    e428:       8f 93           push    r24
    e42a:       8b e0           ldi     r24, 0x0B       ; 11
    e42c:       95 e1           ldi     r25, 0x15       ; 21
    e42e:       9f 93           push    r25
    e430:       8f 93           push    r24
    e432:       e0 91 78 06     lds     r30, 0x0678
    e436:       f0 91 79 06     lds     r31, 0x0679
    e43a:       09 95           icall
                    if(!(Parameter_GlobalConfig & CFG_GPS_AKTIV)) HoTT_printf("DISABLED")
    e43c:       80 91 5c 06     lds     r24, 0x065C
    e440:       0f 90           pop     r0
    e442:       0f 90           pop     r0
    e444:       0f 90           pop     r0
    e446:       0f 90           pop     r0
    e448:       85 fd           sbrc    r24, 5
    e44a:       12 c0           rjmp    .+36            ; 0xe470 <HoTT_Menu+0x1832>
    e44c:       8d eb           ldi     r24, 0xBD       ; 189
    e44e:       97 e0           ldi     r25, 0x07       ; 7
    e450:       9f 93           push    r25
    e452:       8f 93           push    r24
    e454:       8b e0           ldi     r24, 0x0B       ; 11
    e456:       95 e1           ldi     r25, 0x15       ; 21
    e458:       9f 93           push    r25
    e45a:       8f 93           push    r24
    e45c:       e0 91 78 06     lds     r30, 0x0678
    e460:       f0 91 79 06     lds     r31, 0x0679
    e464:       09 95           icall
    e466:       0f 90           pop     r0
    e468:       0f 90           pop     r0
    e46a:       0f 90           pop     r0
    e46c:       0f 90           pop     r0
    e46e:       53 c0           rjmp    .+166           ; 0xe516 <HoTT_Menu+0x18d8>
                        else 
                         {
                          tmp = GetChannelValue(EE_Parameter.NaviGpsModeChannel);
    e470:       80 91 8f 05     lds     r24, 0x058F
    e474:       0e 94 0e 34     call    0x681c  ; 0x681c <GetChannelValue>
                          if(tmp < 50) HoTT_printf("(FREE)")
    e478:       82 33           cpi     r24, 0x32       ; 50
    e47a:       90 f4           brcc    .+36            ; 0xe4a0 <HoTT_Menu+0x1862>
    e47c:       86 eb           ldi     r24, 0xB6       ; 182
    e47e:       97 e0           ldi     r25, 0x07       ; 7
    e480:       9f 93           push    r25
    e482:       8f 93           push    r24
    e484:       8b e0           ldi     r24, 0x0B       ; 11
    e486:       95 e1           ldi     r25, 0x15       ; 21
    e488:       9f 93           push    r25
    e48a:       8f 93           push    r24
    e48c:       e0 91 78 06     lds     r30, 0x0678
    e490:       f0 91 79 06     lds     r31, 0x0679
    e494:       09 95           icall
    e496:       0f 90           pop     r0
    e498:       0f 90           pop     r0
    e49a:       0f 90           pop     r0
    e49c:       0f 90           pop     r0
    e49e:       3b c0           rjmp    .+118           ; 0xe516 <HoTT_Menu+0x18d8>
                          else 
                          if(tmp >= 180) HoTT_printf("(HOME)") 
    e4a0:       84 3b           cpi     r24, 0xB4       ; 180
    e4a2:       90 f0           brcs    .+36            ; 0xe4c8 <HoTT_Menu+0x188a>
    e4a4:       8f ea           ldi     r24, 0xAF       ; 175
    e4a6:       97 e0           ldi     r25, 0x07       ; 7
    e4a8:       9f 93           push    r25
    e4aa:       8f 93           push    r24
    e4ac:       8b e0           ldi     r24, 0x0B       ; 11
    e4ae:       95 e1           ldi     r25, 0x15       ; 21
    e4b0:       9f 93           push    r25
    e4b2:       8f 93           push    r24
    e4b4:       e0 91 78 06     lds     r30, 0x0678
    e4b8:       f0 91 79 06     lds     r31, 0x0679
    e4bc:       09 95           icall
    e4be:       0f 90           pop     r0
    e4c0:       0f 90           pop     r0
    e4c2:       0f 90           pop     r0
    e4c4:       0f 90           pop     r0
    e4c6:       27 c0           rjmp    .+78            ; 0xe516 <HoTT_Menu+0x18d8>
                          else 
                          if(EE_Parameter.ExtraConfig & CFG_GPS_AID) HoTT_printf("(AID) ") 
    e4c8:       80 91 b8 05     lds     r24, 0x05B8
    e4cc:       85 ff           sbrs    r24, 5
    e4ce:       12 c0           rjmp    .+36            ; 0xe4f4 <HoTT_Menu+0x18b6>
    e4d0:       88 ea           ldi     r24, 0xA8       ; 168
    e4d2:       97 e0           ldi     r25, 0x07       ; 7
    e4d4:       9f 93           push    r25
    e4d6:       8f 93           push    r24
    e4d8:       8b e0           ldi     r24, 0x0B       ; 11
    e4da:       95 e1           ldi     r25, 0x15       ; 21
    e4dc:       9f 93           push    r25
    e4de:       8f 93           push    r24
    e4e0:       e0 91 78 06     lds     r30, 0x0678
    e4e4:       f0 91 79 06     lds     r31, 0x0679
    e4e8:       09 95           icall
    e4ea:       0f 90           pop     r0
    e4ec:       0f 90           pop     r0
    e4ee:       0f 90           pop     r0
    e4f0:       0f 90           pop     r0
    e4f2:       11 c0           rjmp    .+34            ; 0xe516 <HoTT_Menu+0x18d8>
                          else HoTT_printf("(HOLD)") 
    e4f4:       81 ea           ldi     r24, 0xA1       ; 161
    e4f6:       97 e0           ldi     r25, 0x07       ; 7
    e4f8:       9f 93           push    r25
    e4fa:       8f 93           push    r24
    e4fc:       8b e0           ldi     r24, 0x0B       ; 11
    e4fe:       95 e1           ldi     r25, 0x15       ; 21
    e500:       9f 93           push    r25
    e502:       8f 93           push    r24
    e504:       e0 91 78 06     lds     r30, 0x0678
    e508:       f0 91 79 06     lds     r31, 0x0679
    e50c:       09 95           icall
    e50e:       0f 90           pop     r0
    e510:       0f 90           pop     r0
    e512:       0f 90           pop     r0
    e514:       0f 90           pop     r0
                         }
                        if(EE_Parameter.FailSafeTime) HoTT_printfxy(10,4," FS:%usek ",EE_Parameter.FailSafeTime)
    e516:       80 91 a6 05     lds     r24, 0x05A6
    e51a:       88 23           and     r24, r24
    e51c:       11 f4           brne    .+4             ; 0xe522 <HoTT_Menu+0x18e4>
    e51e:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
    e522:       8e e5           ldi     r24, 0x5E       ; 94
    e524:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e528:       80 91 a6 05     lds     r24, 0x05A6
    e52c:       1f 92           push    r1
    e52e:       8f 93           push    r24
    e530:       86 e9           ldi     r24, 0x96       ; 150
    e532:       97 e0           ldi     r25, 0x07       ; 7
    e534:       9f 93           push    r25
    e536:       8f 93           push    r24
    e538:       8b e0           ldi     r24, 0x0B       ; 11
    e53a:       95 e1           ldi     r25, 0x15       ; 21
    e53c:       9f 93           push    r25
    e53e:       8f 93           push    r24
    e540:       e0 91 78 06     lds     r30, 0x0678
    e544:       f0 91 79 06     lds     r31, 0x0679
    e548:       09 95           icall
    e54a:       0f 90           pop     r0
    e54c:       0f 90           pop     r0
    e54e:       0f 90           pop     r0
    e550:       0f 90           pop     r0
    e552:       0f 90           pop     r0
    e554:       0f 90           pop     r0
    e556:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>

                        break;
    case 5: HoTT_printfxy(0,5,"HOME ALT:");
    e55a:       89 e6           ldi     r24, 0x69       ; 105
    e55c:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e560:       8c e8           ldi     r24, 0x8C       ; 140
    e562:       97 e0           ldi     r25, 0x07       ; 7
    e564:       9f 93           push    r25
    e566:       8f 93           push    r24
    e568:       8b e0           ldi     r24, 0x0B       ; 11
    e56a:       95 e1           ldi     r25, 0x15       ; 21
    e56c:       9f 93           push    r25
    e56e:       8f 93           push    r24
    e570:       e0 91 78 06     lds     r30, 0x0678
    e574:       f0 91 79 06     lds     r31, 0x0679
    e578:       09 95           icall
                        if(EE_Parameter.ComingHomeAltitude) HoTT_printf("%um",EE_Parameter.ComingHomeAltitude) else HoTT_printf("HOLD ");
    e57a:       80 91 a5 05     lds     r24, 0x05A5
    e57e:       0f 90           pop     r0
    e580:       0f 90           pop     r0
    e582:       0f 90           pop     r0
    e584:       0f 90           pop     r0
    e586:       88 23           and     r24, r24
    e588:       b9 f0           breq    .+46            ; 0xe5b8 <HoTT_Menu+0x197a>
    e58a:       1f 92           push    r1
    e58c:       8f 93           push    r24
    e58e:       88 e8           ldi     r24, 0x88       ; 136
    e590:       97 e0           ldi     r25, 0x07       ; 7
    e592:       9f 93           push    r25
    e594:       8f 93           push    r24
    e596:       8b e0           ldi     r24, 0x0B       ; 11
    e598:       95 e1           ldi     r25, 0x15       ; 21
    e59a:       9f 93           push    r25
    e59c:       8f 93           push    r24
    e59e:       e0 91 78 06     lds     r30, 0x0678
    e5a2:       f0 91 79 06     lds     r31, 0x0679
    e5a6:       09 95           icall
    e5a8:       0f 90           pop     r0
    e5aa:       0f 90           pop     r0
    e5ac:       0f 90           pop     r0
    e5ae:       0f 90           pop     r0
    e5b0:       0f 90           pop     r0
    e5b2:       0f 90           pop     r0
    e5b4:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
    e5b8:       82 e8           ldi     r24, 0x82       ; 130
    e5ba:       97 e0           ldi     r25, 0x07       ; 7
    e5bc:       9f 93           push    r25
    e5be:       8f 93           push    r24
    e5c0:       8b e0           ldi     r24, 0x0B       ; 11
    e5c2:       95 e1           ldi     r25, 0x15       ; 21
    e5c4:       9f 93           push    r25
    e5c6:       8f 93           push    r24
    e5c8:       e0 91 78 06     lds     r30, 0x0678
    e5cc:       f0 91 79 06     lds     r31, 0x0679
    e5d0:       09 95           icall
    e5d2:       0f 90           pop     r0
    e5d4:       0f 90           pop     r0
    e5d6:       0f 90           pop     r0
    e5d8:       0f 90           pop     r0
    e5da:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                        break;
        case 6:
                        if(!show_poti)
    e5de:       80 91 72 04     lds     r24, 0x0472
    e5e2:       81 11           cpse    r24, r1
    e5e4:       57 c0           rjmp    .+174           ; 0xe694 <HoTT_Menu+0x1a56>
                         {
              HoTT_printfxy(0,6,"Ni:%4i Ro:%4i C:%3i",PPM_in[EE_Parameter.Kanalbelegung[K_NICK]],PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]], Parameter_ServoNickControl);
    e5e6:       8e e7           ldi     r24, 0x7E       ; 126
    e5e8:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e5ec:       e0 91 40 05     lds     r30, 0x0540
    e5f0:       f0 e0           ldi     r31, 0x00       ; 0
    e5f2:       ee 0f           add     r30, r30
    e5f4:       ff 1f           adc     r31, r31
    e5f6:       ef 5c           subi    r30, 0xCF       ; 207
    e5f8:       f7 4f           sbci    r31, 0xF7       ; 247
    e5fa:       20 81           ld      r18, Z
    e5fc:       31 81           ldd     r19, Z+1        ; 0x01
    e5fe:       e0 91 3f 05     lds     r30, 0x053F
    e602:       f0 e0           ldi     r31, 0x00       ; 0
    e604:       ee 0f           add     r30, r30
    e606:       ff 1f           adc     r31, r31
    e608:       ef 5c           subi    r30, 0xCF       ; 207
    e60a:       f7 4f           sbci    r31, 0xF7       ; 247
    e60c:       80 81           ld      r24, Z
    e60e:       91 81           ldd     r25, Z+1        ; 0x01
    e610:       40 91 2f 01     lds     r20, 0x012F
    e614:       1f 92           push    r1
    e616:       4f 93           push    r20
    e618:       3f 93           push    r19
    e61a:       2f 93           push    r18
    e61c:       9f 93           push    r25
    e61e:       8f 93           push    r24
    e620:       8e e6           ldi     r24, 0x6E       ; 110
    e622:       97 e0           ldi     r25, 0x07       ; 7
    e624:       9f 93           push    r25
    e626:       8f 93           push    r24
    e628:       0b e0           ldi     r16, 0x0B       ; 11
    e62a:       15 e1           ldi     r17, 0x15       ; 21
    e62c:       1f 93           push    r17
    e62e:       0f 93           push    r16
    e630:       e0 91 78 06     lds     r30, 0x0678
    e634:       f0 91 79 06     lds     r31, 0x0679
    e638:       09 95           icall
                      HoTT_printfxy(0,7,"Gs:%4i Ya:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_GAS]]+127,PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]);
    e63a:       83 e9           ldi     r24, 0x93       ; 147
    e63c:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e640:       e0 91 42 05     lds     r30, 0x0542
    e644:       f0 e0           ldi     r31, 0x00       ; 0
    e646:       ee 0f           add     r30, r30
    e648:       ff 1f           adc     r31, r31
    e64a:       ef 5c           subi    r30, 0xCF       ; 207
    e64c:       f7 4f           sbci    r31, 0xF7       ; 247
    e64e:       20 81           ld      r18, Z
    e650:       31 81           ldd     r19, Z+1        ; 0x01
    e652:       e0 91 41 05     lds     r30, 0x0541
    e656:       f0 e0           ldi     r31, 0x00       ; 0
    e658:       ee 0f           add     r30, r30
    e65a:       ff 1f           adc     r31, r31
    e65c:       ef 5c           subi    r30, 0xCF       ; 207
    e65e:       f7 4f           sbci    r31, 0xF7       ; 247
    e660:       80 81           ld      r24, Z
    e662:       91 81           ldd     r25, Z+1        ; 0x01
    e664:       3f 93           push    r19
    e666:       2f 93           push    r18
    e668:       81 58           subi    r24, 0x81       ; 129
    e66a:       9f 4f           sbci    r25, 0xFF       ; 255
    e66c:       9f 93           push    r25
    e66e:       8f 93           push    r24
    e670:       8f e5           ldi     r24, 0x5F       ; 95
    e672:       97 e0           ldi     r25, 0x07       ; 7
    e674:       9f 93           push    r25
    e676:       8f 93           push    r24
    e678:       1f 93           push    r17
    e67a:       0f 93           push    r16
    e67c:       e0 91 78 06     lds     r30, 0x0678
    e680:       f0 91 79 06     lds     r31, 0x0679
    e684:       09 95           icall
    e686:       0f b6           in      r0, 0x3f        ; 63
    e688:       f8 94           cli
    e68a:       de bf           out     0x3e, r29       ; 62
    e68c:       0f be           out     0x3f, r0        ; 63
    e68e:       cd bf           out     0x3d, r28       ; 61
    e690:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                         }
                        else
                         {
              HoTT_printfxy(0,6,"P1:%4i P2:%4i 3:%3i",Poti1,Poti2, Poti3);
    e694:       8e e7           ldi     r24, 0x7E       ; 126
    e696:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e69a:       80 91 07 04     lds     r24, 0x0407
    e69e:       1f 92           push    r1
    e6a0:       8f 93           push    r24
    e6a2:       80 91 06 04     lds     r24, 0x0406
    e6a6:       1f 92           push    r1
    e6a8:       8f 93           push    r24
    e6aa:       80 91 05 04     lds     r24, 0x0405
    e6ae:       1f 92           push    r1
    e6b0:       8f 93           push    r24
    e6b2:       8b e4           ldi     r24, 0x4B       ; 75
    e6b4:       97 e0           ldi     r25, 0x07       ; 7
    e6b6:       9f 93           push    r25
    e6b8:       8f 93           push    r24
    e6ba:       0b e0           ldi     r16, 0x0B       ; 11
    e6bc:       15 e1           ldi     r17, 0x15       ; 21
    e6be:       1f 93           push    r17
    e6c0:       0f 93           push    r16
    e6c2:       e0 91 78 06     lds     r30, 0x0678
    e6c6:       f0 91 79 06     lds     r31, 0x0679
    e6ca:       09 95           icall
                      HoTT_printfxy(0,7,"P4:%4i P5:%4i 6:%3i",Poti4,Poti5, Poti6);
    e6cc:       83 e9           ldi     r24, 0x93       ; 147
    e6ce:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e6d2:       80 91 0a 04     lds     r24, 0x040A
    e6d6:       1f 92           push    r1
    e6d8:       8f 93           push    r24
    e6da:       80 91 09 04     lds     r24, 0x0409
    e6de:       1f 92           push    r1
    e6e0:       8f 93           push    r24
    e6e2:       80 91 08 04     lds     r24, 0x0408
    e6e6:       1f 92           push    r1
    e6e8:       8f 93           push    r24
    e6ea:       87 e3           ldi     r24, 0x37       ; 55
    e6ec:       97 e0           ldi     r25, 0x07       ; 7
    e6ee:       9f 93           push    r25
    e6f0:       8f 93           push    r24
    e6f2:       1f 93           push    r17
    e6f4:       0f 93           push    r16
    e6f6:       e0 91 78 06     lds     r30, 0x0678
    e6fa:       f0 91 79 06     lds     r31, 0x0679
    e6fe:       09 95           icall
    e700:       0f b6           in      r0, 0x3f        ; 63
    e702:       f8 94           cli
    e704:       de bf           out     0x3e, r29       ; 62
    e706:       0f be           out     0x3f, r0        ; 63
    e708:       cd bf           out     0x3d, r28       ; 61
    e70a:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                         }
 
                        break;
    case 7: //HoTT_printfxy(0,6,"WARNINGS:");
                        if(HoTTBlink)
    e70e:       80 91 ed 02     lds     r24, 0x02ED
    e712:       88 23           and     r24, r24
    e714:       11 f4           brne    .+4             ; 0xe71a <HoTT_Menu+0x1adc>
    e716:       0c 94 99 7b     jmp     0xf732  ; 0xf732 <HoTT_Menu+0x2af4>
                        {
                         LIBFC_HoTT_SetPos(6 * 21);
    e71a:       8e e7           ldi     r24, 0x7E       ; 126
    e71c:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
                         if(!(Parameter_GlobalConfig & CFG_ACHSENKOPPLUNG_AKTIV)) HoTT_printf_BLINK("COUPLING OFF! ");
    e720:       80 91 5c 06     lds     r24, 0x065C
    e724:       86 fd           sbrc    r24, 6
    e726:       11 c0           rjmp    .+34            ; 0xe74a <HoTT_Menu+0x1b0c>
    e728:       88 e2           ldi     r24, 0x28       ; 40
    e72a:       97 e0           ldi     r25, 0x07       ; 7
    e72c:       9f 93           push    r25
    e72e:       8f 93           push    r24
    e730:       8c e2           ldi     r24, 0x2C       ; 44
    e732:       95 e1           ldi     r25, 0x15       ; 21
    e734:       9f 93           push    r25
    e736:       8f 93           push    r24
    e738:       e0 91 78 06     lds     r30, 0x0678
    e73c:       f0 91 79 06     lds     r31, 0x0679
    e740:       09 95           icall
    e742:       0f 90           pop     r0
    e744:       0f 90           pop     r0
    e746:       0f 90           pop     r0
    e748:       0f 90           pop     r0
                         if(EE_Parameter.BitConfig & (CFG_LOOP_LINKS | CFG_LOOP_RECHTS | CFG_LOOP_UNTEN | CFG_LOOP_OBEN)) HoTT_printf_BLINK("LOOPING! ");
    e74a:       80 91 b6 05     lds     r24, 0x05B6
    e74e:       8f 70           andi    r24, 0x0F       ; 15
    e750:       89 f0           breq    .+34            ; 0xe774 <HoTT_Menu+0x1b36>
    e752:       8e e1           ldi     r24, 0x1E       ; 30
    e754:       97 e0           ldi     r25, 0x07       ; 7
    e756:       9f 93           push    r25
    e758:       8f 93           push    r24
    e75a:       8c e2           ldi     r24, 0x2C       ; 44
    e75c:       95 e1           ldi     r25, 0x15       ; 21
    e75e:       9f 93           push    r25
    e760:       8f 93           push    r24
    e762:       e0 91 78 06     lds     r30, 0x0678
    e766:       f0 91 79 06     lds     r31, 0x0679
    e76a:       09 95           icall
    e76c:       0f 90           pop     r0
    e76e:       0f 90           pop     r0
    e770:       0f 90           pop     r0
    e772:       0f 90           pop     r0
                         if(Parameter_GlobalConfig & CFG_HEADING_HOLD) HoTT_printf_BLINK("HH! ");
    e774:       80 91 5c 06     lds     r24, 0x065C
    e778:       82 ff           sbrs    r24, 2
    e77a:       11 c0           rjmp    .+34            ; 0xe79e <HoTT_Menu+0x1b60>
    e77c:       89 e1           ldi     r24, 0x19       ; 25
    e77e:       97 e0           ldi     r25, 0x07       ; 7
    e780:       9f 93           push    r25
    e782:       8f 93           push    r24
    e784:       8c e2           ldi     r24, 0x2C       ; 44
    e786:       95 e1           ldi     r25, 0x15       ; 21
    e788:       9f 93           push    r25
    e78a:       8f 93           push    r24
    e78c:       e0 91 78 06     lds     r30, 0x0678
    e790:       f0 91 79 06     lds     r31, 0x0679
    e794:       09 95           icall
    e796:       0f 90           pop     r0
    e798:       0f 90           pop     r0
    e79a:       0f 90           pop     r0
    e79c:       0f 90           pop     r0
                         if(!(Parameter_GlobalConfig & CFG_KOMPASS_AKTIV)) HoTT_printf_BLINK("COMPASS OFF! ");
    e79e:       80 91 5c 06     lds     r24, 0x065C
    e7a2:       83 fd           sbrc    r24, 3
    e7a4:       c6 c7           rjmp    .+3980          ; 0xf732 <HoTT_Menu+0x2af4>
    e7a6:       8b e0           ldi     r24, 0x0B       ; 11
    e7a8:       97 e0           ldi     r25, 0x07       ; 7
    e7aa:       9f 93           push    r25
    e7ac:       8f 93           push    r24
    e7ae:       8c e2           ldi     r24, 0x2C       ; 44
    e7b0:       95 e1           ldi     r25, 0x15       ; 21
    e7b2:       9f 93           push    r25
    e7b4:       8f 93           push    r24
    e7b6:       e0 91 78 06     lds     r30, 0x0678
    e7ba:       f0 91 79 06     lds     r31, 0x0679
    e7be:       09 95           icall
    e7c0:       0f 90           pop     r0
    e7c2:       0f 90           pop     r0
    e7c4:       0f 90           pop     r0
    e7c6:       0f 90           pop     r0
    e7c8:       b4 c7           rjmp    .+3944          ; 0xf732 <HoTT_Menu+0x2af4>
    case 12:
    case 13:
    case 14:
    case 15:
    case 16:
                        if(HottKeyboard == HOTT_KEY_SET) { if(show_poti) show_poti = 0; else show_poti = 1;   Hott_ClearLine(6);  Hott_ClearLine(7);}
    e7ca:       80 91 a9 0c     lds     r24, 0x0CA9
    e7ce:       86 30           cpi     r24, 0x06       ; 6
    e7d0:       89 f4           brne    .+34            ; 0xe7f4 <HoTT_Menu+0x1bb6>
    e7d2:       80 91 72 04     lds     r24, 0x0472
    e7d6:       88 23           and     r24, r24
    e7d8:       19 f0           breq    .+6             ; 0xe7e0 <HoTT_Menu+0x1ba2>
    e7da:       10 92 72 04     sts     0x0472, r1
    e7de:       03 c0           rjmp    .+6             ; 0xe7e6 <HoTT_Menu+0x1ba8>
    e7e0:       81 e0           ldi     r24, 0x01       ; 1
    e7e2:       80 93 72 04     sts     0x0472, r24
    e7e6:       86 e0           ldi     r24, 0x06       ; 6
    e7e8:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
    e7ec:       87 e0           ldi     r24, 0x07       ; 7
    e7ee:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
    e7f2:       13 c0           rjmp    .+38            ; 0xe81a <HoTT_Menu+0x1bdc>
                        else
                        if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page = 3; line = 0;}
    e7f4:       88 30           cpi     r24, 0x08       ; 8
    e7f6:       41 f4           brne    .+16            ; 0xe808 <HoTT_Menu+0x1bca>
    e7f8:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
    e7fc:       83 e0           ldi     r24, 0x03       ; 3
    e7fe:       80 93 76 04     sts     0x0476, r24
    e802:       10 92 75 04     sts     0x0475, r1
    e806:       09 c0           rjmp    .+18            ; 0xe81a <HoTT_Menu+0x1bdc>
                        else
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page = 1; line = 0;};
    e808:       81 30           cpi     r24, 0x01       ; 1
    e80a:       39 f4           brne    .+14            ; 0xe81a <HoTT_Menu+0x1bdc>
    e80c:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
    e810:       81 e0           ldi     r24, 0x01       ; 1
    e812:       80 93 76 04     sts     0x0476, r24
    e816:       10 92 75 04     sts     0x0475, r1
                        HottKeyboard = 0;
    e81a:       10 92 a9 0c     sts     0x0CA9, r1
                        break;
    e81e:       89 c7           rjmp    .+3858          ; 0xf732 <HoTT_Menu+0x2af4>
   default:  line = 0;
    e820:       10 92 75 04     sts     0x0475, r1
                        break;
    e824:       86 c7           rjmp    .+3852          ; 0xf732 <HoTT_Menu+0x2af4>
  }
  break;
  case 3:
  switch(line++)
    e826:       80 91 75 04     lds     r24, 0x0475
    e82a:       91 e0           ldi     r25, 0x01       ; 1
    e82c:       98 0f           add     r25, r24
    e82e:       90 93 75 04     sts     0x0475, r25
    e832:       82 30           cpi     r24, 0x02       ; 2
    e834:       09 f4           brne    .+2             ; 0xe838 <HoTT_Menu+0x1bfa>
    e836:       65 c0           rjmp    .+202           ; 0xe902 <HoTT_Menu+0x1cc4>
    e838:       28 f4           brcc    .+10            ; 0xe844 <HoTT_Menu+0x1c06>
    e83a:       88 23           and     r24, r24
    e83c:       39 f0           breq    .+14            ; 0xe84c <HoTT_Menu+0x1c0e>
    e83e:       81 30           cpi     r24, 0x01       ; 1
    e840:       49 f1           breq    .+82            ; 0xe894 <HoTT_Menu+0x1c56>
    e842:       aa c1           rjmp    .+852           ; 0xeb98 <HoTT_Menu+0x1f5a>
    e844:       86 30           cpi     r24, 0x06       ; 6
    e846:       08 f4           brcc    .+2             ; 0xe84a <HoTT_Menu+0x1c0c>
    e848:       98 c0           rjmp    .+304           ; 0xe97a <HoTT_Menu+0x1d3c>
    e84a:       a6 c1           rjmp    .+844           ; 0xeb98 <HoTT_Menu+0x1f5a>
  {
        static unsigned char load_waypoint_tmp2 = 1, changed2;
        case 0:  
                        HoTT_printfxy(0,0,"Load Waypoints"); 
    e84c:       80 e0           ldi     r24, 0x00       ; 0
    e84e:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e852:       8c ef           ldi     r24, 0xFC       ; 252
    e854:       96 e0           ldi     r25, 0x06       ; 6
    e856:       9f 93           push    r25
    e858:       8f 93           push    r24
    e85a:       0b e0           ldi     r16, 0x0B       ; 11
    e85c:       15 e1           ldi     r17, 0x15       ; 21
    e85e:       1f 93           push    r17
    e860:       0f 93           push    r16
    e862:       e0 91 78 06     lds     r30, 0x0678
    e866:       f0 91 79 06     lds     r31, 0x0679
    e86a:       09 95           icall
                        HoTT_printfxy(0,1,"(Relative Positions)"); 
    e86c:       85 e1           ldi     r24, 0x15       ; 21
    e86e:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e872:       87 ee           ldi     r24, 0xE7       ; 231
    e874:       96 e0           ldi     r25, 0x06       ; 6
    e876:       9f 93           push    r25
    e878:       8f 93           push    r24
    e87a:       1f 93           push    r17
    e87c:       0f 93           push    r16
    e87e:       e0 91 78 06     lds     r30, 0x0678
    e882:       f0 91 79 06     lds     r31, 0x0679
    e886:       09 95           icall
//                      HoTT_printfxy(0,1,"(Absolute)"); 
                        break;
    e888:       0f b6           in      r0, 0x3f        ; 63
    e88a:       f8 94           cli
    e88c:       de bf           out     0x3e, r29       ; 62
    e88e:       0f be           out     0x3f, r0        ; 63
    e890:       cd bf           out     0x3d, r28       ; 61
    e892:       4f c7           rjmp    .+3742          ; 0xf732 <HoTT_Menu+0x2af4>
    case 1: 
                        if(NaviData_WaypointNumber)     HoTT_printfxy(0,6,"Active WP:%2d/%d ",NaviData_WaypointIndex,NaviData_WaypointNumber)
    e894:       80 91 8c 04     lds     r24, 0x048C
    e898:       88 23           and     r24, r24
    e89a:       f1 f0           breq    .+60            ; 0xe8d8 <HoTT_Menu+0x1c9a>
    e89c:       8e e7           ldi     r24, 0x7E       ; 126
    e89e:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e8a2:       80 91 8c 04     lds     r24, 0x048C
    e8a6:       1f 92           push    r1
    e8a8:       8f 93           push    r24
    e8aa:       80 91 8d 04     lds     r24, 0x048D
    e8ae:       1f 92           push    r1
    e8b0:       8f 93           push    r24
    e8b2:       85 ed           ldi     r24, 0xD5       ; 213
    e8b4:       96 e0           ldi     r25, 0x06       ; 6
    e8b6:       9f 93           push    r25
    e8b8:       8f 93           push    r24
    e8ba:       8b e0           ldi     r24, 0x0B       ; 11
    e8bc:       95 e1           ldi     r25, 0x15       ; 21
    e8be:       9f 93           push    r25
    e8c0:       8f 93           push    r24
    e8c2:       e0 91 78 06     lds     r30, 0x0678
    e8c6:       f0 91 79 06     lds     r31, 0x0679
    e8ca:       09 95           icall
    e8cc:       0f b6           in      r0, 0x3f        ; 63
    e8ce:       f8 94           cli
    e8d0:       de bf           out     0x3e, r29       ; 62
    e8d2:       0f be           out     0x3f, r0        ; 63
    e8d4:       cd bf           out     0x3d, r28       ; 61
    e8d6:       2d c7           rjmp    .+3674          ; 0xf732 <HoTT_Menu+0x2af4>
                        else HoTT_printfxy(0,6,"No WPs active     ")
    e8d8:       8e e7           ldi     r24, 0x7E       ; 126
    e8da:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e8de:       82 ec           ldi     r24, 0xC2       ; 194
    e8e0:       96 e0           ldi     r25, 0x06       ; 6
    e8e2:       9f 93           push    r25
    e8e4:       8f 93           push    r24
    e8e6:       8b e0           ldi     r24, 0x0B       ; 11
    e8e8:       95 e1           ldi     r25, 0x15       ; 21
    e8ea:       9f 93           push    r25
    e8ec:       8f 93           push    r24
    e8ee:       e0 91 78 06     lds     r30, 0x0678
    e8f2:       f0 91 79 06     lds     r31, 0x0679
    e8f6:       09 95           icall
    e8f8:       0f 90           pop     r0
    e8fa:       0f 90           pop     r0
    e8fc:       0f 90           pop     r0
    e8fe:       0f 90           pop     r0
    e900:       18 c7           rjmp    .+3632          ; 0xf732 <HoTT_Menu+0x2af4>
                        break;
    case 2: 
                         HoTT_printfxy(0,7,"%2i.%1iV ",UBat/10, UBat%10)
    e902:       83 e9           ldi     r24, 0x93       ; 147
    e904:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e908:       80 91 1a 01     lds     r24, 0x011A
    e90c:       90 91 1b 01     lds     r25, 0x011B
    e910:       e0 91 1a 01     lds     r30, 0x011A
    e914:       f0 91 1b 01     lds     r31, 0x011B
    e918:       2a e0           ldi     r18, 0x0A       ; 10
    e91a:       30 e0           ldi     r19, 0x00       ; 0
    e91c:       b9 01           movw    r22, r18
    e91e:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    e922:       9f 93           push    r25
    e924:       8f 93           push    r24
    e926:       cf 01           movw    r24, r30
    e928:       b9 01           movw    r22, r18
    e92a:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    e92e:       7f 93           push    r23
    e930:       6f 93           push    r22
    e932:       88 eb           ldi     r24, 0xB8       ; 184
    e934:       96 e0           ldi     r25, 0x06       ; 6
    e936:       9f 93           push    r25
    e938:       8f 93           push    r24
    e93a:       0b e0           ldi     r16, 0x0B       ; 11
    e93c:       15 e1           ldi     r17, 0x15       ; 21
    e93e:       1f 93           push    r17
    e940:       0f 93           push    r16
    e942:       e0 91 78 06     lds     r30, 0x0678
    e946:       f0 91 79 06     lds     r31, 0x0679
    e94a:       09 95           icall
                         HoTT_printfxy(11,7,"%s",WPL_Name)
    e94c:       8e e9           ldi     r24, 0x9E       ; 158
    e94e:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e952:       82 ed           ldi     r24, 0xD2       ; 210
    e954:       96 e0           ldi     r25, 0x06       ; 6
    e956:       9f 93           push    r25
    e958:       8f 93           push    r24
    e95a:       85 eb           ldi     r24, 0xB5       ; 181
    e95c:       96 e0           ldi     r25, 0x06       ; 6
    e95e:       9f 93           push    r25
    e960:       8f 93           push    r24
    e962:       1f 93           push    r17
    e964:       0f 93           push    r16
    e966:       e0 91 78 06     lds     r30, 0x0678
    e96a:       f0 91 79 06     lds     r31, 0x0679
    e96e:       09 95           icall
    e970:       0f b6           in      r0, 0x3f        ; 63
    e972:       f8 94           cli
    e974:       de bf           out     0x3e, r29       ; 62
    e976:       0f be           out     0x3f, r0        ; 63
    e978:       cd bf           out     0x3d, r28       ; 61
    case 3: 
    case 4: 
    case 5: 
                        if(load_waypoint_tmp2) 
    e97a:       80 91 56 01     lds     r24, 0x0156
    e97e:       88 23           and     r24, r24
    e980:       09 f4           brne    .+2             ; 0xe984 <HoTT_Menu+0x1d46>
    e982:       4c c0           rjmp    .+152           ; 0xea1c <HoTT_Menu+0x1dde>
                         {
                          if(changed2 && HoTTBlink) HoTT_printfxy(10,3,"   ")
    e984:       80 91 71 04     lds     r24, 0x0471
    e988:       88 23           and     r24, r24
    e98a:       c9 f0           breq    .+50            ; 0xe9be <HoTT_Menu+0x1d80>
    e98c:       80 91 ed 02     lds     r24, 0x02ED
    e990:       88 23           and     r24, r24
    e992:       a9 f0           breq    .+42            ; 0xe9be <HoTT_Menu+0x1d80>
    e994:       89 e4           ldi     r24, 0x49       ; 73
    e996:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e99a:       81 eb           ldi     r24, 0xB1       ; 177
    e99c:       96 e0           ldi     r25, 0x06       ; 6
    e99e:       9f 93           push    r25
    e9a0:       8f 93           push    r24
    e9a2:       8b e0           ldi     r24, 0x0B       ; 11
    e9a4:       95 e1           ldi     r25, 0x15       ; 21
    e9a6:       9f 93           push    r25
    e9a8:       8f 93           push    r24
    e9aa:       e0 91 78 06     lds     r30, 0x0678
    e9ae:       f0 91 79 06     lds     r31, 0x0679
    e9b2:       09 95           icall
    e9b4:       0f 90           pop     r0
    e9b6:       0f 90           pop     r0
    e9b8:       0f 90           pop     r0
    e9ba:       0f 90           pop     r0
    e9bc:       1a c0           rjmp    .+52            ; 0xe9f2 <HoTT_Menu+0x1db4>
                          else HoTT_printfxy(10,3,"%2i   ",load_waypoint_tmp2); 
    e9be:       89 e4           ldi     r24, 0x49       ; 73
    e9c0:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e9c4:       80 91 56 01     lds     r24, 0x0156
    e9c8:       1f 92           push    r1
    e9ca:       8f 93           push    r24
    e9cc:       8a ea           ldi     r24, 0xAA       ; 170
    e9ce:       96 e0           ldi     r25, 0x06       ; 6
    e9d0:       9f 93           push    r25
    e9d2:       8f 93           push    r24
    e9d4:       8b e0           ldi     r24, 0x0B       ; 11
    e9d6:       95 e1           ldi     r25, 0x15       ; 21
    e9d8:       9f 93           push    r25
    e9da:       8f 93           push    r24
    e9dc:       e0 91 78 06     lds     r30, 0x0678
    e9e0:       f0 91 79 06     lds     r31, 0x0679
    e9e4:       09 95           icall
    e9e6:       0f 90           pop     r0
    e9e8:       0f 90           pop     r0
    e9ea:       0f 90           pop     r0
    e9ec:       0f 90           pop     r0
    e9ee:       0f 90           pop     r0
    e9f0:       0f 90           pop     r0
                          HoTT_printfxy(0,3,"Load list:")
    e9f2:       8f e3           ldi     r24, 0x3F       ; 63
    e9f4:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    e9f8:       8f e9           ldi     r24, 0x9F       ; 159
    e9fa:       96 e0           ldi     r25, 0x06       ; 6
    e9fc:       9f 93           push    r25
    e9fe:       8f 93           push    r24
    ea00:       8b e0           ldi     r24, 0x0B       ; 11
    ea02:       95 e1           ldi     r25, 0x15       ; 21
    ea04:       9f 93           push    r25
    ea06:       8f 93           push    r24
    ea08:       e0 91 78 06     lds     r30, 0x0678
    ea0c:       f0 91 79 06     lds     r31, 0x0679
    ea10:       09 95           icall
    ea12:       0f 90           pop     r0
    ea14:       0f 90           pop     r0
    ea16:       0f 90           pop     r0
    ea18:       0f 90           pop     r0
    ea1a:       14 c0           rjmp    .+40            ; 0xea44 <HoTT_Menu+0x1e06>
                         } 
                        else 
                         { 
                          HoTT_printfxy(0,3,"Load list: -- ");
    ea1c:       8f e3           ldi     r24, 0x3F       ; 63
    ea1e:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ea22:       80 e9           ldi     r24, 0x90       ; 144
    ea24:       96 e0           ldi     r25, 0x06       ; 6
    ea26:       9f 93           push    r25
    ea28:       8f 93           push    r24
    ea2a:       8b e0           ldi     r24, 0x0B       ; 11
    ea2c:       95 e1           ldi     r25, 0x15       ; 21
    ea2e:       9f 93           push    r25
    ea30:       8f 93           push    r24
    ea32:       e0 91 78 06     lds     r30, 0x0678
    ea36:       f0 91 79 06     lds     r31, 0x0679
    ea3a:       09 95           icall
    ea3c:       0f 90           pop     r0
    ea3e:       0f 90           pop     r0
    ea40:       0f 90           pop     r0
    ea42:       0f 90           pop     r0
                         } 
                         if(NaviData_MaxWpListIndex == 0) HoTT_printfxy(0,4,"No SD-Card   ") 
    ea44:       80 91 89 04     lds     r24, 0x0489
    ea48:       81 11           cpse    r24, r1
    ea4a:       15 c0           rjmp    .+42            ; 0xea76 <HoTT_Menu+0x1e38>
    ea4c:       84 e5           ldi     r24, 0x54       ; 84
    ea4e:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ea52:       82 e8           ldi     r24, 0x82       ; 130
    ea54:       96 e0           ldi     r25, 0x06       ; 6
    ea56:       9f 93           push    r25
    ea58:       8f 93           push    r24
    ea5a:       8b e0           ldi     r24, 0x0B       ; 11
    ea5c:       95 e1           ldi     r25, 0x15       ; 21
    ea5e:       9f 93           push    r25
    ea60:       8f 93           push    r24
    ea62:       e0 91 78 06     lds     r30, 0x0678
    ea66:       f0 91 79 06     lds     r31, 0x0679
    ea6a:       09 95           icall
    ea6c:       0f 90           pop     r0
    ea6e:       0f 90           pop     r0
    ea70:       0f 90           pop     r0
    ea72:       0f 90           pop     r0
    ea74:       58 c0           rjmp    .+176           ; 0xeb26 <HoTT_Menu+0x1ee8>
                         else
                         {
                          if(GPSInfo.SatFix == SATFIX_3D) 
    ea76:       80 91 d9 08     lds     r24, 0x08D9
    ea7a:       83 30           cpi     r24, 0x03       ; 3
    ea7c:       09 f0           breq    .+2             ; 0xea80 <HoTT_Menu+0x1e42>
    ea7e:       3f c0           rjmp    .+126           ; 0xeafe <HoTT_Menu+0x1ec0>
                           {
                            if(changed2 && load_waypoint_tmp2) HoTT_printfxy(0,4,"(Set -> Load)") 
    ea80:       80 91 71 04     lds     r24, 0x0471
    ea84:       88 23           and     r24, r24
    ea86:       c9 f0           breq    .+50            ; 0xeaba <HoTT_Menu+0x1e7c>
    ea88:       80 91 56 01     lds     r24, 0x0156
    ea8c:       88 23           and     r24, r24
    ea8e:       a9 f0           breq    .+42            ; 0xeaba <HoTT_Menu+0x1e7c>
    ea90:       84 e5           ldi     r24, 0x54       ; 84
    ea92:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ea96:       84 e7           ldi     r24, 0x74       ; 116
    ea98:       96 e0           ldi     r25, 0x06       ; 6
    ea9a:       9f 93           push    r25
    ea9c:       8f 93           push    r24
    ea9e:       8b e0           ldi     r24, 0x0B       ; 11
    eaa0:       95 e1           ldi     r25, 0x15       ; 21
    eaa2:       9f 93           push    r25
    eaa4:       8f 93           push    r24
    eaa6:       e0 91 78 06     lds     r30, 0x0678
    eaaa:       f0 91 79 06     lds     r31, 0x0679
    eaae:       09 95           icall
    eab0:       0f 90           pop     r0
    eab2:       0f 90           pop     r0
    eab4:       0f 90           pop     r0
    eab6:       0f 90           pop     r0
    eab8:       14 c0           rjmp    .+40            ; 0xeae2 <HoTT_Menu+0x1ea4>
                            else HoTT_printfxy(0,4,"             "); 
    eaba:       84 e5           ldi     r24, 0x54       ; 84
    eabc:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    eac0:       86 e6           ldi     r24, 0x66       ; 102
    eac2:       96 e0           ldi     r25, 0x06       ; 6
    eac4:       9f 93           push    r25
    eac6:       8f 93           push    r24
    eac8:       8b e0           ldi     r24, 0x0B       ; 11
    eaca:       95 e1           ldi     r25, 0x15       ; 21
    eacc:       9f 93           push    r25
    eace:       8f 93           push    r24
    ead0:       e0 91 78 06     lds     r30, 0x0678
    ead4:       f0 91 79 06     lds     r31, 0x0679
    ead8:       09 95           icall
    eada:       0f 90           pop     r0
    eadc:       0f 90           pop     r0
    eade:       0f 90           pop     r0
    eae0:       0f 90           pop     r0
                                if(HottKeyboard == HOTT_KEY_SET) { if(load_waypoint_tmp2) ToNC_Load_WP_List = load_waypoint_tmp2 | 128; changed2 = 0;}
    eae2:       80 91 a9 0c     lds     r24, 0x0CA9
    eae6:       86 30           cpi     r24, 0x06       ; 6
    eae8:       f1 f4           brne    .+60            ; 0xeb26 <HoTT_Menu+0x1ee8>
    eaea:       80 91 56 01     lds     r24, 0x0156
    eaee:       88 23           and     r24, r24
    eaf0:       19 f0           breq    .+6             ; 0xeaf8 <HoTT_Menu+0x1eba>
    eaf2:       80 68           ori     r24, 0x80       ; 128
    eaf4:       80 93 8a 04     sts     0x048A, r24
    eaf8:       10 92 71 04     sts     0x0471, r1
    eafc:       14 c0           rjmp    .+40            ; 0xeb26 <HoTT_Menu+0x1ee8>
                           } else HoTT_printfxy(0,4,"!No GPS-Fix! "); 
    eafe:       84 e5           ldi     r24, 0x54       ; 84
    eb00:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    eb04:       88 e5           ldi     r24, 0x58       ; 88
    eb06:       96 e0           ldi     r25, 0x06       ; 6
    eb08:       9f 93           push    r25
    eb0a:       8f 93           push    r24
    eb0c:       8b e0           ldi     r24, 0x0B       ; 11
    eb0e:       95 e1           ldi     r25, 0x15       ; 21
    eb10:       9f 93           push    r25
    eb12:       8f 93           push    r24
    eb14:       e0 91 78 06     lds     r30, 0x0678
    eb18:       f0 91 79 06     lds     r31, 0x0679
    eb1c:       09 95           icall
    eb1e:       0f 90           pop     r0
    eb20:       0f 90           pop     r0
    eb22:       0f 90           pop     r0
    eb24:       0f 90           pop     r0
                         } 
                        if(HottKeyboard == HOTT_KEY_UP && load_waypoint_tmp2 < NaviData_MaxWpListIndex) { changed2 = 1; load_waypoint_tmp2++;HoTTBlink = 0;}
    eb26:       80 91 a9 0c     lds     r24, 0x0CA9
    eb2a:       84 30           cpi     r24, 0x04       ; 4
    eb2c:       79 f4           brne    .+30            ; 0xeb4c <HoTT_Menu+0x1f0e>
    eb2e:       80 91 56 01     lds     r24, 0x0156
    eb32:       90 91 89 04     lds     r25, 0x0489
    eb36:       89 17           cp      r24, r25
    eb38:       08 f5           brcc    .+66            ; 0xeb7c <HoTT_Menu+0x1f3e>
    eb3a:       91 e0           ldi     r25, 0x01       ; 1
    eb3c:       90 93 71 04     sts     0x0471, r25
    eb40:       8f 5f           subi    r24, 0xFF       ; 255
    eb42:       80 93 56 01     sts     0x0156, r24
    eb46:       10 92 ed 02     sts     0x02ED, r1
    eb4a:       18 c0           rjmp    .+48            ; 0xeb7c <HoTT_Menu+0x1f3e>
                        if(HottKeyboard == HOTT_KEY_DOWN && load_waypoint_tmp2 > 1) { changed2 = 1; load_waypoint_tmp2--;HoTTBlink = 0;};
    eb4c:       82 30           cpi     r24, 0x02       ; 2
    eb4e:       69 f4           brne    .+26            ; 0xeb6a <HoTT_Menu+0x1f2c>
    eb50:       80 91 56 01     lds     r24, 0x0156
    eb54:       82 30           cpi     r24, 0x02       ; 2
    eb56:       90 f0           brcs    .+36            ; 0xeb7c <HoTT_Menu+0x1f3e>
    eb58:       91 e0           ldi     r25, 0x01       ; 1
    eb5a:       90 93 71 04     sts     0x0471, r25
    eb5e:       81 50           subi    r24, 0x01       ; 1
    eb60:       80 93 56 01     sts     0x0156, r24
    eb64:       10 92 ed 02     sts     0x02ED, r1
    eb68:       09 c0           rjmp    .+18            ; 0xeb7c <HoTT_Menu+0x1f3e>
                        if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page = 4; line = 0;}
    eb6a:       88 30           cpi     r24, 0x08       ; 8
    eb6c:       39 f4           brne    .+14            ; 0xeb7c <HoTT_Menu+0x1f3e>
    eb6e:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
    eb72:       84 e0           ldi     r24, 0x04       ; 4
    eb74:       80 93 76 04     sts     0x0476, r24
    eb78:       10 92 75 04     sts     0x0475, r1
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page = 2; line = 0;};
    eb7c:       80 91 a9 0c     lds     r24, 0x0CA9
    eb80:       81 30           cpi     r24, 0x01       ; 1
    eb82:       39 f4           brne    .+14            ; 0xeb92 <HoTT_Menu+0x1f54>
    eb84:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
    eb88:       82 e0           ldi     r24, 0x02       ; 2
    eb8a:       80 93 76 04     sts     0x0476, r24
    eb8e:       10 92 75 04     sts     0x0475, r1
                        HottKeyboard = 0;
    eb92:       10 92 a9 0c     sts     0x0CA9, r1
                        break;
    eb96:       cd c5           rjmp    .+2970          ; 0xf732 <HoTT_Menu+0x2af4>
   default:  line = 0;
    eb98:       10 92 75 04     sts     0x0475, r1
                        break;
    eb9c:       ca c5           rjmp    .+2964          ; 0xf732 <HoTT_Menu+0x2af4>
  }
  break;
  case 4:
  switch(line++)
    eb9e:       80 91 75 04     lds     r24, 0x0475
    eba2:       91 e0           ldi     r25, 0x01       ; 1
    eba4:       98 0f           add     r25, r24
    eba6:       90 93 75 04     sts     0x0475, r25
    ebaa:       82 30           cpi     r24, 0x02       ; 2
    ebac:       09 f4           brne    .+2             ; 0xebb0 <HoTT_Menu+0x1f72>
    ebae:       65 c0           rjmp    .+202           ; 0xec7a <HoTT_Menu+0x203c>
    ebb0:       28 f4           brcc    .+10            ; 0xebbc <HoTT_Menu+0x1f7e>
    ebb2:       88 23           and     r24, r24
    ebb4:       39 f0           breq    .+14            ; 0xebc4 <HoTT_Menu+0x1f86>
    ebb6:       81 30           cpi     r24, 0x01       ; 1
    ebb8:       49 f1           breq    .+82            ; 0xec0c <HoTT_Menu+0x1fce>
    ebba:       90 c1           rjmp    .+800           ; 0xeedc <HoTT_Menu+0x229e>
    ebbc:       86 30           cpi     r24, 0x06       ; 6
    ebbe:       08 f4           brcc    .+2             ; 0xebc2 <HoTT_Menu+0x1f84>
    ebc0:       98 c0           rjmp    .+304           ; 0xecf2 <HoTT_Menu+0x20b4>
    ebc2:       8c c1           rjmp    .+792           ; 0xeedc <HoTT_Menu+0x229e>
  {
        static unsigned char load_waypoint_tmp = 1, changed;
        case 0:  
                        HoTT_printfxy(0,0,"Load Waypoints"); 
    ebc4:       80 e0           ldi     r24, 0x00       ; 0
    ebc6:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ebca:       89 e4           ldi     r24, 0x49       ; 73
    ebcc:       96 e0           ldi     r25, 0x06       ; 6
    ebce:       9f 93           push    r25
    ebd0:       8f 93           push    r24
    ebd2:       0b e0           ldi     r16, 0x0B       ; 11
    ebd4:       15 e1           ldi     r17, 0x15       ; 21
    ebd6:       1f 93           push    r17
    ebd8:       0f 93           push    r16
    ebda:       e0 91 78 06     lds     r30, 0x0678
    ebde:       f0 91 79 06     lds     r31, 0x0679
    ebe2:       09 95           icall
                        HoTT_printfxy(0,1,"(Fixed Positions)"); 
    ebe4:       85 e1           ldi     r24, 0x15       ; 21
    ebe6:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ebea:       87 e3           ldi     r24, 0x37       ; 55
    ebec:       96 e0           ldi     r25, 0x06       ; 6
    ebee:       9f 93           push    r25
    ebf0:       8f 93           push    r24
    ebf2:       1f 93           push    r17
    ebf4:       0f 93           push    r16
    ebf6:       e0 91 78 06     lds     r30, 0x0678
    ebfa:       f0 91 79 06     lds     r31, 0x0679
    ebfe:       09 95           icall
                        break;
    ec00:       0f b6           in      r0, 0x3f        ; 63
    ec02:       f8 94           cli
    ec04:       de bf           out     0x3e, r29       ; 62
    ec06:       0f be           out     0x3f, r0        ; 63
    ec08:       cd bf           out     0x3d, r28       ; 61
    ec0a:       93 c5           rjmp    .+2854          ; 0xf732 <HoTT_Menu+0x2af4>
    case 1: 
                        if(NaviData_WaypointNumber)     HoTT_printfxy(0,6,"Active WP:%2d/%d ",NaviData_WaypointIndex,NaviData_WaypointNumber)
    ec0c:       80 91 8c 04     lds     r24, 0x048C
    ec10:       88 23           and     r24, r24
    ec12:       f1 f0           breq    .+60            ; 0xec50 <HoTT_Menu+0x2012>
    ec14:       8e e7           ldi     r24, 0x7E       ; 126
    ec16:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ec1a:       80 91 8c 04     lds     r24, 0x048C
    ec1e:       1f 92           push    r1
    ec20:       8f 93           push    r24
    ec22:       80 91 8d 04     lds     r24, 0x048D
    ec26:       1f 92           push    r1
    ec28:       8f 93           push    r24
    ec2a:       85 e2           ldi     r24, 0x25       ; 37
    ec2c:       96 e0           ldi     r25, 0x06       ; 6
    ec2e:       9f 93           push    r25
    ec30:       8f 93           push    r24
    ec32:       8b e0           ldi     r24, 0x0B       ; 11
    ec34:       95 e1           ldi     r25, 0x15       ; 21
    ec36:       9f 93           push    r25
    ec38:       8f 93           push    r24
    ec3a:       e0 91 78 06     lds     r30, 0x0678
    ec3e:       f0 91 79 06     lds     r31, 0x0679
    ec42:       09 95           icall
    ec44:       0f b6           in      r0, 0x3f        ; 63
    ec46:       f8 94           cli
    ec48:       de bf           out     0x3e, r29       ; 62
    ec4a:       0f be           out     0x3f, r0        ; 63
    ec4c:       cd bf           out     0x3d, r28       ; 61
    ec4e:       71 c5           rjmp    .+2786          ; 0xf732 <HoTT_Menu+0x2af4>
                        else HoTT_printfxy(0,6,"No WPs active    ")
    ec50:       8e e7           ldi     r24, 0x7E       ; 126
    ec52:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ec56:       83 e1           ldi     r24, 0x13       ; 19
    ec58:       96 e0           ldi     r25, 0x06       ; 6
    ec5a:       9f 93           push    r25
    ec5c:       8f 93           push    r24
    ec5e:       8b e0           ldi     r24, 0x0B       ; 11
    ec60:       95 e1           ldi     r25, 0x15       ; 21
    ec62:       9f 93           push    r25
    ec64:       8f 93           push    r24
    ec66:       e0 91 78 06     lds     r30, 0x0678
    ec6a:       f0 91 79 06     lds     r31, 0x0679
    ec6e:       09 95           icall
    ec70:       0f 90           pop     r0
    ec72:       0f 90           pop     r0
    ec74:       0f 90           pop     r0
    ec76:       0f 90           pop     r0
    ec78:       5c c5           rjmp    .+2744          ; 0xf732 <HoTT_Menu+0x2af4>
                        break;
    case 2: 
                         HoTT_printfxy(0,7,"%2i.%1iV ",UBat/10, UBat%10)
    ec7a:       83 e9           ldi     r24, 0x93       ; 147
    ec7c:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ec80:       80 91 1a 01     lds     r24, 0x011A
    ec84:       90 91 1b 01     lds     r25, 0x011B
    ec88:       e0 91 1a 01     lds     r30, 0x011A
    ec8c:       f0 91 1b 01     lds     r31, 0x011B
    ec90:       2a e0           ldi     r18, 0x0A       ; 10
    ec92:       30 e0           ldi     r19, 0x00       ; 0
    ec94:       b9 01           movw    r22, r18
    ec96:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    ec9a:       9f 93           push    r25
    ec9c:       8f 93           push    r24
    ec9e:       cf 01           movw    r24, r30
    eca0:       b9 01           movw    r22, r18
    eca2:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    eca6:       7f 93           push    r23
    eca8:       6f 93           push    r22
    ecaa:       89 e0           ldi     r24, 0x09       ; 9
    ecac:       96 e0           ldi     r25, 0x06       ; 6
    ecae:       9f 93           push    r25
    ecb0:       8f 93           push    r24
    ecb2:       0b e0           ldi     r16, 0x0B       ; 11
    ecb4:       15 e1           ldi     r17, 0x15       ; 21
    ecb6:       1f 93           push    r17
    ecb8:       0f 93           push    r16
    ecba:       e0 91 78 06     lds     r30, 0x0678
    ecbe:       f0 91 79 06     lds     r31, 0x0679
    ecc2:       09 95           icall
                         HoTT_printfxy(11,7,"%s",WPL_Name)
    ecc4:       8e e9           ldi     r24, 0x9E       ; 158
    ecc6:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ecca:       82 ed           ldi     r24, 0xD2       ; 210
    eccc:       96 e0           ldi     r25, 0x06       ; 6
    ecce:       9f 93           push    r25
    ecd0:       8f 93           push    r24
    ecd2:       86 e0           ldi     r24, 0x06       ; 6
    ecd4:       96 e0           ldi     r25, 0x06       ; 6
    ecd6:       9f 93           push    r25
    ecd8:       8f 93           push    r24
    ecda:       1f 93           push    r17
    ecdc:       0f 93           push    r16
    ecde:       e0 91 78 06     lds     r30, 0x0678
    ece2:       f0 91 79 06     lds     r31, 0x0679
    ece6:       09 95           icall
    ece8:       0f b6           in      r0, 0x3f        ; 63
    ecea:       f8 94           cli
    ecec:       de bf           out     0x3e, r29       ; 62
    ecee:       0f be           out     0x3f, r0        ; 63
    ecf0:       cd bf           out     0x3d, r28       ; 61
    case 3: 
    case 4: 
    case 5: 
                        HoTT_printfxy(0,3,"Load list:")
    ecf2:       8f e3           ldi     r24, 0x3F       ; 63
    ecf4:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ecf8:       8b ef           ldi     r24, 0xFB       ; 251
    ecfa:       95 e0           ldi     r25, 0x05       ; 5
    ecfc:       9f 93           push    r25
    ecfe:       8f 93           push    r24
    ed00:       8b e0           ldi     r24, 0x0B       ; 11
    ed02:       95 e1           ldi     r25, 0x15       ; 21
    ed04:       9f 93           push    r25
    ed06:       8f 93           push    r24
    ed08:       e0 91 78 06     lds     r30, 0x0678
    ed0c:       f0 91 79 06     lds     r31, 0x0679
    ed10:       09 95           icall
                        if(load_waypoint_tmp) 
    ed12:       0f 90           pop     r0
    ed14:       0f 90           pop     r0
    ed16:       0f 90           pop     r0
    ed18:       0f 90           pop     r0
    ed1a:       80 91 55 01     lds     r24, 0x0155
    ed1e:       88 23           and     r24, r24
    ed20:       c1 f1           breq    .+112           ; 0xed92 <HoTT_Menu+0x2154>
                         {
                          if(changed && HoTTBlink) HoTT_printfxy(10,3,"   ")
    ed22:       80 91 70 04     lds     r24, 0x0470
    ed26:       88 23           and     r24, r24
    ed28:       c9 f0           breq    .+50            ; 0xed5c <HoTT_Menu+0x211e>
    ed2a:       80 91 ed 02     lds     r24, 0x02ED
    ed2e:       88 23           and     r24, r24
    ed30:       a9 f0           breq    .+42            ; 0xed5c <HoTT_Menu+0x211e>
    ed32:       89 e4           ldi     r24, 0x49       ; 73
    ed34:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ed38:       87 ef           ldi     r24, 0xF7       ; 247
    ed3a:       95 e0           ldi     r25, 0x05       ; 5
    ed3c:       9f 93           push    r25
    ed3e:       8f 93           push    r24
    ed40:       8b e0           ldi     r24, 0x0B       ; 11
    ed42:       95 e1           ldi     r25, 0x15       ; 21
    ed44:       9f 93           push    r25
    ed46:       8f 93           push    r24
    ed48:       e0 91 78 06     lds     r30, 0x0678
    ed4c:       f0 91 79 06     lds     r31, 0x0679
    ed50:       09 95           icall
    ed52:       0f 90           pop     r0
    ed54:       0f 90           pop     r0
    ed56:       0f 90           pop     r0
    ed58:       0f 90           pop     r0
    ed5a:       2f c0           rjmp    .+94            ; 0xedba <HoTT_Menu+0x217c>
                          else HoTT_printfxy(10,3,"%2d (FIX)",load_waypoint_tmp);
    ed5c:       89 e4           ldi     r24, 0x49       ; 73
    ed5e:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ed62:       80 91 55 01     lds     r24, 0x0155
    ed66:       1f 92           push    r1
    ed68:       8f 93           push    r24
    ed6a:       8d ee           ldi     r24, 0xED       ; 237
    ed6c:       95 e0           ldi     r25, 0x05       ; 5
    ed6e:       9f 93           push    r25
    ed70:       8f 93           push    r24
    ed72:       8b e0           ldi     r24, 0x0B       ; 11
    ed74:       95 e1           ldi     r25, 0x15       ; 21
    ed76:       9f 93           push    r25
    ed78:       8f 93           push    r24
    ed7a:       e0 91 78 06     lds     r30, 0x0678
    ed7e:       f0 91 79 06     lds     r31, 0x0679
    ed82:       09 95           icall
    ed84:       0f 90           pop     r0
    ed86:       0f 90           pop     r0
    ed88:       0f 90           pop     r0
    ed8a:       0f 90           pop     r0
    ed8c:       0f 90           pop     r0
    ed8e:       0f 90           pop     r0
    ed90:       14 c0           rjmp    .+40            ; 0xedba <HoTT_Menu+0x217c>
                         } 
                        else 
                         { 
                          HoTT_printfxy(10,3," --")
    ed92:       89 e4           ldi     r24, 0x49       ; 73
    ed94:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ed98:       89 ee           ldi     r24, 0xE9       ; 233
    ed9a:       95 e0           ldi     r25, 0x05       ; 5
    ed9c:       9f 93           push    r25
    ed9e:       8f 93           push    r24
    eda0:       8b e0           ldi     r24, 0x0B       ; 11
    eda2:       95 e1           ldi     r25, 0x15       ; 21
    eda4:       9f 93           push    r25
    eda6:       8f 93           push    r24
    eda8:       e0 91 78 06     lds     r30, 0x0678
    edac:       f0 91 79 06     lds     r31, 0x0679
    edb0:       09 95           icall
    edb2:       0f 90           pop     r0
    edb4:       0f 90           pop     r0
    edb6:       0f 90           pop     r0
    edb8:       0f 90           pop     r0
                         } 
                        
                         if(NaviData_MaxWpListIndex == 0) HoTT_printfxy(0,4,"No SD-Card   ") 
    edba:       80 91 89 04     lds     r24, 0x0489
    edbe:       81 11           cpse    r24, r1
    edc0:       15 c0           rjmp    .+42            ; 0xedec <HoTT_Menu+0x21ae>
    edc2:       84 e5           ldi     r24, 0x54       ; 84
    edc4:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    edc8:       8b ed           ldi     r24, 0xDB       ; 219
    edca:       95 e0           ldi     r25, 0x05       ; 5
    edcc:       9f 93           push    r25
    edce:       8f 93           push    r24
    edd0:       8b e0           ldi     r24, 0x0B       ; 11
    edd2:       95 e1           ldi     r25, 0x15       ; 21
    edd4:       9f 93           push    r25
    edd6:       8f 93           push    r24
    edd8:       e0 91 78 06     lds     r30, 0x0678
    eddc:       f0 91 79 06     lds     r31, 0x0679
    ede0:       09 95           icall
    ede2:       0f 90           pop     r0
    ede4:       0f 90           pop     r0
    ede6:       0f 90           pop     r0
    ede8:       0f 90           pop     r0
    edea:       31 c0           rjmp    .+98            ; 0xee4e <HoTT_Menu+0x2210>
                         else
                         {
                            if(changed && load_waypoint_tmp) HoTT_printfxy(0,4,"(Set -> Load)") 
    edec:       80 91 70 04     lds     r24, 0x0470
    edf0:       88 23           and     r24, r24
    edf2:       c9 f0           breq    .+50            ; 0xee26 <HoTT_Menu+0x21e8>
    edf4:       80 91 55 01     lds     r24, 0x0155
    edf8:       88 23           and     r24, r24
    edfa:       a9 f0           breq    .+42            ; 0xee26 <HoTT_Menu+0x21e8>
    edfc:       84 e5           ldi     r24, 0x54       ; 84
    edfe:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ee02:       8d ec           ldi     r24, 0xCD       ; 205
    ee04:       95 e0           ldi     r25, 0x05       ; 5
    ee06:       9f 93           push    r25
    ee08:       8f 93           push    r24
    ee0a:       8b e0           ldi     r24, 0x0B       ; 11
    ee0c:       95 e1           ldi     r25, 0x15       ; 21
    ee0e:       9f 93           push    r25
    ee10:       8f 93           push    r24
    ee12:       e0 91 78 06     lds     r30, 0x0678
    ee16:       f0 91 79 06     lds     r31, 0x0679
    ee1a:       09 95           icall
    ee1c:       0f 90           pop     r0
    ee1e:       0f 90           pop     r0
    ee20:       0f 90           pop     r0
    ee22:       0f 90           pop     r0
    ee24:       14 c0           rjmp    .+40            ; 0xee4e <HoTT_Menu+0x2210>
                            else HoTT_printfxy(0,4,"             "); 
    ee26:       84 e5           ldi     r24, 0x54       ; 84
    ee28:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ee2c:       8f eb           ldi     r24, 0xBF       ; 191
    ee2e:       95 e0           ldi     r25, 0x05       ; 5
    ee30:       9f 93           push    r25
    ee32:       8f 93           push    r24
    ee34:       8b e0           ldi     r24, 0x0B       ; 11
    ee36:       95 e1           ldi     r25, 0x15       ; 21
    ee38:       9f 93           push    r25
    ee3a:       8f 93           push    r24
    ee3c:       e0 91 78 06     lds     r30, 0x0678
    ee40:       f0 91 79 06     lds     r31, 0x0679
    ee44:       09 95           icall
    ee46:       0f 90           pop     r0
    ee48:       0f 90           pop     r0
    ee4a:       0f 90           pop     r0
    ee4c:       0f 90           pop     r0
                         } 
                        if(HottKeyboard == HOTT_KEY_UP && load_waypoint_tmp < NaviData_MaxWpListIndex) { changed = 1; load_waypoint_tmp++; HoTTBlink = 0;}
    ee4e:       80 91 a9 0c     lds     r24, 0x0CA9
    ee52:       84 30           cpi     r24, 0x04       ; 4
    ee54:       79 f4           brne    .+30            ; 0xee74 <HoTT_Menu+0x2236>
    ee56:       90 91 55 01     lds     r25, 0x0155
    ee5a:       20 91 89 04     lds     r18, 0x0489
    ee5e:       92 17           cp      r25, r18
    ee60:       10 f5           brcc    .+68            ; 0xeea6 <HoTT_Menu+0x2268>
    ee62:       21 e0           ldi     r18, 0x01       ; 1
    ee64:       20 93 70 04     sts     0x0470, r18
    ee68:       9f 5f           subi    r25, 0xFF       ; 255
    ee6a:       90 93 55 01     sts     0x0155, r25
    ee6e:       10 92 ed 02     sts     0x02ED, r1
    ee72:       19 c0           rjmp    .+50            ; 0xeea6 <HoTT_Menu+0x2268>
                        if(HottKeyboard == HOTT_KEY_DOWN && load_waypoint_tmp > 1) { changed = 1; load_waypoint_tmp--; HoTTBlink = 0;};
    ee74:       82 30           cpi     r24, 0x02       ; 2
    ee76:       69 f4           brne    .+26            ; 0xee92 <HoTT_Menu+0x2254>
    ee78:       80 91 55 01     lds     r24, 0x0155
    ee7c:       82 30           cpi     r24, 0x02       ; 2
    ee7e:       f0 f0           brcs    .+60            ; 0xeebc <HoTT_Menu+0x227e>
    ee80:       91 e0           ldi     r25, 0x01       ; 1
    ee82:       90 93 70 04     sts     0x0470, r25
    ee86:       81 50           subi    r24, 0x01       ; 1
    ee88:       80 93 55 01     sts     0x0155, r24
    ee8c:       10 92 ed 02     sts     0x02ED, r1
    ee90:       15 c0           rjmp    .+42            ; 0xeebc <HoTT_Menu+0x227e>
                        if(HottKeyboard == HOTT_KEY_SET) { if(load_waypoint_tmp) ToNC_Load_WP_List = load_waypoint_tmp; changed = 0;}
    ee92:       86 30           cpi     r24, 0x06       ; 6
    ee94:       41 f4           brne    .+16            ; 0xeea6 <HoTT_Menu+0x2268>
    ee96:       80 91 55 01     lds     r24, 0x0155
    ee9a:       81 11           cpse    r24, r1
    ee9c:       80 93 8a 04     sts     0x048A, r24
    eea0:       10 92 70 04     sts     0x0470, r1
    eea4:       0b c0           rjmp    .+22            ; 0xeebc <HoTT_Menu+0x227e>
                        if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page++; line = 0;}
    eea6:       88 30           cpi     r24, 0x08       ; 8
    eea8:       49 f4           brne    .+18            ; 0xeebc <HoTT_Menu+0x227e>
    eeaa:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
    eeae:       80 91 76 04     lds     r24, 0x0476
    eeb2:       8f 5f           subi    r24, 0xFF       ; 255
    eeb4:       80 93 76 04     sts     0x0476, r24
    eeb8:       10 92 75 04     sts     0x0475, r1
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page--; line = 0;};
    eebc:       80 91 a9 0c     lds     r24, 0x0CA9
    eec0:       81 30           cpi     r24, 0x01       ; 1
    eec2:       49 f4           brne    .+18            ; 0xeed6 <HoTT_Menu+0x2298>
    eec4:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
    eec8:       80 91 76 04     lds     r24, 0x0476
    eecc:       81 50           subi    r24, 0x01       ; 1
    eece:       80 93 76 04     sts     0x0476, r24
    eed2:       10 92 75 04     sts     0x0475, r1
                        HottKeyboard = 0;
    eed6:       10 92 a9 0c     sts     0x0CA9, r1
                        break;
    eeda:       2b c4           rjmp    .+2134          ; 0xf732 <HoTT_Menu+0x2af4>
   default:  line = 0;
    eedc:       10 92 75 04     sts     0x0475, r1
                        break;
    eee0:       28 c4           rjmp    .+2128          ; 0xf732 <HoTT_Menu+0x2af4>
  }
  break;
  case 5:
  switch(line++)
    eee2:       80 91 75 04     lds     r24, 0x0475
    eee6:       91 e0           ldi     r25, 0x01       ; 1
    eee8:       98 0f           add     r25, r24
    eeea:       90 93 75 04     sts     0x0475, r25
    eeee:       82 30           cpi     r24, 0x02       ; 2
    eef0:       09 f4           brne    .+2             ; 0xeef4 <HoTT_Menu+0x22b6>
    eef2:       81 c0           rjmp    .+258           ; 0xeff6 <HoTT_Menu+0x23b8>
    eef4:       28 f4           brcc    .+10            ; 0xef00 <HoTT_Menu+0x22c2>
    eef6:       88 23           and     r24, r24
    eef8:       39 f0           breq    .+14            ; 0xef08 <HoTT_Menu+0x22ca>
    eefa:       81 30           cpi     r24, 0x01       ; 1
    eefc:       d1 f0           breq    .+52            ; 0xef32 <HoTT_Menu+0x22f4>
    eefe:       c9 c1           rjmp    .+914           ; 0xf292 <HoTT_Menu+0x2654>
    ef00:       86 30           cpi     r24, 0x06       ; 6
    ef02:       08 f4           brcc    .+2             ; 0xef06 <HoTT_Menu+0x22c8>
    ef04:       c7 c0           rjmp    .+398           ; 0xf094 <HoTT_Menu+0x2456>
    ef06:       c5 c1           rjmp    .+906           ; 0xf292 <HoTT_Menu+0x2654>
  {
    static unsigned char wp_tmp, changed;
        case 0:  
                        HoTT_printfxy(0,0,"Store single Position"); 
    ef08:       80 e0           ldi     r24, 0x00       ; 0
    ef0a:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ef0e:       89 ea           ldi     r24, 0xA9       ; 169
    ef10:       95 e0           ldi     r25, 0x05       ; 5
    ef12:       9f 93           push    r25
    ef14:       8f 93           push    r24
    ef16:       8b e0           ldi     r24, 0x0B       ; 11
    ef18:       95 e1           ldi     r25, 0x15       ; 21
    ef1a:       9f 93           push    r25
    ef1c:       8f 93           push    r24
    ef1e:       e0 91 78 06     lds     r30, 0x0678
    ef22:       f0 91 79 06     lds     r31, 0x0679
    ef26:       09 95           icall
//                      HoTT_printfxy(0,1,"(Fixed Positions)"); 
                        break;
    ef28:       0f 90           pop     r0
    ef2a:       0f 90           pop     r0
    ef2c:       0f 90           pop     r0
    ef2e:       0f 90           pop     r0
    ef30:       00 c4           rjmp    .+2048          ; 0xf732 <HoTT_Menu+0x2af4>
    case 1: 
                    HoTT_printfxy(0,2," %2i.%1iV ",UBat/10, UBat%10)
    ef32:       8a e2           ldi     r24, 0x2A       ; 42
    ef34:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ef38:       80 91 1a 01     lds     r24, 0x011A
    ef3c:       90 91 1b 01     lds     r25, 0x011B
    ef40:       e0 91 1a 01     lds     r30, 0x011A
    ef44:       f0 91 1b 01     lds     r31, 0x011B
    ef48:       2a e0           ldi     r18, 0x0A       ; 10
    ef4a:       30 e0           ldi     r19, 0x00       ; 0
    ef4c:       b9 01           movw    r22, r18
    ef4e:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    ef52:       9f 93           push    r25
    ef54:       8f 93           push    r24
    ef56:       cf 01           movw    r24, r30
    ef58:       b9 01           movw    r22, r18
    ef5a:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    ef5e:       7f 93           push    r23
    ef60:       6f 93           push    r22
    ef62:       8e e9           ldi     r24, 0x9E       ; 158
    ef64:       95 e0           ldi     r25, 0x05       ; 5
    ef66:       9f 93           push    r25
    ef68:       8f 93           push    r24
    ef6a:       0b e0           ldi     r16, 0x0B       ; 11
    ef6c:       15 e1           ldi     r17, 0x15       ; 21
    ef6e:       1f 93           push    r17
    ef70:       0f 93           push    r16
    ef72:       e0 91 78 06     lds     r30, 0x0678
    ef76:       f0 91 79 06     lds     r31, 0x0679
    ef7a:       09 95           icall
                        HoTT_printfxy(0,3," %2i:%02i ",FlugSekunden/60,FlugSekunden%60);                           
    ef7c:       8f e3           ldi     r24, 0x3F       ; 63
    ef7e:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    ef82:       40 91 5e 04     lds     r20, 0x045E
    ef86:       50 91 5f 04     lds     r21, 0x045F
    ef8a:       9a 01           movw    r18, r20
    ef8c:       a9 e8           ldi     r26, 0x89       ; 137
    ef8e:       b8 e8           ldi     r27, 0x88       ; 136
    ef90:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    ef94:       96 95           lsr     r25
    ef96:       87 95           ror     r24
    ef98:       92 95           swap    r25
    ef9a:       82 95           swap    r24
    ef9c:       8f 70           andi    r24, 0x0F       ; 15
    ef9e:       89 27           eor     r24, r25
    efa0:       9f 70           andi    r25, 0x0F       ; 15
    efa2:       89 27           eor     r24, r25
    efa4:       6c e3           ldi     r22, 0x3C       ; 60
    efa6:       68 9f           mul     r22, r24
    efa8:       90 01           movw    r18, r0
    efaa:       69 9f           mul     r22, r25
    efac:       30 0d           add     r19, r0
    efae:       11 24           eor     r1, r1
    efb0:       ca 01           movw    r24, r20
    efb2:       82 1b           sub     r24, r18
    efb4:       93 0b           sbc     r25, r19
    efb6:       9f 93           push    r25
    efb8:       8f 93           push    r24
    efba:       9a 01           movw    r18, r20
    efbc:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    efc0:       96 95           lsr     r25
    efc2:       87 95           ror     r24
    efc4:       92 95           swap    r25
    efc6:       82 95           swap    r24
    efc8:       8f 70           andi    r24, 0x0F       ; 15
    efca:       89 27           eor     r24, r25
    efcc:       9f 70           andi    r25, 0x0F       ; 15
    efce:       89 27           eor     r24, r25
    efd0:       9f 93           push    r25
    efd2:       8f 93           push    r24
    efd4:       83 e9           ldi     r24, 0x93       ; 147
    efd6:       95 e0           ldi     r25, 0x05       ; 5
    efd8:       9f 93           push    r25
    efda:       8f 93           push    r24
    efdc:       1f 93           push    r17
    efde:       0f 93           push    r16
    efe0:       e0 91 78 06     lds     r30, 0x0678
    efe4:       f0 91 79 06     lds     r31, 0x0679
    efe8:       09 95           icall
//                      HoTT_printfxy(0,4,"Dist:%3dm",NaviData_TargetDistance)
                        break;
    efea:       0f b6           in      r0, 0x3f        ; 63
    efec:       f8 94           cli
    efee:       de bf           out     0x3e, r29       ; 62
    eff0:       0f be           out     0x3f, r0        ; 63
    eff2:       cd bf           out     0x3d, r28       ; 61
    eff4:       9e c3           rjmp    .+1852          ; 0xf732 <HoTT_Menu+0x2af4>
    case 2: 
                        HoTT_printfxy(11,2,"ALT:%4im", (int16_t)(HoehenWert/100))              
    eff6:       85 e3           ldi     r24, 0x35       ; 53
    eff8:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    effc:       60 91 fe 03     lds     r22, 0x03FE
    f000:       70 91 ff 03     lds     r23, 0x03FF
    f004:       80 91 00 04     lds     r24, 0x0400
    f008:       90 91 01 04     lds     r25, 0x0401
    f00c:       24 e6           ldi     r18, 0x64       ; 100
    f00e:       30 e0           ldi     r19, 0x00       ; 0
    f010:       40 e0           ldi     r20, 0x00       ; 0
    f012:       50 e0           ldi     r21, 0x00       ; 0
    f014:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    f018:       3f 93           push    r19
    f01a:       2f 93           push    r18
    f01c:       8a e8           ldi     r24, 0x8A       ; 138
    f01e:       95 e0           ldi     r25, 0x05       ; 5
    f020:       9f 93           push    r25
    f022:       8f 93           push    r24
    f024:       0b e0           ldi     r16, 0x0B       ; 11
    f026:       15 e1           ldi     r17, 0x15       ; 21
    f028:       1f 93           push    r17
    f02a:       0f 93           push    r16
    f02c:       e0 91 78 06     lds     r30, 0x0678
    f030:       f0 91 79 06     lds     r31, 0x0679
    f034:       09 95           icall
                        HoTT_printfxy(11,3,"DIR: %3d%c",CompassCorrected, HoTT_GRAD);
    f036:       8a e4           ldi     r24, 0x4A       ; 74
    f038:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f03c:       1f 92           push    r1
    f03e:       80 e6           ldi     r24, 0x60       ; 96
    f040:       8f 93           push    r24
    f042:       80 91 66 06     lds     r24, 0x0666
    f046:       8f 93           push    r24
    f048:       80 91 65 06     lds     r24, 0x0665
    f04c:       8f 93           push    r24
    f04e:       8f e7           ldi     r24, 0x7F       ; 127
    f050:       95 e0           ldi     r25, 0x05       ; 5
    f052:       9f 93           push    r25
    f054:       8f 93           push    r24
    f056:       1f 93           push    r17
    f058:       0f 93           push    r16
    f05a:       e0 91 78 06     lds     r30, 0x0678
    f05e:       f0 91 79 06     lds     r31, 0x0679
    f062:       09 95           icall
                        HoTT_printfxy(11,4,"Cam: %3i",Parameter_ServoNickControl);
    f064:       8f e5           ldi     r24, 0x5F       ; 95
    f066:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f06a:       80 91 2f 01     lds     r24, 0x012F
    f06e:       1f 92           push    r1
    f070:       8f 93           push    r24
    f072:       86 e7           ldi     r24, 0x76       ; 118
    f074:       95 e0           ldi     r25, 0x05       ; 5
    f076:       9f 93           push    r25
    f078:       8f 93           push    r24
    f07a:       1f 93           push    r17
    f07c:       0f 93           push    r16
    f07e:       e0 91 78 06     lds     r30, 0x0678
    f082:       f0 91 79 06     lds     r31, 0x0679
    f086:       09 95           icall
                        break;
    f088:       0f b6           in      r0, 0x3f        ; 63
    f08a:       f8 94           cli
    f08c:       de bf           out     0x3e, r29       ; 62
    f08e:       0f be           out     0x3f, r0        ; 63
    f090:       cd bf           out     0x3d, r28       ; 61
    f092:       4f c3           rjmp    .+1694          ; 0xf732 <HoTT_Menu+0x2af4>
    case 3: 
    case 4: 
    case 5: 
                    HoTT_printfxy(0,6,"Store point:")
    f094:       8e e7           ldi     r24, 0x7E       ; 126
    f096:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f09a:       89 e6           ldi     r24, 0x69       ; 105
    f09c:       95 e0           ldi     r25, 0x05       ; 5
    f09e:       9f 93           push    r25
    f0a0:       8f 93           push    r24
    f0a2:       8b e0           ldi     r24, 0x0B       ; 11
    f0a4:       95 e1           ldi     r25, 0x15       ; 21
    f0a6:       9f 93           push    r25
    f0a8:       8f 93           push    r24
    f0aa:       e0 91 78 06     lds     r30, 0x0678
    f0ae:       f0 91 79 06     lds     r31, 0x0679
    f0b2:       09 95           icall
                        if(wp_tmp) 
    f0b4:       0f 90           pop     r0
    f0b6:       0f 90           pop     r0
    f0b8:       0f 90           pop     r0
    f0ba:       0f 90           pop     r0
    f0bc:       80 91 6f 04     lds     r24, 0x046F
    f0c0:       88 23           and     r24, r24
    f0c2:       c1 f1           breq    .+112           ; 0xf134 <HoTT_Menu+0x24f6>
                         {
                          if(changed && HoTTBlink) HoTT_printfxy(13,6,"   ")
    f0c4:       80 91 6e 04     lds     r24, 0x046E
    f0c8:       88 23           and     r24, r24
    f0ca:       c9 f0           breq    .+50            ; 0xf0fe <HoTT_Menu+0x24c0>
    f0cc:       80 91 ed 02     lds     r24, 0x02ED
    f0d0:       88 23           and     r24, r24
    f0d2:       a9 f0           breq    .+42            ; 0xf0fe <HoTT_Menu+0x24c0>
    f0d4:       8b e8           ldi     r24, 0x8B       ; 139
    f0d6:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f0da:       85 e6           ldi     r24, 0x65       ; 101
    f0dc:       95 e0           ldi     r25, 0x05       ; 5
    f0de:       9f 93           push    r25
    f0e0:       8f 93           push    r24
    f0e2:       8b e0           ldi     r24, 0x0B       ; 11
    f0e4:       95 e1           ldi     r25, 0x15       ; 21
    f0e6:       9f 93           push    r25
    f0e8:       8f 93           push    r24
    f0ea:       e0 91 78 06     lds     r30, 0x0678
    f0ee:       f0 91 79 06     lds     r31, 0x0679
    f0f2:       09 95           icall
    f0f4:       0f 90           pop     r0
    f0f6:       0f 90           pop     r0
    f0f8:       0f 90           pop     r0
    f0fa:       0f 90           pop     r0
    f0fc:       2f c0           rjmp    .+94            ; 0xf15c <HoTT_Menu+0x251e>
                          else HoTT_printfxy(13,6,"%2d ",wp_tmp);
    f0fe:       8b e8           ldi     r24, 0x8B       ; 139
    f100:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f104:       80 91 6f 04     lds     r24, 0x046F
    f108:       1f 92           push    r1
    f10a:       8f 93           push    r24
    f10c:       80 e6           ldi     r24, 0x60       ; 96
    f10e:       95 e0           ldi     r25, 0x05       ; 5
    f110:       9f 93           push    r25
    f112:       8f 93           push    r24
    f114:       8b e0           ldi     r24, 0x0B       ; 11
    f116:       95 e1           ldi     r25, 0x15       ; 21
    f118:       9f 93           push    r25
    f11a:       8f 93           push    r24
    f11c:       e0 91 78 06     lds     r30, 0x0678
    f120:       f0 91 79 06     lds     r31, 0x0679
    f124:       09 95           icall
    f126:       0f 90           pop     r0
    f128:       0f 90           pop     r0
    f12a:       0f 90           pop     r0
    f12c:       0f 90           pop     r0
    f12e:       0f 90           pop     r0
    f130:       0f 90           pop     r0
    f132:       14 c0           rjmp    .+40            ; 0xf15c <HoTT_Menu+0x251e>
                         } 
                        else 
                         { 
                          HoTT_printfxy(13,6,"--")
    f134:       8b e8           ldi     r24, 0x8B       ; 139
    f136:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f13a:       8d e5           ldi     r24, 0x5D       ; 93
    f13c:       95 e0           ldi     r25, 0x05       ; 5
    f13e:       9f 93           push    r25
    f140:       8f 93           push    r24
    f142:       8b e0           ldi     r24, 0x0B       ; 11
    f144:       95 e1           ldi     r25, 0x15       ; 21
    f146:       9f 93           push    r25
    f148:       8f 93           push    r24
    f14a:       e0 91 78 06     lds     r30, 0x0678
    f14e:       f0 91 79 06     lds     r31, 0x0679
    f152:       09 95           icall
    f154:       0f 90           pop     r0
    f156:       0f 90           pop     r0
    f158:       0f 90           pop     r0
    f15a:       0f 90           pop     r0
                         } 
                        
                    if(GPSInfo.SatFix == SATFIX_3D) 
    f15c:       80 91 d9 08     lds     r24, 0x08D9
    f160:       83 30           cpi     r24, 0x03       ; 3
    f162:       09 f0           breq    .+2             ; 0xf166 <HoTT_Menu+0x2528>
    f164:       45 c0           rjmp    .+138           ; 0xf1f0 <HoTT_Menu+0x25b2>
                    {
                         if(NaviData_MaxWpListIndex == 0) HoTT_printfxy(0,7,"No SD-Card   ") 
    f166:       80 91 89 04     lds     r24, 0x0489
    f16a:       81 11           cpse    r24, r1
    f16c:       15 c0           rjmp    .+42            ; 0xf198 <HoTT_Menu+0x255a>
    f16e:       83 e9           ldi     r24, 0x93       ; 147
    f170:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f174:       8f e4           ldi     r24, 0x4F       ; 79
    f176:       95 e0           ldi     r25, 0x05       ; 5
    f178:       9f 93           push    r25
    f17a:       8f 93           push    r24
    f17c:       8b e0           ldi     r24, 0x0B       ; 11
    f17e:       95 e1           ldi     r25, 0x15       ; 21
    f180:       9f 93           push    r25
    f182:       8f 93           push    r24
    f184:       e0 91 78 06     lds     r30, 0x0678
    f188:       f0 91 79 06     lds     r31, 0x0679
    f18c:       09 95           icall
    f18e:       0f 90           pop     r0
    f190:       0f 90           pop     r0
    f192:       0f 90           pop     r0
    f194:       0f 90           pop     r0
    f196:       20 c0           rjmp    .+64            ; 0xf1d8 <HoTT_Menu+0x259a>
                         else
                         {
                            if(changed && wp_tmp) HoTT_printfxy(0,7,"(Set -> Store)") 
    f198:       80 91 6e 04     lds     r24, 0x046E
    f19c:       88 23           and     r24, r24
    f19e:       c9 f0           breq    .+50            ; 0xf1d2 <HoTT_Menu+0x2594>
    f1a0:       80 91 6f 04     lds     r24, 0x046F
    f1a4:       88 23           and     r24, r24
    f1a6:       a9 f0           breq    .+42            ; 0xf1d2 <HoTT_Menu+0x2594>
    f1a8:       83 e9           ldi     r24, 0x93       ; 147
    f1aa:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f1ae:       80 e4           ldi     r24, 0x40       ; 64
    f1b0:       95 e0           ldi     r25, 0x05       ; 5
    f1b2:       9f 93           push    r25
    f1b4:       8f 93           push    r24
    f1b6:       8b e0           ldi     r24, 0x0B       ; 11
    f1b8:       95 e1           ldi     r25, 0x15       ; 21
    f1ba:       9f 93           push    r25
    f1bc:       8f 93           push    r24
    f1be:       e0 91 78 06     lds     r30, 0x0678
    f1c2:       f0 91 79 06     lds     r31, 0x0679
    f1c6:       09 95           icall
    f1c8:       0f 90           pop     r0
    f1ca:       0f 90           pop     r0
    f1cc:       0f 90           pop     r0
    f1ce:       0f 90           pop     r0
    f1d0:       03 c0           rjmp    .+6             ; 0xf1d8 <HoTT_Menu+0x259a>
                            else Hott_ClearLine(7);
    f1d2:       87 e0           ldi     r24, 0x07       ; 7
    f1d4:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
                         } 
                         if(HottKeyboard == HOTT_KEY_SET) { if(wp_tmp) ToNC_Store_SingePoint = wp_tmp; changed = 0;}
    f1d8:       80 91 a9 0c     lds     r24, 0x0CA9
    f1dc:       86 30           cpi     r24, 0x06       ; 6
    f1de:       e1 f4           brne    .+56            ; 0xf218 <HoTT_Menu+0x25da>
    f1e0:       80 91 6f 04     lds     r24, 0x046F
    f1e4:       81 11           cpse    r24, r1
    f1e6:       80 93 87 04     sts     0x0487, r24
    f1ea:       10 92 6e 04     sts     0x046E, r1
    f1ee:       14 c0           rjmp    .+40            ; 0xf218 <HoTT_Menu+0x25da>
                    }
            else HoTT_printfxy(0,7,"!No GPS-Fix! "); 
    f1f0:       83 e9           ldi     r24, 0x93       ; 147
    f1f2:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f1f6:       82 e3           ldi     r24, 0x32       ; 50
    f1f8:       95 e0           ldi     r25, 0x05       ; 5
    f1fa:       9f 93           push    r25
    f1fc:       8f 93           push    r24
    f1fe:       8b e0           ldi     r24, 0x0B       ; 11
    f200:       95 e1           ldi     r25, 0x15       ; 21
    f202:       9f 93           push    r25
    f204:       8f 93           push    r24
    f206:       e0 91 78 06     lds     r30, 0x0678
    f20a:       f0 91 79 06     lds     r31, 0x0679
    f20e:       09 95           icall
    f210:       0f 90           pop     r0
    f212:       0f 90           pop     r0
    f214:       0f 90           pop     r0
    f216:       0f 90           pop     r0
                        
                        if(HottKeyboard == HOTT_KEY_UP && wp_tmp < NaviData_MaxWpListIndex) { changed = 1; wp_tmp++; HoTTBlink = 0;}
    f218:       80 91 a9 0c     lds     r24, 0x0CA9
    f21c:       84 30           cpi     r24, 0x04       ; 4
    f21e:       79 f4           brne    .+30            ; 0xf23e <HoTT_Menu+0x2600>
    f220:       80 91 6f 04     lds     r24, 0x046F
    f224:       90 91 89 04     lds     r25, 0x0489
    f228:       89 17           cp      r24, r25
    f22a:       18 f5           brcc    .+70            ; 0xf272 <HoTT_Menu+0x2634>
    f22c:       91 e0           ldi     r25, 0x01       ; 1
    f22e:       90 93 6e 04     sts     0x046E, r25
    f232:       8f 5f           subi    r24, 0xFF       ; 255
    f234:       80 93 6f 04     sts     0x046F, r24
    f238:       10 92 ed 02     sts     0x02ED, r1
    f23c:       1a c0           rjmp    .+52            ; 0xf272 <HoTT_Menu+0x2634>
                        if(HottKeyboard == HOTT_KEY_DOWN && wp_tmp > 1) { changed = 1; wp_tmp--; HoTTBlink = 0;};
    f23e:       82 30           cpi     r24, 0x02       ; 2
    f240:       69 f4           brne    .+26            ; 0xf25c <HoTT_Menu+0x261e>
    f242:       80 91 6f 04     lds     r24, 0x046F
    f246:       82 30           cpi     r24, 0x02       ; 2
    f248:       a0 f0           brcs    .+40            ; 0xf272 <HoTT_Menu+0x2634>
    f24a:       91 e0           ldi     r25, 0x01       ; 1
    f24c:       90 93 6e 04     sts     0x046E, r25
    f250:       81 50           subi    r24, 0x01       ; 1
    f252:       80 93 6f 04     sts     0x046F, r24
    f256:       10 92 ed 02     sts     0x02ED, r1
    f25a:       0b c0           rjmp    .+22            ; 0xf272 <HoTT_Menu+0x2634>
                        if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page++; line = 0;}
    f25c:       88 30           cpi     r24, 0x08       ; 8
    f25e:       49 f4           brne    .+18            ; 0xf272 <HoTT_Menu+0x2634>
    f260:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
    f264:       80 91 76 04     lds     r24, 0x0476
    f268:       8f 5f           subi    r24, 0xFF       ; 255
    f26a:       80 93 76 04     sts     0x0476, r24
    f26e:       10 92 75 04     sts     0x0475, r1
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page--; line = 0;};
    f272:       80 91 a9 0c     lds     r24, 0x0CA9
    f276:       81 30           cpi     r24, 0x01       ; 1
    f278:       49 f4           brne    .+18            ; 0xf28c <HoTT_Menu+0x264e>
    f27a:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
    f27e:       80 91 76 04     lds     r24, 0x0476
    f282:       81 50           subi    r24, 0x01       ; 1
    f284:       80 93 76 04     sts     0x0476, r24
    f288:       10 92 75 04     sts     0x0475, r1
                        HottKeyboard = 0;
    f28c:       10 92 a9 0c     sts     0x0CA9, r1
                        break;
    f290:       50 c2           rjmp    .+1184          ; 0xf732 <HoTT_Menu+0x2af4>
   default:  line = 0;
    f292:       10 92 75 04     sts     0x0475, r1
                        break;
    f296:       4d c2           rjmp    .+1178          ; 0xf732 <HoTT_Menu+0x2af4>
  }
  break;
  case 6:
  switch(line++)
    f298:       80 91 75 04     lds     r24, 0x0475
    f29c:       91 e0           ldi     r25, 0x01       ; 1
    f29e:       98 0f           add     r25, r24
    f2a0:       90 93 75 04     sts     0x0475, r25
    f2a4:       82 30           cpi     r24, 0x02       ; 2
    f2a6:       09 f4           brne    .+2             ; 0xf2aa <HoTT_Menu+0x266c>
    f2a8:       ab c0           rjmp    .+342           ; 0xf400 <HoTT_Menu+0x27c2>
    f2aa:       28 f4           brcc    .+10            ; 0xf2b6 <HoTT_Menu+0x2678>
    f2ac:       88 23           and     r24, r24
    f2ae:       39 f0           breq    .+14            ; 0xf2be <HoTT_Menu+0x2680>
    f2b0:       81 30           cpi     r24, 0x01       ; 1
    f2b2:       d1 f0           breq    .+52            ; 0xf2e8 <HoTT_Menu+0x26aa>
    f2b4:       39 c2           rjmp    .+1138          ; 0xf728 <HoTT_Menu+0x2aea>
    f2b6:       86 30           cpi     r24, 0x06       ; 6
    f2b8:       08 f4           brcc    .+2             ; 0xf2bc <HoTT_Menu+0x267e>
    f2ba:       36 c1           rjmp    .+620           ; 0xf528 <HoTT_Menu+0x28ea>
    f2bc:       35 c2           rjmp    .+1130          ; 0xf728 <HoTT_Menu+0x2aea>
  {
    static unsigned char wp_tmp, changed;
        case 0:  
                        HoTT_printfxy(0,0,"Load single Position"); 
    f2be:       80 e0           ldi     r24, 0x00       ; 0
    f2c0:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f2c4:       8d e1           ldi     r24, 0x1D       ; 29
    f2c6:       95 e0           ldi     r25, 0x05       ; 5
    f2c8:       9f 93           push    r25
    f2ca:       8f 93           push    r24
    f2cc:       8b e0           ldi     r24, 0x0B       ; 11
    f2ce:       95 e1           ldi     r25, 0x15       ; 21
    f2d0:       9f 93           push    r25
    f2d2:       8f 93           push    r24
    f2d4:       e0 91 78 06     lds     r30, 0x0678
    f2d8:       f0 91 79 06     lds     r31, 0x0679
    f2dc:       09 95           icall
//                      HoTT_printfxy(0,1,"(Fixed Positions)"); 
                        break;
    f2de:       0f 90           pop     r0
    f2e0:       0f 90           pop     r0
    f2e2:       0f 90           pop     r0
    f2e4:       0f 90           pop     r0
    f2e6:       25 c2           rjmp    .+1098          ; 0xf732 <HoTT_Menu+0x2af4>
    case 1: 
                    HoTT_printfxy(0,2," %2i.%1iV ",UBat/10, UBat%10)
    f2e8:       8a e2           ldi     r24, 0x2A       ; 42
    f2ea:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f2ee:       80 91 1a 01     lds     r24, 0x011A
    f2f2:       90 91 1b 01     lds     r25, 0x011B
    f2f6:       e0 91 1a 01     lds     r30, 0x011A
    f2fa:       f0 91 1b 01     lds     r31, 0x011B
    f2fe:       2a e0           ldi     r18, 0x0A       ; 10
    f300:       30 e0           ldi     r19, 0x00       ; 0
    f302:       b9 01           movw    r22, r18
    f304:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    f308:       9f 93           push    r25
    f30a:       8f 93           push    r24
    f30c:       cf 01           movw    r24, r30
    f30e:       b9 01           movw    r22, r18
    f310:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    f314:       7f 93           push    r23
    f316:       6f 93           push    r22
    f318:       82 e1           ldi     r24, 0x12       ; 18
    f31a:       95 e0           ldi     r25, 0x05       ; 5
    f31c:       9f 93           push    r25
    f31e:       8f 93           push    r24
    f320:       0b e0           ldi     r16, 0x0B       ; 11
    f322:       15 e1           ldi     r17, 0x15       ; 21
    f324:       1f 93           push    r17
    f326:       0f 93           push    r16
    f328:       e0 91 78 06     lds     r30, 0x0678
    f32c:       f0 91 79 06     lds     r31, 0x0679
    f330:       09 95           icall
                        HoTT_printfxy(0,3," %2i:%02i ",FlugSekunden/60,FlugSekunden%60);                           
    f332:       8f e3           ldi     r24, 0x3F       ; 63
    f334:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f338:       40 91 5e 04     lds     r20, 0x045E
    f33c:       50 91 5f 04     lds     r21, 0x045F
    f340:       9a 01           movw    r18, r20
    f342:       a9 e8           ldi     r26, 0x89       ; 137
    f344:       b8 e8           ldi     r27, 0x88       ; 136
    f346:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    f34a:       96 95           lsr     r25
    f34c:       87 95           ror     r24
    f34e:       92 95           swap    r25
    f350:       82 95           swap    r24
    f352:       8f 70           andi    r24, 0x0F       ; 15
    f354:       89 27           eor     r24, r25
    f356:       9f 70           andi    r25, 0x0F       ; 15
    f358:       89 27           eor     r24, r25
    f35a:       6c e3           ldi     r22, 0x3C       ; 60
    f35c:       68 9f           mul     r22, r24
    f35e:       90 01           movw    r18, r0
    f360:       69 9f           mul     r22, r25
    f362:       30 0d           add     r19, r0
    f364:       11 24           eor     r1, r1
    f366:       ca 01           movw    r24, r20
    f368:       82 1b           sub     r24, r18
    f36a:       93 0b           sbc     r25, r19
    f36c:       9f 93           push    r25
    f36e:       8f 93           push    r24
    f370:       9a 01           movw    r18, r20
    f372:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    f376:       96 95           lsr     r25
    f378:       87 95           ror     r24
    f37a:       92 95           swap    r25
    f37c:       82 95           swap    r24
    f37e:       8f 70           andi    r24, 0x0F       ; 15
    f380:       89 27           eor     r24, r25
    f382:       9f 70           andi    r25, 0x0F       ; 15
    f384:       89 27           eor     r24, r25
    f386:       9f 93           push    r25
    f388:       8f 93           push    r24
    f38a:       87 e0           ldi     r24, 0x07       ; 7
    f38c:       95 e0           ldi     r25, 0x05       ; 5
    f38e:       9f 93           push    r25
    f390:       8f 93           push    r24
    f392:       1f 93           push    r17
    f394:       0f 93           push    r16
    f396:       e0 91 78 06     lds     r30, 0x0678
    f39a:       f0 91 79 06     lds     r31, 0x0679
    f39e:       09 95           icall
//                      HoTT_printfxy(0,4,"Dist:%3dm",NaviData_TargetDistance)
                    if(NaviData_WaypointNumber) HoTT_printfxy(0,5,"WP:%2d/%d Dist:%3dm ",NaviData_WaypointIndex,NaviData_WaypointNumber,NaviData_TargetDistance)
    f3a0:       0f b6           in      r0, 0x3f        ; 63
    f3a2:       f8 94           cli
    f3a4:       de bf           out     0x3e, r29       ; 62
    f3a6:       0f be           out     0x3f, r0        ; 63
    f3a8:       cd bf           out     0x3d, r28       ; 61
    f3aa:       80 91 8c 04     lds     r24, 0x048C
    f3ae:       88 23           and     r24, r24
    f3b0:       19 f1           breq    .+70            ; 0xf3f8 <HoTT_Menu+0x27ba>
    f3b2:       89 e6           ldi     r24, 0x69       ; 105
    f3b4:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f3b8:       80 91 86 04     lds     r24, 0x0486
    f3bc:       8f 93           push    r24
    f3be:       80 91 85 04     lds     r24, 0x0485
    f3c2:       8f 93           push    r24
    f3c4:       80 91 8c 04     lds     r24, 0x048C
    f3c8:       1f 92           push    r1
    f3ca:       8f 93           push    r24
    f3cc:       80 91 8d 04     lds     r24, 0x048D
    f3d0:       1f 92           push    r1
    f3d2:       8f 93           push    r24
    f3d4:       82 ef           ldi     r24, 0xF2       ; 242
    f3d6:       94 e0           ldi     r25, 0x04       ; 4
    f3d8:       9f 93           push    r25
    f3da:       8f 93           push    r24
    f3dc:       c8 01           movw    r24, r16
    f3de:       9f 93           push    r25
    f3e0:       0f 93           push    r16
    f3e2:       e0 91 78 06     lds     r30, 0x0678
    f3e6:       f0 91 79 06     lds     r31, 0x0679
    f3ea:       09 95           icall
    f3ec:       0f b6           in      r0, 0x3f        ; 63
    f3ee:       f8 94           cli
    f3f0:       de bf           out     0x3e, r29       ; 62
    f3f2:       0f be           out     0x3f, r0        ; 63
    f3f4:       cd bf           out     0x3d, r28       ; 61
    f3f6:       9d c1           rjmp    .+826           ; 0xf732 <HoTT_Menu+0x2af4>
                    else Hott_ClearLine(5);
    f3f8:       85 e0           ldi     r24, 0x05       ; 5
    f3fa:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
    f3fe:       99 c1           rjmp    .+818           ; 0xf732 <HoTT_Menu+0x2af4>
                        break;
    case 2: 
                        if(FromNC_AltitudeSpeed)
    f400:       80 91 f3 03     lds     r24, 0x03F3
    f404:       88 23           and     r24, r24
    f406:       c9 f1           breq    .+114           ; 0xf47a <HoTT_Menu+0x283c>
                          HoTT_printfxy(8,2,"ALT:%4i/%im ", (int16_t)(HoehenWert/100),(int16_t)(FromNC_AltitudeSetpoint/100))
    f408:       82 e3           ldi     r24, 0x32       ; 50
    f40a:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f40e:       60 91 f4 03     lds     r22, 0x03F4
    f412:       70 91 f5 03     lds     r23, 0x03F5
    f416:       80 91 f6 03     lds     r24, 0x03F6
    f41a:       90 91 f7 03     lds     r25, 0x03F7
    f41e:       0f 2e           mov     r0, r31
    f420:       f4 e6           ldi     r31, 0x64       ; 100
    f422:       cf 2e           mov     r12, r31
    f424:       d1 2c           mov     r13, r1
    f426:       e1 2c           mov     r14, r1
    f428:       f1 2c           mov     r15, r1
    f42a:       f0 2d           mov     r31, r0
    f42c:       a7 01           movw    r20, r14
    f42e:       96 01           movw    r18, r12
    f430:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    f434:       3f 93           push    r19
    f436:       2f 93           push    r18
    f438:       60 91 fe 03     lds     r22, 0x03FE
    f43c:       70 91 ff 03     lds     r23, 0x03FF
    f440:       80 91 00 04     lds     r24, 0x0400
    f444:       90 91 01 04     lds     r25, 0x0401
    f448:       a7 01           movw    r20, r14
    f44a:       96 01           movw    r18, r12
    f44c:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    f450:       3f 93           push    r19
    f452:       2f 93           push    r18
    f454:       85 ee           ldi     r24, 0xE5       ; 229
    f456:       94 e0           ldi     r25, 0x04       ; 4
    f458:       9f 93           push    r25
    f45a:       8f 93           push    r24
    f45c:       8b e0           ldi     r24, 0x0B       ; 11
    f45e:       95 e1           ldi     r25, 0x15       ; 21
    f460:       9f 93           push    r25
    f462:       8f 93           push    r24
    f464:       e0 91 78 06     lds     r30, 0x0678
    f468:       f0 91 79 06     lds     r31, 0x0679
    f46c:       09 95           icall
    f46e:       0f b6           in      r0, 0x3f        ; 63
    f470:       f8 94           cli
    f472:       de bf           out     0x3e, r29       ; 62
    f474:       0f be           out     0x3f, r0        ; 63
    f476:       cd bf           out     0x3d, r28       ; 61
    f478:       26 c0           rjmp    .+76            ; 0xf4c6 <HoTT_Menu+0x2888>
                        else
                          HoTT_printfxy(8,2,"ALT:%4im    ",(int16_t)(HoehenWert/100))
    f47a:       82 e3           ldi     r24, 0x32       ; 50
    f47c:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f480:       60 91 fe 03     lds     r22, 0x03FE
    f484:       70 91 ff 03     lds     r23, 0x03FF
    f488:       80 91 00 04     lds     r24, 0x0400
    f48c:       90 91 01 04     lds     r25, 0x0401
    f490:       24 e6           ldi     r18, 0x64       ; 100
    f492:       30 e0           ldi     r19, 0x00       ; 0
    f494:       40 e0           ldi     r20, 0x00       ; 0
    f496:       50 e0           ldi     r21, 0x00       ; 0
    f498:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    f49c:       3f 93           push    r19
    f49e:       2f 93           push    r18
    f4a0:       88 ed           ldi     r24, 0xD8       ; 216
    f4a2:       94 e0           ldi     r25, 0x04       ; 4
    f4a4:       9f 93           push    r25
    f4a6:       8f 93           push    r24
    f4a8:       8b e0           ldi     r24, 0x0B       ; 11
    f4aa:       95 e1           ldi     r25, 0x15       ; 21
    f4ac:       9f 93           push    r25
    f4ae:       8f 93           push    r24
    f4b0:       e0 91 78 06     lds     r30, 0x0678
    f4b4:       f0 91 79 06     lds     r31, 0x0679
    f4b8:       09 95           icall
    f4ba:       0f 90           pop     r0
    f4bc:       0f 90           pop     r0
    f4be:       0f 90           pop     r0
    f4c0:       0f 90           pop     r0
    f4c2:       0f 90           pop     r0
    f4c4:       0f 90           pop     r0
 
                        HoTT_printfxy(8,3,"DIR: %3d%c",CompassCorrected, HoTT_GRAD);
    f4c6:       87 e4           ldi     r24, 0x47       ; 71
    f4c8:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f4cc:       1f 92           push    r1
    f4ce:       80 e6           ldi     r24, 0x60       ; 96
    f4d0:       8f 93           push    r24
    f4d2:       80 91 66 06     lds     r24, 0x0666
    f4d6:       8f 93           push    r24
    f4d8:       80 91 65 06     lds     r24, 0x0665
    f4dc:       8f 93           push    r24
    f4de:       8d ec           ldi     r24, 0xCD       ; 205
    f4e0:       94 e0           ldi     r25, 0x04       ; 4
    f4e2:       9f 93           push    r25
    f4e4:       8f 93           push    r24
    f4e6:       0b e0           ldi     r16, 0x0B       ; 11
    f4e8:       15 e1           ldi     r17, 0x15       ; 21
    f4ea:       1f 93           push    r17
    f4ec:       0f 93           push    r16
    f4ee:       e0 91 78 06     lds     r30, 0x0678
    f4f2:       f0 91 79 06     lds     r31, 0x0679
    f4f6:       09 95           icall
                        HoTT_printfxy(8,4,"Cam: %3i",Parameter_ServoNickControl);
    f4f8:       8c e5           ldi     r24, 0x5C       ; 92
    f4fa:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f4fe:       80 91 2f 01     lds     r24, 0x012F
    f502:       1f 92           push    r1
    f504:       8f 93           push    r24
    f506:       84 ec           ldi     r24, 0xC4       ; 196
    f508:       94 e0           ldi     r25, 0x04       ; 4
    f50a:       9f 93           push    r25
    f50c:       8f 93           push    r24
    f50e:       1f 93           push    r17
    f510:       0f 93           push    r16
    f512:       e0 91 78 06     lds     r30, 0x0678
    f516:       f0 91 79 06     lds     r31, 0x0679
    f51a:       09 95           icall
                        break;
    f51c:       0f b6           in      r0, 0x3f        ; 63
    f51e:       f8 94           cli
    f520:       de bf           out     0x3e, r29       ; 62
    f522:       0f be           out     0x3f, r0        ; 63
    f524:       cd bf           out     0x3d, r28       ; 61
    f526:       05 c1           rjmp    .+522           ; 0xf732 <HoTT_Menu+0x2af4>
//                       HoTT_printfxy(11,7,"%s",WPL_Name)
    case 3: 
    case 4:                                       
    case 5: 
                  if(HottKeyboard) DebugOut.Analog[17]++;
    f528:       80 91 a9 0c     lds     r24, 0x0CA9
    f52c:       88 23           and     r24, r24
    f52e:       39 f0           breq    .+14            ; 0xf53e <HoTT_Menu+0x2900>
    f530:       ea e6           ldi     r30, 0x6A       ; 106
    f532:       fc e0           ldi     r31, 0x0C       ; 12
    f534:       80 81           ld      r24, Z
    f536:       91 81           ldd     r25, Z+1        ; 0x01
    f538:       01 96           adiw    r24, 0x01       ; 1
    f53a:       91 83           std     Z+1, r25        ; 0x01
    f53c:       80 83           st      Z, r24
                  HoTT_printfxy(0,6,"load point:")
    f53e:       8e e7           ldi     r24, 0x7E       ; 126
    f540:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f544:       88 eb           ldi     r24, 0xB8       ; 184
    f546:       94 e0           ldi     r25, 0x04       ; 4
    f548:       9f 93           push    r25
    f54a:       8f 93           push    r24
    f54c:       8b e0           ldi     r24, 0x0B       ; 11
    f54e:       95 e1           ldi     r25, 0x15       ; 21
    f550:       9f 93           push    r25
    f552:       8f 93           push    r24
    f554:       e0 91 78 06     lds     r30, 0x0678
    f558:       f0 91 79 06     lds     r31, 0x0679
    f55c:       09 95           icall
                        if(wp_tmp) 
    f55e:       0f 90           pop     r0
    f560:       0f 90           pop     r0
    f562:       0f 90           pop     r0
    f564:       0f 90           pop     r0
    f566:       80 91 6d 04     lds     r24, 0x046D
    f56a:       88 23           and     r24, r24
    f56c:       c1 f1           breq    .+112           ; 0xf5de <HoTT_Menu+0x29a0>
                         {
                          if(changed && HoTTBlink) HoTT_printfxy(11,6,"   ")
    f56e:       80 91 6c 04     lds     r24, 0x046C
    f572:       88 23           and     r24, r24
    f574:       c9 f0           breq    .+50            ; 0xf5a8 <HoTT_Menu+0x296a>
    f576:       80 91 ed 02     lds     r24, 0x02ED
    f57a:       88 23           and     r24, r24
    f57c:       a9 f0           breq    .+42            ; 0xf5a8 <HoTT_Menu+0x296a>
    f57e:       89 e8           ldi     r24, 0x89       ; 137
    f580:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f584:       84 eb           ldi     r24, 0xB4       ; 180
    f586:       94 e0           ldi     r25, 0x04       ; 4
    f588:       9f 93           push    r25
    f58a:       8f 93           push    r24
    f58c:       8b e0           ldi     r24, 0x0B       ; 11
    f58e:       95 e1           ldi     r25, 0x15       ; 21
    f590:       9f 93           push    r25
    f592:       8f 93           push    r24
    f594:       e0 91 78 06     lds     r30, 0x0678
    f598:       f0 91 79 06     lds     r31, 0x0679
    f59c:       09 95           icall
    f59e:       0f 90           pop     r0
    f5a0:       0f 90           pop     r0
    f5a2:       0f 90           pop     r0
    f5a4:       0f 90           pop     r0
    f5a6:       2f c0           rjmp    .+94            ; 0xf606 <HoTT_Menu+0x29c8>
                          else HoTT_printfxy(11,6,"%2d",wp_tmp);
    f5a8:       89 e8           ldi     r24, 0x89       ; 137
    f5aa:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f5ae:       80 91 6d 04     lds     r24, 0x046D
    f5b2:       1f 92           push    r1
    f5b4:       8f 93           push    r24
    f5b6:       80 eb           ldi     r24, 0xB0       ; 176
    f5b8:       94 e0           ldi     r25, 0x04       ; 4
    f5ba:       9f 93           push    r25
    f5bc:       8f 93           push    r24
    f5be:       8b e0           ldi     r24, 0x0B       ; 11
    f5c0:       95 e1           ldi     r25, 0x15       ; 21
    f5c2:       9f 93           push    r25
    f5c4:       8f 93           push    r24
    f5c6:       e0 91 78 06     lds     r30, 0x0678
    f5ca:       f0 91 79 06     lds     r31, 0x0679
    f5ce:       09 95           icall
    f5d0:       0f 90           pop     r0
    f5d2:       0f 90           pop     r0
    f5d4:       0f 90           pop     r0
    f5d6:       0f 90           pop     r0
    f5d8:       0f 90           pop     r0
    f5da:       0f 90           pop     r0
    f5dc:       14 c0           rjmp    .+40            ; 0xf606 <HoTT_Menu+0x29c8>
                         } 
                        else 
                         { 
                          HoTT_printfxy(11,6,"--")
    f5de:       89 e8           ldi     r24, 0x89       ; 137
    f5e0:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f5e4:       8d ea           ldi     r24, 0xAD       ; 173
    f5e6:       94 e0           ldi     r25, 0x04       ; 4
    f5e8:       9f 93           push    r25
    f5ea:       8f 93           push    r24
    f5ec:       8b e0           ldi     r24, 0x0B       ; 11
    f5ee:       95 e1           ldi     r25, 0x15       ; 21
    f5f0:       9f 93           push    r25
    f5f2:       8f 93           push    r24
    f5f4:       e0 91 78 06     lds     r30, 0x0678
    f5f8:       f0 91 79 06     lds     r31, 0x0679
    f5fc:       09 95           icall
    f5fe:       0f 90           pop     r0
    f600:       0f 90           pop     r0
    f602:       0f 90           pop     r0
    f604:       0f 90           pop     r0
                         } 
                        
                         if(NaviData_MaxWpListIndex == 0) HoTT_printfxy(0,7,"No SD-Card   ") 
    f606:       80 91 89 04     lds     r24, 0x0489
    f60a:       81 11           cpse    r24, r1
    f60c:       15 c0           rjmp    .+42            ; 0xf638 <HoTT_Menu+0x29fa>
    f60e:       83 e9           ldi     r24, 0x93       ; 147
    f610:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f614:       8f e9           ldi     r24, 0x9F       ; 159
    f616:       94 e0           ldi     r25, 0x04       ; 4
    f618:       9f 93           push    r25
    f61a:       8f 93           push    r24
    f61c:       8b e0           ldi     r24, 0x0B       ; 11
    f61e:       95 e1           ldi     r25, 0x15       ; 21
    f620:       9f 93           push    r25
    f622:       8f 93           push    r24
    f624:       e0 91 78 06     lds     r30, 0x0678
    f628:       f0 91 79 06     lds     r31, 0x0679
    f62c:       09 95           icall
    f62e:       0f 90           pop     r0
    f630:       0f 90           pop     r0
    f632:       0f 90           pop     r0
    f634:       0f 90           pop     r0
    f636:       3e c0           rjmp    .+124           ; 0xf6b4 <HoTT_Menu+0x2a76>
                         else
                         {
                            if(changed && wp_tmp) HoTT_printfxy(0,7,"(Set -> Load)") 
    f638:       80 91 6c 04     lds     r24, 0x046C
    f63c:       88 23           and     r24, r24
    f63e:       c9 f0           breq    .+50            ; 0xf672 <HoTT_Menu+0x2a34>
    f640:       80 91 6d 04     lds     r24, 0x046D
    f644:       88 23           and     r24, r24
    f646:       a9 f0           breq    .+42            ; 0xf672 <HoTT_Menu+0x2a34>
    f648:       83 e9           ldi     r24, 0x93       ; 147
    f64a:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f64e:       81 e9           ldi     r24, 0x91       ; 145
    f650:       94 e0           ldi     r25, 0x04       ; 4
    f652:       9f 93           push    r25
    f654:       8f 93           push    r24
    f656:       8b e0           ldi     r24, 0x0B       ; 11
    f658:       95 e1           ldi     r25, 0x15       ; 21
    f65a:       9f 93           push    r25
    f65c:       8f 93           push    r24
    f65e:       e0 91 78 06     lds     r30, 0x0678
    f662:       f0 91 79 06     lds     r31, 0x0679
    f666:       09 95           icall
    f668:       0f 90           pop     r0
    f66a:       0f 90           pop     r0
    f66c:       0f 90           pop     r0
    f66e:       0f 90           pop     r0
    f670:       21 c0           rjmp    .+66            ; 0xf6b4 <HoTT_Menu+0x2a76>
                            else 
                                { 
                                 Hott_ClearLine(7);
    f672:       87 e0           ldi     r24, 0x07       ; 7
    f674:       0e 94 b4 60     call    0xc168  ; 0xc168 <Hott_ClearLine>
                                 if(NaviData_WaypointNumber) HoTT_printfxy(0,7,"%s",WPL_Name);
    f678:       80 91 8c 04     lds     r24, 0x048C
    f67c:       88 23           and     r24, r24
    f67e:       d1 f0           breq    .+52            ; 0xf6b4 <HoTT_Menu+0x2a76>
    f680:       83 e9           ldi     r24, 0x93       ; 147
    f682:       0e 94 35 15     call    0x2a6a  ; 0x2a6a <LIBFC_HoTT_SetPos>
    f686:       82 ed           ldi     r24, 0xD2       ; 210
    f688:       96 e0           ldi     r25, 0x06       ; 6
    f68a:       9f 93           push    r25
    f68c:       8f 93           push    r24
    f68e:       8e e8           ldi     r24, 0x8E       ; 142
    f690:       94 e0           ldi     r25, 0x04       ; 4
    f692:       9f 93           push    r25
    f694:       8f 93           push    r24
    f696:       8b e0           ldi     r24, 0x0B       ; 11
    f698:       95 e1           ldi     r25, 0x15       ; 21
    f69a:       9f 93           push    r25
    f69c:       8f 93           push    r24
    f69e:       e0 91 78 06     lds     r30, 0x0678
    f6a2:       f0 91 79 06     lds     r31, 0x0679
    f6a6:       09 95           icall
    f6a8:       0f 90           pop     r0
    f6aa:       0f 90           pop     r0
    f6ac:       0f 90           pop     r0
    f6ae:       0f 90           pop     r0
    f6b0:       0f 90           pop     r0
    f6b2:       0f 90           pop     r0
                                } 
                         } 
                        if(HottKeyboard == HOTT_KEY_UP && wp_tmp < NaviData_MaxWpListIndex) { changed = 1; wp_tmp++; HoTTBlink = 0;}
    f6b4:       80 91 a9 0c     lds     r24, 0x0CA9
    f6b8:       84 30           cpi     r24, 0x04       ; 4
    f6ba:       79 f4           brne    .+30            ; 0xf6da <HoTT_Menu+0x2a9c>
    f6bc:       90 91 6d 04     lds     r25, 0x046D
    f6c0:       20 91 89 04     lds     r18, 0x0489
    f6c4:       92 17           cp      r25, r18
    f6c6:       10 f5           brcc    .+68            ; 0xf70c <HoTT_Menu+0x2ace>
    f6c8:       21 e0           ldi     r18, 0x01       ; 1
    f6ca:       20 93 6c 04     sts     0x046C, r18
    f6ce:       9f 5f           subi    r25, 0xFF       ; 255
    f6d0:       90 93 6d 04     sts     0x046D, r25
    f6d4:       10 92 ed 02     sts     0x02ED, r1
    f6d8:       19 c0           rjmp    .+50            ; 0xf70c <HoTT_Menu+0x2ace>
                        if(HottKeyboard == HOTT_KEY_DOWN && wp_tmp > 1) { changed = 1; wp_tmp--; HoTTBlink = 0;};
    f6da:       82 30           cpi     r24, 0x02       ; 2
    f6dc:       69 f4           brne    .+26            ; 0xf6f8 <HoTT_Menu+0x2aba>
    f6de:       80 91 6d 04     lds     r24, 0x046D
    f6e2:       82 30           cpi     r24, 0x02       ; 2
    f6e4:       f0 f0           brcs    .+60            ; 0xf722 <HoTT_Menu+0x2ae4>
    f6e6:       91 e0           ldi     r25, 0x01       ; 1
    f6e8:       90 93 6c 04     sts     0x046C, r25
    f6ec:       81 50           subi    r24, 0x01       ; 1
    f6ee:       80 93 6d 04     sts     0x046D, r24
    f6f2:       10 92 ed 02     sts     0x02ED, r1
    f6f6:       15 c0           rjmp    .+42            ; 0xf722 <HoTT_Menu+0x2ae4>
                        if(HottKeyboard == HOTT_KEY_SET) { if(wp_tmp) ToNC_Load_SingePoint = wp_tmp; changed = 0;}
    f6f8:       86 30           cpi     r24, 0x06       ; 6
    f6fa:       41 f4           brne    .+16            ; 0xf70c <HoTT_Menu+0x2ace>
    f6fc:       80 91 6d 04     lds     r24, 0x046D
    f700:       81 11           cpse    r24, r1
    f702:       80 93 88 04     sts     0x0488, r24
    f706:       10 92 6c 04     sts     0x046C, r1
    f70a:       0b c0           rjmp    .+22            ; 0xf722 <HoTT_Menu+0x2ae4>
//                      if(HottKeyboard == HOTT_KEY_LEFT) { LIBFC_HoTT_Clear(); page++; line = 0;}
                        if(HottKeyboard == HOTT_KEY_RIGHT) { LIBFC_HoTT_Clear(); page--; line = 0;};
    f70c:       81 30           cpi     r24, 0x01       ; 1
    f70e:       49 f4           brne    .+18            ; 0xf722 <HoTT_Menu+0x2ae4>
    f710:       0e 94 3a 15     call    0x2a74  ; 0x2a74 <LIBFC_HoTT_Clear>
    f714:       80 91 76 04     lds     r24, 0x0476
    f718:       81 50           subi    r24, 0x01       ; 1
    f71a:       80 93 76 04     sts     0x0476, r24
    f71e:       10 92 75 04     sts     0x0475, r1
                        HottKeyboard = 0;
    f722:       10 92 a9 0c     sts     0x0CA9, r1
                        break;
    f726:       05 c0           rjmp    .+10            ; 0xf732 <HoTT_Menu+0x2af4>
   default:  line = 0;
    f728:       10 92 75 04     sts     0x0475, r1
                        break;
    f72c:       02 c0           rjmp    .+4             ; 0xf732 <HoTT_Menu+0x2af4>
  }
  break;
  default:  page = 0;
    f72e:       10 92 76 04     sts     0x0476, r1
  break;
 } 
}
    f732:       0f 90           pop     r0
    f734:       0f 90           pop     r0
    f736:       0f 90           pop     r0
    f738:       0f 90           pop     r0
    f73a:       df 91           pop     r29
    f73c:       cf 91           pop     r28
    f73e:       1f 91           pop     r17
    f740:       0f 91           pop     r16
    f742:       ff 90           pop     r15
    f744:       ef 90           pop     r14
    f746:       df 90           pop     r13
    f748:       cf 90           pop     r12
    f74a:       bf 90           pop     r11
    f74c:       af 90           pop     r10
    f74e:       9f 90           pop     r9
    f750:       8f 90           pop     r8
    f752:       7f 90           pop     r7
    f754:       6f 90           pop     r6
    f756:       5f 90           pop     r5
    f758:       4f 90           pop     r4
    f75a:       3f 90           pop     r3
    f75c:       2f 90           pop     r2
    f75e:       08 95           ret

0000f760 <Menu_Temperature>:
#endif
}


void Menu_Temperature(uint8_t key)
{                       //0123456789ABCDEF
    f760:       cf 93           push    r28
    f762:       df 93           push    r29
#if !defined (RECEIVER_SPEKTRUM_DX7EXP) && !defined (RECEIVER_SPEKTRUM_DX8EXP)
  JetiBox_printfxy(0,0,"%3i %3i %3i %3i", Motor[0].Temperature, Motor[1].Temperature, Motor[2].Temperature, Motor[3].Temperature);
    f764:       80 e0           ldi     r24, 0x00       ; 0
    f766:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    f76a:       80 91 cb 09     lds     r24, 0x09CB
    f76e:       1f 92           push    r1
    f770:       8f 93           push    r24
    f772:       80 91 bc 09     lds     r24, 0x09BC
    f776:       1f 92           push    r1
    f778:       8f 93           push    r24
    f77a:       80 91 ad 09     lds     r24, 0x09AD
    f77e:       1f 92           push    r1
    f780:       8f 93           push    r24
    f782:       80 91 9e 09     lds     r24, 0x099E
    f786:       1f 92           push    r1
    f788:       8f 93           push    r24
    f78a:       82 e4           ldi     r24, 0x42       ; 66
    f78c:       90 e1           ldi     r25, 0x10       ; 16
    f78e:       9f 93           push    r25
    f790:       8f 93           push    r24
    f792:       ce e6           ldi     r28, 0x6E       ; 110
    f794:       df e0           ldi     r29, 0x0F       ; 15
    f796:       df 93           push    r29
    f798:       cf 93           push    r28
    f79a:       e0 91 78 06     lds     r30, 0x0678
    f79e:       f0 91 79 06     lds     r31, 0x0679
    f7a2:       09 95           icall
  JetiBox_printfxy(0,1,"%3i %3i %3i %3i", Motor[4].Temperature, Motor[5].Temperature, Motor[6].Temperature, Motor[7].Temperature);
    f7a4:       80 e1           ldi     r24, 0x10       ; 16
    f7a6:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    f7aa:       80 91 07 0a     lds     r24, 0x0A07
    f7ae:       1f 92           push    r1
    f7b0:       8f 93           push    r24
    f7b2:       80 91 f8 09     lds     r24, 0x09F8
    f7b6:       1f 92           push    r1
    f7b8:       8f 93           push    r24
    f7ba:       80 91 e9 09     lds     r24, 0x09E9
    f7be:       1f 92           push    r1
    f7c0:       8f 93           push    r24
    f7c2:       80 91 da 09     lds     r24, 0x09DA
    f7c6:       1f 92           push    r1
    f7c8:       8f 93           push    r24
    f7ca:       82 e3           ldi     r24, 0x32       ; 50
    f7cc:       90 e1           ldi     r25, 0x10       ; 16
    f7ce:       9f 93           push    r25
    f7d0:       8f 93           push    r24
    f7d2:       df 93           push    r29
    f7d4:       cf 93           push    r28
    f7d6:       e0 91 78 06     lds     r30, 0x0678
    f7da:       f0 91 79 06     lds     r31, 0x0679
    f7de:       09 95           icall
  if(RequiredMotors <= 4)
    f7e0:       80 91 3d 05     lds     r24, 0x053D
    f7e4:       2d b7           in      r18, 0x3d       ; 61
    f7e6:       3e b7           in      r19, 0x3e       ; 62
    f7e8:       28 5e           subi    r18, 0xE8       ; 232
    f7ea:       3f 4f           sbci    r19, 0xFF       ; 255
    f7ec:       0f b6           in      r0, 0x3f        ; 63
    f7ee:       f8 94           cli
    f7f0:       3e bf           out     0x3e, r19       ; 62
    f7f2:       0f be           out     0x3f, r0        ; 63
    f7f4:       2d bf           out     0x3d, r18       ; 61
    f7f6:       85 30           cpi     r24, 0x05       ; 5
    f7f8:       a0 f4           brcc    .+40            ; 0xf822 <Menu_Temperature+0xc2>
        {
         JetiBox_printfxy(0,1,"Temperatures    ");
    f7fa:       80 e1           ldi     r24, 0x10       ; 16
    f7fc:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    f800:       81 e2           ldi     r24, 0x21       ; 33
    f802:       90 e1           ldi     r25, 0x10       ; 16
    f804:       9f 93           push    r25
    f806:       8f 93           push    r24
    f808:       ce 01           movw    r24, r28
    f80a:       9f 93           push    r25
    f80c:       cf 93           push    r28
    f80e:       e0 91 78 06     lds     r30, 0x0678
    f812:       f0 91 79 06     lds     r31, 0x0679
    f816:       09 95           icall
    f818:       0f 90           pop     r0
    f81a:       0f 90           pop     r0
    f81c:       0f 90           pop     r0
    f81e:       0f 90           pop     r0
    f820:       1b c0           rjmp    .+54            ; 0xf858 <Menu_Temperature+0xf8>
    }
        else
    if(RequiredMotors <= 6)
    f822:       87 30           cpi     r24, 0x07       ; 7
    f824:       c8 f4           brcc    .+50            ; 0xf858 <Menu_Temperature+0xf8>
        {
         JetiBox_printfxy(8,1,"\%cC     ",0xdf);
    f826:       88 e1           ldi     r24, 0x18       ; 24
    f828:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    f82c:       1f 92           push    r1
    f82e:       8f ed           ldi     r24, 0xDF       ; 223
    f830:       8f 93           push    r24
    f832:       88 e1           ldi     r24, 0x18       ; 24
    f834:       90 e1           ldi     r25, 0x10       ; 16
    f836:       9f 93           push    r25
    f838:       8f 93           push    r24
    f83a:       8e e6           ldi     r24, 0x6E       ; 110
    f83c:       9f e0           ldi     r25, 0x0F       ; 15
    f83e:       9f 93           push    r25
    f840:       8f 93           push    r24
    f842:       e0 91 78 06     lds     r30, 0x0678
    f846:       f0 91 79 06     lds     r31, 0x0679
    f84a:       09 95           icall
    f84c:       0f 90           pop     r0
    f84e:       0f 90           pop     r0
    f850:       0f 90           pop     r0
    f852:       0f 90           pop     r0
    f854:       0f 90           pop     r0
    f856:       0f 90           pop     r0
        } 

#endif
}
    f858:       df 91           pop     r29
    f85a:       cf 91           pop     r28
    f85c:       08 95           ret

0000f85e <Menu_Battery>:

void Menu_Battery(uint8_t key)
{                       //0123456789ABCDEF
    f85e:       cf 93           push    r28
    f860:       df 93           push    r29
#if !defined (RECEIVER_SPEKTRUM_DX7EXP) && !defined (RECEIVER_SPEKTRUM_DX8EXP)
        JetiBox_printfxy(0,0,"%2i.%1iV %3i.%1iA", UBat/10, UBat%10, Capacity.ActualCurrent/10, Capacity.ActualCurrent%10);
    f862:       80 e0           ldi     r24, 0x00       ; 0
    f864:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    f868:       40 91 15 05     lds     r20, 0x0515
    f86c:       50 91 16 05     lds     r21, 0x0516
    f870:       c0 91 1a 01     lds     r28, 0x011A
    f874:       d0 91 1b 01     lds     r29, 0x011B
    f878:       e0 91 1a 01     lds     r30, 0x011A
    f87c:       f0 91 1b 01     lds     r31, 0x011B
    f880:       9a 01           movw    r18, r20
    f882:       ad ec           ldi     r26, 0xCD       ; 205
    f884:       bc ec           ldi     r27, 0xCC       ; 204
    f886:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    f88a:       9c 01           movw    r18, r24
    f88c:       36 95           lsr     r19
    f88e:       27 95           ror     r18
    f890:       36 95           lsr     r19
    f892:       27 95           ror     r18
    f894:       36 95           lsr     r19
    f896:       27 95           ror     r18
    f898:       c9 01           movw    r24, r18
    f89a:       88 0f           add     r24, r24
    f89c:       99 1f           adc     r25, r25
    f89e:       22 0f           add     r18, r18
    f8a0:       33 1f           adc     r19, r19
    f8a2:       22 0f           add     r18, r18
    f8a4:       33 1f           adc     r19, r19
    f8a6:       22 0f           add     r18, r18
    f8a8:       33 1f           adc     r19, r19
    f8aa:       28 0f           add     r18, r24
    f8ac:       39 1f           adc     r19, r25
    f8ae:       ca 01           movw    r24, r20
    f8b0:       82 1b           sub     r24, r18
    f8b2:       93 0b           sbc     r25, r19
    f8b4:       9c 01           movw    r18, r24
    f8b6:       3f 93           push    r19
    f8b8:       8f 93           push    r24
    f8ba:       9a 01           movw    r18, r20
    f8bc:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
    f8c0:       96 95           lsr     r25
    f8c2:       87 95           ror     r24
    f8c4:       96 95           lsr     r25
    f8c6:       87 95           ror     r24
    f8c8:       96 95           lsr     r25
    f8ca:       87 95           ror     r24
    f8cc:       9f 93           push    r25
    f8ce:       8f 93           push    r24
    f8d0:       2a e0           ldi     r18, 0x0A       ; 10
    f8d2:       30 e0           ldi     r19, 0x00       ; 0
    f8d4:       ce 01           movw    r24, r28
    f8d6:       b9 01           movw    r22, r18
    f8d8:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    f8dc:       9f 93           push    r25
    f8de:       8f 93           push    r24
    f8e0:       cf 01           movw    r24, r30
    f8e2:       b9 01           movw    r22, r18
    f8e4:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
    f8e8:       7f 93           push    r23
    f8ea:       6f 93           push    r22
    f8ec:       86 e0           ldi     r24, 0x06       ; 6
    f8ee:       90 e1           ldi     r25, 0x10       ; 16
    f8f0:       9f 93           push    r25
    f8f2:       8f 93           push    r24
    f8f4:       ce e6           ldi     r28, 0x6E       ; 110
    f8f6:       df e0           ldi     r29, 0x0F       ; 15
    f8f8:       df 93           push    r29
    f8fa:       cf 93           push    r28
    f8fc:       e0 91 78 06     lds     r30, 0x0678
    f900:       f0 91 79 06     lds     r31, 0x0679
    f904:       09 95           icall
        JetiBox_printfxy(0,1,"%4iW %6imAh",Capacity.ActualPower, Capacity.UsedCapacity);
    f906:       80 e1           ldi     r24, 0x10       ; 16
    f908:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    f90c:       e9 e1           ldi     r30, 0x19       ; 25
    f90e:       f5 e0           ldi     r31, 0x05       ; 5
    f910:       81 81           ldd     r24, Z+1        ; 0x01
    f912:       8f 93           push    r24
    f914:       80 81           ld      r24, Z
    f916:       8f 93           push    r24
    f918:       e7 e1           ldi     r30, 0x17       ; 23
    f91a:       f5 e0           ldi     r31, 0x05       ; 5
    f91c:       81 81           ldd     r24, Z+1        ; 0x01
    f91e:       8f 93           push    r24
    f920:       80 81           ld      r24, Z
    f922:       8f 93           push    r24
    f924:       8a ef           ldi     r24, 0xFA       ; 250
    f926:       9f e0           ldi     r25, 0x0F       ; 15
    f928:       9f 93           push    r25
    f92a:       8f 93           push    r24
    f92c:       df 93           push    r29
    f92e:       cf 93           push    r28
    f930:       e0 91 78 06     lds     r30, 0x0678
    f934:       f0 91 79 06     lds     r31, 0x0679
    f938:       09 95           icall
    f93a:       8d b7           in      r24, 0x3d       ; 61
    f93c:       9e b7           in      r25, 0x3e       ; 62
    f93e:       44 96           adiw    r24, 0x14       ; 20
    f940:       0f b6           in      r0, 0x3f        ; 63
    f942:       f8 94           cli
    f944:       9e bf           out     0x3e, r25       ; 62
    f946:       0f be           out     0x3f, r0        ; 63
    f948:       8d bf           out     0x3d, r24       ; 61
#endif
}
    f94a:       df 91           pop     r29
    f94c:       cf 91           pop     r28
    f94e:       08 95           ret

0000f950 <Magnet_Values>:

void Magnet_Values(uint8_t key)
{                       //0123456789ABCDEF
    f950:       1f 93           push    r17
    f952:       cf 93           push    r28
    f954:       df 93           push    r29
#if !defined (RECEIVER_SPEKTRUM_DX7EXP) && !defined (RECEIVER_SPEKTRUM_DX8EXP)
        JetiBox_printfxy(0,0,"Magnet:%3i%% %3i%c",EarthMagneticField, KompassValue,0xDF);
    f956:       80 e0           ldi     r24, 0x00       ; 0
    f958:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    f95c:       1f 92           push    r1
    f95e:       1f ed           ldi     r17, 0xDF       ; 223
    f960:       1f 93           push    r17
    f962:       80 91 4f 01     lds     r24, 0x014F
    f966:       8f 93           push    r24
    f968:       80 91 4e 01     lds     r24, 0x014E
    f96c:       8f 93           push    r24
    f96e:       80 91 ba 04     lds     r24, 0x04BA
    f972:       1f 92           push    r1
    f974:       8f 93           push    r24
    f976:       87 ee           ldi     r24, 0xE7       ; 231
    f978:       9f e0           ldi     r25, 0x0F       ; 15
    f97a:       9f 93           push    r25
    f97c:       8f 93           push    r24
    f97e:       ce e6           ldi     r28, 0x6E       ; 110
    f980:       df e0           ldi     r29, 0x0F       ; 15
    f982:       df 93           push    r29
    f984:       cf 93           push    r28
    f986:       e0 91 78 06     lds     r30, 0x0678
    f98a:       f0 91 79 06     lds     r31, 0x0679
    f98e:       09 95           icall
        JetiBox_printfxy(0,1,"Incli.:%3i%c (%i) ",EarthMagneticInclination, 0xDF,EarthMagneticInclinationTheoretic);
    f990:       80 e1           ldi     r24, 0x10       ; 16
    f992:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    f996:       80 91 b8 04     lds     r24, 0x04B8
    f99a:       1f 92           push    r1
    f99c:       8f 93           push    r24
    f99e:       1f 92           push    r1
    f9a0:       1f 93           push    r17
    f9a2:       80 91 b9 04     lds     r24, 0x04B9
    f9a6:       1f 92           push    r1
    f9a8:       8f 93           push    r24
    f9aa:       84 ed           ldi     r24, 0xD4       ; 212
    f9ac:       9f e0           ldi     r25, 0x0F       ; 15
    f9ae:       9f 93           push    r25
    f9b0:       8f 93           push    r24
    f9b2:       df 93           push    r29
    f9b4:       cf 93           push    r28
    f9b6:       e0 91 78 06     lds     r30, 0x0678
    f9ba:       f0 91 79 06     lds     r31, 0x0679
    f9be:       09 95           icall
    f9c0:       8d b7           in      r24, 0x3d       ; 61
    f9c2:       9e b7           in      r25, 0x3e       ; 62
    f9c4:       44 96           adiw    r24, 0x14       ; 20
    f9c6:       0f b6           in      r0, 0x3f        ; 63
    f9c8:       f8 94           cli
    f9ca:       9e bf           out     0x3e, r25       ; 62
    f9cc:       0f be           out     0x3f, r0        ; 63
    f9ce:       8d bf           out     0x3d, r24       ; 61
#endif
}
    f9d0:       df 91           pop     r29
    f9d2:       cf 91           pop     r28
    f9d4:       1f 91           pop     r17
    f9d6:       08 95           ret

0000f9d8 <Menu_WPL_A1>:


void Menu_WPL_A1(uint8_t key)
{                       //0123456789ABCDEF
    f9d8:       cf 93           push    r28
    f9da:       df 93           push    r29
#if !defined (RECEIVER_SPEKTRUM_DX7EXP) && !defined (RECEIVER_SPEKTRUM_DX8EXP)
        JetiBox_printfxy(0,0,"Load Waypoints");
    f9dc:       80 e0           ldi     r24, 0x00       ; 0
    f9de:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    f9e2:       85 ec           ldi     r24, 0xC5       ; 197
    f9e4:       9f e0           ldi     r25, 0x0F       ; 15
    f9e6:       9f 93           push    r25
    f9e8:       8f 93           push    r24
    f9ea:       ce e6           ldi     r28, 0x6E       ; 110
    f9ec:       df e0           ldi     r29, 0x0F       ; 15
    f9ee:       df 93           push    r29
    f9f0:       cf 93           push    r28
    f9f2:       e0 91 78 06     lds     r30, 0x0678
    f9f6:       f0 91 79 06     lds     r31, 0x0679
    f9fa:       09 95           icall
        JetiBox_printfxy(0,1,"(Fixed)      ");
    f9fc:       80 e1           ldi     r24, 0x10       ; 16
    f9fe:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fa02:       87 eb           ldi     r24, 0xB7       ; 183
    fa04:       9f e0           ldi     r25, 0x0F       ; 15
    fa06:       9f 93           push    r25
    fa08:       8f 93           push    r24
    fa0a:       df 93           push    r29
    fa0c:       cf 93           push    r28
    fa0e:       e0 91 78 06     lds     r30, 0x0678
    fa12:       f0 91 79 06     lds     r31, 0x0679
    fa16:       09 95           icall
    fa18:       8d b7           in      r24, 0x3d       ; 61
    fa1a:       9e b7           in      r25, 0x3e       ; 62
    fa1c:       08 96           adiw    r24, 0x08       ; 8
    fa1e:       0f b6           in      r0, 0x3f        ; 63
    fa20:       f8 94           cli
    fa22:       9e bf           out     0x3e, r25       ; 62
    fa24:       0f be           out     0x3f, r0        ; 63
    fa26:       8d bf           out     0x3d, r24       ; 61
#endif
}
    fa28:       df 91           pop     r29
    fa2a:       cf 91           pop     r28
    fa2c:       08 95           ret

0000fa2e <Menu_WPL_R1>:

void Menu_WPL_R1(uint8_t key)
{                       //0123456789ABCDEF
    fa2e:       cf 93           push    r28
    fa30:       df 93           push    r29
#if !defined (RECEIVER_SPEKTRUM_DX7EXP) && !defined (RECEIVER_SPEKTRUM_DX8EXP)
        JetiBox_printfxy(0,0,"Load Waypoints");
    fa32:       80 e0           ldi     r24, 0x00       ; 0
    fa34:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fa38:       88 ea           ldi     r24, 0xA8       ; 168
    fa3a:       9f e0           ldi     r25, 0x0F       ; 15
    fa3c:       9f 93           push    r25
    fa3e:       8f 93           push    r24
    fa40:       ce e6           ldi     r28, 0x6E       ; 110
    fa42:       df e0           ldi     r29, 0x0F       ; 15
    fa44:       df 93           push    r29
    fa46:       cf 93           push    r28
    fa48:       e0 91 78 06     lds     r30, 0x0678
    fa4c:       f0 91 79 06     lds     r31, 0x0679
    fa50:       09 95           icall
        JetiBox_printfxy(0,1,"(Relative)   ");
    fa52:       80 e1           ldi     r24, 0x10       ; 16
    fa54:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fa58:       8a e9           ldi     r24, 0x9A       ; 154
    fa5a:       9f e0           ldi     r25, 0x0F       ; 15
    fa5c:       9f 93           push    r25
    fa5e:       8f 93           push    r24
    fa60:       df 93           push    r29
    fa62:       cf 93           push    r28
    fa64:       e0 91 78 06     lds     r30, 0x0678
    fa68:       f0 91 79 06     lds     r31, 0x0679
    fa6c:       09 95           icall
    fa6e:       8d b7           in      r24, 0x3d       ; 61
    fa70:       9e b7           in      r25, 0x3e       ; 62
    fa72:       08 96           adiw    r24, 0x08       ; 8
    fa74:       0f b6           in      r0, 0x3f        ; 63
    fa76:       f8 94           cli
    fa78:       9e bf           out     0x3e, r25       ; 62
    fa7a:       0f be           out     0x3f, r0        ; 63
    fa7c:       8d bf           out     0x3d, r24       ; 61
#endif
}
    fa7e:       df 91           pop     r29
    fa80:       cf 91           pop     r28
    fa82:       08 95           ret

0000fa84 <Menu_POINT_LD>:

#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
void Menu_POINT_LD(uint8_t key)
{                       //0123456789ABCDEF
        JetiBox_printfxy(0,0,"Load singl.Point");
    fa84:       80 e0           ldi     r24, 0x00       ; 0
    fa86:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fa8a:       89 e8           ldi     r24, 0x89       ; 137
    fa8c:       9f e0           ldi     r25, 0x0F       ; 15
    fa8e:       9f 93           push    r25
    fa90:       8f 93           push    r24
    fa92:       8e e6           ldi     r24, 0x6E       ; 110
    fa94:       9f e0           ldi     r25, 0x0F       ; 15
    fa96:       9f 93           push    r25
    fa98:       8f 93           push    r24
    fa9a:       e0 91 78 06     lds     r30, 0x0678
    fa9e:       f0 91 79 06     lds     r31, 0x0679
    faa2:       09 95           icall
    faa4:       0f 90           pop     r0
    faa6:       0f 90           pop     r0
    faa8:       0f 90           pop     r0
    faaa:       0f 90           pop     r0
    faac:       08 95           ret

0000faae <Menu_POINT_SV>:
#endif

#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
void Menu_POINT_SV(uint8_t key)
{                       //0123456789ABCDEF
        JetiBox_printfxy(0,0,"Save singl.Point");
    faae:       80 e0           ldi     r24, 0x00       ; 0
    fab0:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fab4:       88 e7           ldi     r24, 0x78       ; 120
    fab6:       9f e0           ldi     r25, 0x0F       ; 15
    fab8:       9f 93           push    r25
    faba:       8f 93           push    r24
    fabc:       8e e6           ldi     r24, 0x6E       ; 110
    fabe:       9f e0           ldi     r25, 0x0F       ; 15
    fac0:       9f 93           push    r25
    fac2:       8f 93           push    r24
    fac4:       e0 91 78 06     lds     r30, 0x0678
    fac8:       f0 91 79 06     lds     r31, 0x0679
    facc:       09 95           icall
    face:       0f 90           pop     r0
    fad0:       0f 90           pop     r0
    fad2:       0f 90           pop     r0
    fad4:       0f 90           pop     r0
    fad6:       08 95           ret

0000fad8 <Menu_POINT_SV2>:
}
#endif

#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
void Menu_POINT_SV2(uint8_t key)
{                       //0123456789ABCDEF
    fad8:       1f 93           push    r17
    fada:       cf 93           push    r28
    fadc:       df 93           push    r29
    fade:       18 2f           mov     r17, r24
static unsigned char load_waypoint_tmp = 1, changed;

//  if(WPL_Name[0] == 0) JetiBox_printfxy(0,0,"Relative WPs ")
//  else JetiBox_printfxy(0,0,"Rel:%s",WPL_Name);
  JetiBox_printfxy(0,0,"Save Point:");
    fae0:       80 e0           ldi     r24, 0x00       ; 0
    fae2:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fae6:       2c e6           ldi     r18, 0x6C       ; 108
    fae8:       3f e0           ldi     r19, 0x0F       ; 15
    faea:       3f 93           push    r19
    faec:       2f 93           push    r18
    faee:       2e e6           ldi     r18, 0x6E       ; 110
    faf0:       3f e0           ldi     r19, 0x0F       ; 15
    faf2:       3f 93           push    r19
    faf4:       2f 93           push    r18
    faf6:       e0 91 78 06     lds     r30, 0x0678
    fafa:       f0 91 79 06     lds     r31, 0x0679
    fafe:       09 95           icall
  
  if(NaviData_MaxWpListIndex == 0) JetiBox_printfxy(0,1,"no SD-Card")
    fb00:       0f 90           pop     r0
    fb02:       0f 90           pop     r0
    fb04:       0f 90           pop     r0
    fb06:       0f 90           pop     r0
    fb08:       80 91 89 04     lds     r24, 0x0489
    fb0c:       81 11           cpse    r24, r1
    fb0e:       15 c0           rjmp    .+42            ; 0xfb3a <Menu_POINT_SV2+0x62>
    fb10:       80 e1           ldi     r24, 0x10       ; 16
    fb12:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fb16:       81 e6           ldi     r24, 0x61       ; 97
    fb18:       9f e0           ldi     r25, 0x0F       ; 15
    fb1a:       9f 93           push    r25
    fb1c:       8f 93           push    r24
    fb1e:       8e e6           ldi     r24, 0x6E       ; 110
    fb20:       9f e0           ldi     r25, 0x0F       ; 15
    fb22:       9f 93           push    r25
    fb24:       8f 93           push    r24
    fb26:       e0 91 78 06     lds     r30, 0x0678
    fb2a:       f0 91 79 06     lds     r31, 0x0679
    fb2e:       09 95           icall
    fb30:       0f 90           pop     r0
    fb32:       0f 90           pop     r0
    fb34:       0f 90           pop     r0
    fb36:       0f 90           pop     r0
    fb38:       ab c0           rjmp    .+342           ; 0xfc90 <Menu_POINT_SV2+0x1b8>
  else
  if(GPSInfo.SatFix != SATFIX_3D) JetiBox_printfxy(0,1,"no GPS-Fix")
    fb3a:       80 91 d9 08     lds     r24, 0x08D9
    fb3e:       83 30           cpi     r24, 0x03       ; 3
    fb40:       a9 f0           breq    .+42            ; 0xfb6c <Menu_POINT_SV2+0x94>
    fb42:       80 e1           ldi     r24, 0x10       ; 16
    fb44:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fb48:       86 e5           ldi     r24, 0x56       ; 86
    fb4a:       9f e0           ldi     r25, 0x0F       ; 15
    fb4c:       9f 93           push    r25
    fb4e:       8f 93           push    r24
    fb50:       8e e6           ldi     r24, 0x6E       ; 110
    fb52:       9f e0           ldi     r25, 0x0F       ; 15
    fb54:       9f 93           push    r25
    fb56:       8f 93           push    r24
    fb58:       e0 91 78 06     lds     r30, 0x0678
    fb5c:       f0 91 79 06     lds     r31, 0x0679
    fb60:       09 95           icall
    fb62:       0f 90           pop     r0
    fb64:       0f 90           pop     r0
    fb66:       0f 90           pop     r0
    fb68:       0f 90           pop     r0
    fb6a:       92 c0           rjmp    .+292           ; 0xfc90 <Menu_POINT_SV2+0x1b8>
  else
  {
        JetiBox_printfxy(11,0,"%2d",load_waypoint_tmp);
    fb6c:       8b e0           ldi     r24, 0x0B       ; 11
    fb6e:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fb72:       80 91 5c 01     lds     r24, 0x015C
    fb76:       1f 92           push    r1
    fb78:       8f 93           push    r24
    fb7a:       22 e5           ldi     r18, 0x52       ; 82
    fb7c:       3f e0           ldi     r19, 0x0F       ; 15
    fb7e:       3f 93           push    r19
    fb80:       2f 93           push    r18
    fb82:       ce e6           ldi     r28, 0x6E       ; 110
    fb84:       df e0           ldi     r29, 0x0F       ; 15
    fb86:       df 93           push    r29
    fb88:       cf 93           push    r28
    fb8a:       e0 91 78 06     lds     r30, 0x0678
    fb8e:       f0 91 79 06     lds     r31, 0x0679
    fb92:       09 95           icall

//      if(NaviData_WaypointNumber)     JetiBox_printfxy(8,1,"%2d/%d ",NaviData_WaypointIndex,NaviData_WaypointNumber)
//      else JetiBox_printfxy(8,1,"--/--")
        JetiBox_printfxy(0,1,"Dir:%3d Alt:%3dm",CompassCorrected,(int16_t)(HoehenWert/100))
    fb94:       80 e1           ldi     r24, 0x10       ; 16
    fb96:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fb9a:       60 91 fe 03     lds     r22, 0x03FE
    fb9e:       70 91 ff 03     lds     r23, 0x03FF
    fba2:       80 91 00 04     lds     r24, 0x0400
    fba6:       90 91 01 04     lds     r25, 0x0401
    fbaa:       24 e6           ldi     r18, 0x64       ; 100
    fbac:       30 e0           ldi     r19, 0x00       ; 0
    fbae:       40 e0           ldi     r20, 0x00       ; 0
    fbb0:       50 e0           ldi     r21, 0x00       ; 0
    fbb2:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    fbb6:       3f 93           push    r19
    fbb8:       2f 93           push    r18
    fbba:       80 91 66 06     lds     r24, 0x0666
    fbbe:       8f 93           push    r24
    fbc0:       80 91 65 06     lds     r24, 0x0665
    fbc4:       8f 93           push    r24
    fbc6:       21 e4           ldi     r18, 0x41       ; 65
    fbc8:       3f e0           ldi     r19, 0x0F       ; 15
    fbca:       3f 93           push    r19
    fbcc:       2f 93           push    r18
    fbce:       df 93           push    r29
    fbd0:       cf 93           push    r28
    fbd2:       e0 91 78 06     lds     r30, 0x0678
    fbd6:       f0 91 79 06     lds     r31, 0x0679
    fbda:       09 95           icall

    if(changed)         JetiBox_printfxy(14,0,"->")
    fbdc:       8d b7           in      r24, 0x3d       ; 61
    fbde:       9e b7           in      r25, 0x3e       ; 62
    fbe0:       0e 96           adiw    r24, 0x0e       ; 14
    fbe2:       0f b6           in      r0, 0x3f        ; 63
    fbe4:       f8 94           cli
    fbe6:       9e bf           out     0x3e, r25       ; 62
    fbe8:       0f be           out     0x3f, r0        ; 63
    fbea:       8d bf           out     0x3d, r24       ; 61
    fbec:       80 91 94 04     lds     r24, 0x0494
    fbf0:       88 23           and     r24, r24
    fbf2:       a1 f0           breq    .+40            ; 0xfc1c <Menu_POINT_SV2+0x144>
    fbf4:       8e e0           ldi     r24, 0x0E       ; 14
    fbf6:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fbfa:       8e e3           ldi     r24, 0x3E       ; 62
    fbfc:       9f e0           ldi     r25, 0x0F       ; 15
    fbfe:       9f 93           push    r25
    fc00:       8f 93           push    r24
    fc02:       ce 01           movw    r24, r28
    fc04:       9f 93           push    r25
    fc06:       cf 93           push    r28
    fc08:       e0 91 78 06     lds     r30, 0x0678
    fc0c:       f0 91 79 06     lds     r31, 0x0679
    fc10:       09 95           icall
    fc12:       0f 90           pop     r0
    fc14:       0f 90           pop     r0
    fc16:       0f 90           pop     r0
    fc18:       0f 90           pop     r0
    fc1a:       14 c0           rjmp    .+40            ; 0xfc44 <Menu_POINT_SV2+0x16c>
        else            JetiBox_printfxy(14,0,"  ");
    fc1c:       8e e0           ldi     r24, 0x0E       ; 14
    fc1e:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fc22:       8b e3           ldi     r24, 0x3B       ; 59
    fc24:       9f e0           ldi     r25, 0x0F       ; 15
    fc26:       9f 93           push    r25
    fc28:       8f 93           push    r24
    fc2a:       8e e6           ldi     r24, 0x6E       ; 110
    fc2c:       9f e0           ldi     r25, 0x0F       ; 15
    fc2e:       9f 93           push    r25
    fc30:       8f 93           push    r24
    fc32:       e0 91 78 06     lds     r30, 0x0678
    fc36:       f0 91 79 06     lds     r31, 0x0679
    fc3a:       09 95           icall
    fc3c:       0f 90           pop     r0
    fc3e:       0f 90           pop     r0
    fc40:       0f 90           pop     r0
    fc42:       0f 90           pop     r0

        if(key == JETIBOX_KEY_UP && load_waypoint_tmp < NaviData_MaxWpListIndex) { load_waypoint_tmp++; changed = 1;}
    fc44:       1f 32           cpi     r17, 0x2F       ; 47
    fc46:       69 f4           brne    .+26            ; 0xfc62 <Menu_POINT_SV2+0x18a>
    fc48:       80 91 5c 01     lds     r24, 0x015C
    fc4c:       90 91 89 04     lds     r25, 0x0489
    fc50:       89 17           cp      r24, r25
    fc52:       f0 f4           brcc    .+60            ; 0xfc90 <Menu_POINT_SV2+0x1b8>
    fc54:       8f 5f           subi    r24, 0xFF       ; 255
    fc56:       80 93 5c 01     sts     0x015C, r24
    fc5a:       81 e0           ldi     r24, 0x01       ; 1
    fc5c:       80 93 94 04     sts     0x0494, r24
    fc60:       17 c0           rjmp    .+46            ; 0xfc90 <Menu_POINT_SV2+0x1b8>
        if(key == JETIBOX_KEY_DOWN && load_waypoint_tmp > 1) { load_waypoint_tmp--; changed = 1; }
    fc62:       1f 34           cpi     r17, 0x4F       ; 79
    fc64:       59 f4           brne    .+22            ; 0xfc7c <Menu_POINT_SV2+0x1a4>
    fc66:       80 91 5c 01     lds     r24, 0x015C
    fc6a:       82 30           cpi     r24, 0x02       ; 2
    fc6c:       88 f0           brcs    .+34            ; 0xfc90 <Menu_POINT_SV2+0x1b8>
    fc6e:       81 50           subi    r24, 0x01       ; 1
    fc70:       80 93 5c 01     sts     0x015C, r24
    fc74:       81 e0           ldi     r24, 0x01       ; 1
    fc76:       80 93 94 04     sts     0x0494, r24
    fc7a:       0a c0           rjmp    .+20            ; 0xfc90 <Menu_POINT_SV2+0x1b8>

        if(key == JETIBOX_KEY_RIGHT && load_waypoint_tmp)
    fc7c:       1f 31           cpi     r17, 0x1F       ; 31
    fc7e:       41 f4           brne    .+16            ; 0xfc90 <Menu_POINT_SV2+0x1b8>
    fc80:       80 91 5c 01     lds     r24, 0x015C
    fc84:       88 23           and     r24, r24
    fc86:       21 f0           breq    .+8             ; 0xfc90 <Menu_POINT_SV2+0x1b8>
        {
         ToNC_Store_SingePoint = load_waypoint_tmp;
    fc88:       80 93 87 04     sts     0x0487, r24
         changed = 0;
    fc8c:       10 92 94 04     sts     0x0494, r1
        }
  }
}
    fc90:       df 91           pop     r29
    fc92:       cf 91           pop     r28
    fc94:       1f 91           pop     r17
    fc96:       08 95           ret

0000fc98 <Menu_POINT_LD2>:
#endif

#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
void Menu_POINT_LD2(uint8_t key)
{                       //0123456789ABCDEF
    fc98:       cf 93           push    r28
    fc9a:       c8 2f           mov     r28, r24
static unsigned char load_waypoint_tmp = 1, changed;
  
//  if(WPL_Name[0] == 0) JetiBox_printfxy(0,0,"FIX Waypoints")
//  else JetiBox_printfxy(0,0,"FIX:%s",WPL_Name);
  JetiBox_printfxy(0,0,"Load Point")
    fc9c:       80 e0           ldi     r24, 0x00       ; 0
    fc9e:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fca2:       20 e3           ldi     r18, 0x30       ; 48
    fca4:       3f e0           ldi     r19, 0x0F       ; 15
    fca6:       3f 93           push    r19
    fca8:       2f 93           push    r18
    fcaa:       2e e6           ldi     r18, 0x6E       ; 110
    fcac:       3f e0           ldi     r19, 0x0F       ; 15
    fcae:       3f 93           push    r19
    fcb0:       2f 93           push    r18
    fcb2:       e0 91 78 06     lds     r30, 0x0678
    fcb6:       f0 91 79 06     lds     r31, 0x0679
    fcba:       09 95           icall

  if(NaviData_MaxWpListIndex == 0) JetiBox_printfxy(0,1,"no SD-Card")
    fcbc:       0f 90           pop     r0
    fcbe:       0f 90           pop     r0
    fcc0:       0f 90           pop     r0
    fcc2:       0f 90           pop     r0
    fcc4:       80 91 89 04     lds     r24, 0x0489
    fcc8:       81 11           cpse    r24, r1
    fcca:       15 c0           rjmp    .+42            ; 0xfcf6 <Menu_POINT_LD2+0x5e>
    fccc:       80 e1           ldi     r24, 0x10       ; 16
    fcce:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fcd2:       85 e2           ldi     r24, 0x25       ; 37
    fcd4:       9f e0           ldi     r25, 0x0F       ; 15
    fcd6:       9f 93           push    r25
    fcd8:       8f 93           push    r24
    fcda:       8e e6           ldi     r24, 0x6E       ; 110
    fcdc:       9f e0           ldi     r25, 0x0F       ; 15
    fcde:       9f 93           push    r25
    fce0:       8f 93           push    r24
    fce2:       e0 91 78 06     lds     r30, 0x0678
    fce6:       f0 91 79 06     lds     r31, 0x0679
    fcea:       09 95           icall
    fcec:       0f 90           pop     r0
    fcee:       0f 90           pop     r0
    fcf0:       0f 90           pop     r0
    fcf2:       0f 90           pop     r0
    fcf4:       b4 c0           rjmp    .+360           ; 0xfe5e <Menu_POINT_LD2+0x1c6>
  else
  {
        JetiBox_printfxy(11,0,"%2d",load_waypoint_tmp);
    fcf6:       8b e0           ldi     r24, 0x0B       ; 11
    fcf8:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fcfc:       80 91 5b 01     lds     r24, 0x015B
    fd00:       1f 92           push    r1
    fd02:       8f 93           push    r24
    fd04:       21 e2           ldi     r18, 0x21       ; 33
    fd06:       3f e0           ldi     r19, 0x0F       ; 15
    fd08:       3f 93           push    r19
    fd0a:       2f 93           push    r18
    fd0c:       2e e6           ldi     r18, 0x6E       ; 110
    fd0e:       3f e0           ldi     r19, 0x0F       ; 15
    fd10:       3f 93           push    r19
    fd12:       2f 93           push    r18
    fd14:       e0 91 78 06     lds     r30, 0x0678
    fd18:       f0 91 79 06     lds     r31, 0x0679
    fd1c:       09 95           icall

        if(NaviData_WaypointNumber)     JetiBox_printfxy(0,1,"Dist:%3d Alt:%3d ",NaviData_TargetDistance,(int16_t)(FromNC_AltitudeSetpoint/100))
    fd1e:       0f 90           pop     r0
    fd20:       0f 90           pop     r0
    fd22:       0f 90           pop     r0
    fd24:       0f 90           pop     r0
    fd26:       0f 90           pop     r0
    fd28:       0f 90           pop     r0
    fd2a:       80 91 8c 04     lds     r24, 0x048C
    fd2e:       88 23           and     r24, r24
    fd30:       79 f1           breq    .+94            ; 0xfd90 <Menu_POINT_LD2+0xf8>
    fd32:       80 e1           ldi     r24, 0x10       ; 16
    fd34:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fd38:       60 91 f4 03     lds     r22, 0x03F4
    fd3c:       70 91 f5 03     lds     r23, 0x03F5
    fd40:       80 91 f6 03     lds     r24, 0x03F6
    fd44:       90 91 f7 03     lds     r25, 0x03F7
    fd48:       24 e6           ldi     r18, 0x64       ; 100
    fd4a:       30 e0           ldi     r19, 0x00       ; 0
    fd4c:       40 e0           ldi     r20, 0x00       ; 0
    fd4e:       50 e0           ldi     r21, 0x00       ; 0
    fd50:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
    fd54:       3f 93           push    r19
    fd56:       2f 93           push    r18
    fd58:       80 91 86 04     lds     r24, 0x0486
    fd5c:       8f 93           push    r24
    fd5e:       80 91 85 04     lds     r24, 0x0485
    fd62:       8f 93           push    r24
    fd64:       8f e0           ldi     r24, 0x0F       ; 15
    fd66:       9f e0           ldi     r25, 0x0F       ; 15
    fd68:       9f 93           push    r25
    fd6a:       8f 93           push    r24
    fd6c:       8e e6           ldi     r24, 0x6E       ; 110
    fd6e:       9f e0           ldi     r25, 0x0F       ; 15
    fd70:       9f 93           push    r25
    fd72:       8f 93           push    r24
    fd74:       e0 91 78 06     lds     r30, 0x0678
    fd78:       f0 91 79 06     lds     r31, 0x0679
    fd7c:       09 95           icall
    fd7e:       8d b7           in      r24, 0x3d       ; 61
    fd80:       9e b7           in      r25, 0x3e       ; 62
    fd82:       08 96           adiw    r24, 0x08       ; 8
    fd84:       0f b6           in      r0, 0x3f        ; 63
    fd86:       f8 94           cli
    fd88:       9e bf           out     0x3e, r25       ; 62
    fd8a:       0f be           out     0x3f, r0        ; 63
    fd8c:       8d bf           out     0x3d, r24       ; 61
    fd8e:       14 c0           rjmp    .+40            ; 0xfdb8 <Menu_POINT_LD2+0x120>
        else JetiBox_printfxy(8,1,"                ");
    fd90:       88 e1           ldi     r24, 0x18       ; 24
    fd92:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fd96:       8e ef           ldi     r24, 0xFE       ; 254
    fd98:       9e e0           ldi     r25, 0x0E       ; 14
    fd9a:       9f 93           push    r25
    fd9c:       8f 93           push    r24
    fd9e:       8e e6           ldi     r24, 0x6E       ; 110
    fda0:       9f e0           ldi     r25, 0x0F       ; 15
    fda2:       9f 93           push    r25
    fda4:       8f 93           push    r24
    fda6:       e0 91 78 06     lds     r30, 0x0678
    fdaa:       f0 91 79 06     lds     r31, 0x0679
    fdae:       09 95           icall
    fdb0:       0f 90           pop     r0
    fdb2:       0f 90           pop     r0
    fdb4:       0f 90           pop     r0
    fdb6:       0f 90           pop     r0
        
    if(changed)         JetiBox_printfxy(14,0,"->")
    fdb8:       80 91 93 04     lds     r24, 0x0493
    fdbc:       88 23           and     r24, r24
    fdbe:       a9 f0           breq    .+42            ; 0xfdea <Menu_POINT_LD2+0x152>
    fdc0:       8e e0           ldi     r24, 0x0E       ; 14
    fdc2:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fdc6:       8b ef           ldi     r24, 0xFB       ; 251
    fdc8:       9e e0           ldi     r25, 0x0E       ; 14
    fdca:       9f 93           push    r25
    fdcc:       8f 93           push    r24
    fdce:       8e e6           ldi     r24, 0x6E       ; 110
    fdd0:       9f e0           ldi     r25, 0x0F       ; 15
    fdd2:       9f 93           push    r25
    fdd4:       8f 93           push    r24
    fdd6:       e0 91 78 06     lds     r30, 0x0678
    fdda:       f0 91 79 06     lds     r31, 0x0679
    fdde:       09 95           icall
    fde0:       0f 90           pop     r0
    fde2:       0f 90           pop     r0
    fde4:       0f 90           pop     r0
    fde6:       0f 90           pop     r0
    fde8:       14 c0           rjmp    .+40            ; 0xfe12 <Menu_POINT_LD2+0x17a>
        else            JetiBox_printfxy(14,0,"  ");
    fdea:       8e e0           ldi     r24, 0x0E       ; 14
    fdec:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fdf0:       88 ef           ldi     r24, 0xF8       ; 248
    fdf2:       9e e0           ldi     r25, 0x0E       ; 14
    fdf4:       9f 93           push    r25
    fdf6:       8f 93           push    r24
    fdf8:       8e e6           ldi     r24, 0x6E       ; 110
    fdfa:       9f e0           ldi     r25, 0x0F       ; 15
    fdfc:       9f 93           push    r25
    fdfe:       8f 93           push    r24
    fe00:       e0 91 78 06     lds     r30, 0x0678
    fe04:       f0 91 79 06     lds     r31, 0x0679
    fe08:       09 95           icall
    fe0a:       0f 90           pop     r0
    fe0c:       0f 90           pop     r0
    fe0e:       0f 90           pop     r0
    fe10:       0f 90           pop     r0

        if(key == JETIBOX_KEY_UP && load_waypoint_tmp < NaviData_MaxWpListIndex) { load_waypoint_tmp++; changed = 1;}
    fe12:       cf 32           cpi     r28, 0x2F       ; 47
    fe14:       69 f4           brne    .+26            ; 0xfe30 <Menu_POINT_LD2+0x198>
    fe16:       80 91 5b 01     lds     r24, 0x015B
    fe1a:       90 91 89 04     lds     r25, 0x0489
    fe1e:       89 17           cp      r24, r25
    fe20:       f0 f4           brcc    .+60            ; 0xfe5e <Menu_POINT_LD2+0x1c6>
    fe22:       8f 5f           subi    r24, 0xFF       ; 255
    fe24:       80 93 5b 01     sts     0x015B, r24
    fe28:       81 e0           ldi     r24, 0x01       ; 1
    fe2a:       80 93 93 04     sts     0x0493, r24
    fe2e:       17 c0           rjmp    .+46            ; 0xfe5e <Menu_POINT_LD2+0x1c6>
        if(key == JETIBOX_KEY_DOWN && load_waypoint_tmp > 1) { load_waypoint_tmp--; changed = 1; }
    fe30:       cf 34           cpi     r28, 0x4F       ; 79
    fe32:       59 f4           brne    .+22            ; 0xfe4a <Menu_POINT_LD2+0x1b2>
    fe34:       80 91 5b 01     lds     r24, 0x015B
    fe38:       82 30           cpi     r24, 0x02       ; 2
    fe3a:       88 f0           brcs    .+34            ; 0xfe5e <Menu_POINT_LD2+0x1c6>
    fe3c:       81 50           subi    r24, 0x01       ; 1
    fe3e:       80 93 5b 01     sts     0x015B, r24
    fe42:       81 e0           ldi     r24, 0x01       ; 1
    fe44:       80 93 93 04     sts     0x0493, r24
    fe48:       0a c0           rjmp    .+20            ; 0xfe5e <Menu_POINT_LD2+0x1c6>

        if(key == JETIBOX_KEY_RIGHT && load_waypoint_tmp)
    fe4a:       cf 31           cpi     r28, 0x1F       ; 31
    fe4c:       41 f4           brne    .+16            ; 0xfe5e <Menu_POINT_LD2+0x1c6>
    fe4e:       80 91 5b 01     lds     r24, 0x015B
    fe52:       88 23           and     r24, r24
    fe54:       21 f0           breq    .+8             ; 0xfe5e <Menu_POINT_LD2+0x1c6>
        {
         ToNC_Load_SingePoint = load_waypoint_tmp;
    fe56:       80 93 88 04     sts     0x0488, r24
         changed = 0;
    fe5a:       10 92 93 04     sts     0x0493, r1
        }
  }
}
    fe5e:       cf 91           pop     r28
    fe60:       08 95           ret

0000fe62 <Menu_WPL_A2>:
#endif


void Menu_WPL_A2(uint8_t key)
{                       //0123456789ABCDEF
    fe62:       cf 93           push    r28
    fe64:       c8 2f           mov     r28, r24
#if !defined (RECEIVER_SPEKTRUM_DX7EXP) && !defined (RECEIVER_SPEKTRUM_DX8EXP)
static unsigned char load_waypoint_tmp = 1, changed;
  
  if(WPL_Name[0] == 0) JetiBox_printfxy(0,0,"FIX Waypoints")
    fe66:       80 91 d2 06     lds     r24, 0x06D2
    fe6a:       81 11           cpse    r24, r1
    fe6c:       14 c0           rjmp    .+40            ; 0xfe96 <Menu_WPL_A2+0x34>
    fe6e:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fe72:       2a ee           ldi     r18, 0xEA       ; 234
    fe74:       3e e0           ldi     r19, 0x0E       ; 14
    fe76:       3f 93           push    r19
    fe78:       2f 93           push    r18
    fe7a:       2e e6           ldi     r18, 0x6E       ; 110
    fe7c:       3f e0           ldi     r19, 0x0F       ; 15
    fe7e:       3f 93           push    r19
    fe80:       2f 93           push    r18
    fe82:       e0 91 78 06     lds     r30, 0x0678
    fe86:       f0 91 79 06     lds     r31, 0x0679
    fe8a:       09 95           icall
    fe8c:       0f 90           pop     r0
    fe8e:       0f 90           pop     r0
    fe90:       0f 90           pop     r0
    fe92:       0f 90           pop     r0
    fe94:       1a c0           rjmp    .+52            ; 0xfeca <Menu_WPL_A2+0x68>
  else JetiBox_printfxy(0,0,"FIX:%s",WPL_Name);
    fe96:       80 e0           ldi     r24, 0x00       ; 0
    fe98:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fe9c:       22 ed           ldi     r18, 0xD2       ; 210
    fe9e:       36 e0           ldi     r19, 0x06       ; 6
    fea0:       3f 93           push    r19
    fea2:       2f 93           push    r18
    fea4:       23 ee           ldi     r18, 0xE3       ; 227
    fea6:       3e e0           ldi     r19, 0x0E       ; 14
    fea8:       3f 93           push    r19
    feaa:       2f 93           push    r18
    feac:       2e e6           ldi     r18, 0x6E       ; 110
    feae:       3f e0           ldi     r19, 0x0F       ; 15
    feb0:       3f 93           push    r19
    feb2:       2f 93           push    r18
    feb4:       e0 91 78 06     lds     r30, 0x0678
    feb8:       f0 91 79 06     lds     r31, 0x0679
    febc:       09 95           icall
    febe:       0f 90           pop     r0
    fec0:       0f 90           pop     r0
    fec2:       0f 90           pop     r0
    fec4:       0f 90           pop     r0
    fec6:       0f 90           pop     r0
    fec8:       0f 90           pop     r0

  if(NaviData_MaxWpListIndex == 0) JetiBox_printfxy(0,1,"no SD-Card")
    feca:       80 91 89 04     lds     r24, 0x0489
    fece:       81 11           cpse    r24, r1
    fed0:       15 c0           rjmp    .+42            ; 0xfefc <Menu_WPL_A2+0x9a>
    fed2:       80 e1           ldi     r24, 0x10       ; 16
    fed4:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    fed8:       88 ed           ldi     r24, 0xD8       ; 216
    feda:       9e e0           ldi     r25, 0x0E       ; 14
    fedc:       9f 93           push    r25
    fede:       8f 93           push    r24
    fee0:       8e e6           ldi     r24, 0x6E       ; 110
    fee2:       9f e0           ldi     r25, 0x0F       ; 15
    fee4:       9f 93           push    r25
    fee6:       8f 93           push    r24
    fee8:       e0 91 78 06     lds     r30, 0x0678
    feec:       f0 91 79 06     lds     r31, 0x0679
    fef0:       09 95           icall
    fef2:       0f 90           pop     r0
    fef4:       0f 90           pop     r0
    fef6:       0f 90           pop     r0
    fef8:       0f 90           pop     r0
    fefa:       a6 c0           rjmp    .+332           ; 0x10048 <Menu_WPL_A2+0x1e6>
  else
  {
        JetiBox_printfxy(0,1,"#%2d WP:",load_waypoint_tmp);
    fefc:       80 e1           ldi     r24, 0x10       ; 16
    fefe:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    ff02:       80 91 5a 01     lds     r24, 0x015A
    ff06:       1f 92           push    r1
    ff08:       8f 93           push    r24
    ff0a:       2f ec           ldi     r18, 0xCF       ; 207
    ff0c:       3e e0           ldi     r19, 0x0E       ; 14
    ff0e:       3f 93           push    r19
    ff10:       2f 93           push    r18
    ff12:       2e e6           ldi     r18, 0x6E       ; 110
    ff14:       3f e0           ldi     r19, 0x0F       ; 15
    ff16:       3f 93           push    r19
    ff18:       2f 93           push    r18
    ff1a:       e0 91 78 06     lds     r30, 0x0678
    ff1e:       f0 91 79 06     lds     r31, 0x0679
    ff22:       09 95           icall
        if(NaviData_WaypointNumber)     JetiBox_printfxy(8,1,"%2d/%d ",NaviData_WaypointIndex,NaviData_WaypointNumber)
    ff24:       0f 90           pop     r0
    ff26:       0f 90           pop     r0
    ff28:       0f 90           pop     r0
    ff2a:       0f 90           pop     r0
    ff2c:       0f 90           pop     r0
    ff2e:       0f 90           pop     r0
    ff30:       80 91 8c 04     lds     r24, 0x048C
    ff34:       88 23           and     r24, r24
    ff36:       09 f1           breq    .+66            ; 0xff7a <Menu_WPL_A2+0x118>
    ff38:       88 e1           ldi     r24, 0x18       ; 24
    ff3a:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    ff3e:       80 91 8c 04     lds     r24, 0x048C
    ff42:       1f 92           push    r1
    ff44:       8f 93           push    r24
    ff46:       80 91 8d 04     lds     r24, 0x048D
    ff4a:       1f 92           push    r1
    ff4c:       8f 93           push    r24
    ff4e:       87 ec           ldi     r24, 0xC7       ; 199
    ff50:       9e e0           ldi     r25, 0x0E       ; 14
    ff52:       9f 93           push    r25
    ff54:       8f 93           push    r24
    ff56:       8e e6           ldi     r24, 0x6E       ; 110
    ff58:       9f e0           ldi     r25, 0x0F       ; 15
    ff5a:       9f 93           push    r25
    ff5c:       8f 93           push    r24
    ff5e:       e0 91 78 06     lds     r30, 0x0678
    ff62:       f0 91 79 06     lds     r31, 0x0679
    ff66:       09 95           icall
    ff68:       8d b7           in      r24, 0x3d       ; 61
    ff6a:       9e b7           in      r25, 0x3e       ; 62
    ff6c:       08 96           adiw    r24, 0x08       ; 8
    ff6e:       0f b6           in      r0, 0x3f        ; 63
    ff70:       f8 94           cli
    ff72:       9e bf           out     0x3e, r25       ; 62
    ff74:       0f be           out     0x3f, r0        ; 63
    ff76:       8d bf           out     0x3d, r24       ; 61
    ff78:       14 c0           rjmp    .+40            ; 0xffa2 <Menu_WPL_A2+0x140>
        else JetiBox_printfxy(8,1,"--/--")
    ff7a:       88 e1           ldi     r24, 0x18       ; 24
    ff7c:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    ff80:       81 ec           ldi     r24, 0xC1       ; 193
    ff82:       9e e0           ldi     r25, 0x0E       ; 14
    ff84:       9f 93           push    r25
    ff86:       8f 93           push    r24
    ff88:       8e e6           ldi     r24, 0x6E       ; 110
    ff8a:       9f e0           ldi     r25, 0x0F       ; 15
    ff8c:       9f 93           push    r25
    ff8e:       8f 93           push    r24
    ff90:       e0 91 78 06     lds     r30, 0x0678
    ff94:       f0 91 79 06     lds     r31, 0x0679
    ff98:       09 95           icall
    ff9a:       0f 90           pop     r0
    ff9c:       0f 90           pop     r0
    ff9e:       0f 90           pop     r0
    ffa0:       0f 90           pop     r0
        
    if(changed)         JetiBox_printfxy(14,1,"->")
    ffa2:       80 91 92 04     lds     r24, 0x0492
    ffa6:       88 23           and     r24, r24
    ffa8:       a9 f0           breq    .+42            ; 0xffd4 <Menu_WPL_A2+0x172>
    ffaa:       8e e1           ldi     r24, 0x1E       ; 30
    ffac:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    ffb0:       8e eb           ldi     r24, 0xBE       ; 190
    ffb2:       9e e0           ldi     r25, 0x0E       ; 14
    ffb4:       9f 93           push    r25
    ffb6:       8f 93           push    r24
    ffb8:       8e e6           ldi     r24, 0x6E       ; 110
    ffba:       9f e0           ldi     r25, 0x0F       ; 15
    ffbc:       9f 93           push    r25
    ffbe:       8f 93           push    r24
    ffc0:       e0 91 78 06     lds     r30, 0x0678
    ffc4:       f0 91 79 06     lds     r31, 0x0679
    ffc8:       09 95           icall
    ffca:       0f 90           pop     r0
    ffcc:       0f 90           pop     r0
    ffce:       0f 90           pop     r0
    ffd0:       0f 90           pop     r0
    ffd2:       14 c0           rjmp    .+40            ; 0xfffc <Menu_WPL_A2+0x19a>
        else            JetiBox_printfxy(14,1,"  ");
    ffd4:       8e e1           ldi     r24, 0x1E       ; 30
    ffd6:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
    ffda:       8b eb           ldi     r24, 0xBB       ; 187
    ffdc:       9e e0           ldi     r25, 0x0E       ; 14
    ffde:       9f 93           push    r25
    ffe0:       8f 93           push    r24
    ffe2:       8e e6           ldi     r24, 0x6E       ; 110
    ffe4:       9f e0           ldi     r25, 0x0F       ; 15
    ffe6:       9f 93           push    r25
    ffe8:       8f 93           push    r24
    ffea:       e0 91 78 06     lds     r30, 0x0678
    ffee:       f0 91 79 06     lds     r31, 0x0679
    fff2:       09 95           icall
    fff4:       0f 90           pop     r0
    fff6:       0f 90           pop     r0
    fff8:       0f 90           pop     r0
    fffa:       0f 90           pop     r0

        if(key == JETIBOX_KEY_UP && load_waypoint_tmp < NaviData_MaxWpListIndex) { load_waypoint_tmp++; changed = 1;}
    fffc:       cf 32           cpi     r28, 0x2F       ; 47
    fffe:       69 f4           brne    .+26            ; 0x1001a <Menu_WPL_A2+0x1b8>
   10000:       80 91 5a 01     lds     r24, 0x015A
   10004:       90 91 89 04     lds     r25, 0x0489
   10008:       89 17           cp      r24, r25
   1000a:       f0 f4           brcc    .+60            ; 0x10048 <Menu_WPL_A2+0x1e6>
   1000c:       8f 5f           subi    r24, 0xFF       ; 255
   1000e:       80 93 5a 01     sts     0x015A, r24
   10012:       81 e0           ldi     r24, 0x01       ; 1
   10014:       80 93 92 04     sts     0x0492, r24
   10018:       17 c0           rjmp    .+46            ; 0x10048 <Menu_WPL_A2+0x1e6>
        if(key == JETIBOX_KEY_DOWN && load_waypoint_tmp > 1) { load_waypoint_tmp--; changed = 1; }
   1001a:       cf 34           cpi     r28, 0x4F       ; 79
   1001c:       59 f4           brne    .+22            ; 0x10034 <Menu_WPL_A2+0x1d2>
   1001e:       80 91 5a 01     lds     r24, 0x015A
   10022:       82 30           cpi     r24, 0x02       ; 2
   10024:       88 f0           brcs    .+34            ; 0x10048 <Menu_WPL_A2+0x1e6>
   10026:       81 50           subi    r24, 0x01       ; 1
   10028:       80 93 5a 01     sts     0x015A, r24
   1002c:       81 e0           ldi     r24, 0x01       ; 1
   1002e:       80 93 92 04     sts     0x0492, r24
   10032:       0a c0           rjmp    .+20            ; 0x10048 <Menu_WPL_A2+0x1e6>

        if(key == JETIBOX_KEY_RIGHT && load_waypoint_tmp)
   10034:       cf 31           cpi     r28, 0x1F       ; 31
   10036:       41 f4           brne    .+16            ; 0x10048 <Menu_WPL_A2+0x1e6>
   10038:       80 91 5a 01     lds     r24, 0x015A
   1003c:       88 23           and     r24, r24
   1003e:       21 f0           breq    .+8             ; 0x10048 <Menu_WPL_A2+0x1e6>
        {
         ToNC_Load_WP_List = load_waypoint_tmp;
   10040:       80 93 8a 04     sts     0x048A, r24
         changed = 0;
   10044:       10 92 92 04     sts     0x0492, r1
        }
  }
#endif
}
   10048:       cf 91           pop     r28
   1004a:       08 95           ret

0001004c <Menu_WPL_R2>:

void Menu_WPL_R2(uint8_t key)
{                       //0123456789ABCDEF
   1004c:       cf 93           push    r28
   1004e:       c8 2f           mov     r28, r24
#if !defined (RECEIVER_SPEKTRUM_DX7EXP) && !defined (RECEIVER_SPEKTRUM_DX8EXP)
static unsigned char load_waypoint_tmp = 1, changed;

  if(WPL_Name[0] == 0) JetiBox_printfxy(0,0,"Relative WPs ")
   10050:       80 91 d2 06     lds     r24, 0x06D2
   10054:       81 11           cpse    r24, r1
   10056:       14 c0           rjmp    .+40            ; 0x10080 <Menu_WPL_R2+0x34>
   10058:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   1005c:       2d ea           ldi     r18, 0xAD       ; 173
   1005e:       3e e0           ldi     r19, 0x0E       ; 14
   10060:       3f 93           push    r19
   10062:       2f 93           push    r18
   10064:       2e e6           ldi     r18, 0x6E       ; 110
   10066:       3f e0           ldi     r19, 0x0F       ; 15
   10068:       3f 93           push    r19
   1006a:       2f 93           push    r18
   1006c:       e0 91 78 06     lds     r30, 0x0678
   10070:       f0 91 79 06     lds     r31, 0x0679
   10074:       09 95           icall
   10076:       0f 90           pop     r0
   10078:       0f 90           pop     r0
   1007a:       0f 90           pop     r0
   1007c:       0f 90           pop     r0
   1007e:       1a c0           rjmp    .+52            ; 0x100b4 <Menu_WPL_R2+0x68>
  else JetiBox_printfxy(0,0,"Rel:%s",WPL_Name);
   10080:       80 e0           ldi     r24, 0x00       ; 0
   10082:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   10086:       22 ed           ldi     r18, 0xD2       ; 210
   10088:       36 e0           ldi     r19, 0x06       ; 6
   1008a:       3f 93           push    r19
   1008c:       2f 93           push    r18
   1008e:       26 ea           ldi     r18, 0xA6       ; 166
   10090:       3e e0           ldi     r19, 0x0E       ; 14
   10092:       3f 93           push    r19
   10094:       2f 93           push    r18
   10096:       2e e6           ldi     r18, 0x6E       ; 110
   10098:       3f e0           ldi     r19, 0x0F       ; 15
   1009a:       3f 93           push    r19
   1009c:       2f 93           push    r18
   1009e:       e0 91 78 06     lds     r30, 0x0678
   100a2:       f0 91 79 06     lds     r31, 0x0679
   100a6:       09 95           icall
   100a8:       0f 90           pop     r0
   100aa:       0f 90           pop     r0
   100ac:       0f 90           pop     r0
   100ae:       0f 90           pop     r0
   100b0:       0f 90           pop     r0
   100b2:       0f 90           pop     r0

  if(NaviData_MaxWpListIndex == 0) JetiBox_printfxy(0,1,"no SD-Card")
   100b4:       80 91 89 04     lds     r24, 0x0489
   100b8:       81 11           cpse    r24, r1
   100ba:       15 c0           rjmp    .+42            ; 0x100e6 <Menu_WPL_R2+0x9a>
   100bc:       80 e1           ldi     r24, 0x10       ; 16
   100be:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   100c2:       8b e9           ldi     r24, 0x9B       ; 155
   100c4:       9e e0           ldi     r25, 0x0E       ; 14
   100c6:       9f 93           push    r25
   100c8:       8f 93           push    r24
   100ca:       8e e6           ldi     r24, 0x6E       ; 110
   100cc:       9f e0           ldi     r25, 0x0F       ; 15
   100ce:       9f 93           push    r25
   100d0:       8f 93           push    r24
   100d2:       e0 91 78 06     lds     r30, 0x0678
   100d6:       f0 91 79 06     lds     r31, 0x0679
   100da:       09 95           icall
   100dc:       0f 90           pop     r0
   100de:       0f 90           pop     r0
   100e0:       0f 90           pop     r0
   100e2:       0f 90           pop     r0
   100e4:       c0 c0           rjmp    .+384           ; 0x10266 <Menu_WPL_R2+0x21a>
  else
  if(GPSInfo.SatFix != SATFIX_3D) JetiBox_printfxy(0,1,"no GPS-Fix")
   100e6:       80 91 d9 08     lds     r24, 0x08D9
   100ea:       83 30           cpi     r24, 0x03       ; 3
   100ec:       a9 f0           breq    .+42            ; 0x10118 <Menu_WPL_R2+0xcc>
   100ee:       80 e1           ldi     r24, 0x10       ; 16
   100f0:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   100f4:       80 e9           ldi     r24, 0x90       ; 144
   100f6:       9e e0           ldi     r25, 0x0E       ; 14
   100f8:       9f 93           push    r25
   100fa:       8f 93           push    r24
   100fc:       8e e6           ldi     r24, 0x6E       ; 110
   100fe:       9f e0           ldi     r25, 0x0F       ; 15
   10100:       9f 93           push    r25
   10102:       8f 93           push    r24
   10104:       e0 91 78 06     lds     r30, 0x0678
   10108:       f0 91 79 06     lds     r31, 0x0679
   1010c:       09 95           icall
   1010e:       0f 90           pop     r0
   10110:       0f 90           pop     r0
   10112:       0f 90           pop     r0
   10114:       0f 90           pop     r0
   10116:       a7 c0           rjmp    .+334           ; 0x10266 <Menu_WPL_R2+0x21a>
  else
  {
        JetiBox_printfxy(0,1,"#%2d WPs:",load_waypoint_tmp);
   10118:       80 e1           ldi     r24, 0x10       ; 16
   1011a:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   1011e:       80 91 59 01     lds     r24, 0x0159
   10122:       1f 92           push    r1
   10124:       8f 93           push    r24
   10126:       86 e8           ldi     r24, 0x86       ; 134
   10128:       9e e0           ldi     r25, 0x0E       ; 14
   1012a:       9f 93           push    r25
   1012c:       8f 93           push    r24
   1012e:       2e e6           ldi     r18, 0x6E       ; 110
   10130:       3f e0           ldi     r19, 0x0F       ; 15
   10132:       3f 93           push    r19
   10134:       2f 93           push    r18
   10136:       e0 91 78 06     lds     r30, 0x0678
   1013a:       f0 91 79 06     lds     r31, 0x0679
   1013e:       09 95           icall
        if(NaviData_WaypointNumber)     JetiBox_printfxy(8,1,"%2d/%d ",NaviData_WaypointIndex,NaviData_WaypointNumber)
   10140:       0f 90           pop     r0
   10142:       0f 90           pop     r0
   10144:       0f 90           pop     r0
   10146:       0f 90           pop     r0
   10148:       0f 90           pop     r0
   1014a:       0f 90           pop     r0
   1014c:       80 91 8c 04     lds     r24, 0x048C
   10150:       88 23           and     r24, r24
   10152:       09 f1           breq    .+66            ; 0x10196 <Menu_WPL_R2+0x14a>
   10154:       88 e1           ldi     r24, 0x18       ; 24
   10156:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   1015a:       80 91 8c 04     lds     r24, 0x048C
   1015e:       1f 92           push    r1
   10160:       8f 93           push    r24
   10162:       80 91 8d 04     lds     r24, 0x048D
   10166:       1f 92           push    r1
   10168:       8f 93           push    r24
   1016a:       8e e7           ldi     r24, 0x7E       ; 126
   1016c:       9e e0           ldi     r25, 0x0E       ; 14
   1016e:       9f 93           push    r25
   10170:       8f 93           push    r24
   10172:       8e e6           ldi     r24, 0x6E       ; 110
   10174:       9f e0           ldi     r25, 0x0F       ; 15
   10176:       9f 93           push    r25
   10178:       8f 93           push    r24
   1017a:       e0 91 78 06     lds     r30, 0x0678
   1017e:       f0 91 79 06     lds     r31, 0x0679
   10182:       09 95           icall
   10184:       8d b7           in      r24, 0x3d       ; 61
   10186:       9e b7           in      r25, 0x3e       ; 62
   10188:       08 96           adiw    r24, 0x08       ; 8
   1018a:       0f b6           in      r0, 0x3f        ; 63
   1018c:       f8 94           cli
   1018e:       9e bf           out     0x3e, r25       ; 62
   10190:       0f be           out     0x3f, r0        ; 63
   10192:       8d bf           out     0x3d, r24       ; 61
   10194:       14 c0           rjmp    .+40            ; 0x101be <Menu_WPL_R2+0x172>
        else JetiBox_printfxy(8,1,"--/--")
   10196:       88 e1           ldi     r24, 0x18       ; 24
   10198:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   1019c:       88 e7           ldi     r24, 0x78       ; 120
   1019e:       9e e0           ldi     r25, 0x0E       ; 14
   101a0:       9f 93           push    r25
   101a2:       8f 93           push    r24
   101a4:       8e e6           ldi     r24, 0x6E       ; 110
   101a6:       9f e0           ldi     r25, 0x0F       ; 15
   101a8:       9f 93           push    r25
   101aa:       8f 93           push    r24
   101ac:       e0 91 78 06     lds     r30, 0x0678
   101b0:       f0 91 79 06     lds     r31, 0x0679
   101b4:       09 95           icall
   101b6:       0f 90           pop     r0
   101b8:       0f 90           pop     r0
   101ba:       0f 90           pop     r0
   101bc:       0f 90           pop     r0

    if(changed)         JetiBox_printfxy(14,1,"->")
   101be:       80 91 91 04     lds     r24, 0x0491
   101c2:       88 23           and     r24, r24
   101c4:       a9 f0           breq    .+42            ; 0x101f0 <Menu_WPL_R2+0x1a4>
   101c6:       8e e1           ldi     r24, 0x1E       ; 30
   101c8:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   101cc:       85 e7           ldi     r24, 0x75       ; 117
   101ce:       9e e0           ldi     r25, 0x0E       ; 14
   101d0:       9f 93           push    r25
   101d2:       8f 93           push    r24
   101d4:       8e e6           ldi     r24, 0x6E       ; 110
   101d6:       9f e0           ldi     r25, 0x0F       ; 15
   101d8:       9f 93           push    r25
   101da:       8f 93           push    r24
   101dc:       e0 91 78 06     lds     r30, 0x0678
   101e0:       f0 91 79 06     lds     r31, 0x0679
   101e4:       09 95           icall
   101e6:       0f 90           pop     r0
   101e8:       0f 90           pop     r0
   101ea:       0f 90           pop     r0
   101ec:       0f 90           pop     r0
   101ee:       14 c0           rjmp    .+40            ; 0x10218 <Menu_WPL_R2+0x1cc>
        else            JetiBox_printfxy(14,1,"  ");
   101f0:       8e e1           ldi     r24, 0x1E       ; 30
   101f2:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   101f6:       82 e7           ldi     r24, 0x72       ; 114
   101f8:       9e e0           ldi     r25, 0x0E       ; 14
   101fa:       9f 93           push    r25
   101fc:       8f 93           push    r24
   101fe:       8e e6           ldi     r24, 0x6E       ; 110
   10200:       9f e0           ldi     r25, 0x0F       ; 15
   10202:       9f 93           push    r25
   10204:       8f 93           push    r24
   10206:       e0 91 78 06     lds     r30, 0x0678
   1020a:       f0 91 79 06     lds     r31, 0x0679
   1020e:       09 95           icall
   10210:       0f 90           pop     r0
   10212:       0f 90           pop     r0
   10214:       0f 90           pop     r0
   10216:       0f 90           pop     r0

        if(key == JETIBOX_KEY_UP && load_waypoint_tmp < NaviData_MaxWpListIndex) { load_waypoint_tmp++; changed = 1;}
   10218:       cf 32           cpi     r28, 0x2F       ; 47
   1021a:       69 f4           brne    .+26            ; 0x10236 <Menu_WPL_R2+0x1ea>
   1021c:       80 91 59 01     lds     r24, 0x0159
   10220:       90 91 89 04     lds     r25, 0x0489
   10224:       89 17           cp      r24, r25
   10226:       f8 f4           brcc    .+62            ; 0x10266 <Menu_WPL_R2+0x21a>
   10228:       8f 5f           subi    r24, 0xFF       ; 255
   1022a:       80 93 59 01     sts     0x0159, r24
   1022e:       81 e0           ldi     r24, 0x01       ; 1
   10230:       80 93 91 04     sts     0x0491, r24
   10234:       18 c0           rjmp    .+48            ; 0x10266 <Menu_WPL_R2+0x21a>
        if(key == JETIBOX_KEY_DOWN && load_waypoint_tmp > 1) { load_waypoint_tmp--; changed = 1; }
   10236:       cf 34           cpi     r28, 0x4F       ; 79
   10238:       59 f4           brne    .+22            ; 0x10250 <Menu_WPL_R2+0x204>
   1023a:       80 91 59 01     lds     r24, 0x0159
   1023e:       82 30           cpi     r24, 0x02       ; 2
   10240:       90 f0           brcs    .+36            ; 0x10266 <Menu_WPL_R2+0x21a>
   10242:       81 50           subi    r24, 0x01       ; 1
   10244:       80 93 59 01     sts     0x0159, r24
   10248:       81 e0           ldi     r24, 0x01       ; 1
   1024a:       80 93 91 04     sts     0x0491, r24
   1024e:       0b c0           rjmp    .+22            ; 0x10266 <Menu_WPL_R2+0x21a>

        if(key == JETIBOX_KEY_RIGHT && load_waypoint_tmp)
   10250:       cf 31           cpi     r28, 0x1F       ; 31
   10252:       49 f4           brne    .+18            ; 0x10266 <Menu_WPL_R2+0x21a>
   10254:       80 91 59 01     lds     r24, 0x0159
   10258:       88 23           and     r24, r24
   1025a:       29 f0           breq    .+10            ; 0x10266 <Menu_WPL_R2+0x21a>
        {
         ToNC_Load_WP_List = load_waypoint_tmp | 0x80;
   1025c:       80 68           ori     r24, 0x80       ; 128
   1025e:       80 93 8a 04     sts     0x048A, r24
         changed = 0;
   10262:       10 92 91 04     sts     0x0491, r1
        }
  }
#endif
}
   10266:       cf 91           pop     r28
   10268:       08 95           ret

0001026a <Menu_PosInfo>:


void Menu_PosInfo(uint8_t key)
{
#if !defined (RECEIVER_SPEKTRUM_DX7EXP) && !defined (RECEIVER_SPEKTRUM_DX8EXP)
        if(NaviDataOkay)
   1026a:       80 91 a4 02     lds     r24, 0x02A4
   1026e:       88 23           and     r24, r24
   10270:       09 f4           brne    .+2             ; 0x10274 <Menu_PosInfo+0xa>
   10272:       9b c0           rjmp    .+310           ; 0x103aa <Menu_PosInfo+0x140>
        {
                JetiBox_printfxy(0,0,"%2um/s Sat:%d ",GPSInfo.Speed,GPSInfo.NumOfSats);
   10274:       80 e0           ldi     r24, 0x00       ; 0
   10276:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   1027a:       80 91 d8 08     lds     r24, 0x08D8
   1027e:       1f 92           push    r1
   10280:       8f 93           push    r24
   10282:       80 91 da 08     lds     r24, 0x08DA
   10286:       1f 92           push    r1
   10288:       8f 93           push    r24
   1028a:       83 e6           ldi     r24, 0x63       ; 99
   1028c:       9e e0           ldi     r25, 0x0E       ; 14
   1028e:       9f 93           push    r25
   10290:       8f 93           push    r24
   10292:       8e e6           ldi     r24, 0x6E       ; 110
   10294:       9f e0           ldi     r25, 0x0F       ; 15
   10296:       9f 93           push    r25
   10298:       8f 93           push    r24
   1029a:       e0 91 78 06     lds     r30, 0x0678
   1029e:       f0 91 79 06     lds     r31, 0x0679
   102a2:       09 95           icall
                switch (GPSInfo.SatFix)
   102a4:       8d b7           in      r24, 0x3d       ; 61
   102a6:       9e b7           in      r25, 0x3e       ; 62
   102a8:       08 96           adiw    r24, 0x08       ; 8
   102aa:       0f b6           in      r0, 0x3f        ; 63
   102ac:       f8 94           cli
   102ae:       9e bf           out     0x3e, r25       ; 62
   102b0:       0f be           out     0x3f, r0        ; 63
   102b2:       8d bf           out     0x3d, r24       ; 61
   102b4:       80 91 d9 08     lds     r24, 0x08D9
   102b8:       83 30           cpi     r24, 0x03       ; 3
   102ba:       a9 f4           brne    .+42            ; 0x102e6 <Menu_PosInfo+0x7c>
                {
                        case SATFIX_3D:
                                JetiBox_printfxy(12,0,"  3D");
   102bc:       8c e0           ldi     r24, 0x0C       ; 12
   102be:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   102c2:       8e e5           ldi     r24, 0x5E       ; 94
   102c4:       9e e0           ldi     r25, 0x0E       ; 14
   102c6:       9f 93           push    r25
   102c8:       8f 93           push    r24
   102ca:       8e e6           ldi     r24, 0x6E       ; 110
   102cc:       9f e0           ldi     r25, 0x0F       ; 15
   102ce:       9f 93           push    r25
   102d0:       8f 93           push    r24
   102d2:       e0 91 78 06     lds     r30, 0x0678
   102d6:       f0 91 79 06     lds     r31, 0x0679
   102da:       09 95           icall
                                break;
   102dc:       0f 90           pop     r0
   102de:       0f 90           pop     r0
   102e0:       0f 90           pop     r0
   102e2:       0f 90           pop     r0
   102e4:       14 c0           rjmp    .+40            ; 0x1030e <Menu_PosInfo+0xa4>
//                      case SATFIX_2D:
//                      case SATFIX_NONE:
                        default:
                                JetiBox_printfxy(12,0,"NoFx");
   102e6:       8c e0           ldi     r24, 0x0C       ; 12
   102e8:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   102ec:       89 e5           ldi     r24, 0x59       ; 89
   102ee:       9e e0           ldi     r25, 0x0E       ; 14
   102f0:       9f 93           push    r25
   102f2:       8f 93           push    r24
   102f4:       8e e6           ldi     r24, 0x6E       ; 110
   102f6:       9f e0           ldi     r25, 0x0F       ; 15
   102f8:       9f 93           push    r25
   102fa:       8f 93           push    r24
   102fc:       e0 91 78 06     lds     r30, 0x0678
   10300:       f0 91 79 06     lds     r31, 0x0679
   10304:       09 95           icall
                                break;
   10306:       0f 90           pop     r0
   10308:       0f 90           pop     r0
   1030a:       0f 90           pop     r0
   1030c:       0f 90           pop     r0
                }
                if(GPSInfo.Flags & FLAG_DIFFSOLN)
   1030e:       80 91 d7 08     lds     r24, 0x08D7
   10312:       81 ff           sbrs    r24, 1
   10314:       14 c0           rjmp    .+40            ; 0x1033e <Menu_PosInfo+0xd4>
                {
                        JetiBox_printfxy(12,0,"DGPS");
   10316:       8c e0           ldi     r24, 0x0C       ; 12
   10318:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   1031c:       84 e5           ldi     r24, 0x54       ; 84
   1031e:       9e e0           ldi     r25, 0x0E       ; 14
   10320:       9f 93           push    r25
   10322:       8f 93           push    r24
   10324:       8e e6           ldi     r24, 0x6E       ; 110
   10326:       9f e0           ldi     r25, 0x0F       ; 15
   10328:       9f 93           push    r25
   1032a:       8f 93           push    r24
   1032c:       e0 91 78 06     lds     r30, 0x0678
   10330:       f0 91 79 06     lds     r31, 0x0679
   10334:       09 95           icall
   10336:       0f 90           pop     r0
   10338:       0f 90           pop     r0
   1033a:       0f 90           pop     r0
   1033c:       0f 90           pop     r0
                }
                JetiBox_printfxy(0,1,"Home:%3dm %3d%c %c", GPSInfo.HomeDistance/10, GPSInfo.HomeBearing, 0xDF,NC_GPS_ModeCharacter);
   1033e:       80 e1           ldi     r24, 0x10       ; 16
   10340:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   10344:       80 91 96 02     lds     r24, 0x0296
   10348:       1f 92           push    r1
   1034a:       8f 93           push    r24
   1034c:       1f 92           push    r1
   1034e:       8f ed           ldi     r24, 0xDF       ; 223
   10350:       8f 93           push    r24
   10352:       ed ed           ldi     r30, 0xDD       ; 221
   10354:       f8 e0           ldi     r31, 0x08       ; 8
   10356:       81 81           ldd     r24, Z+1        ; 0x01
   10358:       8f 93           push    r24
   1035a:       80 81           ld      r24, Z
   1035c:       8f 93           push    r24
   1035e:       20 91 db 08     lds     r18, 0x08DB
   10362:       30 91 dc 08     lds     r19, 0x08DC
   10366:       ad ec           ldi     r26, 0xCD       ; 205
   10368:       bc ec           ldi     r27, 0xCC       ; 204
   1036a:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
   1036e:       96 95           lsr     r25
   10370:       87 95           ror     r24
   10372:       96 95           lsr     r25
   10374:       87 95           ror     r24
   10376:       96 95           lsr     r25
   10378:       87 95           ror     r24
   1037a:       9f 93           push    r25
   1037c:       8f 93           push    r24
   1037e:       81 e4           ldi     r24, 0x41       ; 65
   10380:       9e e0           ldi     r25, 0x0E       ; 14
   10382:       9f 93           push    r25
   10384:       8f 93           push    r24
   10386:       8e e6           ldi     r24, 0x6E       ; 110
   10388:       9f e0           ldi     r25, 0x0F       ; 15
   1038a:       9f 93           push    r25
   1038c:       8f 93           push    r24
   1038e:       e0 91 78 06     lds     r30, 0x0678
   10392:       f0 91 79 06     lds     r31, 0x0679
   10396:       09 95           icall
   10398:       8d b7           in      r24, 0x3d       ; 61
   1039a:       9e b7           in      r25, 0x3e       ; 62
   1039c:       0c 96           adiw    r24, 0x0c       ; 12
   1039e:       0f b6           in      r0, 0x3f        ; 63
   103a0:       f8 94           cli
   103a2:       9e bf           out     0x3e, r25       ; 62
   103a4:       0f be           out     0x3f, r0        ; 63
   103a6:       8d bf           out     0x3d, r24       ; 61
   103a8:       08 95           ret
        }
        else
        {                     //0123456789ABCDEF
                JetiBox_printfxy(2,0,"No NaviCtrl!");
   103aa:       82 e0           ldi     r24, 0x02       ; 2
   103ac:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   103b0:       84 e3           ldi     r24, 0x34       ; 52
   103b2:       9e e0           ldi     r25, 0x0E       ; 14
   103b4:       9f 93           push    r25
   103b6:       8f 93           push    r24
   103b8:       8e e6           ldi     r24, 0x6E       ; 110
   103ba:       9f e0           ldi     r25, 0x0F       ; 15
   103bc:       9f 93           push    r25
   103be:       8f 93           push    r24
   103c0:       e0 91 78 06     lds     r30, 0x0678
   103c4:       f0 91 79 06     lds     r31, 0x0679
   103c8:       09 95           icall
   103ca:       0f 90           pop     r0
   103cc:       0f 90           pop     r0
   103ce:       0f 90           pop     r0
   103d0:       0f 90           pop     r0
   103d2:       08 95           ret

000103d4 <Menu_Status>:
// the menu functions
// -----------------------------------------------------------
void Menu_Status(uint8_t key)
{                                               //0123456789ABCDEF
#if !defined (RECEIVER_SPEKTRUM_DX7EXP) && !defined (RECEIVER_SPEKTRUM_DX8EXP)
        JetiBox_printfxy(0,0,"%2i.%1iV",UBat/10, UBat%10);
   103d4:       80 e0           ldi     r24, 0x00       ; 0
   103d6:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   103da:       80 91 1a 01     lds     r24, 0x011A
   103de:       90 91 1b 01     lds     r25, 0x011B
   103e2:       e0 91 1a 01     lds     r30, 0x011A
   103e6:       f0 91 1b 01     lds     r31, 0x011B
   103ea:       2a e0           ldi     r18, 0x0A       ; 10
   103ec:       30 e0           ldi     r19, 0x00       ; 0
   103ee:       b9 01           movw    r22, r18
   103f0:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
   103f4:       9f 93           push    r25
   103f6:       8f 93           push    r24
   103f8:       cf 01           movw    r24, r30
   103fa:       b9 01           movw    r22, r18
   103fc:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
   10400:       7f 93           push    r23
   10402:       6f 93           push    r22
   10404:       8c ea           ldi     r24, 0xAC       ; 172
   10406:       90 e1           ldi     r25, 0x10       ; 16
   10408:       9f 93           push    r25
   1040a:       8f 93           push    r24
   1040c:       8e e6           ldi     r24, 0x6E       ; 110
   1040e:       9f e0           ldi     r25, 0x0F       ; 15
   10410:       9f 93           push    r25
   10412:       8f 93           push    r24
   10414:       e0 91 78 06     lds     r30, 0x0678
   10418:       f0 91 79 06     lds     r31, 0x0679
   1041c:       09 95           icall
        if(NaviDataOkay)
   1041e:       2d b7           in      r18, 0x3d       ; 61
   10420:       3e b7           in      r19, 0x3e       ; 62
   10422:       28 5f           subi    r18, 0xF8       ; 248
   10424:       3f 4f           sbci    r19, 0xFF       ; 255
   10426:       0f b6           in      r0, 0x3f        ; 63
   10428:       f8 94           cli
   1042a:       3e bf           out     0x3e, r19       ; 62
   1042c:       0f be           out     0x3f, r0        ; 63
   1042e:       2d bf           out     0x3d, r18       ; 61
   10430:       80 91 a4 02     lds     r24, 0x02A4
   10434:       88 23           and     r24, r24
   10436:       b1 f1           breq    .+108           ; 0x104a4 <Menu_Status+0xd0>
        {
                JetiBox_printfxy(6,0,"%3d%c %3dm%c",CompassCorrected, 0xDF, GPSInfo.HomeDistance/10,NC_GPS_ModeCharacter);
   10438:       86 e0           ldi     r24, 0x06       ; 6
   1043a:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   1043e:       80 91 96 02     lds     r24, 0x0296
   10442:       1f 92           push    r1
   10444:       8f 93           push    r24
   10446:       20 91 db 08     lds     r18, 0x08DB
   1044a:       30 91 dc 08     lds     r19, 0x08DC
   1044e:       ad ec           ldi     r26, 0xCD       ; 205
   10450:       bc ec           ldi     r27, 0xCC       ; 204
   10452:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
   10456:       96 95           lsr     r25
   10458:       87 95           ror     r24
   1045a:       96 95           lsr     r25
   1045c:       87 95           ror     r24
   1045e:       96 95           lsr     r25
   10460:       87 95           ror     r24
   10462:       9f 93           push    r25
   10464:       8f 93           push    r24
   10466:       1f 92           push    r1
   10468:       8f ed           ldi     r24, 0xDF       ; 223
   1046a:       8f 93           push    r24
   1046c:       80 91 66 06     lds     r24, 0x0666
   10470:       8f 93           push    r24
   10472:       80 91 65 06     lds     r24, 0x0665
   10476:       8f 93           push    r24
   10478:       8f e9           ldi     r24, 0x9F       ; 159
   1047a:       90 e1           ldi     r25, 0x10       ; 16
   1047c:       9f 93           push    r25
   1047e:       8f 93           push    r24
   10480:       8e e6           ldi     r24, 0x6E       ; 110
   10482:       9f e0           ldi     r25, 0x0F       ; 15
   10484:       9f 93           push    r25
   10486:       8f 93           push    r24
   10488:       e0 91 78 06     lds     r30, 0x0678
   1048c:       f0 91 79 06     lds     r31, 0x0679
   10490:       09 95           icall
   10492:       8d b7           in      r24, 0x3d       ; 61
   10494:       9e b7           in      r25, 0x3e       ; 62
   10496:       0c 96           adiw    r24, 0x0c       ; 12
   10498:       0f b6           in      r0, 0x3f        ; 63
   1049a:       f8 94           cli
   1049c:       9e bf           out     0x3e, r25       ; 62
   1049e:       0f be           out     0x3f, r0        ; 63
   104a0:       8d bf           out     0x3d, r24       ; 61
   104a2:       14 c0           rjmp    .+40            ; 0x104cc <Menu_Status+0xf8>
        }
        else
        {
                JetiBox_printfxy(6,0,"Status    ");
   104a4:       86 e0           ldi     r24, 0x06       ; 6
   104a6:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   104aa:       84 e9           ldi     r24, 0x94       ; 148
   104ac:       90 e1           ldi     r25, 0x10       ; 16
   104ae:       9f 93           push    r25
   104b0:       8f 93           push    r24
   104b2:       8e e6           ldi     r24, 0x6E       ; 110
   104b4:       9f e0           ldi     r25, 0x0F       ; 15
   104b6:       9f 93           push    r25
   104b8:       8f 93           push    r24
   104ba:       e0 91 78 06     lds     r30, 0x0678
   104be:       f0 91 79 06     lds     r31, 0x0679
   104c2:       09 95           icall
   104c4:       0f 90           pop     r0
   104c6:       0f 90           pop     r0
   104c8:       0f 90           pop     r0
   104ca:       0f 90           pop     r0
        }

#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
        if(NC_ErrorCode) 
   104cc:       80 91 bb 04     lds     r24, 0x04BB
   104d0:       88 23           and     r24, r24
   104d2:       09 f4           brne    .+2             ; 0x104d6 <Menu_Status+0x102>
   104d4:       58 c0           rjmp    .+176           ; 0x10586 <Menu_Status+0x1b2>
        {
         static unsigned int timer;
         static char toggle = 1;
     
         if(CheckDelay(timer)) { if(toggle) toggle = 0; else toggle = 1; timer = SetDelay(1500);};
   104d6:       80 91 95 04     lds     r24, 0x0495
   104da:       90 91 96 04     lds     r25, 0x0496
   104de:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
   104e2:       88 23           and     r24, r24
   104e4:       91 f0           breq    .+36            ; 0x1050a <Menu_Status+0x136>
   104e6:       80 91 5d 01     lds     r24, 0x015D
   104ea:       88 23           and     r24, r24
   104ec:       19 f0           breq    .+6             ; 0x104f4 <Menu_Status+0x120>
   104ee:       10 92 5d 01     sts     0x015D, r1
   104f2:       03 c0           rjmp    .+6             ; 0x104fa <Menu_Status+0x126>
   104f4:       81 e0           ldi     r24, 0x01       ; 1
   104f6:       80 93 5d 01     sts     0x015D, r24
   104fa:       8c ed           ldi     r24, 0xDC       ; 220
   104fc:       95 e0           ldi     r25, 0x05       ; 5
   104fe:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   10502:       90 93 96 04     sts     0x0496, r25
   10506:       80 93 95 04     sts     0x0495, r24
     if(toggle)
   1050a:       80 91 5d 01     lds     r24, 0x015D
   1050e:       88 23           and     r24, r24
   10510:       f9 f0           breq    .+62            ; 0x10550 <Menu_Status+0x17c>
          {
       LIBFC_JetiBox_SetPos(0);
   10512:       80 e0           ldi     r24, 0x00       ; 0
   10514:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
           _printf_P(&LIBFC_JetiBox_Putchar, NC_ERROR_TEXT[NC_ErrorCode] , 0); 
   10518:       1f 92           push    r1
   1051a:       1f 92           push    r1
   1051c:       80 91 bb 04     lds     r24, 0x04BB
   10520:       21 e1           ldi     r18, 0x11       ; 17
   10522:       82 9f           mul     r24, r18
   10524:       c0 01           movw    r24, r0
   10526:       11 24           eor     r1, r1
   10528:       84 59           subi    r24, 0x94       ; 148
   1052a:       94 4f           sbci    r25, 0xF4       ; 244
   1052c:       9f 93           push    r25
   1052e:       8f 93           push    r24
   10530:       8e e6           ldi     r24, 0x6E       ; 110
   10532:       9f e0           ldi     r25, 0x0F       ; 15
   10534:       9f 93           push    r25
   10536:       8f 93           push    r24
   10538:       e0 91 78 06     lds     r30, 0x0678
   1053c:       f0 91 79 06     lds     r31, 0x0679
   10540:       09 95           icall
   10542:       0f 90           pop     r0
   10544:       0f 90           pop     r0
   10546:       0f 90           pop     r0
   10548:       0f 90           pop     r0
   1054a:       0f 90           pop     r0
   1054c:       0f 90           pop     r0
   1054e:       74 c0           rjmp    .+232           ; 0x10638 <Menu_Status+0x264>
          } 
          else 
          {
           JetiBox_printfxy(6,0,"ERROR: %2d ",NC_ErrorCode);
   10550:       86 e0           ldi     r24, 0x06       ; 6
   10552:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   10556:       80 91 bb 04     lds     r24, 0x04BB
   1055a:       1f 92           push    r1
   1055c:       8f 93           push    r24
   1055e:       88 e8           ldi     r24, 0x88       ; 136
   10560:       90 e1           ldi     r25, 0x10       ; 16
   10562:       9f 93           push    r25
   10564:       8f 93           push    r24
   10566:       8e e6           ldi     r24, 0x6E       ; 110
   10568:       9f e0           ldi     r25, 0x0F       ; 15
   1056a:       9f 93           push    r25
   1056c:       8f 93           push    r24
   1056e:       e0 91 78 06     lds     r30, 0x0678
   10572:       f0 91 79 06     lds     r31, 0x0679
   10576:       09 95           icall
   10578:       0f 90           pop     r0
   1057a:       0f 90           pop     r0
   1057c:       0f 90           pop     r0
   1057e:       0f 90           pop     r0
   10580:       0f 90           pop     r0
   10582:       0f 90           pop     r0
   10584:       59 c0           rjmp    .+178           ; 0x10638 <Menu_Status+0x264>
//         if(MotorenEin) JetiBeep = 'O'; 
          } 
        }
        else 
         if(NC_To_FC_Flags & NC_TO_FC_SIMULATION_ACTIVE)
   10586:       80 91 b7 04     lds     r24, 0x04B7
   1058a:       84 ff           sbrs    r24, 4
   1058c:       15 c0           rjmp    .+42            ; 0x105b8 <Menu_Status+0x1e4>
         {
           JetiBox_printfxy(6,0,"SIMULATION");
   1058e:       86 e0           ldi     r24, 0x06       ; 6
   10590:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   10594:       8d e7           ldi     r24, 0x7D       ; 125
   10596:       90 e1           ldi     r25, 0x10       ; 16
   10598:       9f 93           push    r25
   1059a:       8f 93           push    r24
   1059c:       8e e6           ldi     r24, 0x6E       ; 110
   1059e:       9f e0           ldi     r25, 0x0F       ; 15
   105a0:       9f 93           push    r25
   105a2:       8f 93           push    r24
   105a4:       e0 91 78 06     lds     r30, 0x0678
   105a8:       f0 91 79 06     lds     r31, 0x0679
   105ac:       09 95           icall
   105ae:       0f 90           pop     r0
   105b0:       0f 90           pop     r0
   105b2:       0f 90           pop     r0
   105b4:       0f 90           pop     r0
   105b6:       40 c0           rjmp    .+128           ; 0x10638 <Menu_Status+0x264>
         }
        else 
        if(ShowSettingNameTime)
   105b8:       80 91 80 04     lds     r24, 0x0480
   105bc:       88 23           and     r24, r24
   105be:       e1 f1           breq    .+120           ; 0x10638 <Menu_Status+0x264>
        {
         LIBFC_JetiBox_Clear();
   105c0:       0e 94 81 0f     call    0x1f02  ; 0x1f02 <LIBFC_JetiBox_Clear>
         JetiBox_printfxy(0,0,"Set%d:%s",ActiveParamSet,EE_Parameter.Name); 
   105c4:       80 e0           ldi     r24, 0x00       ; 0
   105c6:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   105ca:       8a eb           ldi     r24, 0xBA       ; 186
   105cc:       95 e0           ldi     r25, 0x05       ; 5
   105ce:       9f 93           push    r25
   105d0:       8f 93           push    r24
   105d2:       80 91 52 01     lds     r24, 0x0152
   105d6:       1f 92           push    r1
   105d8:       8f 93           push    r24
   105da:       84 e7           ldi     r24, 0x74       ; 116
   105dc:       90 e1           ldi     r25, 0x10       ; 16
   105de:       9f 93           push    r25
   105e0:       8f 93           push    r24
   105e2:       8e e6           ldi     r24, 0x6E       ; 110
   105e4:       9f e0           ldi     r25, 0x0F       ; 15
   105e6:       9f 93           push    r25
   105e8:       8f 93           push    r24
   105ea:       e0 91 78 06     lds     r30, 0x0678
   105ee:       f0 91 79 06     lds     r31, 0x0679
   105f2:       09 95           icall
         if(FC_StatusFlags3 & FC_STATUS3_BOAT) JetiBox_printfxy(0,1,"(Boat-Mode)"); 
   105f4:       80 91 c9 03     lds     r24, 0x03C9
   105f8:       2d b7           in      r18, 0x3d       ; 61
   105fa:       3e b7           in      r19, 0x3e       ; 62
   105fc:       28 5f           subi    r18, 0xF8       ; 248
   105fe:       3f 4f           sbci    r19, 0xFF       ; 255
   10600:       0f b6           in      r0, 0x3f        ; 63
   10602:       f8 94           cli
   10604:       3e bf           out     0x3e, r19       ; 62
   10606:       0f be           out     0x3f, r0        ; 63
   10608:       2d bf           out     0x3d, r18       ; 61
   1060a:       81 ff           sbrs    r24, 1
   1060c:       a5 c0           rjmp    .+330           ; 0x10758 <Menu_Status+0x384>
   1060e:       80 e1           ldi     r24, 0x10       ; 16
   10610:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   10614:       88 e6           ldi     r24, 0x68       ; 104
   10616:       90 e1           ldi     r25, 0x10       ; 16
   10618:       9f 93           push    r25
   1061a:       8f 93           push    r24
   1061c:       8e e6           ldi     r24, 0x6E       ; 110
   1061e:       9f e0           ldi     r25, 0x0F       ; 15
   10620:       9f 93           push    r25
   10622:       8f 93           push    r24
   10624:       e0 91 78 06     lds     r30, 0x0678
   10628:       f0 91 79 06     lds     r31, 0x0679
   1062c:       09 95           icall
   1062e:       0f 90           pop     r0
   10630:       0f 90           pop     r0
   10632:       0f 90           pop     r0
   10634:       0f 90           pop     r0
   10636:       08 95           ret
        }

#else
        if(NC_ErrorCode) { JetiBox_printfxy(6,0,"ERROR: %2d ",NC_ErrorCode); if(MotorenEin) JetiBeep = 'S';}; 
#endif
        JetiBox_printfxy(0,1,"%4i %2i:%02i",Capacity.UsedCapacity,FlugSekunden/60,FlugSekunden%60);
   10638:       80 e1           ldi     r24, 0x10       ; 16
   1063a:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   1063e:       40 91 5e 04     lds     r20, 0x045E
   10642:       50 91 5f 04     lds     r21, 0x045F
   10646:       9a 01           movw    r18, r20
   10648:       a9 e8           ldi     r26, 0x89       ; 137
   1064a:       b8 e8           ldi     r27, 0x88       ; 136
   1064c:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
   10650:       96 95           lsr     r25
   10652:       87 95           ror     r24
   10654:       92 95           swap    r25
   10656:       82 95           swap    r24
   10658:       8f 70           andi    r24, 0x0F       ; 15
   1065a:       89 27           eor     r24, r25
   1065c:       9f 70           andi    r25, 0x0F       ; 15
   1065e:       89 27           eor     r24, r25
   10660:       6c e3           ldi     r22, 0x3C       ; 60
   10662:       68 9f           mul     r22, r24
   10664:       90 01           movw    r18, r0
   10666:       69 9f           mul     r22, r25
   10668:       30 0d           add     r19, r0
   1066a:       11 24           eor     r1, r1
   1066c:       ca 01           movw    r24, r20
   1066e:       82 1b           sub     r24, r18
   10670:       93 0b           sbc     r25, r19
   10672:       9f 93           push    r25
   10674:       8f 93           push    r24
   10676:       9a 01           movw    r18, r20
   10678:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
   1067c:       96 95           lsr     r25
   1067e:       87 95           ror     r24
   10680:       92 95           swap    r25
   10682:       82 95           swap    r24
   10684:       8f 70           andi    r24, 0x0F       ; 15
   10686:       89 27           eor     r24, r25
   10688:       9f 70           andi    r25, 0x0F       ; 15
   1068a:       89 27           eor     r24, r25
   1068c:       9f 93           push    r25
   1068e:       8f 93           push    r24
   10690:       e9 e1           ldi     r30, 0x19       ; 25
   10692:       f5 e0           ldi     r31, 0x05       ; 5
   10694:       81 81           ldd     r24, Z+1        ; 0x01
   10696:       8f 93           push    r24
   10698:       80 81           ld      r24, Z
   1069a:       8f 93           push    r24
   1069c:       8b e5           ldi     r24, 0x5B       ; 91
   1069e:       90 e1           ldi     r25, 0x10       ; 16
   106a0:       9f 93           push    r25
   106a2:       8f 93           push    r24
   106a4:       8e e6           ldi     r24, 0x6E       ; 110
   106a6:       9f e0           ldi     r25, 0x0F       ; 15
   106a8:       9f 93           push    r25
   106aa:       8f 93           push    r24
   106ac:       e0 91 78 06     lds     r30, 0x0678
   106b0:       f0 91 79 06     lds     r31, 0x0679
   106b4:       09 95           icall
        if(Parameter_GlobalConfig & CFG_HOEHENREGELUNG)
   106b6:       80 91 5c 06     lds     r24, 0x065C
   106ba:       2d b7           in      r18, 0x3d       ; 61
   106bc:       3e b7           in      r19, 0x3e       ; 62
   106be:       26 5f           subi    r18, 0xF6       ; 246
   106c0:       3f 4f           sbci    r19, 0xFF       ; 255
   106c2:       0f b6           in      r0, 0x3f        ; 63
   106c4:       f8 94           cli
   106c6:       3e bf           out     0x3e, r19       ; 62
   106c8:       0f be           out     0x3f, r0        ; 63
   106ca:       2d bf           out     0x3d, r18       ; 61
   106cc:       80 ff           sbrs    r24, 0
   106ce:       2c c0           rjmp    .+88            ; 0x10728 <Menu_Status+0x354>
        {
                JetiBox_printfxy(10,1,"%4im%c", (int16_t)(HoehenWert/100),VarioCharacter);
   106d0:       8a e1           ldi     r24, 0x1A       ; 26
   106d2:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   106d6:       80 91 20 01     lds     r24, 0x0120
   106da:       1f 92           push    r1
   106dc:       8f 93           push    r24
   106de:       60 91 fe 03     lds     r22, 0x03FE
   106e2:       70 91 ff 03     lds     r23, 0x03FF
   106e6:       80 91 00 04     lds     r24, 0x0400
   106ea:       90 91 01 04     lds     r25, 0x0401
   106ee:       24 e6           ldi     r18, 0x64       ; 100
   106f0:       30 e0           ldi     r19, 0x00       ; 0
   106f2:       40 e0           ldi     r20, 0x00       ; 0
   106f4:       50 e0           ldi     r21, 0x00       ; 0
   106f6:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
   106fa:       3f 93           push    r19
   106fc:       2f 93           push    r18
   106fe:       84 e5           ldi     r24, 0x54       ; 84
   10700:       90 e1           ldi     r25, 0x10       ; 16
   10702:       9f 93           push    r25
   10704:       8f 93           push    r24
   10706:       8e e6           ldi     r24, 0x6E       ; 110
   10708:       9f e0           ldi     r25, 0x0F       ; 15
   1070a:       9f 93           push    r25
   1070c:       8f 93           push    r24
   1070e:       e0 91 78 06     lds     r30, 0x0678
   10712:       f0 91 79 06     lds     r31, 0x0679
   10716:       09 95           icall
   10718:       8d b7           in      r24, 0x3d       ; 61
   1071a:       9e b7           in      r25, 0x3e       ; 62
   1071c:       08 96           adiw    r24, 0x08       ; 8
   1071e:       0f b6           in      r0, 0x3f        ; 63
   10720:       f8 94           cli
   10722:       9e bf           out     0x3e, r25       ; 62
   10724:       0f be           out     0x3f, r0        ; 63
   10726:       8d bf           out     0x3d, r24       ; 61
        }
        if(FC_StatusFlags3 & FC_STATUS3_REDUNDANCE) JetiBox_printfxy(10,1,"R");
   10728:       80 91 c9 03     lds     r24, 0x03C9
   1072c:       80 ff           sbrs    r24, 0
   1072e:       14 c0           rjmp    .+40            ; 0x10758 <Menu_Status+0x384>
   10730:       8a e1           ldi     r24, 0x1A       ; 26
   10732:       0e 94 7b 0f     call    0x1ef6  ; 0x1ef6 <LIBFC_JetiBox_SetPos>
   10736:       82 e5           ldi     r24, 0x52       ; 82
   10738:       90 e1           ldi     r25, 0x10       ; 16
   1073a:       9f 93           push    r25
   1073c:       8f 93           push    r24
   1073e:       8e e6           ldi     r24, 0x6E       ; 110
   10740:       9f e0           ldi     r25, 0x0F       ; 15
   10742:       9f 93           push    r25
   10744:       8f 93           push    r24
   10746:       e0 91 78 06     lds     r30, 0x0678
   1074a:       f0 91 79 06     lds     r31, 0x0679
   1074e:       09 95           icall
   10750:       0f 90           pop     r0
   10752:       0f 90           pop     r0
   10754:       0f 90           pop     r0
   10756:       0f 90           pop     r0
   10758:       08 95           ret

0001075a <JetiBox_Update>:

// -----------------------------------------------------------
// Update display buffer
// -----------------------------------------------------------
unsigned char JetiBox_Update(unsigned char key)
{
   1075a:       cf 93           push    r28
   1075c:       c8 2f           mov     r28, r24
#if !defined (RECEIVER_SPEKTRUM_DX7EXP) && !defined (RECEIVER_SPEKTRUM_DX8EXP)
        static uint8_t item = 0, last_item = 0; // the menu item
        static uint8_t updateDelay = 1 , last_key;

        // navigate within the menu by key action
        last_item = item;
   1075e:       40 91 90 04     lds     r20, 0x0490
   10762:       40 93 8f 04     sts     0x048F, r20
        switch(key)
   10766:       8f 32           cpi     r24, 0x2F       ; 47
   10768:       49 f1           breq    .+82            ; 0x107bc <JetiBox_Update+0x62>
   1076a:       18 f4           brcc    .+6             ; 0x10772 <JetiBox_Update+0x18>
   1076c:       8f 31           cpi     r24, 0x1F       ; 31
   1076e:       b1 f0           breq    .+44            ; 0x1079c <JetiBox_Update+0x42>
   10770:       44 c0           rjmp    .+136           ; 0x107fa <JetiBox_Update+0xa0>
   10772:       8f 34           cpi     r24, 0x4F       ; 79
   10774:       99 f1           breq    .+102           ; 0x107dc <JetiBox_Update+0x82>
   10776:       8f 38           cpi     r24, 0x8F       ; 143
   10778:       09 f0           breq    .+2             ; 0x1077c <JetiBox_Update+0x22>
   1077a:       3f c0           rjmp    .+126           ; 0x107fa <JetiBox_Update+0xa0>
        {
                case JETIBOX_KEY_LEFT:
                        //if (item == 0) return (1);                                                                    // switch back to jeti expander menu
                        // else 
                         item = pgm_read_byte(&JetiBox_Menu[item].left);                //trigger to left menu item
   1077c:       84 2f           mov     r24, r20
   1077e:       90 e0           ldi     r25, 0x00       ; 0
   10780:       fc 01           movw    r30, r24
   10782:       ee 0f           add     r30, r30
   10784:       ff 1f           adc     r31, r31
   10786:       8e 0f           add     r24, r30
   10788:       9f 1f           adc     r25, r31
   1078a:       fc 01           movw    r30, r24
   1078c:       ee 0f           add     r30, r30
   1078e:       ff 1f           adc     r31, r31
   10790:       eb 54           subi    r30, 0x4B       ; 75
   10792:       ff 4e           sbci    r31, 0xEF       ; 239
   10794:       e4 91           lpm     r30, Z
   10796:       e0 93 90 04     sts     0x0490, r30
                        break;
   1079a:       2f c0           rjmp    .+94            ; 0x107fa <JetiBox_Update+0xa0>
                case JETIBOX_KEY_RIGHT:
                        item = pgm_read_byte(&JetiBox_Menu[item].right);        //trigger to right menu item
   1079c:       84 2f           mov     r24, r20
   1079e:       90 e0           ldi     r25, 0x00       ; 0
   107a0:       fc 01           movw    r30, r24
   107a2:       ee 0f           add     r30, r30
   107a4:       ff 1f           adc     r31, r31
   107a6:       8e 0f           add     r24, r30
   107a8:       9f 1f           adc     r25, r31
   107aa:       fc 01           movw    r30, r24
   107ac:       ee 0f           add     r30, r30
   107ae:       ff 1f           adc     r31, r31
   107b0:       ea 54           subi    r30, 0x4A       ; 74
   107b2:       ff 4e           sbci    r31, 0xEF       ; 239
   107b4:       e4 91           lpm     r30, Z
   107b6:       e0 93 90 04     sts     0x0490, r30
                        break;
   107ba:       1f c0           rjmp    .+62            ; 0x107fa <JetiBox_Update+0xa0>
                case JETIBOX_KEY_UP:
                        item = pgm_read_byte(&JetiBox_Menu[item].up);           //trigger to up menu item
   107bc:       84 2f           mov     r24, r20
   107be:       90 e0           ldi     r25, 0x00       ; 0
   107c0:       fc 01           movw    r30, r24
   107c2:       ee 0f           add     r30, r30
   107c4:       ff 1f           adc     r31, r31
   107c6:       8e 0f           add     r24, r30
   107c8:       9f 1f           adc     r25, r31
   107ca:       fc 01           movw    r30, r24
   107cc:       ee 0f           add     r30, r30
   107ce:       ff 1f           adc     r31, r31
   107d0:       e9 54           subi    r30, 0x49       ; 73
   107d2:       ff 4e           sbci    r31, 0xEF       ; 239
   107d4:       e4 91           lpm     r30, Z
   107d6:       e0 93 90 04     sts     0x0490, r30
                        break;
   107da:       0f c0           rjmp    .+30            ; 0x107fa <JetiBox_Update+0xa0>
                case JETIBOX_KEY_DOWN:
                        item = pgm_read_byte(&JetiBox_Menu[item].down);         //trigger to down menu item
   107dc:       24 2f           mov     r18, r20
   107de:       30 e0           ldi     r19, 0x00       ; 0
   107e0:       f9 01           movw    r30, r18
   107e2:       ee 0f           add     r30, r30
   107e4:       ff 1f           adc     r31, r31
   107e6:       2e 0f           add     r18, r30
   107e8:       3f 1f           adc     r19, r31
   107ea:       f9 01           movw    r30, r18
   107ec:       ee 0f           add     r30, r30
   107ee:       ff 1f           adc     r31, r31
   107f0:       e8 54           subi    r30, 0x48       ; 72
   107f2:       ff 4e           sbci    r31, 0xEF       ; 239
   107f4:       e4 91           lpm     r30, Z
   107f6:       e0 93 90 04     sts     0x0490, r30
                default:
                        break;
        }
        // if the menu item has been changed, do not pass the key to the item handler
        // to avoid jumping over to items
        if(item != last_item) key = JETIBOX_KEY_UNDEF;
   107fa:       80 91 90 04     lds     r24, 0x0490
   107fe:       48 13           cpse    r20, r24
   10800:       21 c0           rjmp    .+66            ; 0x10844 <JetiBox_Update+0xea>

//      if((updateDelay++ & 0x01) || (key != last_key))
        if((updateDelay++ & 0x01) || (key != JETIBOX_KEY_NONE))
   10802:       80 91 58 01     lds     r24, 0x0158
   10806:       91 e0           ldi     r25, 0x01       ; 1
   10808:       98 0f           add     r25, r24
   1080a:       90 93 58 01     sts     0x0158, r25
   1080e:       80 fd           sbrc    r24, 0
   10810:       02 c0           rjmp    .+4             ; 0x10816 <JetiBox_Update+0xbc>
   10812:       cf 30           cpi     r28, 0x0F       ; 15
   10814:       f1 f0           breq    .+60            ; 0x10852 <JetiBox_Update+0xf8>
        {       
                last_key = key;
   10816:       c0 93 8e 04     sts     0x048E, r28
                LIBFC_JetiBox_Clear();
   1081a:       0e 94 81 0f     call    0x1f02  ; 0x1f02 <LIBFC_JetiBox_Clear>
                //execute menu item handler
                ((pFctMenu)(pgm_read_word(&(JetiBox_Menu[item].pHandler))))(key);
   1081e:       20 91 90 04     lds     r18, 0x0490
   10822:       30 e0           ldi     r19, 0x00       ; 0
   10824:       f9 01           movw    r30, r18
   10826:       ee 0f           add     r30, r30
   10828:       ff 1f           adc     r31, r31
   1082a:       2e 0f           add     r18, r30
   1082c:       3f 1f           adc     r19, r31
   1082e:       f9 01           movw    r30, r18
   10830:       ee 0f           add     r30, r30
   10832:       ff 1f           adc     r31, r31
   10834:       e7 54           subi    r30, 0x47       ; 71
   10836:       ff 4e           sbci    r31, 0xEF       ; 239
   10838:       25 91           lpm     r18, Z+
   1083a:       34 91           lpm     r19, Z
   1083c:       8c 2f           mov     r24, r28
   1083e:       f9 01           movw    r30, r18
   10840:       09 95           icall
   10842:       07 c0           rjmp    .+14            ; 0x10852 <JetiBox_Update+0xf8>
        // if the menu item has been changed, do not pass the key to the item handler
        // to avoid jumping over to items
        if(item != last_item) key = JETIBOX_KEY_UNDEF;

//      if((updateDelay++ & 0x01) || (key != last_key))
        if((updateDelay++ & 0x01) || (key != JETIBOX_KEY_NONE))
   10844:       80 91 58 01     lds     r24, 0x0158
   10848:       8f 5f           subi    r24, 0xFF       ; 255
   1084a:       80 93 58 01     sts     0x0158, r24
                default:
                        break;
        }
        // if the menu item has been changed, do not pass the key to the item handler
        // to avoid jumping over to items
        if(item != last_item) key = JETIBOX_KEY_UNDEF;
   1084e:       c0 e0           ldi     r28, 0x00       ; 0
   10850:       e2 cf           rjmp    .-60            ; 0x10816 <JetiBox_Update+0xbc>
                //execute menu item handler
                ((pFctMenu)(pgm_read_word(&(JetiBox_Menu[item].pHandler))))(key);
        }       
#endif
        return (0);
}
   10852:       80 e0           ldi     r24, 0x00       ; 0
   10854:       cf 91           pop     r28
   10856:       08 95           ret

00010858 <BuildJeti_Vario>:

void BuildJeti_Vario(void)
{
 signed int tmp = 0;
 static signed int JetiVarioMeter = 0;
 JetiVarioMeter = (JetiVarioMeter * 3 + VarioMeter) / 4;
   10858:       40 91 54 03     lds     r20, 0x0354
   1085c:       50 91 55 03     lds     r21, 0x0355
   10860:       20 91 97 04     lds     r18, 0x0497
   10864:       30 91 98 04     lds     r19, 0x0498
   10868:       c9 01           movw    r24, r18
   1086a:       88 0f           add     r24, r24
   1086c:       99 1f           adc     r25, r25
   1086e:       82 0f           add     r24, r18
   10870:       93 1f           adc     r25, r19
   10872:       84 0f           add     r24, r20
   10874:       95 1f           adc     r25, r21
   10876:       99 23           and     r25, r25
   10878:       0c f4           brge    .+2             ; 0x1087c <BuildJeti_Vario+0x24>
   1087a:       03 96           adiw    r24, 0x03       ; 3
   1087c:       95 95           asr     r25
   1087e:       87 95           ror     r24
   10880:       95 95           asr     r25
   10882:       87 95           ror     r24
   10884:       90 93 98 04     sts     0x0498, r25
   10888:       80 93 97 04     sts     0x0497, r24

 if(VarioCharacter == '+')
   1088c:       20 91 20 01     lds     r18, 0x0120
   10890:       2b 32           cpi     r18, 0x2B       ; 43
   10892:       d1 f4           brne    .+52            ; 0x108c8 <BuildJeti_Vario+0x70>
  { 
   tmp = (AltitudeSetpointTrimming * EE_Parameter.Hoehe_Verstaerkung) / 32 + 5;
   10894:       40 91 50 05     lds     r20, 0x0550
   10898:       20 91 f8 03     lds     r18, 0x03F8
   1089c:       30 91 f9 03     lds     r19, 0x03F9
   108a0:       42 9f           mul     r20, r18
   108a2:       c0 01           movw    r24, r0
   108a4:       43 9f           mul     r20, r19
   108a6:       90 0d           add     r25, r0
   108a8:       11 24           eor     r1, r1
   108aa:       99 23           and     r25, r25
   108ac:       0c f4           brge    .+2             ; 0x108b0 <BuildJeti_Vario+0x58>
   108ae:       4f 96           adiw    r24, 0x1f       ; 31
   108b0:       95 95           asr     r25
   108b2:       87 95           ror     r24
   108b4:       95 95           asr     r25
   108b6:       87 95           ror     r24
   108b8:       95 95           asr     r25
   108ba:       87 95           ror     r24
   108bc:       95 95           asr     r25
   108be:       87 95           ror     r24
   108c0:       95 95           asr     r25
   108c2:       87 95           ror     r24
   108c4:       05 96           adiw    r24, 0x05       ; 5
   108c6:       47 c0           rjmp    .+142           ; 0x10956 <BuildJeti_Vario+0xfe>
  } 
 else
 if(VarioCharacter == '-')
   108c8:       2d 32           cpi     r18, 0x2D       ; 45
   108ca:       d1 f4           brne    .+52            ; 0x10900 <BuildJeti_Vario+0xa8>
  { 
   tmp = (AltitudeSetpointTrimming * EE_Parameter.Hoehe_Verstaerkung) / 32 - 5;
   108cc:       40 91 50 05     lds     r20, 0x0550
   108d0:       20 91 f8 03     lds     r18, 0x03F8
   108d4:       30 91 f9 03     lds     r19, 0x03F9
   108d8:       42 9f           mul     r20, r18
   108da:       c0 01           movw    r24, r0
   108dc:       43 9f           mul     r20, r19
   108de:       90 0d           add     r25, r0
   108e0:       11 24           eor     r1, r1
   108e2:       99 23           and     r25, r25
   108e4:       0c f4           brge    .+2             ; 0x108e8 <BuildJeti_Vario+0x90>
   108e6:       4f 96           adiw    r24, 0x1f       ; 31
   108e8:       95 95           asr     r25
   108ea:       87 95           ror     r24
   108ec:       95 95           asr     r25
   108ee:       87 95           ror     r24
   108f0:       95 95           asr     r25
   108f2:       87 95           ror     r24
   108f4:       95 95           asr     r25
   108f6:       87 95           ror     r24
   108f8:       95 95           asr     r25
   108fa:       87 95           ror     r24
   108fc:       05 97           sbiw    r24, 0x05       ; 5
   108fe:       2b c0           rjmp    .+86            ; 0x10956 <BuildJeti_Vario+0xfe>
  } 
 else
 if((VarioCharacter == ' ') && (FC_StatusFlags & FC_STATUS_FLY))
   10900:       20 32           cpi     r18, 0x20       ; 32
   10902:       a9 f4           brne    .+42            ; 0x1092e <BuildJeti_Vario+0xd6>
   10904:       20 91 cb 03     lds     r18, 0x03CB
   10908:       21 ff           sbrs    r18, 1
   1090a:       20 c0           rjmp    .+64            ; 0x1094c <BuildJeti_Vario+0xf4>
  {
   tmp = (JetiVarioMeter/32);
   1090c:       9c 01           movw    r18, r24
   1090e:       99 23           and     r25, r25
   10910:       14 f4           brge    .+4             ; 0x10916 <BuildJeti_Vario+0xbe>
   10912:       21 5e           subi    r18, 0xE1       ; 225
   10914:       3f 4f           sbci    r19, 0xFF       ; 255
   10916:       c9 01           movw    r24, r18
   10918:       95 95           asr     r25
   1091a:       87 95           ror     r24
   1091c:       95 95           asr     r25
   1091e:       87 95           ror     r24
   10920:       95 95           asr     r25
   10922:       87 95           ror     r24
   10924:       95 95           asr     r25
   10926:       87 95           ror     r24
   10928:       95 95           asr     r25
   1092a:       87 95           ror     r24
   1092c:       14 c0           rjmp    .+40            ; 0x10956 <BuildJeti_Vario+0xfe>
  }
 else
 if(VarioCharacter == '^') tmp = FromNC_AltitudeSpeed;
   1092e:       2e 35           cpi     r18, 0x5E       ; 94
   10930:       21 f4           brne    .+8             ; 0x1093a <BuildJeti_Vario+0xe2>
   10932:       80 91 f3 03     lds     r24, 0x03F3
   10936:       90 e0           ldi     r25, 0x00       ; 0
   10938:       0e c0           rjmp    .+28            ; 0x10956 <BuildJeti_Vario+0xfe>
 else 
 if(VarioCharacter == 'v') tmp = tmp - FromNC_AltitudeSpeed;
   1093a:       26 37           cpi     r18, 0x76       ; 118
   1093c:       51 f4           brne    .+20            ; 0x10952 <BuildJeti_Vario+0xfa>
   1093e:       80 91 f3 03     lds     r24, 0x03F3
   10942:       90 e0           ldi     r25, 0x00       ; 0
   10944:       91 95           neg     r25
   10946:       81 95           neg     r24
   10948:       91 09           sbc     r25, r1
   1094a:       05 c0           rjmp    .+10            ; 0x10956 <BuildJeti_Vario+0xfe>
};


void BuildJeti_Vario(void)
{
 signed int tmp = 0;
   1094c:       80 e0           ldi     r24, 0x00       ; 0
   1094e:       90 e0           ldi     r25, 0x00       ; 0
   10950:       02 c0           rjmp    .+4             ; 0x10956 <BuildJeti_Vario+0xfe>
   10952:       80 e0           ldi     r24, 0x00       ; 0
   10954:       90 e0           ldi     r25, 0x00       ; 0
 else
 if(VarioCharacter == '^') tmp = FromNC_AltitudeSpeed;
 else 
 if(VarioCharacter == 'v') tmp = tmp - FromNC_AltitudeSpeed;

 JetiExData[12].Value = tmp;
   10956:       aa 27           eor     r26, r26
   10958:       97 fd           sbrc    r25, 7
   1095a:       a0 95           com     r26
   1095c:       ba 2f           mov     r27, r26
   1095e:       80 93 50 02     sts     0x0250, r24
   10962:       90 93 51 02     sts     0x0251, r25
   10966:       a0 93 52 02     sts     0x0252, r26
   1096a:       b0 93 53 02     sts     0x0253, r27
   1096e:       08 95           ret

00010970 <JetiEX_Update>:

// --------------------------------------------------------------------------------------------------
void JetiEX_Update(void)
{

        GetHottestBl();    
   10970:       0e 94 79 60     call    0xc0f2  ; 0xc0f2 <GetHottestBl>
 
        JetiExData[1].Value  =  UBat;
   10974:       80 91 1a 01     lds     r24, 0x011A
   10978:       90 91 1b 01     lds     r25, 0x011B
   1097c:       aa 27           eor     r26, r26
   1097e:       97 fd           sbrc    r25, 7
   10980:       a0 95           com     r26
   10982:       ba 2f           mov     r27, r26
   10984:       80 93 7f 01     sts     0x017F, r24
   10988:       90 93 80 01     sts     0x0180, r25
   1098c:       a0 93 81 01     sts     0x0181, r26
   10990:       b0 93 82 01     sts     0x0182, r27
        JetiExData[2].Value  =  Capacity.ActualCurrent;
   10994:       80 91 15 05     lds     r24, 0x0515
   10998:       90 91 16 05     lds     r25, 0x0516
   1099c:       a0 e0           ldi     r26, 0x00       ; 0
   1099e:       b0 e0           ldi     r27, 0x00       ; 0
   109a0:       80 93 92 01     sts     0x0192, r24
   109a4:       90 93 93 01     sts     0x0193, r25
   109a8:       a0 93 94 01     sts     0x0194, r26
   109ac:       b0 93 95 01     sts     0x0195, r27
        JetiExData[3].Value  =  Capacity.UsedCapacity / 10;
   109b0:       20 91 19 05     lds     r18, 0x0519
   109b4:       30 91 1a 05     lds     r19, 0x051A
   109b8:       ad ec           ldi     r26, 0xCD       ; 205
   109ba:       bc ec           ldi     r27, 0xCC       ; 204
   109bc:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
   109c0:       96 95           lsr     r25
   109c2:       87 95           ror     r24
   109c4:       96 95           lsr     r25
   109c6:       87 95           ror     r24
   109c8:       96 95           lsr     r25
   109ca:       87 95           ror     r24
   109cc:       a0 e0           ldi     r26, 0x00       ; 0
   109ce:       b0 e0           ldi     r27, 0x00       ; 0
   109d0:       80 93 a5 01     sts     0x01A5, r24
   109d4:       90 93 a6 01     sts     0x01A6, r25
   109d8:       a0 93 a7 01     sts     0x01A7, r26
   109dc:       b0 93 a8 01     sts     0x01A8, r27
        JetiExData[4].Value  =  HoehenWert / 100;
   109e0:       60 91 fe 03     lds     r22, 0x03FE
   109e4:       70 91 ff 03     lds     r23, 0x03FF
   109e8:       80 91 00 04     lds     r24, 0x0400
   109ec:       90 91 01 04     lds     r25, 0x0401
   109f0:       24 e6           ldi     r18, 0x64       ; 100
   109f2:       30 e0           ldi     r19, 0x00       ; 0
   109f4:       40 e0           ldi     r20, 0x00       ; 0
   109f6:       50 e0           ldi     r21, 0x00       ; 0
   109f8:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
   109fc:       20 93 b8 01     sts     0x01B8, r18
   10a00:       30 93 b9 01     sts     0x01B9, r19
   10a04:       40 93 ba 01     sts     0x01BA, r20
   10a08:       50 93 bb 01     sts     0x01BB, r21
        JetiExData[5].Value  =  KompassValue;
   10a0c:       80 91 4e 01     lds     r24, 0x014E
   10a10:       90 91 4f 01     lds     r25, 0x014F
   10a14:       aa 27           eor     r26, r26
   10a16:       97 fd           sbrc    r25, 7
   10a18:       a0 95           com     r26
   10a1a:       ba 2f           mov     r27, r26
   10a1c:       80 93 cb 01     sts     0x01CB, r24
   10a20:       90 93 cc 01     sts     0x01CC, r25
   10a24:       a0 93 cd 01     sts     0x01CD, r26
   10a28:       b0 93 ce 01     sts     0x01CE, r27
        JetiExData[6].Value  =  GPSInfo.NumOfSats;
   10a2c:       80 91 d8 08     lds     r24, 0x08D8
   10a30:       90 e0           ldi     r25, 0x00       ; 0
   10a32:       a0 e0           ldi     r26, 0x00       ; 0
   10a34:       b0 e0           ldi     r27, 0x00       ; 0
   10a36:       80 93 de 01     sts     0x01DE, r24
   10a3a:       90 93 df 01     sts     0x01DF, r25
   10a3e:       a0 93 e0 01     sts     0x01E0, r26
   10a42:       b0 93 e1 01     sts     0x01E1, r27
        JetiExData[7].Value  =  GPSInfo.Speed;
   10a46:       80 91 da 08     lds     r24, 0x08DA
   10a4a:       90 e0           ldi     r25, 0x00       ; 0
   10a4c:       a0 e0           ldi     r26, 0x00       ; 0
   10a4e:       b0 e0           ldi     r27, 0x00       ; 0
   10a50:       80 93 f1 01     sts     0x01F1, r24
   10a54:       90 93 f2 01     sts     0x01F2, r25
   10a58:       a0 93 f3 01     sts     0x01F3, r26
   10a5c:       b0 93 f4 01     sts     0x01F4, r27
        JetiExData[8].Value  =  GPSInfo.HomeDistance / 10;
   10a60:       20 91 db 08     lds     r18, 0x08DB
   10a64:       30 91 dc 08     lds     r19, 0x08DC
   10a68:       ad ec           ldi     r26, 0xCD       ; 205
   10a6a:       bc ec           ldi     r27, 0xCC       ; 204
   10a6c:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
   10a70:       96 95           lsr     r25
   10a72:       87 95           ror     r24
   10a74:       96 95           lsr     r25
   10a76:       87 95           ror     r24
   10a78:       96 95           lsr     r25
   10a7a:       87 95           ror     r24
   10a7c:       a0 e0           ldi     r26, 0x00       ; 0
   10a7e:       b0 e0           ldi     r27, 0x00       ; 0
   10a80:       80 93 04 02     sts     0x0204, r24
   10a84:       90 93 05 02     sts     0x0205, r25
   10a88:       a0 93 06 02     sts     0x0206, r26
   10a8c:       b0 93 07 02     sts     0x0207, r27
        JetiExData[9].Value  =  GPSInfo.HomeBearing;
   10a90:       80 91 dd 08     lds     r24, 0x08DD
   10a94:       90 91 de 08     lds     r25, 0x08DE
   10a98:       aa 27           eor     r26, r26
   10a9a:       97 fd           sbrc    r25, 7
   10a9c:       a0 95           com     r26
   10a9e:       ba 2f           mov     r27, r26
   10aa0:       80 93 17 02     sts     0x0217, r24
   10aa4:       90 93 18 02     sts     0x0218, r25
   10aa8:       a0 93 19 02     sts     0x0219, r26
   10aac:       b0 93 1a 02     sts     0x021A, r27
        JetiExData[10].Value  = MaxBlTemperture;
   10ab0:       80 91 84 04     lds     r24, 0x0484
   10ab4:       90 e0           ldi     r25, 0x00       ; 0
   10ab6:       a0 e0           ldi     r26, 0x00       ; 0
   10ab8:       b0 e0           ldi     r27, 0x00       ; 0
   10aba:       80 93 2a 02     sts     0x022A, r24
   10abe:       90 93 2b 02     sts     0x022B, r25
   10ac2:       a0 93 2c 02     sts     0x022C, r26
   10ac6:       b0 93 2d 02     sts     0x022D, r27
        JetiExData[11].Value  = EarthMagneticField;
   10aca:       80 91 ba 04     lds     r24, 0x04BA
   10ace:       90 e0           ldi     r25, 0x00       ; 0
   10ad0:       a0 e0           ldi     r26, 0x00       ; 0
   10ad2:       b0 e0           ldi     r27, 0x00       ; 0
   10ad4:       80 93 3d 02     sts     0x023D, r24
   10ad8:       90 93 3e 02     sts     0x023E, r25
   10adc:       a0 93 3f 02     sts     0x023F, r26
   10ae0:       b0 93 40 02     sts     0x0240, r27
//      JetiExData[12].Value  = Vario; // wird in BuildJeti_Vario() gemacht 
        JetiExData[13].Value  = NC_ErrorCode;
   10ae4:       80 91 bb 04     lds     r24, 0x04BB
   10ae8:       90 e0           ldi     r25, 0x00       ; 0
   10aea:       a0 e0           ldi     r26, 0x00       ; 0
   10aec:       b0 e0           ldi     r27, 0x00       ; 0
   10aee:       80 93 63 02     sts     0x0263, r24
   10af2:       90 93 64 02     sts     0x0264, r25
   10af6:       a0 93 65 02     sts     0x0265, r26
   10afa:       b0 93 66 02     sts     0x0266, r27
   10afe:       08 95           ret

00010b00 <LED_Init>:

// initializes the LED control outputs J16, J17
void LED_Init(void)
{
        // set PC2 & PC3 as output (control of J16 & J17)
        DDRC |= (1<<DDRC2)|(1<<DDRC3);
   10b00:       87 b1           in      r24, 0x07       ; 7
   10b02:       8c 60           ori     r24, 0x0C       ; 12
   10b04:       87 b9           out     0x07, r24       ; 7
        J16_OFF;
   10b06:       42 98           cbi     0x08, 2 ; 8
        J17_OFF;
   10b08:       43 98           cbi     0x08, 3 ; 8
        J16Blinkcount = 0; J16Mask = 128;
   10b0a:       10 92 a1 04     sts     0x04A1, r1
   10b0e:       80 e8           ldi     r24, 0x80       ; 128
   10b10:       80 93 8f 02     sts     0x028F, r24
        J17Blinkcount = 0; J17Mask = 128;
   10b14:       10 92 a0 04     sts     0x04A0, r1
   10b18:       80 93 8e 02     sts     0x028E, r24
   10b1c:       08 95           ret

00010b1e <LED_Update>:
        static unsigned char J16Bitmask = 0;
        static unsigned char J17Bitmask = 0;
        static unsigned char J16Warn = 0, J17Warn = 0;
    static unsigned char from_nc = 0; // Copy for the timing

        if(FromNC_WP_EventChannel_New) from_nc = FromNC_WP_EventChannel_New;
   10b1e:       80 91 bd 04     lds     r24, 0x04BD
   10b22:       81 11           cpse    r24, r1
   10b24:       80 93 9e 04     sts     0x049E, r24
        if(!delay--)  // 20ms Intervall
   10b28:       80 91 9d 04     lds     r24, 0x049D
   10b2c:       9f ef           ldi     r25, 0xFF       ; 255
   10b2e:       98 0f           add     r25, r24
   10b30:       90 93 9d 04     sts     0x049D, r25
   10b34:       81 11           cpse    r24, r1
   10b36:       73 c1           rjmp    .+742           ; 0x10e1e <LED_Update+0x300>
        {
        J16Bitmask = EE_Parameter.J16Bitmask;
   10b38:       80 91 88 05     lds     r24, 0x0588
   10b3c:       80 93 9c 04     sts     0x049C, r24
        J17Bitmask = EE_Parameter.J17Bitmask;
   10b40:       80 91 8a 05     lds     r24, 0x058A
   10b44:       80 93 9b 04     sts     0x049B, r24
        delay = 9;
   10b48:       89 e0           ldi     r24, 0x09       ; 9
   10b4a:       80 93 9d 04     sts     0x049D, r24
        if(FC_StatusFlags & (FC_STATUS_LOWBAT | FC_STATUS_EMERGENCY_LANDING) || (VersionInfo.HardwareError[1] & FC_ERROR1_I2C))
   10b4e:       80 91 cb 03     lds     r24, 0x03CB
   10b52:       80 73           andi    r24, 0x30       ; 48
   10b54:       21 f4           brne    .+8             ; 0x10b5e <LED_Update+0x40>
   10b56:       80 91 63 0a     lds     r24, 0x0A63
   10b5a:       80 ff           sbrs    r24, 0
   10b5c:       1d c0           rjmp    .+58            ; 0x10b98 <LED_Update+0x7a>
        {
                if(EE_Parameter.WARN_J16_Bitmask)
   10b5e:       80 91 8c 05     lds     r24, 0x058C
   10b62:       88 23           and     r24, r24
   10b64:       51 f0           breq    .+20            ; 0x10b7a <LED_Update+0x5c>
                 {
          if(!J16Warn) J16Blinkcount = 4;
   10b66:       80 91 9a 04     lds     r24, 0x049A
   10b6a:       81 11           cpse    r24, r1
   10b6c:       03 c0           rjmp    .+6             ; 0x10b74 <LED_Update+0x56>
   10b6e:       84 e0           ldi     r24, 0x04       ; 4
   10b70:       80 93 a1 04     sts     0x04A1, r24
          J16Warn = 1;
   10b74:       81 e0           ldi     r24, 0x01       ; 1
   10b76:       80 93 9a 04     sts     0x049A, r24
                 }
                if(EE_Parameter.WARN_J17_Bitmask)
   10b7a:       80 91 8d 05     lds     r24, 0x058D
   10b7e:       88 23           and     r24, r24
   10b80:       79 f0           breq    .+30            ; 0x10ba0 <LED_Update+0x82>
                 {
          if(!J17Warn) J17Blinkcount = 4;
   10b82:       80 91 99 04     lds     r24, 0x0499
   10b86:       81 11           cpse    r24, r1
   10b88:       03 c0           rjmp    .+6             ; 0x10b90 <LED_Update+0x72>
   10b8a:       84 e0           ldi     r24, 0x04       ; 4
   10b8c:       80 93 a0 04     sts     0x04A0, r24
          J17Warn = 1;
   10b90:       81 e0           ldi     r24, 0x01       ; 1
   10b92:       80 93 99 04     sts     0x0499, r24
   10b96:       04 c0           rjmp    .+8             ; 0x10ba0 <LED_Update+0x82>
                 }
        }
        else
        {
        J16Warn = 0;
   10b98:       10 92 9a 04     sts     0x049A, r1
        J17Warn = 0;
   10b9c:       10 92 99 04     sts     0x0499, r1
        }
//DebugOut.Analog[29] = EE_Parameter.GlobalConfig3;
// Output 1
 if(!J16Warn)     
   10ba0:       80 91 9a 04     lds     r24, 0x049A
   10ba4:       81 11           cpse    r24, r1
   10ba6:       95 c0           rjmp    .+298           ; 0x10cd2 <LED_Update+0x1b4>
  {
  if((EE_Parameter.BitConfig & CFG_MOTOR_BLINK1) && !MotorenEin) {if(EE_Parameter.BitConfig & CFG_MOTOR_OFF_LED1) J16_ON; else J16_OFF;}
   10ba8:       80 91 b6 05     lds     r24, 0x05B6
   10bac:       84 ff           sbrs    r24, 4
   10bae:       0a c0           rjmp    .+20            ; 0x10bc4 <LED_Update+0xa6>
   10bb0:       90 91 03 04     lds     r25, 0x0403
   10bb4:       91 11           cpse    r25, r1
   10bb6:       06 c0           rjmp    .+12            ; 0x10bc4 <LED_Update+0xa6>
   10bb8:       85 ff           sbrs    r24, 5
   10bba:       02 c0           rjmp    .+4             ; 0x10bc0 <LED_Update+0xa2>
   10bbc:       42 9a           sbi     0x08, 2 ; 8
   10bbe:       a8 c0           rjmp    .+336           ; 0x10d10 <LED_Update+0x1f2>
   10bc0:       42 98           cbi     0x08, 2 ; 8
   10bc2:       a6 c0           rjmp    .+332           ; 0x10d10 <LED_Update+0x1f2>
  else
  if((EE_Parameter.J16Timing > 247) && (Parameter_J16Timing > 220)) {if(J16Bitmask & 128) J16_OFF; else J16_ON; J16Mask = 1; NC_Wait_for_LED = 0;}  // Manual overwrite
   10bc4:       80 91 89 05     lds     r24, 0x0589
   10bc8:       88 3f           cpi     r24, 0xF8       ; 248
   10bca:       00 f1           brcs    .+64            ; 0x10c0c <LED_Update+0xee>
   10bcc:       80 91 3b 06     lds     r24, 0x063B
   10bd0:       8d 3d           cpi     r24, 0xDD       ; 221
   10bd2:       68 f0           brcs    .+26            ; 0x10bee <LED_Update+0xd0>
   10bd4:       80 91 9c 04     lds     r24, 0x049C
   10bd8:       88 23           and     r24, r24
   10bda:       14 f4           brge    .+4             ; 0x10be0 <LED_Update+0xc2>
   10bdc:       42 98           cbi     0x08, 2 ; 8
   10bde:       01 c0           rjmp    .+2             ; 0x10be2 <LED_Update+0xc4>
   10be0:       42 9a           sbi     0x08, 2 ; 8
   10be2:       81 e0           ldi     r24, 0x01       ; 1
   10be4:       80 93 8f 02     sts     0x028F, r24
   10be8:       10 92 9f 04     sts     0x049F, r1
   10bec:       91 c0           rjmp    .+290           ; 0x10d10 <LED_Update+0x1f2>
  else
  if((EE_Parameter.J16Timing > 247) && (Parameter_J16Timing == 5))  {if(J16Bitmask & 128) J16_ON; else J16_OFF; J16Mask = 1; NC_Wait_for_LED = 0;}  // Manual overwrite
   10bee:       85 30           cpi     r24, 0x05       ; 5
   10bf0:       69 f4           brne    .+26            ; 0x10c0c <LED_Update+0xee>
   10bf2:       80 91 9c 04     lds     r24, 0x049C
   10bf6:       88 23           and     r24, r24
   10bf8:       14 f4           brge    .+4             ; 0x10bfe <LED_Update+0xe0>
   10bfa:       42 9a           sbi     0x08, 2 ; 8
   10bfc:       01 c0           rjmp    .+2             ; 0x10c00 <LED_Update+0xe2>
   10bfe:       42 98           cbi     0x08, 2 ; 8
   10c00:       81 e0           ldi     r24, 0x01       ; 1
   10c02:       80 93 8f 02     sts     0x028F, r24
   10c06:       10 92 9f 04     sts     0x049F, r1
   10c0a:       82 c0           rjmp    .+260           ; 0x10d10 <LED_Update+0x1f2>
  else
  if(!J16Blinkcount--)
   10c0c:       80 91 a1 04     lds     r24, 0x04A1
   10c10:       9f ef           ldi     r25, 0xFF       ; 255
   10c12:       98 0f           add     r25, r24
   10c14:       90 93 a1 04     sts     0x04A1, r25
   10c18:       81 11           cpse    r24, r1
   10c1a:       7a c0           rjmp    .+244           ; 0x10d10 <LED_Update+0x1f2>
   {
    if(EE_Parameter.GlobalConfig3 & CFG3_USE_NC_FOR_OUT1) 
   10c1c:       80 91 b9 05     lds     r24, 0x05B9
   10c20:       85 ff           sbrs    r24, 5
   10c22:       39 c0           rjmp    .+114           ; 0x10c96 <LED_Update+0x178>
         {
          J16Blinkcount = from_nc / 2; 
   10c24:       80 91 9e 04     lds     r24, 0x049E
   10c28:       98 2f           mov     r25, r24
   10c2a:       96 95           lsr     r25
   10c2c:       90 93 a1 04     sts     0x04A1, r25
          if(!from_nc) { NC_Wait_for_LED = 0; if(J16Bitmask & 128) J16_ON; else J16_OFF; J16Mask = 0; } // Ausschalten
   10c30:       81 11           cpse    r24, r1
   10c32:       0c c0           rjmp    .+24            ; 0x10c4c <LED_Update+0x12e>
   10c34:       10 92 9f 04     sts     0x049F, r1
   10c38:       80 91 9c 04     lds     r24, 0x049C
   10c3c:       88 23           and     r24, r24
   10c3e:       14 f4           brge    .+4             ; 0x10c44 <LED_Update+0x126>
   10c40:       42 9a           sbi     0x08, 2 ; 8
   10c42:       01 c0           rjmp    .+2             ; 0x10c46 <LED_Update+0x128>
   10c44:       42 98           cbi     0x08, 2 ; 8
   10c46:       10 92 8f 02     sts     0x028F, r1
   10c4a:       62 c0           rjmp    .+196           ; 0x10d10 <LED_Update+0x1f2>
          else 
           {
        NC_Wait_for_LED = 1;
   10c4c:       81 e0           ldi     r24, 0x01       ; 1
   10c4e:       80 93 9f 04     sts     0x049F, r24
        if(J16Mask == 0) 
   10c52:       80 91 8f 02     lds     r24, 0x028F
   10c56:       81 11           cpse    r24, r1
   10c58:       11 c0           rjmp    .+34            ; 0x10c7c <LED_Update+0x15e>
                 { 
                  from_nc = FromNC_WP_EventChannel_New; 
   10c5a:       80 91 bd 04     lds     r24, 0x04BD
   10c5e:       80 93 9e 04     sts     0x049E, r24
                  FromNC_WP_EventChannel_New = 0;
   10c62:       10 92 bd 04     sts     0x04BD, r1
                  J16Mask = 64; 
   10c66:       80 e4           ldi     r24, 0x40       ; 64
   10c68:       80 93 8f 02     sts     0x028F, r24
                  if(J16Bitmask & 128) J16_ON; else J16_OFF; // Ausschalten
   10c6c:       80 91 9c 04     lds     r24, 0x049C
   10c70:       88 23           and     r24, r24
   10c72:       14 f4           brge    .+4             ; 0x10c78 <LED_Update+0x15a>
   10c74:       42 9a           sbi     0x08, 2 ; 8
   10c76:       4c c0           rjmp    .+152           ; 0x10d10 <LED_Update+0x1f2>
   10c78:       42 98           cbi     0x08, 2 ; 8
   10c7a:       4a c0           rjmp    .+148           ; 0x10d10 <LED_Update+0x1f2>
                 } 
                else 
                 {
                  if(J16Mask & J16Bitmask) J16_ON; else J16_OFF;
   10c7c:       90 91 9c 04     lds     r25, 0x049C
   10c80:       89 23           and     r24, r25
   10c82:       11 f0           breq    .+4             ; 0x10c88 <LED_Update+0x16a>
   10c84:       42 9a           sbi     0x08, 2 ; 8
   10c86:       01 c0           rjmp    .+2             ; 0x10c8a <LED_Update+0x16c>
   10c88:       42 98           cbi     0x08, 2 ; 8
                  J16Mask /= 2;
   10c8a:       80 91 8f 02     lds     r24, 0x028F
   10c8e:       86 95           lsr     r24
   10c90:       80 93 8f 02     sts     0x028F, r24
   10c94:       3d c0           rjmp    .+122           ; 0x10d10 <LED_Update+0x1f2>
                 } 
           }    
         } 
        else 
         {
          J16Blinkcount = Parameter_J16Timing / 2; 
   10c96:       80 91 3b 06     lds     r24, 0x063B
   10c9a:       86 95           lsr     r24
   10c9c:       80 93 a1 04     sts     0x04A1, r24
      if(J16Mask == 1) { from_nc = 0; J16Mask = 64; } else J16Mask /= 2;
   10ca0:       80 91 8f 02     lds     r24, 0x028F
   10ca4:       81 30           cpi     r24, 0x01       ; 1
   10ca6:       31 f4           brne    .+12            ; 0x10cb4 <LED_Update+0x196>
   10ca8:       10 92 9e 04     sts     0x049E, r1
   10cac:       80 e4           ldi     r24, 0x40       ; 64
   10cae:       80 93 8f 02     sts     0x028F, r24
   10cb2:       03 c0           rjmp    .+6             ; 0x10cba <LED_Update+0x19c>
   10cb4:       86 95           lsr     r24
   10cb6:       80 93 8f 02     sts     0x028F, r24
      if(J16Mask & J16Bitmask) J16_ON; else J16_OFF;
   10cba:       90 91 9c 04     lds     r25, 0x049C
   10cbe:       80 91 8f 02     lds     r24, 0x028F
   10cc2:       89 23           and     r24, r25
   10cc4:       11 f0           breq    .+4             ; 0x10cca <LED_Update+0x1ac>
   10cc6:       42 9a           sbi     0x08, 2 ; 8
   10cc8:       01 c0           rjmp    .+2             ; 0x10ccc <LED_Update+0x1ae>
   10cca:       42 98           cbi     0x08, 2 ; 8
          NC_Wait_for_LED = 0;
   10ccc:       10 92 9f 04     sts     0x049F, r1
   10cd0:       1f c0           rjmp    .+62            ; 0x10d10 <LED_Update+0x1f2>
         } 
   }
  }
  else  // warning case
  if(!J16Blinkcount--)
   10cd2:       80 91 a1 04     lds     r24, 0x04A1
   10cd6:       88 23           and     r24, r24
   10cd8:       21 f0           breq    .+8             ; 0x10ce2 <LED_Update+0x1c4>
   10cda:       81 50           subi    r24, 0x01       ; 1
   10cdc:       80 93 a1 04     sts     0x04A1, r24
   10ce0:       17 c0           rjmp    .+46            ; 0x10d10 <LED_Update+0x1f2>
   {
     J16Blinkcount = 10-1;
   10ce2:       89 e0           ldi     r24, 0x09       ; 9
   10ce4:       80 93 a1 04     sts     0x04A1, r24
     if(J16Mask == 1) J16Mask = 128; else J16Mask /= 2;
   10ce8:       80 91 8f 02     lds     r24, 0x028F
   10cec:       81 30           cpi     r24, 0x01       ; 1
   10cee:       21 f4           brne    .+8             ; 0x10cf8 <LED_Update+0x1da>
   10cf0:       80 e8           ldi     r24, 0x80       ; 128
   10cf2:       80 93 8f 02     sts     0x028F, r24
   10cf6:       03 c0           rjmp    .+6             ; 0x10cfe <LED_Update+0x1e0>
   10cf8:       86 95           lsr     r24
   10cfa:       80 93 8f 02     sts     0x028F, r24
     if(J16Mask & EE_Parameter.WARN_J16_Bitmask) J16_ON; else J16_OFF;
   10cfe:       90 91 8f 02     lds     r25, 0x028F
   10d02:       80 91 8c 05     lds     r24, 0x058C
   10d06:       89 23           and     r24, r25
   10d08:       11 f0           breq    .+4             ; 0x10d0e <LED_Update+0x1f0>
   10d0a:       42 9a           sbi     0x08, 2 ; 8
   10d0c:       01 c0           rjmp    .+2             ; 0x10d10 <LED_Update+0x1f2>
   10d0e:       42 98           cbi     0x08, 2 ; 8
   }
// Output 2

 if(!J17Warn)
   10d10:       80 91 99 04     lds     r24, 0x0499
   10d14:       81 11           cpse    r24, r1
   10d16:       50 c0           rjmp    .+160           ; 0x10db8 <LED_Update+0x29a>
  {
  if((EE_Parameter.BitConfig & CFG_MOTOR_BLINK2) && !MotorenEin) {if(EE_Parameter.BitConfig & CFG_MOTOR_OFF_LED2) J17_ON; else J17_OFF;}
   10d18:       80 91 b6 05     lds     r24, 0x05B6
   10d1c:       88 23           and     r24, r24
   10d1e:       54 f4           brge    .+20            ; 0x10d34 <LED_Update+0x216>
   10d20:       90 91 03 04     lds     r25, 0x0403
   10d24:       91 11           cpse    r25, r1
   10d26:       06 c0           rjmp    .+12            ; 0x10d34 <LED_Update+0x216>
   10d28:       86 ff           sbrs    r24, 6
   10d2a:       02 c0           rjmp    .+4             ; 0x10d30 <LED_Update+0x212>
   10d2c:       43 9a           sbi     0x08, 3 ; 8
   10d2e:       63 c0           rjmp    .+198           ; 0x10df6 <LED_Update+0x2d8>
   10d30:       43 98           cbi     0x08, 3 ; 8
   10d32:       61 c0           rjmp    .+194           ; 0x10df6 <LED_Update+0x2d8>
  else
  if((EE_Parameter.J17Timing > 247) && (Parameter_J17Timing > 220)) {if(J17Bitmask & 128) J17_OFF; else J17_ON; J17Mask = 1;}
   10d34:       80 91 8b 05     lds     r24, 0x058B
   10d38:       88 3f           cpi     r24, 0xF8       ; 248
   10d3a:       e0 f0           brcs    .+56            ; 0x10d74 <LED_Update+0x256>
   10d3c:       80 91 63 06     lds     r24, 0x0663
   10d40:       8d 3d           cpi     r24, 0xDD       ; 221
   10d42:       58 f0           brcs    .+22            ; 0x10d5a <LED_Update+0x23c>
   10d44:       80 91 9b 04     lds     r24, 0x049B
   10d48:       88 23           and     r24, r24
   10d4a:       14 f4           brge    .+4             ; 0x10d50 <LED_Update+0x232>
   10d4c:       43 98           cbi     0x08, 3 ; 8
   10d4e:       01 c0           rjmp    .+2             ; 0x10d52 <LED_Update+0x234>
   10d50:       43 9a           sbi     0x08, 3 ; 8
   10d52:       81 e0           ldi     r24, 0x01       ; 1
   10d54:       80 93 8e 02     sts     0x028E, r24
   10d58:       4e c0           rjmp    .+156           ; 0x10df6 <LED_Update+0x2d8>
  else
  if((EE_Parameter.J17Timing > 247) && (Parameter_J17Timing == 5))  {if(J17Bitmask & 128) J17_ON; else J17_OFF; J17Mask = 1;}
   10d5a:       85 30           cpi     r24, 0x05       ; 5
   10d5c:       59 f4           brne    .+22            ; 0x10d74 <LED_Update+0x256>
   10d5e:       80 91 9b 04     lds     r24, 0x049B
   10d62:       88 23           and     r24, r24
   10d64:       14 f4           brge    .+4             ; 0x10d6a <LED_Update+0x24c>
   10d66:       43 9a           sbi     0x08, 3 ; 8
   10d68:       01 c0           rjmp    .+2             ; 0x10d6c <LED_Update+0x24e>
   10d6a:       43 98           cbi     0x08, 3 ; 8
   10d6c:       81 e0           ldi     r24, 0x01       ; 1
   10d6e:       80 93 8e 02     sts     0x028E, r24
   10d72:       41 c0           rjmp    .+130           ; 0x10df6 <LED_Update+0x2d8>
  else
  if(!J17Blinkcount--)
   10d74:       80 91 a0 04     lds     r24, 0x04A0
   10d78:       9f ef           ldi     r25, 0xFF       ; 255
   10d7a:       98 0f           add     r25, r24
   10d7c:       90 93 a0 04     sts     0x04A0, r25
   10d80:       81 11           cpse    r24, r1
   10d82:       39 c0           rjmp    .+114           ; 0x10df6 <LED_Update+0x2d8>
   {
         J17Blinkcount = Parameter_J17Timing / 2; 
   10d84:       80 91 63 06     lds     r24, 0x0663
   10d88:       86 95           lsr     r24
   10d8a:       80 93 a0 04     sts     0x04A0, r24
     if(J17Mask == 1) J17Mask = 64; else J17Mask /= 2;
   10d8e:       80 91 8e 02     lds     r24, 0x028E
   10d92:       81 30           cpi     r24, 0x01       ; 1
   10d94:       21 f4           brne    .+8             ; 0x10d9e <LED_Update+0x280>
   10d96:       80 e4           ldi     r24, 0x40       ; 64
   10d98:       80 93 8e 02     sts     0x028E, r24
   10d9c:       03 c0           rjmp    .+6             ; 0x10da4 <LED_Update+0x286>
   10d9e:       86 95           lsr     r24
   10da0:       80 93 8e 02     sts     0x028E, r24
     if(J17Mask & J17Bitmask) J17_ON; else J17_OFF;
   10da4:       90 91 9b 04     lds     r25, 0x049B
   10da8:       80 91 8e 02     lds     r24, 0x028E
   10dac:       89 23           and     r24, r25
   10dae:       11 f0           breq    .+4             ; 0x10db4 <LED_Update+0x296>
   10db0:       43 9a           sbi     0x08, 3 ; 8
   10db2:       21 c0           rjmp    .+66            ; 0x10df6 <LED_Update+0x2d8>
   10db4:       43 98           cbi     0x08, 3 ; 8
   10db6:       1f c0           rjmp    .+62            ; 0x10df6 <LED_Update+0x2d8>
   }
  }
  else  // warning case
  if(!J17Blinkcount--)
   10db8:       80 91 a0 04     lds     r24, 0x04A0
   10dbc:       88 23           and     r24, r24
   10dbe:       21 f0           breq    .+8             ; 0x10dc8 <LED_Update+0x2aa>
   10dc0:       81 50           subi    r24, 0x01       ; 1
   10dc2:       80 93 a0 04     sts     0x04A0, r24
   10dc6:       17 c0           rjmp    .+46            ; 0x10df6 <LED_Update+0x2d8>
   {
     J17Blinkcount = 10-1;
   10dc8:       89 e0           ldi     r24, 0x09       ; 9
   10dca:       80 93 a0 04     sts     0x04A0, r24
     if(J17Mask == 1) J17Mask = 128; else J17Mask /= 2;
   10dce:       80 91 8e 02     lds     r24, 0x028E
   10dd2:       81 30           cpi     r24, 0x01       ; 1
   10dd4:       21 f4           brne    .+8             ; 0x10dde <LED_Update+0x2c0>
   10dd6:       80 e8           ldi     r24, 0x80       ; 128
   10dd8:       80 93 8e 02     sts     0x028E, r24
   10ddc:       03 c0           rjmp    .+6             ; 0x10de4 <LED_Update+0x2c6>
   10dde:       86 95           lsr     r24
   10de0:       80 93 8e 02     sts     0x028E, r24
     if(J17Mask & EE_Parameter.WARN_J17_Bitmask) J17_ON; else J17_OFF;
   10de4:       90 91 8e 02     lds     r25, 0x028E
   10de8:       80 91 8d 05     lds     r24, 0x058D
   10dec:       89 23           and     r24, r25
   10dee:       11 f0           breq    .+4             ; 0x10df4 <LED_Update+0x2d6>
   10df0:       43 9a           sbi     0x08, 3 ; 8
   10df2:       01 c0           rjmp    .+2             ; 0x10df6 <LED_Update+0x2d8>
   10df4:       43 98           cbi     0x08, 3 ; 8
   }

   if(PORTC & (1<<PORTC2)) FC_StatusFlags2 |= FC_STATUS2_OUT1_ACTIVE; //else FC_StatusFlags2 &= ~FC_STATUS2_OUT1_ACTIVE;      // Out1 (J16) -> wird in der SPI zurück gesetzt
   10df6:       42 9b           sbis    0x08, 2 ; 8
   10df8:       05 c0           rjmp    .+10            ; 0x10e04 <LED_Update+0x2e6>
   10dfa:       80 91 ca 03     lds     r24, 0x03CA
   10dfe:       88 60           ori     r24, 0x08       ; 8
   10e00:       80 93 ca 03     sts     0x03CA, r24
   if(PORTC & (1<<PORTC3)) FC_StatusFlags2 |= FC_STATUS2_OUT2_ACTIVE; else FC_StatusFlags2 &= ~FC_STATUS2_OUT2_ACTIVE;       // Out2 (J17)
   10e04:       43 9b           sbis    0x08, 3 ; 8
   10e06:       06 c0           rjmp    .+12            ; 0x10e14 <LED_Update+0x2f6>
   10e08:       80 91 ca 03     lds     r24, 0x03CA
   10e0c:       80 61           ori     r24, 0x10       ; 16
   10e0e:       80 93 ca 03     sts     0x03CA, r24
   10e12:       08 95           ret
   10e14:       80 91 ca 03     lds     r24, 0x03CA
   10e18:       8f 7e           andi    r24, 0xEF       ; 239
   10e1a:       80 93 ca 03     sts     0x03CA, r24
   10e1e:       08 95           ret

00010e20 <Menu_Putchar>:
 for(i=0;i<80;i++) DisplayBuff[i] = ' ';
}

void Menu_Putchar(char c)
{
 if(DispPtr < 80) DisplayBuff[DispPtr++] = c;
   10e20:       e0 91 a4 04     lds     r30, 0x04A4
   10e24:       e0 35           cpi     r30, 0x50       ; 80
   10e26:       40 f4           brcc    .+16            ; 0x10e38 <Menu_Putchar+0x18>
   10e28:       91 e0           ldi     r25, 0x01       ; 1
   10e2a:       9e 0f           add     r25, r30
   10e2c:       90 93 a4 04     sts     0x04A4, r25
   10e30:       f0 e0           ldi     r31, 0x00       ; 0
   10e32:       e0 52           subi    r30, 0x20       ; 32
   10e34:       f8 4f           sbci    r31, 0xF8       ; 248
   10e36:       80 83           st      Z, r24
   10e38:       08 95           ret

00010e3a <LcdClear>:
#define KEY3    0x04
#define KEY4    0x08
#define KEY5    0x10

void LcdClear(void)
{
   10e3a:       e0 ee           ldi     r30, 0xE0       ; 224
   10e3c:       f7 e0           ldi     r31, 0x07       ; 7
   10e3e:       80 e3           ldi     r24, 0x30       ; 48
   10e40:       98 e0           ldi     r25, 0x08       ; 8
 unsigned char i;
 for(i=0;i<80;i++) DisplayBuff[i] = ' ';
   10e42:       20 e2           ldi     r18, 0x20       ; 32
   10e44:       21 93           st      Z+, r18
   10e46:       e8 17           cp      r30, r24
   10e48:       f9 07           cpc     r31, r25
   10e4a:       e1 f7           brne    .-8             ; 0x10e44 <LcdClear+0xa>
}
   10e4c:       08 95           ret

00010e4e <Menu>:
{
 if(DispPtr < 80) DisplayBuff[DispPtr++] = c;
}

void Menu(void)
 {
   10e4e:       2f 92           push    r2
   10e50:       3f 92           push    r3
   10e52:       5f 92           push    r5
   10e54:       6f 92           push    r6
   10e56:       7f 92           push    r7
   10e58:       8f 92           push    r8
   10e5a:       9f 92           push    r9
   10e5c:       af 92           push    r10
   10e5e:       bf 92           push    r11
   10e60:       cf 92           push    r12
   10e62:       df 92           push    r13
   10e64:       ef 92           push    r14
   10e66:       ff 92           push    r15
   10e68:       0f 93           push    r16
   10e6a:       1f 93           push    r17
   10e6c:       cf 93           push    r28
   10e6e:       df 93           push    r29
  unsigned char i;
  if(RemoteKeys & KEY1) { if(MenuePunkt) MenuePunkt--; else MenuePunkt = MaxMenue;}
   10e70:       80 91 a2 04     lds     r24, 0x04A2
   10e74:       80 ff           sbrs    r24, 0
   10e76:       0c c0           rjmp    .+24            ; 0x10e90 <Menu+0x42>
   10e78:       90 91 a3 04     lds     r25, 0x04A3
   10e7c:       99 23           and     r25, r25
   10e7e:       21 f0           breq    .+8             ; 0x10e88 <Menu+0x3a>
   10e80:       91 50           subi    r25, 0x01       ; 1
   10e82:       90 93 a3 04     sts     0x04A3, r25
   10e86:       04 c0           rjmp    .+8             ; 0x10e90 <Menu+0x42>
   10e88:       90 91 90 02     lds     r25, 0x0290
   10e8c:       90 93 a3 04     sts     0x04A3, r25
  if(RemoteKeys & KEY2) { if(MenuePunkt == MaxMenue) MenuePunkt = 0; else MenuePunkt++;}
   10e90:       81 ff           sbrs    r24, 1
   10e92:       0c c0           rjmp    .+24            ; 0x10eac <Menu+0x5e>
   10e94:       90 91 a3 04     lds     r25, 0x04A3
   10e98:       20 91 90 02     lds     r18, 0x0290
   10e9c:       92 13           cpse    r25, r18
   10e9e:       03 c0           rjmp    .+6             ; 0x10ea6 <Menu+0x58>
   10ea0:       10 92 a3 04     sts     0x04A3, r1
   10ea4:       03 c0           rjmp    .+6             ; 0x10eac <Menu+0x5e>
   10ea6:       9f 5f           subi    r25, 0xFF       ; 255
   10ea8:       90 93 a3 04     sts     0x04A3, r25
   10eac:       83 70           andi    r24, 0x03       ; 3
  if((RemoteKeys & KEY1) && (RemoteKeys & KEY2)) MenuePunkt = 0;
   10eae:       83 30           cpi     r24, 0x03       ; 3
   10eb0:       11 f4           brne    .+4             ; 0x10eb6 <Menu+0x68>
   10eb2:       10 92 a3 04     sts     0x04A3, r1
  LcdClear();
   10eb6:       c1 df           rcall   .-126           ; 0x10e3a <LcdClear>
  if(MenuePunkt < 10) {LCD_printfxy(17,0,"[%i]",MenuePunkt);}
   10eb8:       80 91 a3 04     lds     r24, 0x04A3
   10ebc:       8a 30           cpi     r24, 0x0A       ; 10
   10ebe:       c8 f4           brcc    .+50            ; 0x10ef2 <Menu+0xa4>
   10ec0:       91 e1           ldi     r25, 0x11       ; 17
   10ec2:       90 93 a4 04     sts     0x04A4, r25
   10ec6:       1f 92           push    r1
   10ec8:       8f 93           push    r24
   10eca:       86 e5           ldi     r24, 0x56       ; 86
   10ecc:       95 e1           ldi     r25, 0x15       ; 21
   10ece:       9f 93           push    r25
   10ed0:       8f 93           push    r24
   10ed2:       80 e1           ldi     r24, 0x10       ; 16
   10ed4:       97 e8           ldi     r25, 0x87       ; 135
   10ed6:       9f 93           push    r25
   10ed8:       8f 93           push    r24
   10eda:       e0 91 78 06     lds     r30, 0x0678
   10ede:       f0 91 79 06     lds     r31, 0x0679
   10ee2:       09 95           icall
   10ee4:       0f 90           pop     r0
   10ee6:       0f 90           pop     r0
   10ee8:       0f 90           pop     r0
   10eea:       0f 90           pop     r0
   10eec:       0f 90           pop     r0
   10eee:       0f 90           pop     r0
   10ef0:       18 c0           rjmp    .+48            ; 0x10f22 <Menu+0xd4>
  else {LCD_printfxy(16,0,"[%i]",MenuePunkt);};
   10ef2:       90 e1           ldi     r25, 0x10       ; 16
   10ef4:       90 93 a4 04     sts     0x04A4, r25
   10ef8:       1f 92           push    r1
   10efa:       8f 93           push    r24
   10efc:       81 e5           ldi     r24, 0x51       ; 81
   10efe:       95 e1           ldi     r25, 0x15       ; 21
   10f00:       9f 93           push    r25
   10f02:       8f 93           push    r24
   10f04:       80 e1           ldi     r24, 0x10       ; 16
   10f06:       97 e8           ldi     r25, 0x87       ; 135
   10f08:       9f 93           push    r25
   10f0a:       8f 93           push    r24
   10f0c:       e0 91 78 06     lds     r30, 0x0678
   10f10:       f0 91 79 06     lds     r31, 0x0679
   10f14:       09 95           icall
   10f16:       0f 90           pop     r0
   10f18:       0f 90           pop     r0
   10f1a:       0f 90           pop     r0
   10f1c:       0f 90           pop     r0
   10f1e:       0f 90           pop     r0
   10f20:       0f 90           pop     r0

  switch(MenuePunkt)
   10f22:       20 91 a3 04     lds     r18, 0x04A3
   10f26:       82 2f           mov     r24, r18
   10f28:       90 e0           ldi     r25, 0x00       ; 0
   10f2a:       84 31           cpi     r24, 0x14       ; 20
   10f2c:       91 05           cpc     r25, r1
   10f2e:       10 f0           brcs    .+4             ; 0x10f34 <Menu+0xe6>
   10f30:       0c 94 10 91     jmp     0x12220 ; 0x12220 <Menu+0x13d2>
   10f34:       fc 01           movw    r30, r24
   10f36:       ee 56           subi    r30, 0x6E       ; 110
   10f38:       ff 4f           sbci    r31, 0xFF       ; 255
   10f3a:       0c 94 a7 b1     jmp     0x1634e ; 0x1634e <__tablejump2__>
   {
    case 0:
           LCD_printfxy(0,0,"+ MikroKopter +");
   10f3e:       10 92 a4 04     sts     0x04A4, r1
   10f42:       81 e4           ldi     r24, 0x41       ; 65
   10f44:       95 e1           ldi     r25, 0x15       ; 21
   10f46:       9f 93           push    r25
   10f48:       8f 93           push    r24
   10f4a:       c0 e1           ldi     r28, 0x10       ; 16
   10f4c:       d7 e8           ldi     r29, 0x87       ; 135
   10f4e:       df 93           push    r29
   10f50:       cf 93           push    r28
   10f52:       e0 91 78 06     lds     r30, 0x0678
   10f56:       f0 91 79 06     lds     r31, 0x0679
   10f5a:       09 95           icall
           LCD_printfxy(0,1,"HW:V%d.%d SW:%d.%02d%c ",PlatinenVersion/10,PlatinenVersion%10, VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH +'a');
   10f5c:       84 e1           ldi     r24, 0x14       ; 20
   10f5e:       80 93 a4 04     sts     0x04A4, r24
   10f62:       90 91 54 01     lds     r25, 0x0154
   10f66:       1f 92           push    r1
   10f68:       81 e6           ldi     r24, 0x61       ; 97
   10f6a:       8f 93           push    r24
   10f6c:       1f 92           push    r1
   10f6e:       88 e0           ldi     r24, 0x08       ; 8
   10f70:       8f 93           push    r24
   10f72:       1f 92           push    r1
   10f74:       82 e0           ldi     r24, 0x02       ; 2
   10f76:       8f 93           push    r24
   10f78:       8d ec           ldi     r24, 0xCD       ; 205
   10f7a:       98 9f           mul     r25, r24
   10f7c:       81 2d           mov     r24, r1
   10f7e:       11 24           eor     r1, r1
   10f80:       86 95           lsr     r24
   10f82:       86 95           lsr     r24
   10f84:       86 95           lsr     r24
   10f86:       28 2f           mov     r18, r24
   10f88:       22 0f           add     r18, r18
   10f8a:       32 2f           mov     r19, r18
   10f8c:       33 0f           add     r19, r19
   10f8e:       33 0f           add     r19, r19
   10f90:       23 0f           add     r18, r19
   10f92:       92 1b           sub     r25, r18
   10f94:       1f 92           push    r1
   10f96:       9f 93           push    r25
   10f98:       1f 92           push    r1
   10f9a:       8f 93           push    r24
   10f9c:       89 e2           ldi     r24, 0x29       ; 41
   10f9e:       95 e1           ldi     r25, 0x15       ; 21
   10fa0:       9f 93           push    r25
   10fa2:       8f 93           push    r24
   10fa4:       df 93           push    r29
   10fa6:       cf 93           push    r28
   10fa8:       e0 91 78 06     lds     r30, 0x0678
   10fac:       f0 91 79 06     lds     r31, 0x0679
   10fb0:       09 95           icall
           LCD_printfxy(0,2,"Set:%d %s", ActiveParamSet,Mixer.Name);
   10fb2:       88 e2           ldi     r24, 0x28       ; 40
   10fb4:       80 93 a4 04     sts     0x04A4, r24
   10fb8:       88 ec           ldi     r24, 0xC8       ; 200
   10fba:       95 e0           ldi     r25, 0x05       ; 5
   10fbc:       9f 93           push    r25
   10fbe:       8f 93           push    r24
   10fc0:       80 91 52 01     lds     r24, 0x0152
   10fc4:       1f 92           push    r1
   10fc6:       8f 93           push    r24
   10fc8:       8f e1           ldi     r24, 0x1F       ; 31
   10fca:       95 e1           ldi     r25, 0x15       ; 21
   10fcc:       9f 93           push    r25
   10fce:       8f 93           push    r24
   10fd0:       df 93           push    r29
   10fd2:       cf 93           push    r28
   10fd4:       e0 91 78 06     lds     r30, 0x0678
   10fd8:       f0 91 79 06     lds     r31, 0x0679
   10fdc:       09 95           icall
           if(FC_StatusFlags3 & FC_STATUS3_BOAT) LCD_printfxy(16,2,"BOAT");
   10fde:       80 91 c9 03     lds     r24, 0x03C9
   10fe2:       2d b7           in      r18, 0x3d       ; 61
   10fe4:       3e b7           in      r19, 0x3e       ; 62
   10fe6:       26 5e           subi    r18, 0xE6       ; 230
   10fe8:       3f 4f           sbci    r19, 0xFF       ; 255
   10fea:       0f b6           in      r0, 0x3f        ; 63
   10fec:       f8 94           cli
   10fee:       3e bf           out     0x3e, r19       ; 62
   10ff0:       0f be           out     0x3f, r0        ; 63
   10ff2:       2d bf           out     0x3d, r18       ; 61
   10ff4:       81 ff           sbrs    r24, 1
   10ff6:       13 c0           rjmp    .+38            ; 0x1101e <Menu+0x1d0>
   10ff8:       88 e3           ldi     r24, 0x38       ; 56
   10ffa:       80 93 a4 04     sts     0x04A4, r24
   10ffe:       8a e1           ldi     r24, 0x1A       ; 26
   11000:       95 e1           ldi     r25, 0x15       ; 21
   11002:       9f 93           push    r25
   11004:       8f 93           push    r24
   11006:       ce 01           movw    r24, r28
   11008:       9f 93           push    r25
   1100a:       cf 93           push    r28
   1100c:       e0 91 78 06     lds     r30, 0x0678
   11010:       f0 91 79 06     lds     r31, 0x0679
   11014:       09 95           icall
   11016:       0f 90           pop     r0
   11018:       0f 90           pop     r0
   1101a:       0f 90           pop     r0
   1101c:       0f 90           pop     r0

            if(VersionInfo.HardwareError[1] & FC_ERROR1_MIXER) LCD_printfxy(0,3,"Mixer Error!")
   1101e:       80 91 63 0a     lds     r24, 0x0A63
   11022:       84 ff           sbrs    r24, 4
   11024:       16 c0           rjmp    .+44            ; 0x11052 <Menu+0x204>
   11026:       8c e3           ldi     r24, 0x3C       ; 60
   11028:       80 93 a4 04     sts     0x04A4, r24
   1102c:       8d e0           ldi     r24, 0x0D       ; 13
   1102e:       95 e1           ldi     r25, 0x15       ; 21
   11030:       9f 93           push    r25
   11032:       8f 93           push    r24
   11034:       80 e1           ldi     r24, 0x10       ; 16
   11036:       97 e8           ldi     r25, 0x87       ; 135
   11038:       9f 93           push    r25
   1103a:       8f 93           push    r24
   1103c:       e0 91 78 06     lds     r30, 0x0678
   11040:       f0 91 79 06     lds     r31, 0x0679
   11044:       09 95           icall
   11046:       0f 90           pop     r0
   11048:       0f 90           pop     r0
   1104a:       0f 90           pop     r0
   1104c:       0f 90           pop     r0
   1104e:       0c 94 19 91     jmp     0x12232 ; 0x12232 <Menu+0x13e4>
                    else
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                        if(NC_ErrorCode) 
   11052:       80 91 bb 04     lds     r24, 0x04BB
   11056:       88 23           and     r24, r24
   11058:       79 f1           breq    .+94            ; 0x110b8 <Menu+0x26a>
                        {
                                LCD_printfxy(0,3,"ERR%2d:",NC_ErrorCode);
   1105a:       9c e3           ldi     r25, 0x3C       ; 60
   1105c:       90 93 a4 04     sts     0x04A4, r25
   11060:       1f 92           push    r1
   11062:       8f 93           push    r24
   11064:       85 e0           ldi     r24, 0x05       ; 5
   11066:       95 e1           ldi     r25, 0x15       ; 21
   11068:       9f 93           push    r25
   1106a:       8f 93           push    r24
   1106c:       c0 e1           ldi     r28, 0x10       ; 16
   1106e:       d7 e8           ldi     r29, 0x87       ; 135
   11070:       df 93           push    r29
   11072:       cf 93           push    r28
   11074:       e0 91 78 06     lds     r30, 0x0678
   11078:       f0 91 79 06     lds     r31, 0x0679
   1107c:       09 95           icall
                                _printf_P(&Menu_Putchar, NC_ERROR_TEXT[NC_ErrorCode] , 0); 
   1107e:       1f 92           push    r1
   11080:       1f 92           push    r1
   11082:       80 91 bb 04     lds     r24, 0x04BB
   11086:       e1 e1           ldi     r30, 0x11       ; 17
   11088:       8e 9f           mul     r24, r30
   1108a:       c0 01           movw    r24, r0
   1108c:       11 24           eor     r1, r1
   1108e:       84 59           subi    r24, 0x94       ; 148
   11090:       94 4f           sbci    r25, 0xF4       ; 244
   11092:       9f 93           push    r25
   11094:       8f 93           push    r24
   11096:       df 93           push    r29
   11098:       cf 93           push    r28
   1109a:       e0 91 78 06     lds     r30, 0x0678
   1109e:       f0 91 79 06     lds     r31, 0x0679
   110a2:       09 95           icall
   110a4:       8d b7           in      r24, 0x3d       ; 61
   110a6:       9e b7           in      r25, 0x3e       ; 62
   110a8:       0c 96           adiw    r24, 0x0c       ; 12
   110aa:       0f b6           in      r0, 0x3f        ; 63
   110ac:       f8 94           cli
   110ae:       9e bf           out     0x3e, r25       ; 62
   110b0:       0f be           out     0x3f, r0        ; 63
   110b2:       8d bf           out     0x3d, r24       ; 61
   110b4:       0c 94 19 91     jmp     0x12232 ; 0x12232 <Menu+0x13e4>
                        }
                   else
#endif
                   if(VersionInfo.HardwareError[0]) LCD_printfxy(0,3,"Hardware Error 1:%d !!",VersionInfo.HardwareError[0])
   110b8:       80 91 62 0a     lds     r24, 0x0A62
   110bc:       88 23           and     r24, r24
   110be:       d1 f0           breq    .+52            ; 0x110f4 <Menu+0x2a6>
   110c0:       9c e3           ldi     r25, 0x3C       ; 60
   110c2:       90 93 a4 04     sts     0x04A4, r25
   110c6:       1f 92           push    r1
   110c8:       8f 93           push    r24
   110ca:       8e ee           ldi     r24, 0xEE       ; 238
   110cc:       94 e1           ldi     r25, 0x14       ; 20
   110ce:       9f 93           push    r25
   110d0:       8f 93           push    r24
   110d2:       80 e1           ldi     r24, 0x10       ; 16
   110d4:       97 e8           ldi     r25, 0x87       ; 135
   110d6:       9f 93           push    r25
   110d8:       8f 93           push    r24
   110da:       e0 91 78 06     lds     r30, 0x0678
   110de:       f0 91 79 06     lds     r31, 0x0679
   110e2:       09 95           icall
   110e4:       0f 90           pop     r0
   110e6:       0f 90           pop     r0
   110e8:       0f 90           pop     r0
   110ea:       0f 90           pop     r0
   110ec:       0f 90           pop     r0
   110ee:       0f 90           pop     r0
   110f0:       0c 94 19 91     jmp     0x12232 ; 0x12232 <Menu+0x13e4>
                   else
           if(MissingMotor) LCD_printfxy(0,3,"Missing BL-Ctrl:%d !!",MissingMotor)
   110f4:       80 91 df 04     lds     r24, 0x04DF
   110f8:       88 23           and     r24, r24
   110fa:       d1 f0           breq    .+52            ; 0x11130 <Menu+0x2e2>
   110fc:       9c e3           ldi     r25, 0x3C       ; 60
   110fe:       90 93 a4 04     sts     0x04A4, r25
   11102:       1f 92           push    r1
   11104:       8f 93           push    r24
   11106:       88 ed           ldi     r24, 0xD8       ; 216
   11108:       94 e1           ldi     r25, 0x14       ; 20
   1110a:       9f 93           push    r25
   1110c:       8f 93           push    r24
   1110e:       80 e1           ldi     r24, 0x10       ; 16
   11110:       97 e8           ldi     r25, 0x87       ; 135
   11112:       9f 93           push    r25
   11114:       8f 93           push    r24
   11116:       e0 91 78 06     lds     r30, 0x0678
   1111a:       f0 91 79 06     lds     r31, 0x0679
   1111e:       09 95           icall
   11120:       0f 90           pop     r0
   11122:       0f 90           pop     r0
   11124:       0f 90           pop     r0
   11126:       0f 90           pop     r0
   11128:       0f 90           pop     r0
   1112a:       0f 90           pop     r0
   1112c:       0c 94 19 91     jmp     0x12232 ; 0x12232 <Menu+0x13e4>
                                LCD_printfxy(0,3,"! NC-ERR: %2d ! ",NC_ErrorCode);
                        }
#endif
//                 if(VersionInfo.HardwareError[1]) LCD_printfxy(0,3,"Error 2:%d !!",VersionInfo.HardwareError[1])
                   else
           if(I2CTimeout < 6) LCD_printfxy(0,3,"I2C ERROR!!!")
   11130:       80 91 b0 02     lds     r24, 0x02B0
   11134:       90 91 b1 02     lds     r25, 0x02B1
   11138:       06 97           sbiw    r24, 0x06       ; 6
   1113a:       b0 f4           brcc    .+44            ; 0x11168 <Menu+0x31a>
   1113c:       8c e3           ldi     r24, 0x3C       ; 60
   1113e:       80 93 a4 04     sts     0x04A4, r24
   11142:       8b ec           ldi     r24, 0xCB       ; 203
   11144:       94 e1           ldi     r25, 0x14       ; 20
   11146:       9f 93           push    r25
   11148:       8f 93           push    r24
   1114a:       80 e1           ldi     r24, 0x10       ; 16
   1114c:       97 e8           ldi     r25, 0x87       ; 135
   1114e:       9f 93           push    r25
   11150:       8f 93           push    r24
   11152:       e0 91 78 06     lds     r30, 0x0678
   11156:       f0 91 79 06     lds     r31, 0x0679
   1115a:       09 95           icall
   1115c:       0f 90           pop     r0
   1115e:       0f 90           pop     r0
   11160:       0f 90           pop     r0
   11162:       0f 90           pop     r0
   11164:       0c 94 19 91     jmp     0x12232 ; 0x12232 <Menu+0x13e4>
                   else
               if(Capacity.MinOfMaxPWM < 30) LCD_printfxy(0,3,"BL-Selftest Err:%2d",Capacity.MinOfMaxPWM)
   11168:       80 91 1b 05     lds     r24, 0x051B
   1116c:       8e 31           cpi     r24, 0x1E       ; 30
   1116e:       10 f0           brcs    .+4             ; 0x11174 <Menu+0x326>
   11170:       0c 94 19 91     jmp     0x12232 ; 0x12232 <Menu+0x13e4>
   11174:       9c e3           ldi     r25, 0x3C       ; 60
   11176:       90 93 a4 04     sts     0x04A4, r25
   1117a:       1f 92           push    r1
   1117c:       8f 93           push    r24
   1117e:       87 eb           ldi     r24, 0xB7       ; 183
   11180:       94 e1           ldi     r25, 0x14       ; 20
   11182:       9f 93           push    r25
   11184:       8f 93           push    r24
   11186:       80 e1           ldi     r24, 0x10       ; 16
   11188:       97 e8           ldi     r25, 0x87       ; 135
   1118a:       9f 93           push    r25
   1118c:       8f 93           push    r24
   1118e:       e0 91 78 06     lds     r30, 0x0678
   11192:       f0 91 79 06     lds     r31, 0x0679
   11196:       09 95           icall
   11198:       0f 90           pop     r0
   1119a:       0f 90           pop     r0
   1119c:       0f 90           pop     r0
   1119e:       0f 90           pop     r0
   111a0:       0f 90           pop     r0
   111a2:       0f 90           pop     r0
   111a4:       0c 94 19 91     jmp     0x12232 ; 0x12232 <Menu+0x13e4>

           break;
    case 1:
           LCD_printfxy(0,0,"Height:  %5i",(int)(HoehenWert/5));
   111a8:       10 92 a4 04     sts     0x04A4, r1
   111ac:       60 91 fe 03     lds     r22, 0x03FE
   111b0:       70 91 ff 03     lds     r23, 0x03FF
   111b4:       80 91 00 04     lds     r24, 0x0400
   111b8:       90 91 01 04     lds     r25, 0x0401
   111bc:       0f 2e           mov     r0, r31
   111be:       f5 e0           ldi     r31, 0x05       ; 5
   111c0:       cf 2e           mov     r12, r31
   111c2:       d1 2c           mov     r13, r1
   111c4:       e1 2c           mov     r14, r1
   111c6:       f1 2c           mov     r15, r1
   111c8:       f0 2d           mov     r31, r0
   111ca:       a7 01           movw    r20, r14
   111cc:       96 01           movw    r18, r12
   111ce:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
   111d2:       3f 93           push    r19
   111d4:       2f 93           push    r18
   111d6:       8a ea           ldi     r24, 0xAA       ; 170
   111d8:       94 e1           ldi     r25, 0x14       ; 20
   111da:       9f 93           push    r25
   111dc:       8f 93           push    r24
   111de:       c0 e1           ldi     r28, 0x10       ; 16
   111e0:       d7 e8           ldi     r29, 0x87       ; 135
   111e2:       df 93           push    r29
   111e4:       cf 93           push    r28
   111e6:       e0 91 78 06     lds     r30, 0x0678
   111ea:       f0 91 79 06     lds     r31, 0x0679
   111ee:       09 95           icall
           LCD_printfxy(0,1,"Setpoint:%5i",(int)(SollHoehe/5));
   111f0:       84 e1           ldi     r24, 0x14       ; 20
   111f2:       80 93 a4 04     sts     0x04A4, r24
   111f6:       60 91 fa 03     lds     r22, 0x03FA
   111fa:       70 91 fb 03     lds     r23, 0x03FB
   111fe:       80 91 fc 03     lds     r24, 0x03FC
   11202:       90 91 fd 03     lds     r25, 0x03FD
   11206:       a7 01           movw    r20, r14
   11208:       96 01           movw    r18, r12
   1120a:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
   1120e:       3f 93           push    r19
   11210:       2f 93           push    r18
   11212:       8d e9           ldi     r24, 0x9D       ; 157
   11214:       94 e1           ldi     r25, 0x14       ; 20
   11216:       9f 93           push    r25
   11218:       8f 93           push    r24
   1121a:       df 93           push    r29
   1121c:       cf 93           push    r28
   1121e:       e0 91 78 06     lds     r30, 0x0678
   11222:       f0 91 79 06     lds     r31, 0x0679
   11226:       09 95           icall
           LCD_printfxy(0,2,"Pressure:%5i",MessLuftdruck);
   11228:       88 e2           ldi     r24, 0x28       ; 40
   1122a:       80 93 a4 04     sts     0x04A4, r24
   1122e:       80 91 10 01     lds     r24, 0x0110
   11232:       90 91 11 01     lds     r25, 0x0111
   11236:       9f 93           push    r25
   11238:       8f 93           push    r24
   1123a:       80 e9           ldi     r24, 0x90       ; 144
   1123c:       94 e1           ldi     r25, 0x14       ; 20
   1123e:       9f 93           push    r25
   11240:       8f 93           push    r24
   11242:       df 93           push    r29
   11244:       cf 93           push    r28
   11246:       e0 91 78 06     lds     r30, 0x0678
   1124a:       f0 91 79 06     lds     r31, 0x0679
   1124e:       09 95           icall
           LCD_printfxy(0,3,"Offset:  %5i",OCR0A);
   11250:       8c e3           ldi     r24, 0x3C       ; 60
   11252:       80 93 a4 04     sts     0x04A4, r24
   11256:       87 b5           in      r24, 0x27       ; 39
   11258:       1f 92           push    r1
   1125a:       8f 93           push    r24
   1125c:       83 e8           ldi     r24, 0x83       ; 131
   1125e:       94 e1           ldi     r25, 0x14       ; 20
   11260:       9f 93           push    r25
   11262:       8f 93           push    r24
   11264:       df 93           push    r29
   11266:       cf 93           push    r28
   11268:       e0 91 78 06     lds     r30, 0x0678
   1126c:       f0 91 79 06     lds     r31, 0x0679
   11270:       09 95           icall
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                   if(ACC_AltitudeControl)      
   11272:       2d b7           in      r18, 0x3d       ; 61
   11274:       3e b7           in      r19, 0x3e       ; 62
   11276:       28 5e           subi    r18, 0xE8       ; 232
   11278:       3f 4f           sbci    r19, 0xFF       ; 255
   1127a:       0f b6           in      r0, 0x3f        ; 63
   1127c:       f8 94           cli
   1127e:       3e bf           out     0x3e, r19       ; 62
   11280:       0f be           out     0x3f, r0        ; 63
   11282:       2d bf           out     0x3d, r18       ; 61
   11284:       80 91 c2 03     lds     r24, 0x03C2
   11288:       88 23           and     r24, r24
   1128a:       09 f4           brne    .+2             ; 0x1128e <Menu+0x440>
   1128c:       d2 c7           rjmp    .+4004          ; 0x12232 <Menu+0x13e4>
                    {
                         LCD_printfxy(17,2,"(A)");
   1128e:       89 e3           ldi     r24, 0x39       ; 57
   11290:       80 93 a4 04     sts     0x04A4, r24
   11294:       8f e7           ldi     r24, 0x7F       ; 127
   11296:       94 e1           ldi     r25, 0x14       ; 20
   11298:       9f 93           push    r25
   1129a:       8f 93           push    r24
   1129c:       df 93           push    r29
   1129e:       cf 93           push    r28
   112a0:       e0 91 78 06     lds     r30, 0x0678
   112a4:       f0 91 79 06     lds     r31, 0x0679
   112a8:       09 95           icall
                         LCD_printfxy(17,3,"%i",CalAthmospheare);
   112aa:       8d e4           ldi     r24, 0x4D       ; 77
   112ac:       80 93 a4 04     sts     0x04A4, r24
   112b0:       80 91 0c 01     lds     r24, 0x010C
   112b4:       1f 92           push    r1
   112b6:       8f 93           push    r24
   112b8:       8c e7           ldi     r24, 0x7C       ; 124
   112ba:       94 e1           ldi     r25, 0x14       ; 20
   112bc:       9f 93           push    r25
   112be:       8f 93           push    r24
   112c0:       df 93           push    r29
   112c2:       cf 93           push    r28
   112c4:       e0 91 78 06     lds     r30, 0x0678
   112c8:       f0 91 79 06     lds     r31, 0x0679
   112cc:       09 95           icall
   112ce:       2d b7           in      r18, 0x3d       ; 61
   112d0:       3e b7           in      r19, 0x3e       ; 62
   112d2:       26 5f           subi    r18, 0xF6       ; 246
   112d4:       3f 4f           sbci    r19, 0xFF       ; 255
   112d6:       0f b6           in      r0, 0x3f        ; 63
   112d8:       f8 94           cli
   112da:       3e bf           out     0x3e, r19       ; 62
   112dc:       0f be           out     0x3f, r0        ; 63
   112de:       2d bf           out     0x3d, r18       ; 61
   112e0:       a8 c7           rjmp    .+3920          ; 0x12232 <Menu+0x13e4>
                        } 
#endif
           break;
    case 2:
           LCD_printfxy(0,0,"act. bearing");
   112e2:       10 92 a4 04     sts     0x04A4, r1
   112e6:       8f e6           ldi     r24, 0x6F       ; 111
   112e8:       94 e1           ldi     r25, 0x14       ; 20
   112ea:       9f 93           push    r25
   112ec:       8f 93           push    r24
   112ee:       80 e1           ldi     r24, 0x10       ; 16
   112f0:       97 e8           ldi     r25, 0x87       ; 135
   112f2:       9f 93           push    r25
   112f4:       8f 93           push    r24
   112f6:       e0 91 78 06     lds     r30, 0x0678
   112fa:       f0 91 79 06     lds     r31, 0x0679
   112fe:       09 95           icall
           LCD_printfxy(0,1,"Nick:      %5i",IntegralNick/1024);
   11300:       84 e1           ldi     r24, 0x14       ; 20
   11302:       80 93 a4 04     sts     0x04A4, r24
   11306:       80 91 42 04     lds     r24, 0x0442
   1130a:       90 91 43 04     lds     r25, 0x0443
   1130e:       a0 91 44 04     lds     r26, 0x0444
   11312:       b0 91 45 04     lds     r27, 0x0445
   11316:       bb 23           and     r27, r27
   11318:       24 f4           brge    .+8             ; 0x11322 <Menu+0x4d4>
   1131a:       81 50           subi    r24, 0x01       ; 1
   1131c:       9c 4f           sbci    r25, 0xFC       ; 252
   1131e:       af 4f           sbci    r26, 0xFF       ; 255
   11320:       bf 4f           sbci    r27, 0xFF       ; 255
   11322:       07 2e           mov     r0, r23
   11324:       7a e0           ldi     r23, 0x0A       ; 10
   11326:       b5 95           asr     r27
   11328:       a7 95           ror     r26
   1132a:       97 95           ror     r25
   1132c:       87 95           ror     r24
   1132e:       7a 95           dec     r23
   11330:       d1 f7           brne    .-12            ; 0x11326 <Menu+0x4d8>
   11332:       70 2d           mov     r23, r0
   11334:       bf 93           push    r27
   11336:       af 93           push    r26
   11338:       9f 93           push    r25
   1133a:       8f 93           push    r24
   1133c:       80 e6           ldi     r24, 0x60       ; 96
   1133e:       94 e1           ldi     r25, 0x14       ; 20
   11340:       9f 93           push    r25
   11342:       8f 93           push    r24
   11344:       80 e1           ldi     r24, 0x10       ; 16
   11346:       97 e8           ldi     r25, 0x87       ; 135
   11348:       9f 93           push    r25
   1134a:       8f 93           push    r24
   1134c:       e0 91 78 06     lds     r30, 0x0678
   11350:       f0 91 79 06     lds     r31, 0x0679
   11354:       09 95           icall
           LCD_printfxy(0,2,"Roll:      %5i",IntegralRoll/1024);
   11356:       88 e2           ldi     r24, 0x28       ; 40
   11358:       80 93 a4 04     sts     0x04A4, r24
   1135c:       80 91 3e 04     lds     r24, 0x043E
   11360:       90 91 3f 04     lds     r25, 0x043F
   11364:       a0 91 40 04     lds     r26, 0x0440
   11368:       b0 91 41 04     lds     r27, 0x0441
   1136c:       bb 23           and     r27, r27
   1136e:       24 f4           brge    .+8             ; 0x11378 <Menu+0x52a>
   11370:       81 50           subi    r24, 0x01       ; 1
   11372:       9c 4f           sbci    r25, 0xFC       ; 252
   11374:       af 4f           sbci    r26, 0xFF       ; 255
   11376:       bf 4f           sbci    r27, 0xFF       ; 255
   11378:       07 2e           mov     r0, r23
   1137a:       7a e0           ldi     r23, 0x0A       ; 10
   1137c:       b5 95           asr     r27
   1137e:       a7 95           ror     r26
   11380:       97 95           ror     r25
   11382:       87 95           ror     r24
   11384:       7a 95           dec     r23
   11386:       d1 f7           brne    .-12            ; 0x1137c <Menu+0x52e>
   11388:       70 2d           mov     r23, r0
   1138a:       bf 93           push    r27
   1138c:       af 93           push    r26
   1138e:       9f 93           push    r25
   11390:       8f 93           push    r24
   11392:       81 e5           ldi     r24, 0x51       ; 81
   11394:       94 e1           ldi     r25, 0x14       ; 20
   11396:       9f 93           push    r25
   11398:       8f 93           push    r24
   1139a:       c0 e1           ldi     r28, 0x10       ; 16
   1139c:       d7 e8           ldi     r29, 0x87       ; 135
   1139e:       df 93           push    r29
   113a0:       cf 93           push    r28
   113a2:       e0 91 78 06     lds     r30, 0x0678
   113a6:       f0 91 79 06     lds     r31, 0x0679
   113aa:       09 95           icall
           LCD_printfxy(0,3,"Compass:   %5i",CompassCorrected);
   113ac:       8c e3           ldi     r24, 0x3C       ; 60
   113ae:       80 93 a4 04     sts     0x04A4, r24
   113b2:       80 91 66 06     lds     r24, 0x0666
   113b6:       8f 93           push    r24
   113b8:       80 91 65 06     lds     r24, 0x0665
   113bc:       8f 93           push    r24
   113be:       82 e4           ldi     r24, 0x42       ; 66
   113c0:       94 e1           ldi     r25, 0x14       ; 20
   113c2:       9f 93           push    r25
   113c4:       8f 93           push    r24
   113c6:       df 93           push    r29
   113c8:       cf 93           push    r28
   113ca:       e0 91 78 06     lds     r30, 0x0678
   113ce:       f0 91 79 06     lds     r31, 0x0679
   113d2:       09 95           icall
           break;
   113d4:       2d b7           in      r18, 0x3d       ; 61
   113d6:       3e b7           in      r19, 0x3e       ; 62
   113d8:       26 5e           subi    r18, 0xE6       ; 230
   113da:       3f 4f           sbci    r19, 0xFF       ; 255
   113dc:       0f b6           in      r0, 0x3f        ; 63
   113de:       f8 94           cli
   113e0:       3e bf           out     0x3e, r19       ; 62
   113e2:       0f be           out     0x3f, r0        ; 63
   113e4:       2d bf           out     0x3d, r18       ; 61
   113e6:       25 c7           rjmp    .+3658          ; 0x12232 <Menu+0x13e4>
  if((RemoteKeys & KEY1) && (RemoteKeys & KEY2)) MenuePunkt = 0;
  LcdClear();
  if(MenuePunkt < 10) {LCD_printfxy(17,0,"[%i]",MenuePunkt);}
  else {LCD_printfxy(16,0,"[%i]",MenuePunkt);};

  switch(MenuePunkt)
   113e8:       c1 e0           ldi     r28, 0x01       ; 1
   113ea:       d0 e0           ldi     r29, 0x00       ; 0
           LCD_printfxy(0,1,"Nick:      %5i",IntegralNick/1024);
           LCD_printfxy(0,2,"Roll:      %5i",IntegralRoll/1024);
           LCD_printfxy(0,3,"Compass:   %5i",CompassCorrected);
           break;
    case 3:
           for(i=1;i<9;i+=2) LCD_printfxy(0,i/2,"K%i:%4i  K%i:%4i ",i,PPM_in[i],i+1,PPM_in[i+1]);
   113ec:       0f 2e           mov     r0, r31
   113ee:       f0 e3           ldi     r31, 0x30       ; 48
   113f0:       ef 2e           mov     r14, r31
   113f2:       f4 e1           ldi     r31, 0x14       ; 20
   113f4:       ff 2e           mov     r15, r31
   113f6:       f0 2d           mov     r31, r0
   113f8:       00 e1           ldi     r16, 0x10       ; 16
   113fa:       17 e8           ldi     r17, 0x87       ; 135
   113fc:       8c 2f           mov     r24, r28
   113fe:       86 95           lsr     r24
   11400:       88 0f           add     r24, r24
   11402:       88 0f           add     r24, r24
   11404:       98 2f           mov     r25, r24
   11406:       99 0f           add     r25, r25
   11408:       99 0f           add     r25, r25
   1140a:       89 0f           add     r24, r25
   1140c:       80 93 a4 04     sts     0x04A4, r24
   11410:       ce 01           movw    r24, r28
   11412:       01 96           adiw    r24, 0x01       ; 1
   11414:       fc 01           movw    r30, r24
   11416:       ee 0f           add     r30, r30
   11418:       ff 1f           adc     r31, r31
   1141a:       ef 5c           subi    r30, 0xCF       ; 207
   1141c:       f7 4f           sbci    r31, 0xF7       ; 247
   1141e:       40 81           ld      r20, Z
   11420:       51 81           ldd     r21, Z+1        ; 0x01
   11422:       fe 01           movw    r30, r28
   11424:       ee 0f           add     r30, r30
   11426:       ff 1f           adc     r31, r31
   11428:       ef 5c           subi    r30, 0xCF       ; 207
   1142a:       f7 4f           sbci    r31, 0xF7       ; 247
   1142c:       20 81           ld      r18, Z
   1142e:       31 81           ldd     r19, Z+1        ; 0x01
   11430:       5f 93           push    r21
   11432:       4f 93           push    r20
   11434:       9f 93           push    r25
   11436:       8f 93           push    r24
   11438:       3f 93           push    r19
   1143a:       2f 93           push    r18
   1143c:       df 93           push    r29
   1143e:       cf 93           push    r28
   11440:       ff 92           push    r15
   11442:       ef 92           push    r14
   11444:       1f 93           push    r17
   11446:       0f 93           push    r16
   11448:       e0 91 78 06     lds     r30, 0x0678
   1144c:       f0 91 79 06     lds     r31, 0x0679
   11450:       09 95           icall
   11452:       22 96           adiw    r28, 0x02       ; 2
   11454:       ed b7           in      r30, 0x3d       ; 61
   11456:       fe b7           in      r31, 0x3e       ; 62
   11458:       3c 96           adiw    r30, 0x0c       ; 12
   1145a:       0f b6           in      r0, 0x3f        ; 63
   1145c:       f8 94           cli
   1145e:       fe bf           out     0x3e, r31       ; 62
   11460:       0f be           out     0x3f, r0        ; 63
   11462:       ed bf           out     0x3d, r30       ; 61
   11464:       c9 30           cpi     r28, 0x09       ; 9
   11466:       d1 05           cpc     r29, r1
   11468:       49 f6           brne    .-110           ; 0x113fc <Menu+0x5ae>
   1146a:       e3 c6           rjmp    .+3526          ; 0x12232 <Menu+0x13e4>
           break;
    case 4:
           LCD_printfxy(0,0,"Ni:%4i  Ro:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_NICK]],PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]);
   1146c:       10 92 a4 04     sts     0x04A4, r1
   11470:       e0 91 40 05     lds     r30, 0x0540
   11474:       f0 e0           ldi     r31, 0x00       ; 0
   11476:       ee 0f           add     r30, r30
   11478:       ff 1f           adc     r31, r31
   1147a:       ef 5c           subi    r30, 0xCF       ; 207
   1147c:       f7 4f           sbci    r31, 0xF7       ; 247
   1147e:       20 81           ld      r18, Z
   11480:       31 81           ldd     r19, Z+1        ; 0x01
   11482:       e0 91 3f 05     lds     r30, 0x053F
   11486:       f0 e0           ldi     r31, 0x00       ; 0
   11488:       ee 0f           add     r30, r30
   1148a:       ff 1f           adc     r31, r31
   1148c:       ef 5c           subi    r30, 0xCF       ; 207
   1148e:       f7 4f           sbci    r31, 0xF7       ; 247
   11490:       80 81           ld      r24, Z
   11492:       91 81           ldd     r25, Z+1        ; 0x01
   11494:       3f 93           push    r19
   11496:       2f 93           push    r18
   11498:       9f 93           push    r25
   1149a:       8f 93           push    r24
   1149c:       80 e2           ldi     r24, 0x20       ; 32
   1149e:       94 e1           ldi     r25, 0x14       ; 20
   114a0:       9f 93           push    r25
   114a2:       8f 93           push    r24
   114a4:       c0 e1           ldi     r28, 0x10       ; 16
   114a6:       d7 e8           ldi     r29, 0x87       ; 135
   114a8:       df 93           push    r29
   114aa:       cf 93           push    r28
   114ac:       e0 91 78 06     lds     r30, 0x0678
   114b0:       f0 91 79 06     lds     r31, 0x0679
   114b4:       09 95           icall
           LCD_printfxy(0,1,"Gs:%4i  Gi:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_GAS]]+127,PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]);
   114b6:       84 e1           ldi     r24, 0x14       ; 20
   114b8:       80 93 a4 04     sts     0x04A4, r24
   114bc:       e0 91 42 05     lds     r30, 0x0542
   114c0:       f0 e0           ldi     r31, 0x00       ; 0
   114c2:       ee 0f           add     r30, r30
   114c4:       ff 1f           adc     r31, r31
   114c6:       ef 5c           subi    r30, 0xCF       ; 207
   114c8:       f7 4f           sbci    r31, 0xF7       ; 247
   114ca:       20 81           ld      r18, Z
   114cc:       31 81           ldd     r19, Z+1        ; 0x01
   114ce:       e0 91 41 05     lds     r30, 0x0541
   114d2:       f0 e0           ldi     r31, 0x00       ; 0
   114d4:       ee 0f           add     r30, r30
   114d6:       ff 1f           adc     r31, r31
   114d8:       ef 5c           subi    r30, 0xCF       ; 207
   114da:       f7 4f           sbci    r31, 0xF7       ; 247
   114dc:       80 81           ld      r24, Z
   114de:       91 81           ldd     r25, Z+1        ; 0x01
   114e0:       3f 93           push    r19
   114e2:       2f 93           push    r18
   114e4:       81 58           subi    r24, 0x81       ; 129
   114e6:       9f 4f           sbci    r25, 0xFF       ; 255
   114e8:       9f 93           push    r25
   114ea:       8f 93           push    r24
   114ec:       80 e1           ldi     r24, 0x10       ; 16
   114ee:       94 e1           ldi     r25, 0x14       ; 20
   114f0:       9f 93           push    r25
   114f2:       8f 93           push    r24
   114f4:       df 93           push    r29
   114f6:       cf 93           push    r28
   114f8:       e0 91 78 06     lds     r30, 0x0678
   114fc:       f0 91 79 06     lds     r31, 0x0679
   11500:       09 95           icall
           LCD_printfxy(0,2,"P1:%4i  P2:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_POTI1]]+127,PPM_in[EE_Parameter.Kanalbelegung[K_POTI2]]+127);
   11502:       88 e2           ldi     r24, 0x28       ; 40
   11504:       80 93 a4 04     sts     0x04A4, r24
   11508:       e0 91 44 05     lds     r30, 0x0544
   1150c:       f0 e0           ldi     r31, 0x00       ; 0
   1150e:       ee 0f           add     r30, r30
   11510:       ff 1f           adc     r31, r31
   11512:       ef 5c           subi    r30, 0xCF       ; 207
   11514:       f7 4f           sbci    r31, 0xF7       ; 247
   11516:       20 81           ld      r18, Z
   11518:       31 81           ldd     r19, Z+1        ; 0x01
   1151a:       e0 91 43 05     lds     r30, 0x0543
   1151e:       f0 e0           ldi     r31, 0x00       ; 0
   11520:       ee 0f           add     r30, r30
   11522:       ff 1f           adc     r31, r31
   11524:       ef 5c           subi    r30, 0xCF       ; 207
   11526:       f7 4f           sbci    r31, 0xF7       ; 247
   11528:       80 81           ld      r24, Z
   1152a:       91 81           ldd     r25, Z+1        ; 0x01
   1152c:       21 58           subi    r18, 0x81       ; 129
   1152e:       3f 4f           sbci    r19, 0xFF       ; 255
   11530:       3f 93           push    r19
   11532:       2f 93           push    r18
   11534:       81 58           subi    r24, 0x81       ; 129
   11536:       9f 4f           sbci    r25, 0xFF       ; 255
   11538:       9f 93           push    r25
   1153a:       8f 93           push    r24
   1153c:       80 e0           ldi     r24, 0x00       ; 0
   1153e:       94 e1           ldi     r25, 0x14       ; 20
   11540:       9f 93           push    r25
   11542:       8f 93           push    r24
   11544:       df 93           push    r29
   11546:       cf 93           push    r28
   11548:       e0 91 78 06     lds     r30, 0x0678
   1154c:       f0 91 79 06     lds     r31, 0x0679
   11550:       09 95           icall
           LCD_printfxy(0,3,"P3:%4i  P4:%4i ",PPM_in[EE_Parameter.Kanalbelegung[K_POTI3]]+127,PPM_in[EE_Parameter.Kanalbelegung[K_POTI4]]+127);
   11552:       8c e3           ldi     r24, 0x3C       ; 60
   11554:       80 93 a4 04     sts     0x04A4, r24
   11558:       e0 91 46 05     lds     r30, 0x0546
   1155c:       f0 e0           ldi     r31, 0x00       ; 0
   1155e:       ee 0f           add     r30, r30
   11560:       ff 1f           adc     r31, r31
   11562:       ef 5c           subi    r30, 0xCF       ; 207
   11564:       f7 4f           sbci    r31, 0xF7       ; 247
   11566:       20 81           ld      r18, Z
   11568:       31 81           ldd     r19, Z+1        ; 0x01
   1156a:       e0 91 45 05     lds     r30, 0x0545
   1156e:       f0 e0           ldi     r31, 0x00       ; 0
   11570:       ee 0f           add     r30, r30
   11572:       ff 1f           adc     r31, r31
   11574:       ef 5c           subi    r30, 0xCF       ; 207
   11576:       f7 4f           sbci    r31, 0xF7       ; 247
   11578:       80 81           ld      r24, Z
   1157a:       91 81           ldd     r25, Z+1        ; 0x01
   1157c:       21 58           subi    r18, 0x81       ; 129
   1157e:       3f 4f           sbci    r19, 0xFF       ; 255
   11580:       3f 93           push    r19
   11582:       2f 93           push    r18
   11584:       81 58           subi    r24, 0x81       ; 129
   11586:       9f 4f           sbci    r25, 0xFF       ; 255
   11588:       9f 93           push    r25
   1158a:       8f 93           push    r24
   1158c:       80 ef           ldi     r24, 0xF0       ; 240
   1158e:       93 e1           ldi     r25, 0x13       ; 19
   11590:       9f 93           push    r25
   11592:       8f 93           push    r24
   11594:       df 93           push    r29
   11596:       cf 93           push    r28
   11598:       e0 91 78 06     lds     r30, 0x0678
   1159c:       f0 91 79 06     lds     r31, 0x0679
   115a0:       09 95           icall
           break;
   115a2:       8d b7           in      r24, 0x3d       ; 61
   115a4:       9e b7           in      r25, 0x3e       ; 62
   115a6:       80 96           adiw    r24, 0x20       ; 32
   115a8:       0f b6           in      r0, 0x3f        ; 63
   115aa:       f8 94           cli
   115ac:       9e bf           out     0x3e, r25       ; 62
   115ae:       0f be           out     0x3f, r0        ; 63
   115b0:       8d bf           out     0x3d, r24       ; 61
   115b2:       3f c6           rjmp    .+3198          ; 0x12232 <Menu+0x13e4>
    case 5:
           LCD_printfxy(0,0,"Gyro - Sensor");
   115b4:       10 92 a4 04     sts     0x04A4, r1
   115b8:       82 ee           ldi     r24, 0xE2       ; 226
   115ba:       93 e1           ldi     r25, 0x13       ; 19
   115bc:       9f 93           push    r25
   115be:       8f 93           push    r24
   115c0:       80 e1           ldi     r24, 0x10       ; 16
   115c2:       97 e8           ldi     r25, 0x87       ; 135
   115c4:       9f 93           push    r25
   115c6:       8f 93           push    r24
   115c8:       e0 91 78 06     lds     r30, 0x0678
   115cc:       f0 91 79 06     lds     r31, 0x0679
   115d0:       09 95           icall
           LCD_printfxy(0,1,"Nick %4i (%4i)",AdWertNick - AdNeutralNick/8, AdNeutralNick);
   115d2:       84 e1           ldi     r24, 0x14       ; 20
   115d4:       80 93 a4 04     sts     0x04A4, r24
   115d8:       40 91 65 03     lds     r20, 0x0365
   115dc:       50 91 66 03     lds     r21, 0x0366
   115e0:       30 91 57 04     lds     r19, 0x0457
   115e4:       20 91 58 04     lds     r18, 0x0458
   115e8:       2f 93           push    r18
   115ea:       3f 93           push    r19
   115ec:       83 2f           mov     r24, r19
   115ee:       92 2f           mov     r25, r18
   115f0:       99 23           and     r25, r25
   115f2:       0c f4           brge    .+2             ; 0x115f6 <Menu+0x7a8>
   115f4:       07 96           adiw    r24, 0x07       ; 7
   115f6:       9c 01           movw    r18, r24
   115f8:       35 95           asr     r19
   115fa:       27 95           ror     r18
   115fc:       35 95           asr     r19
   115fe:       27 95           ror     r18
   11600:       35 95           asr     r19
   11602:       27 95           ror     r18
   11604:       ca 01           movw    r24, r20
   11606:       82 1b           sub     r24, r18
   11608:       93 0b           sbc     r25, r19
   1160a:       9f 93           push    r25
   1160c:       8f 93           push    r24
   1160e:       83 ed           ldi     r24, 0xD3       ; 211
   11610:       93 e1           ldi     r25, 0x13       ; 19
   11612:       9f 93           push    r25
   11614:       8f 93           push    r24
   11616:       80 e1           ldi     r24, 0x10       ; 16
   11618:       97 e8           ldi     r25, 0x87       ; 135
   1161a:       9f 93           push    r25
   1161c:       8f 93           push    r24
   1161e:       e0 91 78 06     lds     r30, 0x0678
   11622:       f0 91 79 06     lds     r31, 0x0679
   11626:       09 95           icall
           LCD_printfxy(0,2,"Roll %4i (%4i)",AdWertRoll - AdNeutralRoll/8, AdNeutralRoll);
   11628:       88 e2           ldi     r24, 0x28       ; 40
   1162a:       80 93 a4 04     sts     0x04A4, r24
   1162e:       40 91 63 03     lds     r20, 0x0363
   11632:       50 91 64 03     lds     r21, 0x0364
   11636:       30 91 55 04     lds     r19, 0x0455
   1163a:       20 91 56 04     lds     r18, 0x0456
   1163e:       2f 93           push    r18
   11640:       3f 93           push    r19
   11642:       83 2f           mov     r24, r19
   11644:       92 2f           mov     r25, r18
   11646:       99 23           and     r25, r25
   11648:       0c f4           brge    .+2             ; 0x1164c <Menu+0x7fe>
   1164a:       07 96           adiw    r24, 0x07       ; 7
   1164c:       9c 01           movw    r18, r24
   1164e:       35 95           asr     r19
   11650:       27 95           ror     r18
   11652:       35 95           asr     r19
   11654:       27 95           ror     r18
   11656:       35 95           asr     r19
   11658:       27 95           ror     r18
   1165a:       ca 01           movw    r24, r20
   1165c:       82 1b           sub     r24, r18
   1165e:       93 0b           sbc     r25, r19
   11660:       9f 93           push    r25
   11662:       8f 93           push    r24
   11664:       84 ec           ldi     r24, 0xC4       ; 196
   11666:       93 e1           ldi     r25, 0x13       ; 19
   11668:       9f 93           push    r25
   1166a:       8f 93           push    r24
   1166c:       c0 e1           ldi     r28, 0x10       ; 16
   1166e:       d7 e8           ldi     r29, 0x87       ; 135
   11670:       df 93           push    r29
   11672:       cf 93           push    r28
   11674:       e0 91 78 06     lds     r30, 0x0678
   11678:       f0 91 79 06     lds     r31, 0x0679
   1167c:       09 95           icall
           LCD_printfxy(0,3,"Yaw  %4i (%4i)",AdNeutralGier - AdWertGier, AdNeutralGier);
   1167e:       8c e3           ldi     r24, 0x3C       ; 60
   11680:       80 93 a4 04     sts     0x04A4, r24
   11684:       80 91 53 04     lds     r24, 0x0453
   11688:       90 91 54 04     lds     r25, 0x0454
   1168c:       20 91 61 03     lds     r18, 0x0361
   11690:       30 91 62 03     lds     r19, 0x0362
   11694:       9f 93           push    r25
   11696:       8f 93           push    r24
   11698:       82 1b           sub     r24, r18
   1169a:       93 0b           sbc     r25, r19
   1169c:       9f 93           push    r25
   1169e:       8f 93           push    r24
   116a0:       85 eb           ldi     r24, 0xB5       ; 181
   116a2:       93 e1           ldi     r25, 0x13       ; 19
   116a4:       9f 93           push    r25
   116a6:       8f 93           push    r24
   116a8:       df 93           push    r29
   116aa:       cf 93           push    r28
   116ac:       e0 91 78 06     lds     r30, 0x0678
   116b0:       f0 91 79 06     lds     r31, 0x0679
   116b4:       09 95           icall
           LCD_printfxy(0,1,"Nick %4i (%3i)(%3i)",AdWertNick - AdNeutralNick/8, AdNeutralNick/16,AnalogOffsetNick);
           LCD_printfxy(0,2,"Roll %4i (%3i)(%3i)",AdWertRoll - AdNeutralRoll/8, AdNeutralRoll/16,AnalogOffsetRoll);
           LCD_printfxy(0,3,"Yaw  %4i (%3i)(%3i)",AdNeutralGier - AdWertGier, AdNeutralGier/2,AnalogOffsetGier);
          }
*/
           break;
   116b6:       8d b7           in      r24, 0x3d       ; 61
   116b8:       9e b7           in      r25, 0x3e       ; 62
   116ba:       4c 96           adiw    r24, 0x1c       ; 28
   116bc:       0f b6           in      r0, 0x3f        ; 63
   116be:       f8 94           cli
   116c0:       9e bf           out     0x3e, r25       ; 62
   116c2:       0f be           out     0x3f, r0        ; 63
   116c4:       8d bf           out     0x3d, r24       ; 61
   116c6:       b5 c5           rjmp    .+2922          ; 0x12232 <Menu+0x13e4>
    case 6:
           LCD_printfxy(0,0,"ACC - Sensor");
   116c8:       10 92 a4 04     sts     0x04A4, r1
   116cc:       88 ea           ldi     r24, 0xA8       ; 168
   116ce:       93 e1           ldi     r25, 0x13       ; 19
   116d0:       9f 93           push    r25
   116d2:       8f 93           push    r24
   116d4:       c0 e1           ldi     r28, 0x10       ; 16
   116d6:       d7 e8           ldi     r29, 0x87       ; 135
   116d8:       df 93           push    r29
   116da:       cf 93           push    r28
   116dc:       e0 91 78 06     lds     r30, 0x0678
   116e0:       f0 91 79 06     lds     r31, 0x0679
   116e4:       09 95           icall
           LCD_printfxy(0,1,"Nick %4i (%3i)",AdWertAccNick,NeutralAccX);
   116e6:       84 e1           ldi     r24, 0x14       ; 20
   116e8:       80 93 a4 04     sts     0x04A4, r24
   116ec:       80 91 5d 03     lds     r24, 0x035D
   116f0:       90 91 5e 03     lds     r25, 0x035E
   116f4:       20 91 4e 04     lds     r18, 0x044E
   116f8:       2f 93           push    r18
   116fa:       20 91 4d 04     lds     r18, 0x044D
   116fe:       2f 93           push    r18
   11700:       9f 93           push    r25
   11702:       8f 93           push    r24
   11704:       89 e9           ldi     r24, 0x99       ; 153
   11706:       93 e1           ldi     r25, 0x13       ; 19
   11708:       9f 93           push    r25
   1170a:       8f 93           push    r24
   1170c:       df 93           push    r29
   1170e:       cf 93           push    r28
   11710:       e0 91 78 06     lds     r30, 0x0678
   11714:       f0 91 79 06     lds     r31, 0x0679
   11718:       09 95           icall
           LCD_printfxy(0,2,"Roll %4i (%3i)",AdWertAccRoll,NeutralAccY);
   1171a:       88 e2           ldi     r24, 0x28       ; 40
   1171c:       80 93 a4 04     sts     0x04A4, r24
   11720:       80 91 5f 03     lds     r24, 0x035F
   11724:       90 91 60 03     lds     r25, 0x0360
   11728:       20 91 4c 04     lds     r18, 0x044C
   1172c:       2f 93           push    r18
   1172e:       20 91 4b 04     lds     r18, 0x044B
   11732:       2f 93           push    r18
   11734:       9f 93           push    r25
   11736:       8f 93           push    r24
   11738:       8a e8           ldi     r24, 0x8A       ; 138
   1173a:       93 e1           ldi     r25, 0x13       ; 19
   1173c:       9f 93           push    r25
   1173e:       8f 93           push    r24
   11740:       df 93           push    r29
   11742:       cf 93           push    r28
   11744:       e0 91 78 06     lds     r30, 0x0678
   11748:       f0 91 79 06     lds     r31, 0x0679
   1174c:       09 95           icall
           LCD_printfxy(0,3,"Z    %4i (%3i)",AdWertAccHoch,(int)NeutralAccZ);
   1174e:       8c e3           ldi     r24, 0x3C       ; 60
   11750:       80 93 a4 04     sts     0x04A4, r24
   11754:       80 91 5b 03     lds     r24, 0x035B
   11758:       90 91 5c 03     lds     r25, 0x035C
   1175c:       20 91 48 04     lds     r18, 0x0448
   11760:       2f 93           push    r18
   11762:       20 91 47 04     lds     r18, 0x0447
   11766:       2f 93           push    r18
   11768:       9f 93           push    r25
   1176a:       8f 93           push    r24
   1176c:       8b e7           ldi     r24, 0x7B       ; 123
   1176e:       93 e1           ldi     r25, 0x13       ; 19
   11770:       9f 93           push    r25
   11772:       8f 93           push    r24
   11774:       df 93           push    r29
   11776:       cf 93           push    r28
   11778:       e0 91 78 06     lds     r30, 0x0678
   1177c:       f0 91 79 06     lds     r31, 0x0679
   11780:       09 95           icall
           break;
   11782:       2d b7           in      r18, 0x3d       ; 61
   11784:       3e b7           in      r19, 0x3e       ; 62
   11786:       24 5e           subi    r18, 0xE4       ; 228
   11788:       3f 4f           sbci    r19, 0xFF       ; 255
   1178a:       0f b6           in      r0, 0x3f        ; 63
   1178c:       f8 94           cli
   1178e:       3e bf           out     0x3e, r19       ; 62
   11790:       0f be           out     0x3f, r0        ; 63
   11792:       2d bf           out     0x3d, r18       ; 61
   11794:       4e c5           rjmp    .+2716          ; 0x12232 <Menu+0x13e4>
    case 7:
                        LCD_printfxy(0,0,"Voltage:   %3i.%1iV",UBat/10, UBat%10);
   11796:       10 92 a4 04     sts     0x04A4, r1
   1179a:       80 91 1a 01     lds     r24, 0x011A
   1179e:       90 91 1b 01     lds     r25, 0x011B
   117a2:       e0 91 1a 01     lds     r30, 0x011A
   117a6:       f0 91 1b 01     lds     r31, 0x011B
   117aa:       2a e0           ldi     r18, 0x0A       ; 10
   117ac:       30 e0           ldi     r19, 0x00       ; 0
   117ae:       b9 01           movw    r22, r18
   117b0:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
   117b4:       9f 93           push    r25
   117b6:       8f 93           push    r24
   117b8:       cf 01           movw    r24, r30
   117ba:       b9 01           movw    r22, r18
   117bc:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
   117c0:       7f 93           push    r23
   117c2:       6f 93           push    r22
   117c4:       87 e6           ldi     r24, 0x67       ; 103
   117c6:       93 e1           ldi     r25, 0x13       ; 19
   117c8:       9f 93           push    r25
   117ca:       8f 93           push    r24
   117cc:       c0 e1           ldi     r28, 0x10       ; 16
   117ce:       d7 e8           ldi     r29, 0x87       ; 135
   117d0:       df 93           push    r29
   117d2:       cf 93           push    r28
   117d4:       e0 91 78 06     lds     r30, 0x0678
   117d8:       f0 91 79 06     lds     r31, 0x0679
   117dc:       09 95           icall
                        LCD_printfxy(0,1,"Current:   %3i.%1iA",Capacity.ActualCurrent/10, Capacity.ActualCurrent%10);
   117de:       84 e1           ldi     r24, 0x14       ; 20
   117e0:       80 93 a4 04     sts     0x04A4, r24
   117e4:       40 91 15 05     lds     r20, 0x0515
   117e8:       50 91 16 05     lds     r21, 0x0516
   117ec:       9a 01           movw    r18, r20
   117ee:       ad ec           ldi     r26, 0xCD       ; 205
   117f0:       bc ec           ldi     r27, 0xCC       ; 204
   117f2:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
   117f6:       96 95           lsr     r25
   117f8:       87 95           ror     r24
   117fa:       96 95           lsr     r25
   117fc:       87 95           ror     r24
   117fe:       96 95           lsr     r25
   11800:       87 95           ror     r24
   11802:       9c 01           movw    r18, r24
   11804:       22 0f           add     r18, r18
   11806:       33 1f           adc     r19, r19
   11808:       88 0f           add     r24, r24
   1180a:       99 1f           adc     r25, r25
   1180c:       88 0f           add     r24, r24
   1180e:       99 1f           adc     r25, r25
   11810:       88 0f           add     r24, r24
   11812:       99 1f           adc     r25, r25
   11814:       82 0f           add     r24, r18
   11816:       93 1f           adc     r25, r19
   11818:       fa 01           movw    r30, r20
   1181a:       e8 1b           sub     r30, r24
   1181c:       f9 0b           sbc     r31, r25
   1181e:       cf 01           movw    r24, r30
   11820:       9f 93           push    r25
   11822:       ef 93           push    r30
   11824:       9a 01           movw    r18, r20
   11826:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
   1182a:       96 95           lsr     r25
   1182c:       87 95           ror     r24
   1182e:       96 95           lsr     r25
   11830:       87 95           ror     r24
   11832:       96 95           lsr     r25
   11834:       87 95           ror     r24
   11836:       9f 93           push    r25
   11838:       8f 93           push    r24
   1183a:       83 e5           ldi     r24, 0x53       ; 83
   1183c:       93 e1           ldi     r25, 0x13       ; 19
   1183e:       9f 93           push    r25
   11840:       8f 93           push    r24
   11842:       df 93           push    r29
   11844:       cf 93           push    r28
   11846:       e0 91 78 06     lds     r30, 0x0678
   1184a:       f0 91 79 06     lds     r31, 0x0679
   1184e:       09 95           icall
                        LCD_printfxy(0,2,"Power:     %4iW",Capacity.ActualPower);
   11850:       88 e2           ldi     r24, 0x28       ; 40
   11852:       80 93 a4 04     sts     0x04A4, r24
   11856:       e7 e1           ldi     r30, 0x17       ; 23
   11858:       f5 e0           ldi     r31, 0x05       ; 5
   1185a:       81 81           ldd     r24, Z+1        ; 0x01
   1185c:       8f 93           push    r24
   1185e:       80 81           ld      r24, Z
   11860:       8f 93           push    r24
   11862:       83 e4           ldi     r24, 0x43       ; 67
   11864:       93 e1           ldi     r25, 0x13       ; 19
   11866:       9f 93           push    r25
   11868:       8f 93           push    r24
   1186a:       df 93           push    r29
   1186c:       cf 93           push    r28
   1186e:       e0 91 78 06     lds     r30, 0x0678
   11872:       f0 91 79 06     lds     r31, 0x0679
   11876:       09 95           icall
                        LCD_printfxy(0,3,"Discharge: %5imAh", Capacity.UsedCapacity);
   11878:       8c e3           ldi     r24, 0x3C       ; 60
   1187a:       80 93 a4 04     sts     0x04A4, r24
   1187e:       e9 e1           ldi     r30, 0x19       ; 25
   11880:       f5 e0           ldi     r31, 0x05       ; 5
   11882:       81 81           ldd     r24, Z+1        ; 0x01
   11884:       8f 93           push    r24
   11886:       80 81           ld      r24, Z
   11888:       8f 93           push    r24
   1188a:       81 e3           ldi     r24, 0x31       ; 49
   1188c:       93 e1           ldi     r25, 0x13       ; 19
   1188e:       9f 93           push    r25
   11890:       8f 93           push    r24
   11892:       df 93           push    r29
   11894:       cf 93           push    r28
   11896:       e0 91 78 06     lds     r30, 0x0678
   1189a:       f0 91 79 06     lds     r31, 0x0679
   1189e:       09 95           icall
           break;
   118a0:       2d b7           in      r18, 0x3d       ; 61
   118a2:       3e b7           in      r19, 0x3e       ; 62
   118a4:       24 5e           subi    r18, 0xE4       ; 228
   118a6:       3f 4f           sbci    r19, 0xFF       ; 255
   118a8:       0f b6           in      r0, 0x3f        ; 63
   118aa:       f8 94           cli
   118ac:       3e bf           out     0x3e, r19       ; 62
   118ae:       0f be           out     0x3f, r0        ; 63
   118b0:       2d bf           out     0x3d, r18       ; 61
   118b2:       bf c4           rjmp    .+2430          ; 0x12232 <Menu+0x13e4>
    case 8:
           LCD_printfxy(0,0,"Receiver");
   118b4:       10 92 a4 04     sts     0x04A4, r1
   118b8:       88 e2           ldi     r24, 0x28       ; 40
   118ba:       93 e1           ldi     r25, 0x13       ; 19
   118bc:       9f 93           push    r25
   118be:       8f 93           push    r24
   118c0:       c0 e1           ldi     r28, 0x10       ; 16
   118c2:       d7 e8           ldi     r29, 0x87       ; 135
   118c4:       df 93           push    r29
   118c6:       cf 93           push    r28
   118c8:       e0 91 78 06     lds     r30, 0x0678
   118cc:       f0 91 79 06     lds     r31, 0x0679
   118d0:       09 95           icall
           LCD_printfxy(0,2,"RC-Quality: %4i", SenderOkay);
   118d2:       88 e2           ldi     r24, 0x28       ; 40
   118d4:       80 93 a4 04     sts     0x04A4, r24
   118d8:       80 91 04 04     lds     r24, 0x0404
   118dc:       1f 92           push    r1
   118de:       8f 93           push    r24
   118e0:       88 e1           ldi     r24, 0x18       ; 24
   118e2:       93 e1           ldi     r25, 0x13       ; 19
   118e4:       9f 93           push    r25
   118e6:       8f 93           push    r24
   118e8:       df 93           push    r29
   118ea:       cf 93           push    r28
   118ec:       e0 91 78 06     lds     r30, 0x0678
   118f0:       f0 91 79 06     lds     r31, 0x0679
   118f4:       09 95           icall
           LCD_printfxy(0,3,"RC-Channels:%4i", Channels-1);
   118f6:       8c e3           ldi     r24, 0x3C       ; 60
   118f8:       80 93 a4 04     sts     0x04A4, r24
   118fc:       80 91 30 08     lds     r24, 0x0830
   11900:       90 e0           ldi     r25, 0x00       ; 0
   11902:       01 97           sbiw    r24, 0x01       ; 1
   11904:       9f 93           push    r25
   11906:       8f 93           push    r24
   11908:       88 e0           ldi     r24, 0x08       ; 8
   1190a:       93 e1           ldi     r25, 0x13       ; 19
   1190c:       9f 93           push    r25
   1190e:       8f 93           push    r24
   11910:       df 93           push    r29
   11912:       cf 93           push    r28
   11914:       e0 91 78 06     lds     r30, 0x0678
   11918:       f0 91 79 06     lds     r31, 0x0679
   1191c:       09 95           icall
           break;
   1191e:       8d b7           in      r24, 0x3d       ; 61
   11920:       9e b7           in      r25, 0x3e       ; 62
   11922:       40 96           adiw    r24, 0x10       ; 16
   11924:       0f b6           in      r0, 0x3f        ; 63
   11926:       f8 94           cli
   11928:       9e bf           out     0x3e, r25       ; 62
   1192a:       0f be           out     0x3f, r0        ; 63
   1192c:       8d bf           out     0x3d, r24       ; 61
   1192e:       81 c4           rjmp    .+2306          ; 0x12232 <Menu+0x13e4>
    case 9:
           LCD_printfxy(0,0,"Undervoltages  " );
   11930:       10 92 a4 04     sts     0x04A4, r1
   11934:       88 ef           ldi     r24, 0xF8       ; 248
   11936:       92 e1           ldi     r25, 0x12       ; 18
   11938:       9f 93           push    r25
   1193a:       8f 93           push    r24
   1193c:       c0 e1           ldi     r28, 0x10       ; 16
   1193e:       d7 e8           ldi     r29, 0x87       ; 135
   11940:       df 93           push    r29
   11942:       cf 93           push    r28
   11944:       e0 91 78 06     lds     r30, 0x0678
   11948:       f0 91 79 06     lds     r31, 0x0679
   1194c:       09 95           icall
           LCD_printfxy(0,1,"Warn: %2d.%dV",BattLowVoltageWarning/10,BattLowVoltageWarning%10);
   1194e:       84 e1           ldi     r24, 0x14       ; 20
   11950:       80 93 a4 04     sts     0x04A4, r24
   11954:       90 91 53 01     lds     r25, 0x0153
   11958:       1d ec           ldi     r17, 0xCD       ; 205
   1195a:       91 9f           mul     r25, r17
   1195c:       81 2d           mov     r24, r1
   1195e:       11 24           eor     r1, r1
   11960:       86 95           lsr     r24
   11962:       86 95           lsr     r24
   11964:       86 95           lsr     r24
   11966:       28 2f           mov     r18, r24
   11968:       22 0f           add     r18, r18
   1196a:       32 2f           mov     r19, r18
   1196c:       33 0f           add     r19, r19
   1196e:       33 0f           add     r19, r19
   11970:       23 0f           add     r18, r19
   11972:       92 1b           sub     r25, r18
   11974:       1f 92           push    r1
   11976:       9f 93           push    r25
   11978:       1f 92           push    r1
   1197a:       8f 93           push    r24
   1197c:       8a ee           ldi     r24, 0xEA       ; 234
   1197e:       92 e1           ldi     r25, 0x12       ; 18
   11980:       9f 93           push    r25
   11982:       8f 93           push    r24
   11984:       df 93           push    r29
   11986:       cf 93           push    r28
   11988:       e0 91 78 06     lds     r30, 0x0678
   1198c:       f0 91 79 06     lds     r31, 0x0679
   11990:       09 95           icall
           LCD_printfxy(0,2,"Home: %2d.%dV",BattComingHomeVoltage/10,BattComingHomeVoltage%10);
   11992:       88 e2           ldi     r24, 0x28       ; 40
   11994:       80 93 a4 04     sts     0x04A4, r24
   11998:       90 91 64 04     lds     r25, 0x0464
   1199c:       91 9f           mul     r25, r17
   1199e:       81 2d           mov     r24, r1
   119a0:       11 24           eor     r1, r1
   119a2:       86 95           lsr     r24
   119a4:       86 95           lsr     r24
   119a6:       86 95           lsr     r24
   119a8:       28 2f           mov     r18, r24
   119aa:       22 0f           add     r18, r18
   119ac:       32 2f           mov     r19, r18
   119ae:       33 0f           add     r19, r19
   119b0:       33 0f           add     r19, r19
   119b2:       23 0f           add     r18, r19
   119b4:       92 1b           sub     r25, r18
   119b6:       1f 92           push    r1
   119b8:       9f 93           push    r25
   119ba:       1f 92           push    r1
   119bc:       8f 93           push    r24
   119be:       8c ed           ldi     r24, 0xDC       ; 220
   119c0:       92 e1           ldi     r25, 0x12       ; 18
   119c2:       9f 93           push    r25
   119c4:       8f 93           push    r24
   119c6:       df 93           push    r29
   119c8:       cf 93           push    r28
   119ca:       e0 91 78 06     lds     r30, 0x0678
   119ce:       f0 91 79 06     lds     r31, 0x0679
   119d2:       09 95           icall
           LCD_printfxy(0,3,"Land: %2d.%dV",BattAutoLandingVoltage/10,BattAutoLandingVoltage%10);
   119d4:       8c e3           ldi     r24, 0x3C       ; 60
   119d6:       80 93 a4 04     sts     0x04A4, r24
   119da:       80 91 65 04     lds     r24, 0x0465
   119de:       81 9f           mul     r24, r17
   119e0:       11 2d           mov     r17, r1
   119e2:       11 24           eor     r1, r1
   119e4:       16 95           lsr     r17
   119e6:       16 95           lsr     r17
   119e8:       16 95           lsr     r17
   119ea:       91 2f           mov     r25, r17
   119ec:       99 0f           add     r25, r25
   119ee:       29 2f           mov     r18, r25
   119f0:       22 0f           add     r18, r18
   119f2:       22 0f           add     r18, r18
   119f4:       92 0f           add     r25, r18
   119f6:       89 1b           sub     r24, r25
   119f8:       1f 92           push    r1
   119fa:       8f 93           push    r24
   119fc:       1f 92           push    r1
   119fe:       1f 93           push    r17
   11a00:       8e ec           ldi     r24, 0xCE       ; 206
   11a02:       92 e1           ldi     r25, 0x12       ; 18
   11a04:       9f 93           push    r25
   11a06:       8f 93           push    r24
   11a08:       df 93           push    r29
   11a0a:       cf 93           push    r28
   11a0c:       e0 91 78 06     lds     r30, 0x0678
   11a10:       f0 91 79 06     lds     r31, 0x0679
   11a14:       09 95           icall
           break;
   11a16:       2d b7           in      r18, 0x3d       ; 61
   11a18:       3e b7           in      r19, 0x3e       ; 62
   11a1a:       24 5e           subi    r18, 0xE4       ; 228
   11a1c:       3f 4f           sbci    r19, 0xFF       ; 255
   11a1e:       0f b6           in      r0, 0x3f        ; 63
   11a20:       f8 94           cli
   11a22:       3e bf           out     0x3e, r19       ; 62
   11a24:       0f be           out     0x3f, r0        ; 63
   11a26:       2d bf           out     0x3d, r18       ; 61
   11a28:       04 c4           rjmp    .+2056          ; 0x12232 <Menu+0x13e4>
   11a2a:       c5 e0           ldi     r28, 0x05       ; 5
   11a2c:       d4 e0           ldi     r29, 0x04       ; 4
  if((RemoteKeys & KEY1) && (RemoteKeys & KEY2)) MenuePunkt = 0;
  LcdClear();
  if(MenuePunkt < 10) {LCD_printfxy(17,0,"[%i]",MenuePunkt);}
  else {LCD_printfxy(16,0,"[%i]",MenuePunkt);};

  switch(MenuePunkt)
   11a2e:       10 e0           ldi     r17, 0x00       ; 0
           LCD_printfxy(0,1,"Warn: %2d.%dV",BattLowVoltageWarning/10,BattLowVoltageWarning%10);
           LCD_printfxy(0,2,"Home: %2d.%dV",BattComingHomeVoltage/10,BattComingHomeVoltage%10);
           LCD_printfxy(0,3,"Land: %2d.%dV",BattAutoLandingVoltage/10,BattAutoLandingVoltage%10);
           break;
    case 10:
           for(i=0;i<4;i++) LCD_printfxy(0,i,"Poti%i:  %3i",i+1,Poti[i]);
   11a30:       0f 2e           mov     r0, r31
   11a32:       f1 ec           ldi     r31, 0xC1       ; 193
   11a34:       ef 2e           mov     r14, r31
   11a36:       f2 e1           ldi     r31, 0x12       ; 18
   11a38:       ff 2e           mov     r15, r31
   11a3a:       f0 2d           mov     r31, r0
   11a3c:       0f 2e           mov     r0, r31
   11a3e:       f0 e1           ldi     r31, 0x10       ; 16
   11a40:       cf 2e           mov     r12, r31
   11a42:       f7 e8           ldi     r31, 0x87       ; 135
   11a44:       df 2e           mov     r13, r31
   11a46:       f0 2d           mov     r31, r0
   11a48:       10 93 a4 04     sts     0x04A4, r17
   11a4c:       89 91           ld      r24, Y+
   11a4e:       1f 92           push    r1
   11a50:       8f 93           push    r24
   11a52:       ce 01           movw    r24, r28
   11a54:       85 50           subi    r24, 0x05       ; 5
   11a56:       94 40           sbci    r25, 0x04       ; 4
   11a58:       9f 93           push    r25
   11a5a:       8f 93           push    r24
   11a5c:       ff 92           push    r15
   11a5e:       ef 92           push    r14
   11a60:       df 92           push    r13
   11a62:       cf 92           push    r12
   11a64:       e0 91 78 06     lds     r30, 0x0678
   11a68:       f0 91 79 06     lds     r31, 0x0679
   11a6c:       09 95           icall
   11a6e:       1c 5e           subi    r17, 0xEC       ; 236
   11a70:       8d b7           in      r24, 0x3d       ; 61
   11a72:       9e b7           in      r25, 0x3e       ; 62
   11a74:       08 96           adiw    r24, 0x08       ; 8
   11a76:       0f b6           in      r0, 0x3f        ; 63
   11a78:       f8 94           cli
   11a7a:       9e bf           out     0x3e, r25       ; 62
   11a7c:       0f be           out     0x3f, r0        ; 63
   11a7e:       8d bf           out     0x3d, r24       ; 61
   11a80:       10 35           cpi     r17, 0x50       ; 80
   11a82:       11 f7           brne    .-60            ; 0x11a48 <Menu+0xbfa>
   11a84:       d6 c3           rjmp    .+1964          ; 0x12232 <Menu+0x13e4>
   11a86:       c9 e0           ldi     r28, 0x09       ; 9
   11a88:       d4 e0           ldi     r29, 0x04       ; 4
  if((RemoteKeys & KEY1) && (RemoteKeys & KEY2)) MenuePunkt = 0;
  LcdClear();
  if(MenuePunkt < 10) {LCD_printfxy(17,0,"[%i]",MenuePunkt);}
  else {LCD_printfxy(16,0,"[%i]",MenuePunkt);};

  switch(MenuePunkt)
   11a8a:       10 e0           ldi     r17, 0x00       ; 0
           break;
    case 10:
           for(i=0;i<4;i++) LCD_printfxy(0,i,"Poti%i:  %3i",i+1,Poti[i]);
           break;
    case 11:
           for(i=0;i<4;i++) LCD_printfxy(0,i,"Poti%i:  %3i",i+5,Poti[i+4]);
   11a8c:       0f 2e           mov     r0, r31
   11a8e:       f4 eb           ldi     r31, 0xB4       ; 180
   11a90:       ef 2e           mov     r14, r31
   11a92:       f2 e1           ldi     r31, 0x12       ; 18
   11a94:       ff 2e           mov     r15, r31
   11a96:       f0 2d           mov     r31, r0
   11a98:       0f 2e           mov     r0, r31
   11a9a:       f0 e1           ldi     r31, 0x10       ; 16
   11a9c:       cf 2e           mov     r12, r31
   11a9e:       f7 e8           ldi     r31, 0x87       ; 135
   11aa0:       df 2e           mov     r13, r31
   11aa2:       f0 2d           mov     r31, r0
   11aa4:       10 93 a4 04     sts     0x04A4, r17
   11aa8:       89 91           ld      r24, Y+
   11aaa:       1f 92           push    r1
   11aac:       8f 93           push    r24
   11aae:       ce 01           movw    r24, r28
   11ab0:       85 50           subi    r24, 0x05       ; 5
   11ab2:       94 40           sbci    r25, 0x04       ; 4
   11ab4:       9f 93           push    r25
   11ab6:       8f 93           push    r24
   11ab8:       ff 92           push    r15
   11aba:       ef 92           push    r14
   11abc:       df 92           push    r13
   11abe:       cf 92           push    r12
   11ac0:       e0 91 78 06     lds     r30, 0x0678
   11ac4:       f0 91 79 06     lds     r31, 0x0679
   11ac8:       09 95           icall
   11aca:       1c 5e           subi    r17, 0xEC       ; 236
   11acc:       ed b7           in      r30, 0x3d       ; 61
   11ace:       fe b7           in      r31, 0x3e       ; 62
   11ad0:       38 96           adiw    r30, 0x08       ; 8
   11ad2:       0f b6           in      r0, 0x3f        ; 63
   11ad4:       f8 94           cli
   11ad6:       fe bf           out     0x3e, r31       ; 62
   11ad8:       0f be           out     0x3f, r0        ; 63
   11ada:       ed bf           out     0x3d, r30       ; 61
   11adc:       10 35           cpi     r17, 0x50       ; 80
   11ade:       11 f7           brne    .-60            ; 0x11aa4 <Menu+0xc56>
   11ae0:       a8 c3           rjmp    .+1872          ; 0x12232 <Menu+0x13e4>
           break;
    case 12:
           LCD_printfxy(0,0,"Flight-Time  " );
   11ae2:       10 92 a4 04     sts     0x04A4, r1
   11ae6:       86 ea           ldi     r24, 0xA6       ; 166
   11ae8:       92 e1           ldi     r25, 0x12       ; 18
   11aea:       9f 93           push    r25
   11aec:       8f 93           push    r24
   11aee:       c0 e1           ldi     r28, 0x10       ; 16
   11af0:       d7 e8           ldi     r29, 0x87       ; 135
   11af2:       df 93           push    r29
   11af4:       cf 93           push    r28
   11af6:       e0 91 78 06     lds     r30, 0x0678
   11afa:       f0 91 79 06     lds     r31, 0x0679
   11afe:       09 95           icall
           LCD_printfxy(0,1,"Total:%5umin",FlugMinutenGesamt);
   11b00:       84 e1           ldi     r24, 0x14       ; 20
   11b02:       80 93 a4 04     sts     0x04A4, r24
   11b06:       80 91 61 04     lds     r24, 0x0461
   11b0a:       8f 93           push    r24
   11b0c:       80 91 60 04     lds     r24, 0x0460
   11b10:       8f 93           push    r24
   11b12:       89 e9           ldi     r24, 0x99       ; 153
   11b14:       92 e1           ldi     r25, 0x12       ; 18
   11b16:       9f 93           push    r25
   11b18:       8f 93           push    r24
   11b1a:       df 93           push    r29
   11b1c:       cf 93           push    r28
   11b1e:       e0 91 78 06     lds     r30, 0x0678
   11b22:       f0 91 79 06     lds     r31, 0x0679
   11b26:       09 95           icall
           LCD_printfxy(0,2,"Act:  %5umin",FlugMinuten);
   11b28:       88 e2           ldi     r24, 0x28       ; 40
   11b2a:       80 93 a4 04     sts     0x04A4, r24
   11b2e:       80 91 63 04     lds     r24, 0x0463
   11b32:       8f 93           push    r24
   11b34:       80 91 62 04     lds     r24, 0x0462
   11b38:       8f 93           push    r24
   11b3a:       8c e8           ldi     r24, 0x8C       ; 140
   11b3c:       92 e1           ldi     r25, 0x12       ; 18
   11b3e:       9f 93           push    r25
   11b40:       8f 93           push    r24
   11b42:       df 93           push    r29
   11b44:       cf 93           push    r28
   11b46:       e0 91 78 06     lds     r30, 0x0678
   11b4a:       f0 91 79 06     lds     r31, 0x0679
   11b4e:       09 95           icall
           LCD_printfxy(13,3,"(reset)");
   11b50:       89 e4           ldi     r24, 0x49       ; 73
   11b52:       80 93 a4 04     sts     0x04A4, r24
   11b56:       84 e8           ldi     r24, 0x84       ; 132
   11b58:       92 e1           ldi     r25, 0x12       ; 18
   11b5a:       9f 93           push    r25
   11b5c:       8f 93           push    r24
   11b5e:       df 93           push    r29
   11b60:       cf 93           push    r28
   11b62:       e0 91 78 06     lds     r30, 0x0678
   11b66:       f0 91 79 06     lds     r31, 0x0679
   11b6a:       09 95           icall
                   if(RemoteKeys & KEY4)
   11b6c:       80 91 a2 04     lds     r24, 0x04A2
   11b70:       ed b7           in      r30, 0x3d       ; 61
   11b72:       fe b7           in      r31, 0x3e       ; 62
   11b74:       74 96           adiw    r30, 0x14       ; 20
   11b76:       0f b6           in      r0, 0x3f        ; 63
   11b78:       f8 94           cli
   11b7a:       fe bf           out     0x3e, r31       ; 62
   11b7c:       0f be           out     0x3f, r0        ; 63
   11b7e:       ed bf           out     0x3d, r30       ; 61
   11b80:       83 ff           sbrs    r24, 3
   11b82:       57 c3           rjmp    .+1710          ; 0x12232 <Menu+0x13e4>
             {
               FlugMinuten = 0;
   11b84:       10 92 63 04     sts     0x0463, r1
   11b88:       10 92 62 04     sts     0x0462, r1
               SetParamWord(PID_FLIGHT_MINUTES, FlugMinuten);
   11b8c:       60 e0           ldi     r22, 0x00       ; 0
   11b8e:       70 e0           ldi     r23, 0x00       ; 0
   11b90:       8e e0           ldi     r24, 0x0E       ; 14
   11b92:       90 e0           ldi     r25, 0x00       ; 0
   11b94:       0e 94 4b 25     call    0x4a96  ; 0x4a96 <SetParamWord>
   11b98:       4c c3           rjmp    .+1688          ; 0x12232 <Menu+0x13e4>
                         }
           break;
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
    case 13:
           LCD_printfxy(0,0,"Compass");
   11b9a:       10 92 a4 04     sts     0x04A4, r1
   11b9e:       8c e7           ldi     r24, 0x7C       ; 124
   11ba0:       92 e1           ldi     r25, 0x12       ; 18
   11ba2:       9f 93           push    r25
   11ba4:       8f 93           push    r24
   11ba6:       c0 e1           ldi     r28, 0x10       ; 16
   11ba8:       d7 e8           ldi     r29, 0x87       ; 135
   11baa:       df 93           push    r29
   11bac:       cf 93           push    r28
   11bae:       e0 91 78 06     lds     r30, 0x0678
   11bb2:       f0 91 79 06     lds     r31, 0x0679
   11bb6:       09 95           icall
           LCD_printfxy(0,1,"Magnet:   %5i",KompassValue);
   11bb8:       84 e1           ldi     r24, 0x14       ; 20
   11bba:       80 93 a4 04     sts     0x04A4, r24
   11bbe:       80 91 4f 01     lds     r24, 0x014F
   11bc2:       8f 93           push    r24
   11bc4:       80 91 4e 01     lds     r24, 0x014E
   11bc8:       8f 93           push    r24
   11bca:       8e e6           ldi     r24, 0x6E       ; 110
   11bcc:       92 e1           ldi     r25, 0x12       ; 18
   11bce:       9f 93           push    r25
   11bd0:       8f 93           push    r24
   11bd2:       df 93           push    r29
   11bd4:       cf 93           push    r28
   11bd6:       e0 91 78 06     lds     r30, 0x0678
   11bda:       f0 91 79 06     lds     r31, 0x0679
   11bde:       09 95           icall
           LCD_printfxy(0,2,"Gyro:     %5i",ErsatzKompassInGrad);
   11be0:       88 e2           ldi     r24, 0x28       ; 40
   11be2:       80 93 a4 04     sts     0x04A4, r24
   11be6:       80 91 22 06     lds     r24, 0x0622
   11bea:       8f 93           push    r24
   11bec:       80 91 21 06     lds     r24, 0x0621
   11bf0:       8f 93           push    r24
   11bf2:       80 e6           ldi     r24, 0x60       ; 96
   11bf4:       92 e1           ldi     r25, 0x12       ; 18
   11bf6:       9f 93           push    r25
   11bf8:       8f 93           push    r24
   11bfa:       df 93           push    r29
   11bfc:       cf 93           push    r28
   11bfe:       e0 91 78 06     lds     r30, 0x0678
   11c02:       f0 91 79 06     lds     r31, 0x0679
   11c06:       09 95           icall
           LCD_printfxy(0,3,"True:     %5i",CompassCorrected);
   11c08:       8c e3           ldi     r24, 0x3C       ; 60
   11c0a:       80 93 a4 04     sts     0x04A4, r24
   11c0e:       80 91 66 06     lds     r24, 0x0666
   11c12:       8f 93           push    r24
   11c14:       80 91 65 06     lds     r24, 0x0665
   11c18:       8f 93           push    r24
   11c1a:       82 e5           ldi     r24, 0x52       ; 82
   11c1c:       92 e1           ldi     r25, 0x12       ; 18
   11c1e:       9f 93           push    r25
   11c20:       8f 93           push    r24
   11c22:       df 93           push    r29
   11c24:       cf 93           push    r28
   11c26:       e0 91 78 06     lds     r30, 0x0678
   11c2a:       f0 91 79 06     lds     r31, 0x0679
   11c2e:       09 95           icall
           break;
   11c30:       8d b7           in      r24, 0x3d       ; 61
   11c32:       9e b7           in      r25, 0x3e       ; 62
   11c34:       46 96           adiw    r24, 0x16       ; 22
   11c36:       0f b6           in      r0, 0x3f        ; 63
   11c38:       f8 94           cli
   11c3a:       9e bf           out     0x3e, r25       ; 62
   11c3c:       0f be           out     0x3f, r0        ; 63
   11c3e:       8d bf           out     0x3d, r24       ; 61
   11c40:       f8 c2           rjmp    .+1520          ; 0x12232 <Menu+0x13e4>
    case 14:
           LCD_printfxy(0,0,"Servo  " );
   11c42:       10 92 a4 04     sts     0x04A4, r1
   11c46:       8a e4           ldi     r24, 0x4A       ; 74
   11c48:       92 e1           ldi     r25, 0x12       ; 18
   11c4a:       9f 93           push    r25
   11c4c:       8f 93           push    r24
   11c4e:       c0 e1           ldi     r28, 0x10       ; 16
   11c50:       d7 e8           ldi     r29, 0x87       ; 135
   11c52:       df 93           push    r29
   11c54:       cf 93           push    r28
   11c56:       e0 91 78 06     lds     r30, 0x0678
   11c5a:       f0 91 79 06     lds     r31, 0x0679
   11c5e:       09 95           icall
           LCD_printfxy(0,1,"Setpoint  %3i",Parameter_ServoNickControl);
   11c60:       84 e1           ldi     r24, 0x14       ; 20
   11c62:       80 93 a4 04     sts     0x04A4, r24
   11c66:       80 91 2f 01     lds     r24, 0x012F
   11c6a:       1f 92           push    r1
   11c6c:       8f 93           push    r24
   11c6e:       8c e3           ldi     r24, 0x3C       ; 60
   11c70:       92 e1           ldi     r25, 0x12       ; 18
   11c72:       9f 93           push    r25
   11c74:       8f 93           push    r24
   11c76:       df 93           push    r29
   11c78:       cf 93           push    r28
   11c7a:       e0 91 78 06     lds     r30, 0x0678
   11c7e:       f0 91 79 06     lds     r31, 0x0679
   11c82:       09 95           icall
           LCD_printfxy(0,2,"Position: %3i",ServoNickValue/4);
   11c84:       88 e2           ldi     r24, 0x28       ; 40
   11c86:       80 93 a4 04     sts     0x04A4, r24
   11c8a:       80 91 c6 04     lds     r24, 0x04C6
   11c8e:       90 91 c7 04     lds     r25, 0x04C7
   11c92:       99 23           and     r25, r25
   11c94:       0c f4           brge    .+2             ; 0x11c98 <Menu+0xe4a>
   11c96:       03 96           adiw    r24, 0x03       ; 3
   11c98:       95 95           asr     r25
   11c9a:       87 95           ror     r24
   11c9c:       95 95           asr     r25
   11c9e:       87 95           ror     r24
   11ca0:       9f 93           push    r25
   11ca2:       8f 93           push    r24
   11ca4:       8e e2           ldi     r24, 0x2E       ; 46
   11ca6:       92 e1           ldi     r25, 0x12       ; 18
   11ca8:       9f 93           push    r25
   11caa:       8f 93           push    r24
   11cac:       c0 e1           ldi     r28, 0x10       ; 16
   11cae:       d7 e8           ldi     r29, 0x87       ; 135
   11cb0:       df 93           push    r29
   11cb2:       cf 93           push    r28
   11cb4:       e0 91 78 06     lds     r30, 0x0678
   11cb8:       f0 91 79 06     lds     r31, 0x0679
   11cbc:       09 95           icall
           LCD_printfxy(0,3,"Range:%3i-%3i",EE_Parameter.ServoNickMin,EE_Parameter.ServoNickMax);
   11cbe:       8c e3           ldi     r24, 0x3C       ; 60
   11cc0:       80 93 a4 04     sts     0x04A4, r24
   11cc4:       80 91 6e 05     lds     r24, 0x056E
   11cc8:       1f 92           push    r1
   11cca:       8f 93           push    r24
   11ccc:       80 91 6d 05     lds     r24, 0x056D
   11cd0:       1f 92           push    r1
   11cd2:       8f 93           push    r24
   11cd4:       80 e2           ldi     r24, 0x20       ; 32
   11cd6:       92 e1           ldi     r25, 0x12       ; 18
   11cd8:       9f 93           push    r25
   11cda:       8f 93           push    r24
   11cdc:       df 93           push    r29
   11cde:       cf 93           push    r28
   11ce0:       e0 91 78 06     lds     r30, 0x0678
   11ce4:       f0 91 79 06     lds     r31, 0x0679
   11ce8:       09 95           icall
           break;
   11cea:       2d b7           in      r18, 0x3d       ; 61
   11cec:       3e b7           in      r19, 0x3e       ; 62
   11cee:       28 5e           subi    r18, 0xE8       ; 232
   11cf0:       3f 4f           sbci    r19, 0xFF       ; 255
   11cf2:       0f b6           in      r0, 0x3f        ; 63
   11cf4:       f8 94           cli
   11cf6:       3e bf           out     0x3e, r19       ; 62
   11cf8:       0f be           out     0x3f, r0        ; 63
   11cfa:       2d bf           out     0x3d, r18       ; 61
   11cfc:       9a c2           rjmp    .+1332          ; 0x12232 <Menu+0x13e4>
    case 15:
           LCD_printfxy(0,0,"BL-Ctrl Errors " );
   11cfe:       10 92 a4 04     sts     0x04A4, r1
   11d02:       80 e1           ldi     r24, 0x10       ; 16
   11d04:       92 e1           ldi     r25, 0x12       ; 18
   11d06:       9f 93           push    r25
   11d08:       8f 93           push    r24
   11d0a:       80 e1           ldi     r24, 0x10       ; 16
   11d0c:       97 e8           ldi     r25, 0x87       ; 135
   11d0e:       9f 93           push    r25
   11d10:       8f 93           push    r24
   11d12:       e0 91 78 06     lds     r30, 0x0678
   11d16:       f0 91 79 06     lds     r31, 0x0679
   11d1a:       09 95           icall
   11d1c:       c7 ec           ldi     r28, 0xC7       ; 199
   11d1e:       d9 e0           ldi     r29, 0x09       ; 9
   11d20:       0f 90           pop     r0
   11d22:       0f 90           pop     r0
   11d24:       0f 90           pop     r0
   11d26:       0f 90           pop     r0
   11d28:       14 e1           ldi     r17, 0x14       ; 20
                   for(i=0;i<3;i++)                                                               
                   {
                    LCD_printfxy(0,i+1,"%3d %3d %3d %3d ",Motor[i*4].State & MOTOR_STATE_ERROR_MASK,Motor[i*4+1].State & MOTOR_STATE_ERROR_MASK,Motor[i*4+2].State & MOTOR_STATE_ERROR_MASK,Motor[i*4+3].State & MOTOR_STATE_ERROR_MASK);
   11d2a:       0f 2e           mov     r0, r31
   11d2c:       ff ef           ldi     r31, 0xFF       ; 255
   11d2e:       ef 2e           mov     r14, r31
   11d30:       f1 e1           ldi     r31, 0x11       ; 17
   11d32:       ff 2e           mov     r15, r31
   11d34:       f0 2d           mov     r31, r0
   11d36:       0f 2e           mov     r0, r31
   11d38:       f0 e1           ldi     r31, 0x10       ; 16
   11d3a:       cf 2e           mov     r12, r31
   11d3c:       f7 e8           ldi     r31, 0x87       ; 135
   11d3e:       df 2e           mov     r13, r31
   11d40:       f0 2d           mov     r31, r0
   11d42:       10 93 a4 04     sts     0x04A4, r17
   11d46:       88 81           ld      r24, Y
   11d48:       8f 77           andi    r24, 0x7F       ; 127
   11d4a:       1f 92           push    r1
   11d4c:       8f 93           push    r24
   11d4e:       fe 01           movw    r30, r28
   11d50:       3f 97           sbiw    r30, 0x0f       ; 15
   11d52:       80 81           ld      r24, Z
   11d54:       8f 77           andi    r24, 0x7F       ; 127
   11d56:       1f 92           push    r1
   11d58:       8f 93           push    r24
   11d5a:       3f 97           sbiw    r30, 0x0f       ; 15
   11d5c:       80 81           ld      r24, Z
   11d5e:       8f 77           andi    r24, 0x7F       ; 127
   11d60:       1f 92           push    r1
   11d62:       8f 93           push    r24
   11d64:       3f 97           sbiw    r30, 0x0f       ; 15
   11d66:       80 81           ld      r24, Z
   11d68:       8f 77           andi    r24, 0x7F       ; 127
   11d6a:       1f 92           push    r1
   11d6c:       8f 93           push    r24
   11d6e:       ff 92           push    r15
   11d70:       ef 92           push    r14
   11d72:       df 92           push    r13
   11d74:       cf 92           push    r12
   11d76:       e0 91 78 06     lds     r30, 0x0678
   11d7a:       f0 91 79 06     lds     r31, 0x0679
   11d7e:       09 95           icall
   11d80:       1c 5e           subi    r17, 0xEC       ; 236
   11d82:       ec 96           adiw    r28, 0x3c       ; 60
           LCD_printfxy(0,2,"Position: %3i",ServoNickValue/4);
           LCD_printfxy(0,3,"Range:%3i-%3i",EE_Parameter.ServoNickMin,EE_Parameter.ServoNickMax);
           break;
    case 15:
           LCD_printfxy(0,0,"BL-Ctrl Errors " );
                   for(i=0;i<3;i++)                                                               
   11d84:       8d b7           in      r24, 0x3d       ; 61
   11d86:       9e b7           in      r25, 0x3e       ; 62
   11d88:       0c 96           adiw    r24, 0x0c       ; 12
   11d8a:       0f b6           in      r0, 0x3f        ; 63
   11d8c:       f8 94           cli
   11d8e:       9e bf           out     0x3e, r25       ; 62
   11d90:       0f be           out     0x3f, r0        ; 63
   11d92:       8d bf           out     0x3d, r24       ; 61
   11d94:       10 35           cpi     r17, 0x50       ; 80
   11d96:       a9 f6           brne    .-86            ; 0x11d42 <Menu+0xef4>
   11d98:       4c c2           rjmp    .+1176          ; 0x12232 <Menu+0x13e4>
                   {
                    LCD_printfxy(0,i+1,"%3d %3d %3d %3d ",Motor[i*4].State & MOTOR_STATE_ERROR_MASK,Motor[i*4+1].State & MOTOR_STATE_ERROR_MASK,Motor[i*4+2].State & MOTOR_STATE_ERROR_MASK,Motor[i*4+3].State & MOTOR_STATE_ERROR_MASK);
                   }    
           break;
    case 16:
           LCD_printfxy(0,0,"BL Temperature" );
   11d9a:       10 92 a4 04     sts     0x04A4, r1
   11d9e:       80 ef           ldi     r24, 0xF0       ; 240
   11da0:       91 e1           ldi     r25, 0x11       ; 17
   11da2:       9f 93           push    r25
   11da4:       8f 93           push    r24
   11da6:       80 e1           ldi     r24, 0x10       ; 16
   11da8:       97 e8           ldi     r25, 0x87       ; 135
   11daa:       9f 93           push    r25
   11dac:       8f 93           push    r24
   11dae:       e0 91 78 06     lds     r30, 0x0678
   11db2:       f0 91 79 06     lds     r31, 0x0679
   11db6:       09 95           icall
   11db8:       cb ec           ldi     r28, 0xCB       ; 203
   11dba:       d9 e0           ldi     r29, 0x09       ; 9
   11dbc:       0f 90           pop     r0
   11dbe:       0f 90           pop     r0
   11dc0:       0f 90           pop     r0
   11dc2:       0f 90           pop     r0
   11dc4:       14 e1           ldi     r17, 0x14       ; 20
                   for(i=0;i<3;i++) 
                    {
                     LCD_printfxy(0,i+1,"%3d %3d %3d %3d ",Motor[i*4].Temperature,Motor[i*4+1].Temperature,Motor[i*4+2].Temperature,Motor[i*4+3].Temperature);
   11dc6:       0f 2e           mov     r0, r31
   11dc8:       ff ed           ldi     r31, 0xDF       ; 223
   11dca:       ef 2e           mov     r14, r31
   11dcc:       f1 e1           ldi     r31, 0x11       ; 17
   11dce:       ff 2e           mov     r15, r31
   11dd0:       f0 2d           mov     r31, r0
   11dd2:       0f 2e           mov     r0, r31
   11dd4:       f0 e1           ldi     r31, 0x10       ; 16
   11dd6:       cf 2e           mov     r12, r31
   11dd8:       f7 e8           ldi     r31, 0x87       ; 135
   11dda:       df 2e           mov     r13, r31
   11ddc:       f0 2d           mov     r31, r0
   11dde:       10 93 a4 04     sts     0x04A4, r17
   11de2:       88 81           ld      r24, Y
   11de4:       1f 92           push    r1
   11de6:       8f 93           push    r24
   11de8:       fe 01           movw    r30, r28
   11dea:       3f 97           sbiw    r30, 0x0f       ; 15
   11dec:       80 81           ld      r24, Z
   11dee:       1f 92           push    r1
   11df0:       8f 93           push    r24
   11df2:       3f 97           sbiw    r30, 0x0f       ; 15
   11df4:       80 81           ld      r24, Z
   11df6:       1f 92           push    r1
   11df8:       8f 93           push    r24
   11dfa:       3f 97           sbiw    r30, 0x0f       ; 15
   11dfc:       80 81           ld      r24, Z
   11dfe:       1f 92           push    r1
   11e00:       8f 93           push    r24
   11e02:       ff 92           push    r15
   11e04:       ef 92           push    r14
   11e06:       df 92           push    r13
   11e08:       cf 92           push    r12
   11e0a:       e0 91 78 06     lds     r30, 0x0678
   11e0e:       f0 91 79 06     lds     r31, 0x0679
   11e12:       09 95           icall
   11e14:       1c 5e           subi    r17, 0xEC       ; 236
   11e16:       ec 96           adiw    r28, 0x3c       ; 60
                    LCD_printfxy(0,i+1,"%3d %3d %3d %3d ",Motor[i*4].State & MOTOR_STATE_ERROR_MASK,Motor[i*4+1].State & MOTOR_STATE_ERROR_MASK,Motor[i*4+2].State & MOTOR_STATE_ERROR_MASK,Motor[i*4+3].State & MOTOR_STATE_ERROR_MASK);
                   }    
           break;
    case 16:
           LCD_printfxy(0,0,"BL Temperature" );
                   for(i=0;i<3;i++) 
   11e18:       ed b7           in      r30, 0x3d       ; 61
   11e1a:       fe b7           in      r31, 0x3e       ; 62
   11e1c:       3c 96           adiw    r30, 0x0c       ; 12
   11e1e:       0f b6           in      r0, 0x3f        ; 63
   11e20:       f8 94           cli
   11e22:       fe bf           out     0x3e, r31       ; 62
   11e24:       0f be           out     0x3f, r0        ; 63
   11e26:       ed bf           out     0x3d, r30       ; 61
   11e28:       10 35           cpi     r17, 0x50       ; 80
   11e2a:       c9 f6           brne    .-78            ; 0x11dde <Menu+0xf90>
   11e2c:       02 c2           rjmp    .+1028          ; 0x12232 <Menu+0x13e4>
                    {
                     LCD_printfxy(0,i+1,"%3d %3d %3d %3d ",Motor[i*4].Temperature,Motor[i*4+1].Temperature,Motor[i*4+2].Temperature,Motor[i*4+3].Temperature);
                        }                       
           break;
    case 17:
           LCD_printfxy(0,0,"BL Current" );
   11e2e:       10 92 a4 04     sts     0x04A4, r1
   11e32:       84 ed           ldi     r24, 0xD4       ; 212
   11e34:       91 e1           ldi     r25, 0x11       ; 17
   11e36:       9f 93           push    r25
   11e38:       8f 93           push    r24
   11e3a:       c0 e1           ldi     r28, 0x10       ; 16
   11e3c:       d7 e8           ldi     r29, 0x87       ; 135
   11e3e:       df 93           push    r29
   11e40:       cf 93           push    r28
   11e42:       e0 91 78 06     lds     r30, 0x0678
   11e46:       f0 91 79 06     lds     r31, 0x0679
   11e4a:       09 95           icall
           LCD_printfxy(11,3,"(in 0.1A)" );
   11e4c:       87 e4           ldi     r24, 0x47       ; 71
   11e4e:       80 93 a4 04     sts     0x04A4, r24
   11e52:       8a ec           ldi     r24, 0xCA       ; 202
   11e54:       91 e1           ldi     r25, 0x11       ; 17
   11e56:       9f 93           push    r25
   11e58:       8f 93           push    r24
   11e5a:       df 93           push    r29
   11e5c:       cf 93           push    r28
   11e5e:       e0 91 78 06     lds     r30, 0x0678
   11e62:       f0 91 79 06     lds     r31, 0x0679
   11e66:       09 95           icall
   11e68:       ed b7           in      r30, 0x3d       ; 61
   11e6a:       fe b7           in      r31, 0x3e       ; 62
   11e6c:       38 96           adiw    r30, 0x08       ; 8
   11e6e:       0f b6           in      r0, 0x3f        ; 63
   11e70:       f8 94           cli
   11e72:       fe bf           out     0x3e, r31       ; 62
   11e74:       0f be           out     0x3f, r0        ; 63
   11e76:       ed bf           out     0x3d, r30       ; 61
   11e78:       c4 e0           ldi     r28, 0x04       ; 4
   11e7a:       d0 e0           ldi     r29, 0x00       ; 0
   11e7c:       14 e1           ldi     r17, 0x14       ; 20
                   for(i=0;i<3;i++) 
                    {
                     LCD_printfxy(0,i+1,"%3d %3d %3d %3d ",BL3_Current(i*4),BL3_Current(i*4+1),BL3_Current(i*4+2),BL3_Current(i*4+3));
   11e7e:       0f 2e           mov     r0, r31
   11e80:       f9 eb           ldi     r31, 0xB9       ; 185
   11e82:       ef 2e           mov     r14, r31
   11e84:       f1 e1           ldi     r31, 0x11       ; 17
   11e86:       ff 2e           mov     r15, r31
   11e88:       f0 2d           mov     r31, r0
   11e8a:       0f 2e           mov     r0, r31
   11e8c:       f0 e1           ldi     r31, 0x10       ; 16
   11e8e:       2f 2e           mov     r2, r31
   11e90:       f7 e8           ldi     r31, 0x87       ; 135
   11e92:       3f 2e           mov     r3, r31
   11e94:       f0 2d           mov     r31, r0
   11e96:       10 93 a4 04     sts     0x04A4, r17
   11e9a:       c0 90 78 06     lds     r12, 0x0678
   11e9e:       d0 90 79 06     lds     r13, 0x0679
   11ea2:       8c 2f           mov     r24, r28
   11ea4:       81 50           subi    r24, 0x01       ; 1
   11ea6:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
   11eaa:       68 2e           mov     r6, r24
   11eac:       59 2e           mov     r5, r25
   11eae:       8c 2f           mov     r24, r28
   11eb0:       82 50           subi    r24, 0x02       ; 2
   11eb2:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
   11eb6:       88 2e           mov     r8, r24
   11eb8:       79 2e           mov     r7, r25
   11eba:       8c 2f           mov     r24, r28
   11ebc:       83 50           subi    r24, 0x03       ; 3
   11ebe:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
   11ec2:       a8 2e           mov     r10, r24
   11ec4:       99 2e           mov     r9, r25
   11ec6:       8c 2f           mov     r24, r28
   11ec8:       84 50           subi    r24, 0x04       ; 4
   11eca:       0e 94 ce 21     call    0x439c  ; 0x439c <BL3_Current>
   11ece:       5f 92           push    r5
   11ed0:       6f 92           push    r6
   11ed2:       7f 92           push    r7
   11ed4:       8f 92           push    r8
   11ed6:       9f 92           push    r9
   11ed8:       af 92           push    r10
   11eda:       9f 93           push    r25
   11edc:       8f 93           push    r24
   11ede:       ff 92           push    r15
   11ee0:       ef 92           push    r14
   11ee2:       3f 92           push    r3
   11ee4:       2f 92           push    r2
   11ee6:       f6 01           movw    r30, r12
   11ee8:       09 95           icall
                         if(4 + i * 4 >= RequiredMotors) break;
   11eea:       80 91 3d 05     lds     r24, 0x053D
   11eee:       90 e0           ldi     r25, 0x00       ; 0
   11ef0:       2d b7           in      r18, 0x3d       ; 61
   11ef2:       3e b7           in      r19, 0x3e       ; 62
   11ef4:       24 5f           subi    r18, 0xF4       ; 244
   11ef6:       3f 4f           sbci    r19, 0xFF       ; 255
   11ef8:       0f b6           in      r0, 0x3f        ; 63
   11efa:       f8 94           cli
   11efc:       3e bf           out     0x3e, r19       ; 62
   11efe:       0f be           out     0x3f, r0        ; 63
   11f00:       2d bf           out     0x3d, r18       ; 61
   11f02:       c8 17           cp      r28, r24
   11f04:       d9 07           cpc     r29, r25
   11f06:       0c f0           brlt    .+2             ; 0x11f0a <Menu+0x10bc>
   11f08:       94 c1           rjmp    .+808           ; 0x12232 <Menu+0x13e4>
   11f0a:       1c 5e           subi    r17, 0xEC       ; 236
   11f0c:       24 96           adiw    r28, 0x04       ; 4
                        }                       
           break;
    case 17:
           LCD_printfxy(0,0,"BL Current" );
           LCD_printfxy(11,3,"(in 0.1A)" );
                   for(i=0;i<3;i++) 
   11f0e:       10 35           cpi     r17, 0x50       ; 80
   11f10:       11 f6           brne    .-124           ; 0x11e96 <Menu+0x1048>
   11f12:       8f c1           rjmp    .+798           ; 0x12232 <Menu+0x13e4>
                     LCD_printfxy(0,i+1,"%3d %3d %3d %3d ",BL3_Current(i*4),BL3_Current(i*4+1),BL3_Current(i*4+2),BL3_Current(i*4+3));
                         if(4 + i * 4 >= RequiredMotors) break;
                        }                       
           break;
    case 18:
           LCD_printfxy(0,0,"BL-Ctrl found " );
   11f14:       10 92 a4 04     sts     0x04A4, r1
   11f18:       8a ea           ldi     r24, 0xAA       ; 170
   11f1a:       91 e1           ldi     r25, 0x11       ; 17
   11f1c:       9f 93           push    r25
   11f1e:       8f 93           push    r24
   11f20:       c0 e1           ldi     r28, 0x10       ; 16
   11f22:       d7 e8           ldi     r29, 0x87       ; 135
   11f24:       df 93           push    r29
   11f26:       cf 93           push    r28
   11f28:       e0 91 78 06     lds     r30, 0x0678
   11f2c:       f0 91 79 06     lds     r31, 0x0679
   11f30:       09 95           icall
                   LCD_printfxy(0,1," %c   %c   %c   %c ",'-' + 4 * (Motor[0].State>>7),'-' + 5 * (Motor[1].State>>7),'-' + 6 * (Motor[2].State>>7),'-' + 7 * (Motor[3].State>>7));
   11f32:       84 e1           ldi     r24, 0x14       ; 20
   11f34:       80 93 a4 04     sts     0x04A4, r24
   11f38:       20 91 c7 09     lds     r18, 0x09C7
   11f3c:       22 1f           adc     r18, r18
   11f3e:       22 27           eor     r18, r18
   11f40:       22 1f           adc     r18, r18
   11f42:       30 e0           ldi     r19, 0x00       ; 0
   11f44:       c9 01           movw    r24, r18
   11f46:       88 0f           add     r24, r24
   11f48:       99 1f           adc     r25, r25
   11f4a:       88 0f           add     r24, r24
   11f4c:       99 1f           adc     r25, r25
   11f4e:       88 0f           add     r24, r24
   11f50:       99 1f           adc     r25, r25
   11f52:       82 1b           sub     r24, r18
   11f54:       93 0b           sbc     r25, r19
   11f56:       8d 96           adiw    r24, 0x2d       ; 45
   11f58:       9f 93           push    r25
   11f5a:       8f 93           push    r24
   11f5c:       80 91 b8 09     lds     r24, 0x09B8
   11f60:       88 1f           adc     r24, r24
   11f62:       88 27           eor     r24, r24
   11f64:       88 1f           adc     r24, r24
   11f66:       90 e0           ldi     r25, 0x00       ; 0
   11f68:       9c 01           movw    r18, r24
   11f6a:       22 0f           add     r18, r18
   11f6c:       33 1f           adc     r19, r19
   11f6e:       82 0f           add     r24, r18
   11f70:       93 1f           adc     r25, r19
   11f72:       88 0f           add     r24, r24
   11f74:       99 1f           adc     r25, r25
   11f76:       8d 96           adiw    r24, 0x2d       ; 45
   11f78:       9f 93           push    r25
   11f7a:       8f 93           push    r24
   11f7c:       80 91 a9 09     lds     r24, 0x09A9
   11f80:       88 1f           adc     r24, r24
   11f82:       88 27           eor     r24, r24
   11f84:       88 1f           adc     r24, r24
   11f86:       90 e0           ldi     r25, 0x00       ; 0
   11f88:       9c 01           movw    r18, r24
   11f8a:       22 0f           add     r18, r18
   11f8c:       33 1f           adc     r19, r19
   11f8e:       22 0f           add     r18, r18
   11f90:       33 1f           adc     r19, r19
   11f92:       82 0f           add     r24, r18
   11f94:       93 1f           adc     r25, r19
   11f96:       8d 96           adiw    r24, 0x2d       ; 45
   11f98:       9f 93           push    r25
   11f9a:       8f 93           push    r24
   11f9c:       80 91 9a 09     lds     r24, 0x099A
   11fa0:       88 1f           adc     r24, r24
   11fa2:       88 27           eor     r24, r24
   11fa4:       88 1f           adc     r24, r24
   11fa6:       90 e0           ldi     r25, 0x00       ; 0
   11fa8:       88 0f           add     r24, r24
   11faa:       99 1f           adc     r25, r25
   11fac:       88 0f           add     r24, r24
   11fae:       99 1f           adc     r25, r25
   11fb0:       8d 96           adiw    r24, 0x2d       ; 45
   11fb2:       9f 93           push    r25
   11fb4:       8f 93           push    r24
   11fb6:       86 e9           ldi     r24, 0x96       ; 150
   11fb8:       91 e1           ldi     r25, 0x11       ; 17
   11fba:       9f 93           push    r25
   11fbc:       8f 93           push    r24
   11fbe:       df 93           push    r29
   11fc0:       cf 93           push    r28
   11fc2:       e0 91 78 06     lds     r30, 0x0678
   11fc6:       f0 91 79 06     lds     r31, 0x0679
   11fca:       09 95           icall
                   LCD_printfxy(0,2," %c   %c   %c   %c ",'-' + 8 * (Motor[4].State>>7),'-' + 9 * (Motor[5].State>>7),'-' + 10 * (Motor[6].State>>7),'-' + 11 * (Motor[7].State>>7));
   11fcc:       88 e2           ldi     r24, 0x28       ; 40
   11fce:       80 93 a4 04     sts     0x04A4, r24
   11fd2:       80 91 03 0a     lds     r24, 0x0A03
   11fd6:       88 1f           adc     r24, r24
   11fd8:       88 27           eor     r24, r24
   11fda:       88 1f           adc     r24, r24
   11fdc:       fb e0           ldi     r31, 0x0B       ; 11
   11fde:       8f 9f           mul     r24, r31
   11fe0:       c0 01           movw    r24, r0
   11fe2:       11 24           eor     r1, r1
   11fe4:       8d 96           adiw    r24, 0x2d       ; 45
   11fe6:       9f 93           push    r25
   11fe8:       8f 93           push    r24
   11fea:       20 91 f4 09     lds     r18, 0x09F4
   11fee:       22 1f           adc     r18, r18
   11ff0:       22 27           eor     r18, r18
   11ff2:       22 1f           adc     r18, r18
   11ff4:       30 e0           ldi     r19, 0x00       ; 0
   11ff6:       c9 01           movw    r24, r18
   11ff8:       88 0f           add     r24, r24
   11ffa:       99 1f           adc     r25, r25
   11ffc:       22 0f           add     r18, r18
   11ffe:       33 1f           adc     r19, r19
   12000:       22 0f           add     r18, r18
   12002:       33 1f           adc     r19, r19
   12004:       22 0f           add     r18, r18
   12006:       33 1f           adc     r19, r19
   12008:       82 0f           add     r24, r18
   1200a:       93 1f           adc     r25, r19
   1200c:       8d 96           adiw    r24, 0x2d       ; 45
   1200e:       9f 93           push    r25
   12010:       8f 93           push    r24
   12012:       80 91 e5 09     lds     r24, 0x09E5
   12016:       88 1f           adc     r24, r24
   12018:       88 27           eor     r24, r24
   1201a:       88 1f           adc     r24, r24
   1201c:       90 e0           ldi     r25, 0x00       ; 0
   1201e:       9c 01           movw    r18, r24
   12020:       22 0f           add     r18, r18
   12022:       33 1f           adc     r19, r19
   12024:       22 0f           add     r18, r18
   12026:       33 1f           adc     r19, r19
   12028:       22 0f           add     r18, r18
   1202a:       33 1f           adc     r19, r19
   1202c:       82 0f           add     r24, r18
   1202e:       93 1f           adc     r25, r19
   12030:       8d 96           adiw    r24, 0x2d       ; 45
   12032:       9f 93           push    r25
   12034:       8f 93           push    r24
   12036:       80 91 d6 09     lds     r24, 0x09D6
   1203a:       88 1f           adc     r24, r24
   1203c:       88 27           eor     r24, r24
   1203e:       88 1f           adc     r24, r24
   12040:       90 e0           ldi     r25, 0x00       ; 0
   12042:       88 0f           add     r24, r24
   12044:       99 1f           adc     r25, r25
   12046:       88 0f           add     r24, r24
   12048:       99 1f           adc     r25, r25
   1204a:       88 0f           add     r24, r24
   1204c:       99 1f           adc     r25, r25
   1204e:       8d 96           adiw    r24, 0x2d       ; 45
   12050:       9f 93           push    r25
   12052:       8f 93           push    r24
   12054:       82 e8           ldi     r24, 0x82       ; 130
   12056:       91 e1           ldi     r25, 0x11       ; 17
   12058:       9f 93           push    r25
   1205a:       8f 93           push    r24
   1205c:       df 93           push    r29
   1205e:       cf 93           push    r28
   12060:       e0 91 78 06     lds     r30, 0x0678
   12064:       f0 91 79 06     lds     r31, 0x0679
   12068:       09 95           icall
                   LCD_printfxy(0,3," %c   -   -   - ",'-' + 12 * (Motor[8].State>>7));
   1206a:       8c e3           ldi     r24, 0x3C       ; 60
   1206c:       80 93 a4 04     sts     0x04A4, r24
   12070:       80 91 12 0a     lds     r24, 0x0A12
   12074:       88 1f           adc     r24, r24
   12076:       88 27           eor     r24, r24
   12078:       88 1f           adc     r24, r24
   1207a:       90 e0           ldi     r25, 0x00       ; 0
   1207c:       9c 01           movw    r18, r24
   1207e:       22 0f           add     r18, r18
   12080:       33 1f           adc     r19, r19
   12082:       82 0f           add     r24, r18
   12084:       93 1f           adc     r25, r19
   12086:       88 0f           add     r24, r24
   12088:       99 1f           adc     r25, r25
   1208a:       88 0f           add     r24, r24
   1208c:       99 1f           adc     r25, r25
   1208e:       8d 96           adiw    r24, 0x2d       ; 45
   12090:       9f 93           push    r25
   12092:       8f 93           push    r24
   12094:       81 e7           ldi     r24, 0x71       ; 113
   12096:       91 e1           ldi     r25, 0x11       ; 17
   12098:       9f 93           push    r25
   1209a:       8f 93           push    r24
   1209c:       df 93           push    r29
   1209e:       cf 93           push    r28
   120a0:       e0 91 78 06     lds     r30, 0x0678
   120a4:       f0 91 79 06     lds     r31, 0x0679
   120a8:       09 95           icall
                   if(Motor[9].State>>7)  LCD_printfxy(4,3,"10");
   120aa:       ed b7           in      r30, 0x3d       ; 61
   120ac:       fe b7           in      r31, 0x3e       ; 62
   120ae:       b2 96           adiw    r30, 0x22       ; 34
   120b0:       0f b6           in      r0, 0x3f        ; 63
   120b2:       f8 94           cli
   120b4:       fe bf           out     0x3e, r31       ; 62
   120b6:       0f be           out     0x3f, r0        ; 63
   120b8:       ed bf           out     0x3d, r30       ; 61
   120ba:       80 91 21 0a     lds     r24, 0x0A21
   120be:       88 23           and     r24, r24
   120c0:       9c f4           brge    .+38            ; 0x120e8 <Menu+0x129a>
   120c2:       80 e4           ldi     r24, 0x40       ; 64
   120c4:       80 93 a4 04     sts     0x04A4, r24
   120c8:       8e e6           ldi     r24, 0x6E       ; 110
   120ca:       91 e1           ldi     r25, 0x11       ; 17
   120cc:       9f 93           push    r25
   120ce:       8f 93           push    r24
   120d0:       ce 01           movw    r24, r28
   120d2:       9f 93           push    r25
   120d4:       cf 93           push    r28
   120d6:       e0 91 78 06     lds     r30, 0x0678
   120da:       f0 91 79 06     lds     r31, 0x0679
   120de:       09 95           icall
   120e0:       0f 90           pop     r0
   120e2:       0f 90           pop     r0
   120e4:       0f 90           pop     r0
   120e6:       0f 90           pop     r0
                   if(Motor[10].State>>7) LCD_printfxy(8,3,"11");
   120e8:       80 91 30 0a     lds     r24, 0x0A30
   120ec:       88 23           and     r24, r24
   120ee:       a4 f4           brge    .+40            ; 0x12118 <Menu+0x12ca>
   120f0:       84 e4           ldi     r24, 0x44       ; 68
   120f2:       80 93 a4 04     sts     0x04A4, r24
   120f6:       8b e6           ldi     r24, 0x6B       ; 107
   120f8:       91 e1           ldi     r25, 0x11       ; 17
   120fa:       9f 93           push    r25
   120fc:       8f 93           push    r24
   120fe:       80 e1           ldi     r24, 0x10       ; 16
   12100:       97 e8           ldi     r25, 0x87       ; 135
   12102:       9f 93           push    r25
   12104:       8f 93           push    r24
   12106:       e0 91 78 06     lds     r30, 0x0678
   1210a:       f0 91 79 06     lds     r31, 0x0679
   1210e:       09 95           icall
   12110:       0f 90           pop     r0
   12112:       0f 90           pop     r0
   12114:       0f 90           pop     r0
   12116:       0f 90           pop     r0
                   if(Motor[11].State>>7) LCD_printfxy(12,3,"12");
   12118:       80 91 3f 0a     lds     r24, 0x0A3F
   1211c:       88 23           and     r24, r24
   1211e:       0c f0           brlt    .+2             ; 0x12122 <Menu+0x12d4>
   12120:       88 c0           rjmp    .+272           ; 0x12232 <Menu+0x13e4>
   12122:       88 e4           ldi     r24, 0x48       ; 72
   12124:       80 93 a4 04     sts     0x04A4, r24
   12128:       88 e6           ldi     r24, 0x68       ; 104
   1212a:       91 e1           ldi     r25, 0x11       ; 17
   1212c:       9f 93           push    r25
   1212e:       8f 93           push    r24
   12130:       80 e1           ldi     r24, 0x10       ; 16
   12132:       97 e8           ldi     r25, 0x87       ; 135
   12134:       9f 93           push    r25
   12136:       8f 93           push    r24
   12138:       e0 91 78 06     lds     r30, 0x0678
   1213c:       f0 91 79 06     lds     r31, 0x0679
   12140:       09 95           icall
   12142:       0f 90           pop     r0
   12144:       0f 90           pop     r0
   12146:       0f 90           pop     r0
   12148:       0f 90           pop     r0
   1214a:       73 c0           rjmp    .+230           ; 0x12232 <Menu+0x13e4>
           break;
    case 19:
           LCD_printfxy(0,0,"BL Versions" );
   1214c:       10 92 a4 04     sts     0x04A4, r1
   12150:       8c e5           ldi     r24, 0x5C       ; 92
   12152:       91 e1           ldi     r25, 0x11       ; 17
   12154:       9f 93           push    r25
   12156:       8f 93           push    r24
   12158:       80 e1           ldi     r24, 0x10       ; 16
   1215a:       97 e8           ldi     r25, 0x87       ; 135
   1215c:       9f 93           push    r25
   1215e:       8f 93           push    r24
   12160:       e0 91 78 06     lds     r30, 0x0678
   12164:       f0 91 79 06     lds     r31, 0x0679
   12168:       09 95           icall
   1216a:       c1 ed           ldi     r28, 0xD1       ; 209
   1216c:       d9 e0           ldi     r29, 0x09       ; 9
   1216e:       0f 90           pop     r0
   12170:       0f 90           pop     r0
   12172:       0f 90           pop     r0
   12174:       0f 90           pop     r0
   12176:       04 e0           ldi     r16, 0x04       ; 4
   12178:       10 e0           ldi     r17, 0x00       ; 0
   1217a:       0f 2e           mov     r0, r31
   1217c:       f4 e1           ldi     r31, 0x14       ; 20
   1217e:       bf 2e           mov     r11, r31
   12180:       f0 2d           mov     r31, r0
                   for(i=0;i<3;i++) 
                    {
                     LCD_printfxy(0,i+1,"%1d.%02d %1d.%02d %1d.%02d %1d.%02d",Motor[i*4].VersionMajor,Motor[i*4].VersionMinor,Motor[i*4+1].VersionMajor,Motor[i*4+1].VersionMinor,Motor[i*4+2].VersionMajor,Motor[i*4+2].VersionMinor,Motor[i*4+3].VersionMajor,Motor[i*4+3].VersionMinor);
   12182:       0f 2e           mov     r0, r31
   12184:       f8 e3           ldi     r31, 0x38       ; 56
   12186:       cf 2e           mov     r12, r31
   12188:       f1 e1           ldi     r31, 0x11       ; 17
   1218a:       df 2e           mov     r13, r31
   1218c:       f0 2d           mov     r31, r0
   1218e:       0f 2e           mov     r0, r31
   12190:       f0 e1           ldi     r31, 0x10       ; 16
   12192:       ef 2e           mov     r14, r31
   12194:       f7 e8           ldi     r31, 0x87       ; 135
   12196:       ff 2e           mov     r15, r31
   12198:       f0 2d           mov     r31, r0
   1219a:       b0 92 a4 04     sts     0x04A4, r11
   1219e:       88 81           ld      r24, Y
   121a0:       1f 92           push    r1
   121a2:       8f 93           push    r24
   121a4:       fe 01           movw    r30, r28
   121a6:       31 97           sbiw    r30, 0x01       ; 1
   121a8:       80 81           ld      r24, Z
   121aa:       1f 92           push    r1
   121ac:       8f 93           push    r24
   121ae:       3e 97           sbiw    r30, 0x0e       ; 14
   121b0:       80 81           ld      r24, Z
   121b2:       1f 92           push    r1
   121b4:       8f 93           push    r24
   121b6:       31 97           sbiw    r30, 0x01       ; 1
   121b8:       80 81           ld      r24, Z
   121ba:       1f 92           push    r1
   121bc:       8f 93           push    r24
   121be:       3e 97           sbiw    r30, 0x0e       ; 14
   121c0:       80 81           ld      r24, Z
   121c2:       1f 92           push    r1
   121c4:       8f 93           push    r24
   121c6:       31 97           sbiw    r30, 0x01       ; 1
   121c8:       80 81           ld      r24, Z
   121ca:       1f 92           push    r1
   121cc:       8f 93           push    r24
   121ce:       3e 97           sbiw    r30, 0x0e       ; 14
   121d0:       80 81           ld      r24, Z
   121d2:       1f 92           push    r1
   121d4:       8f 93           push    r24
   121d6:       31 97           sbiw    r30, 0x01       ; 1
   121d8:       80 81           ld      r24, Z
   121da:       1f 92           push    r1
   121dc:       8f 93           push    r24
   121de:       df 92           push    r13
   121e0:       cf 92           push    r12
   121e2:       ff 92           push    r15
   121e4:       ef 92           push    r14
   121e6:       e0 91 78 06     lds     r30, 0x0678
   121ea:       f0 91 79 06     lds     r31, 0x0679
   121ee:       09 95           icall
                         if(4 + i * 4 >= RequiredMotors) break;
   121f0:       80 91 3d 05     lds     r24, 0x053D
   121f4:       90 e0           ldi     r25, 0x00       ; 0
   121f6:       2d b7           in      r18, 0x3d       ; 61
   121f8:       3e b7           in      r19, 0x3e       ; 62
   121fa:       2c 5e           subi    r18, 0xEC       ; 236
   121fc:       3f 4f           sbci    r19, 0xFF       ; 255
   121fe:       0f b6           in      r0, 0x3f        ; 63
   12200:       f8 94           cli
   12202:       3e bf           out     0x3e, r19       ; 62
   12204:       0f be           out     0x3f, r0        ; 63
   12206:       2d bf           out     0x3d, r18       ; 61
   12208:       08 17           cp      r16, r24
   1220a:       19 07           cpc     r17, r25
   1220c:       94 f4           brge    .+36            ; 0x12232 <Menu+0x13e4>
   1220e:       34 e1           ldi     r19, 0x14       ; 20
   12210:       b3 0e           add     r11, r19
   12212:       ec 96           adiw    r28, 0x3c       ; 60
   12214:       0c 5f           subi    r16, 0xFC       ; 252
   12216:       1f 4f           sbci    r17, 0xFF       ; 255
                   if(Motor[10].State>>7) LCD_printfxy(8,3,"11");
                   if(Motor[11].State>>7) LCD_printfxy(12,3,"12");
           break;
    case 19:
           LCD_printfxy(0,0,"BL Versions" );
                   for(i=0;i<3;i++) 
   12218:       80 e5           ldi     r24, 0x50       ; 80
   1221a:       b8 12           cpse    r11, r24
   1221c:       be cf           rjmp    .-132           ; 0x1219a <Menu+0x134c>
   1221e:       09 c0           rjmp    .+18            ; 0x12232 <Menu+0x13e4>
                        }                       
           break;
*/
#endif
    default:
           if(MenuePunkt == MaxMenue) MaxMenue--;
   12220:       80 91 90 02     lds     r24, 0x0290
   12224:       28 13           cpse    r18, r24
   12226:       03 c0           rjmp    .+6             ; 0x1222e <Menu+0x13e0>
   12228:       21 50           subi    r18, 0x01       ; 1
   1222a:       20 93 90 02     sts     0x0290, r18
           MenuePunkt = 0;
   1222e:       10 92 a3 04     sts     0x04A3, r1
           break;
    }
    RemoteKeys = 0;
   12232:       10 92 a2 04     sts     0x04A2, r1
}
   12236:       df 91           pop     r29
   12238:       cf 91           pop     r28
   1223a:       1f 91           pop     r17
   1223c:       0f 91           pop     r16
   1223e:       ff 90           pop     r15
   12240:       ef 90           pop     r14
   12242:       df 90           pop     r13
   12244:       cf 90           pop     r12
   12246:       bf 90           pop     r11
   12248:       af 90           pop     r10
   1224a:       9f 90           pop     r9
   1224c:       8f 90           pop     r8
   1224e:       7f 90           pop     r7
   12250:       6f 90           pop     r6
   12252:       5f 90           pop     r5
   12254:       3f 90           pop     r3
   12256:       2f 90           pop     r2
   12258:       08 95           ret

0001225a <c_cos_8192>:

// Sinus with argument in degree at an angular resolution of 1 degree and a discretisation of 13 bit.
const uint16_t pgm_sinlookup[91] PROGMEM = {0, 143, 286, 429, 571, 714, 856, 998, 1140, 1282, 1423, 1563, 1703, 1843, 1982, 2120, 2258, 2395, 2531, 2667, 2802, 2936, 3069, 3201, 3332, 3462, 3591, 3719, 3846, 3972, 4096, 4219, 4341, 4462, 4581, 4699, 4815, 4930, 5043, 5155, 5266, 5374, 5482, 5587, 5691, 5793, 5893, 5991, 6088, 6183, 6275, 6366, 6455, 6542, 6627, 6710, 6791, 6870, 6947, 7022, 7094, 7165, 7233, 7299, 7363, 7424, 7484, 7541, 7595, 7648, 7698, 7746, 7791, 7834, 7875, 7913, 7949, 7982, 8013, 8041, 8068, 8091, 8112, 8131, 8147, 8161, 8172, 8181, 8187, 8191, 8192};

int16_t c_cos_8192(int16_t angle)
{
   1225a:       1f 93           push    r17
        int8_t m,n;
        int16_t sinus;
        angle = 90 - angle; // we need the cosinus and not the sinus
   1225c:       2a e5           ldi     r18, 0x5A       ; 90
   1225e:       30 e0           ldi     r19, 0x00       ; 0
   12260:       a9 01           movw    r20, r18
   12262:       48 1b           sub     r20, r24
   12264:       59 0b           sbc     r21, r25
   12266:       ca 01           movw    r24, r20
        // avoid negative angles
        if (angle < 0)
   12268:       99 23           and     r25, r25
   1226a:       3c f4           brge    .+14            ; 0x1227a <c_cos_8192+0x20>
        {
                m = -1;
                angle = abs(angle);
   1226c:       99 23           and     r25, r25
   1226e:       1c f4           brge    .+6             ; 0x12276 <c_cos_8192+0x1c>
   12270:       91 95           neg     r25
   12272:       81 95           neg     r24
   12274:       91 09           sbc     r25, r1
        int16_t sinus;
        angle = 90 - angle; // we need the cosinus and not the sinus
        // avoid negative angles
        if (angle < 0)
        {
                m = -1;
   12276:       1f ef           ldi     r17, 0xFF       ; 255
   12278:       01 c0           rjmp    .+2             ; 0x1227c <c_cos_8192+0x22>
                angle = abs(angle);
        }
        else m = +1;
   1227a:       11 e0           ldi     r17, 0x01       ; 1

        // fold angle to intervall 0 to 359
        angle %= 360;
   1227c:       68 e6           ldi     r22, 0x68       ; 104
   1227e:       71 e0           ldi     r23, 0x01       ; 1
   12280:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
   12284:       fc 01           movw    r30, r24

        // check quadrant
        if (angle <= 90) n=1; // first quadrant
   12286:       8b 35           cpi     r24, 0x5B       ; 91
   12288:       91 05           cpc     r25, r1
   1228a:       ec f0           brlt    .+58            ; 0x122c6 <c_cos_8192+0x6c>
        else if ((angle > 90) && (angle <= 180)) {angle = 180 - angle; n = 1;} // second quadrant
   1228c:       9c 01           movw    r18, r24
   1228e:       2b 55           subi    r18, 0x5B       ; 91
   12290:       31 09           sbc     r19, r1
   12292:       2a 35           cpi     r18, 0x5A       ; 90
   12294:       31 05           cpc     r19, r1
   12296:       30 f4           brcc    .+12            ; 0x122a4 <c_cos_8192+0x4a>
   12298:       e4 eb           ldi     r30, 0xB4       ; 180
   1229a:       f0 e0           ldi     r31, 0x00       ; 0
   1229c:       e8 1b           sub     r30, r24
   1229e:       f9 0b           sbc     r31, r25
   122a0:       61 e0           ldi     r22, 0x01       ; 1
   122a2:       12 c0           rjmp    .+36            ; 0x122c8 <c_cos_8192+0x6e>
        else if ((angle > 180) && (angle <= 270)) {angle = angle - 180; n = -1;} // third quadrant
   122a4:       9c 01           movw    r18, r24
   122a6:       25 5b           subi    r18, 0xB5       ; 181
   122a8:       31 09           sbc     r19, r1
   122aa:       2a 35           cpi     r18, 0x5A       ; 90
   122ac:       31 05           cpc     r19, r1
   122ae:       28 f4           brcc    .+10            ; 0x122ba <c_cos_8192+0x60>
   122b0:       fc 01           movw    r30, r24
   122b2:       e4 5b           subi    r30, 0xB4       ; 180
   122b4:       f1 09           sbc     r31, r1
   122b6:       6f ef           ldi     r22, 0xFF       ; 255
   122b8:       07 c0           rjmp    .+14            ; 0x122c8 <c_cos_8192+0x6e>
        else {angle = 360 - angle; n = -1;}     //fourth quadrant
   122ba:       e8 e6           ldi     r30, 0x68       ; 104
   122bc:       f1 e0           ldi     r31, 0x01       ; 1
   122be:       e8 1b           sub     r30, r24
   122c0:       f9 0b           sbc     r31, r25
   122c2:       6f ef           ldi     r22, 0xFF       ; 255
   122c4:       01 c0           rjmp    .+2             ; 0x122c8 <c_cos_8192+0x6e>

        // fold angle to intervall 0 to 359
        angle %= 360;

        // check quadrant
        if (angle <= 90) n=1; // first quadrant
   122c6:       61 e0           ldi     r22, 0x01       ; 1
        else if ((angle > 90) && (angle <= 180)) {angle = 180 - angle; n = 1;} // second quadrant
        else if ((angle > 180) && (angle <= 270)) {angle = angle - 180; n = -1;} // third quadrant
        else {angle = 360 - angle; n = -1;}     //fourth quadrant
        // get lookup value
        sinus = pgm_read_word(&pgm_sinlookup[angle]);
   122c8:       ee 0f           add     r30, r30
   122ca:       ff 1f           adc     r31, r31
   122cc:       e5 5a           subi    r30, 0xA5       ; 165
   122ce:       fa 4e           sbci    r31, 0xEA       ; 234
   122d0:       25 91           lpm     r18, Z+
   122d2:       34 91           lpm     r19, Z
        // calculate sinus value
        return (sinus * m * n);
   122d4:       12 03           mulsu   r17, r18
   122d6:       a0 01           movw    r20, r0
   122d8:       13 9f           mul     r17, r19
   122da:       50 0d           add     r21, r0
   122dc:       11 24           eor     r1, r1
}
   122de:       64 03           mulsu   r22, r20
   122e0:       c0 01           movw    r24, r0
   122e2:       65 9f           mul     r22, r21
   122e4:       90 0d           add     r25, r0
   122e6:       11 24           eor     r1, r1
   122e8:       1f 91           pop     r17
   122ea:       08 95           ret

000122ec <rc_sum_init>:

//############################################################################
// Clear the values
void rc_sum_init(void)
//############################################################################
{
   122ec:       80 e0           ldi     r24, 0x00       ; 0
   122ee:       90 e0           ldi     r25, 0x00       ; 0
 unsigned char i;
 for(i=0;i<MAX_RC_IN;i++)
  {
   if(i < 5) PPM_in[i] = 0; else PPM_in[i] = -127;
   122f0:       21 e8           ldi     r18, 0x81       ; 129
   122f2:       3f ef           ldi     r19, 0xFF       ; 255
   122f4:       85 30           cpi     r24, 0x05       ; 5
   122f6:       40 f4           brcc    .+16            ; 0x12308 <rc_sum_init+0x1c>
   122f8:       fc 01           movw    r30, r24
   122fa:       ee 0f           add     r30, r30
   122fc:       ff 1f           adc     r31, r31
   122fe:       ef 5c           subi    r30, 0xCF       ; 207
   12300:       f7 4f           sbci    r31, 0xF7       ; 247
   12302:       11 82           std     Z+1, r1 ; 0x01
   12304:       10 82           st      Z, r1
   12306:       07 c0           rjmp    .+14            ; 0x12316 <rc_sum_init+0x2a>
   12308:       fc 01           movw    r30, r24
   1230a:       ee 0f           add     r30, r30
   1230c:       ff 1f           adc     r31, r31
   1230e:       ef 5c           subi    r30, 0xCF       ; 207
   12310:       f7 4f           sbci    r31, 0xF7       ; 247
   12312:       31 83           std     Z+1, r19        ; 0x01
   12314:       20 83           st      Z, r18
   PPM_diff[i] = 0;
   12316:       fc 01           movw    r30, r24
   12318:       ee 0f           add     r30, r30
   1231a:       ff 1f           adc     r31, r31
   1231c:       e9 58           subi    r30, 0x89       ; 137
   1231e:       f7 4f           sbci    r31, 0xF7       ; 247
   12320:       11 82           std     Z+1, r1 ; 0x01
   12322:       10 82           st      Z, r1
   12324:       01 96           adiw    r24, 0x01       ; 1
// Clear the values
void rc_sum_init(void)
//############################################################################
{
 unsigned char i;
 for(i=0;i<MAX_RC_IN;i++)
   12326:       83 32           cpi     r24, 0x23       ; 35
   12328:       91 05           cpc     r25, r1
   1232a:       21 f7           brne    .-56            ; 0x122f4 <rc_sum_init+0x8>
  {
   if(i < 5) PPM_in[i] = 0; else PPM_in[i] = -127;
   PPM_diff[i] = 0;
  }
        PPM_in[PPM_IN_MAX] = +127;
   1232c:       8f e7           ldi     r24, 0x7F       ; 127
   1232e:       90 e0           ldi     r25, 0x00       ; 0
   12330:       90 93 70 08     sts     0x0870, r25
   12334:       80 93 6f 08     sts     0x086F, r24
        PPM_in[PPM_IN_OFF] = -127;
   12338:       81 e8           ldi     r24, 0x81       ; 129
   1233a:       9f ef           ldi     r25, 0xFF       ; 255
   1233c:       90 93 6e 08     sts     0x086E, r25
   12340:       80 93 6d 08     sts     0x086D, r24
        PPM_in[PPM_IN_MID] = 0;
   12344:       10 92 72 08     sts     0x0872, r1
   12348:       10 92 71 08     sts     0x0871, r1
    AdNeutralGier = 0;
   1234c:       10 92 54 04     sts     0x0454, r1
   12350:       10 92 53 04     sts     0x0453, r1
    AdNeutralRoll = 0;
   12354:       10 92 56 04     sts     0x0456, r1
   12358:       10 92 55 04     sts     0x0455, r1
    AdNeutralNick = 0;
   1235c:       10 92 58 04     sts     0x0458, r1
   12360:       10 92 57 04     sts     0x0457, r1
   12364:       08 95           ret

00012366 <__vector_12>:
#ifndef ACT_S3D_SUMMENSIGNAL
//############################################################################
// Interrupt function for the PPM-Input
ISR(TIMER1_CAPT_vect)
//############################################################################
{
   12366:       1f 92           push    r1
   12368:       0f 92           push    r0
   1236a:       0f b6           in      r0, 0x3f        ; 63
   1236c:       0f 92           push    r0
   1236e:       11 24           eor     r1, r1
   12370:       0b b6           in      r0, 0x3b        ; 59
   12372:       0f 92           push    r0
   12374:       2f 93           push    r18
   12376:       3f 93           push    r19
   12378:       4f 93           push    r20
   1237a:       5f 93           push    r21
   1237c:       6f 93           push    r22
   1237e:       7f 93           push    r23
   12380:       8f 93           push    r24
   12382:       9f 93           push    r25
   12384:       af 93           push    r26
   12386:       bf 93           push    r27
   12388:       cf 93           push    r28
   1238a:       df 93           push    r29
   1238c:       ef 93           push    r30
   1238e:       ff 93           push    r31
        static unsigned int AltICR=0;
    signed int signal = 0,tmp;
        static int index;

        signal = (unsigned int) ICR1 - AltICR;
   12390:       e6 e8           ldi     r30, 0x86       ; 134
   12392:       f0 e0           ldi     r31, 0x00       ; 0
   12394:       80 81           ld      r24, Z
   12396:       91 81           ldd     r25, Z+1        ; 0x01
   12398:       20 91 a7 04     lds     r18, 0x04A7
   1239c:       30 91 a8 04     lds     r19, 0x04A8
   123a0:       82 1b           sub     r24, r18
   123a2:       93 0b           sbc     r25, r19
        AltICR = ICR1;
   123a4:       20 81           ld      r18, Z
   123a6:       31 81           ldd     r19, Z+1        ; 0x01
   123a8:       30 93 a8 04     sts     0x04A8, r19
   123ac:       20 93 a7 04     sts     0x04A7, r18
    //Syncronisationspause? (3.52 ms < signal < 25.6 ms)
        if((signal > 1100) && (signal < 8000))
   123b0:       9c 01           movw    r18, r24
   123b2:       2d 54           subi    r18, 0x4D       ; 77
   123b4:       34 40           sbci    r19, 0x04       ; 4
   123b6:       23 3f           cpi     r18, 0xF3       ; 243
   123b8:       3a 41           sbci    r19, 0x1A       ; 26
   123ba:       88 f4           brcc    .+34            ; 0x123de <__vector_12+0x78>
        {
        Channels = index;
   123bc:       80 91 a5 04     lds     r24, 0x04A5
   123c0:       90 91 a6 04     lds     r25, 0x04A6
   123c4:       80 93 30 08     sts     0x0830, r24
        if(index >= 4)  NewPpmData = 0;  // Null bedeutet: Neue Daten
   123c8:       04 97           sbiw    r24, 0x04       ; 4
   123ca:       14 f0           brlt    .+4             ; 0x123d0 <__vector_12+0x6a>
   123cc:       10 92 93 02     sts     0x0293, r1
        index = 1;
   123d0:       81 e0           ldi     r24, 0x01       ; 1
   123d2:       90 e0           ldi     r25, 0x00       ; 0
   123d4:       90 93 a6 04     sts     0x04A6, r25
   123d8:       80 93 a5 04     sts     0x04A5, r24
   123dc:       c1 c0           rjmp    .+386           ; 0x12560 <__vector_12+0x1fa>
        }
        else
        {
        if(index < 13+4)
   123de:       20 91 a5 04     lds     r18, 0x04A5
   123e2:       30 91 a6 04     lds     r19, 0x04A6
   123e6:       21 31           cpi     r18, 0x11       ; 17
   123e8:       31 05           cpc     r19, r1
   123ea:       0c f0           brlt    .+2             ; 0x123ee <__vector_12+0x88>
   123ec:       b9 c0           rjmp    .+370           ; 0x12560 <__vector_12+0x1fa>
            {
            if((signal > 250) && (signal < 687))
   123ee:       ac 01           movw    r20, r24
   123f0:       4b 5f           subi    r20, 0xFB       ; 251
   123f2:       51 09           sbc     r21, r1
   123f4:       44 3b           cpi     r20, 0xB4       ; 180
   123f6:       51 40           sbci    r21, 0x01       ; 1
   123f8:       08 f0           brcs    .+2             ; 0x123fc <__vector_12+0x96>
   123fa:       ac c0           rjmp    .+344           ; 0x12554 <__vector_12+0x1ee>
                {
                signal -= PPM_Neutral;
   123fc:       40 91 91 02     lds     r20, 0x0291
   12400:       50 91 92 02     lds     r21, 0x0292
   12404:       84 1b           sub     r24, r20
   12406:       95 0b           sbc     r25, r21
                // Stabiles Signal
                                  if(EE_Parameter.FailsafeChannel == 0 || PPM_in[EE_Parameter.FailsafeChannel] < 100)  // forces Failsafe if the receiver doesn't have 'signal loss' on Failsafe
   12408:       e0 91 a8 05     lds     r30, 0x05A8
   1240c:       ee 23           and     r30, r30
   1240e:       51 f0           breq    .+20            ; 0x12424 <__vector_12+0xbe>
   12410:       f0 e0           ldi     r31, 0x00       ; 0
   12412:       ee 0f           add     r30, r30
   12414:       ff 1f           adc     r31, r31
   12416:       ef 5c           subi    r30, 0xCF       ; 207
   12418:       f7 4f           sbci    r31, 0xF7       ; 247
   1241a:       40 81           ld      r20, Z
   1241c:       51 81           ldd     r21, Z+1        ; 0x01
   1241e:       44 36           cpi     r20, 0x64       ; 100
   12420:       51 05           cpc     r21, r1
   12422:       04 f5           brge    .+64            ; 0x12464 <__vector_12+0xfe>
                                  {
                    if(abs(signal - PPM_in[index]) < 6) { if(SenderOkay < 200) SenderOkay += 10; else SenderOkay = 200;}
   12424:       f9 01           movw    r30, r18
   12426:       ee 0f           add     r30, r30
   12428:       ff 1f           adc     r31, r31
   1242a:       ef 5c           subi    r30, 0xCF       ; 207
   1242c:       f7 4f           sbci    r31, 0xF7       ; 247
   1242e:       40 81           ld      r20, Z
   12430:       51 81           ldd     r21, Z+1        ; 0x01
   12432:       bc 01           movw    r22, r24
   12434:       64 1b           sub     r22, r20
   12436:       75 0b           sbc     r23, r21
   12438:       ab 01           movw    r20, r22
   1243a:       22 f4           brpl    .+8             ; 0x12444 <__vector_12+0xde>
   1243c:       44 27           eor     r20, r20
   1243e:       55 27           eor     r21, r21
   12440:       46 1b           sub     r20, r22
   12442:       57 0b           sbc     r21, r23
   12444:       46 30           cpi     r20, 0x06       ; 6
   12446:       51 05           cpc     r21, r1
   12448:       6c f4           brge    .+26            ; 0x12464 <__vector_12+0xfe>
   1244a:       40 91 04 04     lds     r20, 0x0404
   1244e:       48 3c           cpi     r20, 0xC8       ; 200
   12450:       30 f4           brcc    .+12            ; 0x1245e <__vector_12+0xf8>
   12452:       40 91 04 04     lds     r20, 0x0404
   12456:       46 5f           subi    r20, 0xF6       ; 246
   12458:       40 93 04 04     sts     0x0404, r20
   1245c:       03 c0           rjmp    .+6             ; 0x12464 <__vector_12+0xfe>
   1245e:       48 ec           ldi     r20, 0xC8       ; 200
   12460:       40 93 04 04     sts     0x0404, r20
                                  }     
                tmp = (3 * (PPM_in[index]) + signal) / 4;
   12464:       f9 01           movw    r30, r18
   12466:       ee 0f           add     r30, r30
   12468:       ff 1f           adc     r31, r31
   1246a:       ef 5c           subi    r30, 0xCF       ; 207
   1246c:       f7 4f           sbci    r31, 0xF7       ; 247
   1246e:       40 81           ld      r20, Z
   12470:       51 81           ldd     r21, Z+1        ; 0x01
   12472:       fa 01           movw    r30, r20
   12474:       ee 0f           add     r30, r30
   12476:       ff 1f           adc     r31, r31
   12478:       e4 0f           add     r30, r20
   1247a:       f5 1f           adc     r31, r21
   1247c:       e8 0f           add     r30, r24
   1247e:       f9 1f           adc     r31, r25
   12480:       ff 23           and     r31, r31
   12482:       0c f4           brge    .+2             ; 0x12486 <__vector_12+0x120>
   12484:       33 96           adiw    r30, 0x03       ; 3
   12486:       f5 95           asr     r31
   12488:       e7 95           ror     r30
   1248a:       f5 95           asr     r31
   1248c:       e7 95           ror     r30
                if(tmp > signal+1) tmp--; else
   1248e:       ac 01           movw    r20, r24
   12490:       4f 5f           subi    r20, 0xFF       ; 255
   12492:       5f 4f           sbci    r21, 0xFF       ; 255
   12494:       4e 17           cp      r20, r30
   12496:       5f 07           cpc     r21, r31
   12498:       14 f4           brge    .+4             ; 0x1249e <__vector_12+0x138>
   1249a:       31 97           sbiw    r30, 0x01       ; 1
   1249c:       05 c0           rjmp    .+10            ; 0x124a8 <__vector_12+0x142>
                if(tmp < signal-1) tmp++;
   1249e:       01 97           sbiw    r24, 0x01       ; 1
   124a0:       e8 17           cp      r30, r24
   124a2:       f9 07           cpc     r31, r25
   124a4:       0c f4           brge    .+2             ; 0x124a8 <__vector_12+0x142>
   124a6:       31 96           adiw    r30, 0x01       ; 1
                if(SenderOkay >= 195)  PPM_diff[index] = ((tmp - PPM_in[index]) / 3) * 3;
   124a8:       80 91 04 04     lds     r24, 0x0404
   124ac:       83 3c           cpi     r24, 0xC3       ; 195
   124ae:       d0 f0           brcs    .+52            ; 0x124e4 <__vector_12+0x17e>
   124b0:       e9 01           movw    r28, r18
   124b2:       cc 0f           add     r28, r28
   124b4:       dd 1f           adc     r29, r29
   124b6:       de 01           movw    r26, r28
   124b8:       af 5c           subi    r26, 0xCF       ; 207
   124ba:       b7 4f           sbci    r27, 0xF7       ; 247
   124bc:       8d 91           ld      r24, X+
   124be:       9c 91           ld      r25, X
   124c0:       af 01           movw    r20, r30
   124c2:       48 1b           sub     r20, r24
   124c4:       59 0b           sbc     r21, r25
   124c6:       ca 01           movw    r24, r20
   124c8:       63 e0           ldi     r22, 0x03       ; 3
   124ca:       70 e0           ldi     r23, 0x00       ; 0
   124cc:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
   124d0:       cb 01           movw    r24, r22
   124d2:       88 0f           add     r24, r24
   124d4:       99 1f           adc     r25, r25
   124d6:       68 0f           add     r22, r24
   124d8:       79 1f           adc     r23, r25
   124da:       c9 58           subi    r28, 0x89       ; 137
   124dc:       d7 4f           sbci    r29, 0xF7       ; 247
   124de:       79 83           std     Y+1, r23        ; 0x01
   124e0:       68 83           st      Y, r22
   124e2:       08 c0           rjmp    .+16            ; 0x124f4 <__vector_12+0x18e>
                                else PPM_diff[index] = 0; 
   124e4:       d9 01           movw    r26, r18
   124e6:       aa 0f           add     r26, r26
   124e8:       bb 1f           adc     r27, r27
   124ea:       a9 58           subi    r26, 0x89       ; 137
   124ec:       b7 4f           sbci    r27, 0xF7       ; 247
   124ee:       11 96           adiw    r26, 0x01       ; 1
   124f0:       1c 92           st      X, r1
   124f2:       1e 92           st      -X, r1
                                PPM_in[index] = tmp;
   124f4:       d9 01           movw    r26, r18
   124f6:       aa 0f           add     r26, r26
   124f8:       bb 1f           adc     r27, r27
   124fa:       af 5c           subi    r26, 0xCF       ; 207
   124fc:       b7 4f           sbci    r27, 0xF7       ; 247
   124fe:       11 96           adiw    r26, 0x01       ; 1
   12500:       fc 93           st      X, r31
   12502:       ee 93           st      -X, r30
                                if(SenderOkay < 50) 
   12504:       80 91 04 04     lds     r24, 0x0404
   12508:       82 33           cpi     r24, 0x32       ; 50
   1250a:       20 f5           brcc    .+72            ; 0x12554 <__vector_12+0x1ee>
                                        {                                 
                                                PPM_in[EE_Parameter.Kanalbelegung[K_NICK]] = 0;
   1250c:       e0 91 3f 05     lds     r30, 0x053F
   12510:       f0 e0           ldi     r31, 0x00       ; 0
   12512:       ee 0f           add     r30, r30
   12514:       ff 1f           adc     r31, r31
   12516:       ef 5c           subi    r30, 0xCF       ; 207
   12518:       f7 4f           sbci    r31, 0xF7       ; 247
   1251a:       11 82           std     Z+1, r1 ; 0x01
   1251c:       10 82           st      Z, r1
                                                PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]] = 0;
   1251e:       e0 91 40 05     lds     r30, 0x0540
   12522:       f0 e0           ldi     r31, 0x00       ; 0
   12524:       ee 0f           add     r30, r30
   12526:       ff 1f           adc     r31, r31
   12528:       ef 5c           subi    r30, 0xCF       ; 207
   1252a:       f7 4f           sbci    r31, 0xF7       ; 247
   1252c:       11 82           std     Z+1, r1 ; 0x01
   1252e:       10 82           st      Z, r1
                                                PPM_in[EE_Parameter.Kanalbelegung[K_GIER]] = 0;
   12530:       e0 91 42 05     lds     r30, 0x0542
   12534:       f0 e0           ldi     r31, 0x00       ; 0
   12536:       ee 0f           add     r30, r30
   12538:       ff 1f           adc     r31, r31
   1253a:       ef 5c           subi    r30, 0xCF       ; 207
   1253c:       f7 4f           sbci    r31, 0xF7       ; 247
   1253e:       11 82           std     Z+1, r1 ; 0x01
   12540:       10 82           st      Z, r1
                                                PPM_in[EE_Parameter.Kanalbelegung[K_GAS]] = 0;
   12542:       e0 91 41 05     lds     r30, 0x0541
   12546:       f0 e0           ldi     r31, 0x00       ; 0
   12548:       ee 0f           add     r30, r30
   1254a:       ff 1f           adc     r31, r31
   1254c:       ef 5c           subi    r30, 0xCF       ; 207
   1254e:       f7 4f           sbci    r31, 0xF7       ; 247
   12550:       11 82           std     Z+1, r1 ; 0x01
   12552:       10 82           st      Z, r1
                                        }
                }
            index++;
   12554:       2f 5f           subi    r18, 0xFF       ; 255
   12556:       3f 4f           sbci    r19, 0xFF       ; 255
   12558:       30 93 a6 04     sts     0x04A6, r19
   1255c:       20 93 a5 04     sts     0x04A5, r18
             if(index == 7) J5High; else J5Low;  // Servosignal an J5 anlegen
                        }
*/
        }
        }
}
   12560:       ff 91           pop     r31
   12562:       ef 91           pop     r30
   12564:       df 91           pop     r29
   12566:       cf 91           pop     r28
   12568:       bf 91           pop     r27
   1256a:       af 91           pop     r26
   1256c:       9f 91           pop     r25
   1256e:       8f 91           pop     r24
   12570:       7f 91           pop     r23
   12572:       6f 91           pop     r22
   12574:       5f 91           pop     r21
   12576:       4f 91           pop     r20
   12578:       3f 91           pop     r19
   1257a:       2f 91           pop     r18
   1257c:       0f 90           pop     r0
   1257e:       0b be           out     0x3b, r0        ; 59
   12580:       0f 90           pop     r0
   12582:       0f be           out     0x3f, r0        ; 63
   12584:       0f 90           pop     r0
   12586:       1f 90           pop     r1
   12588:       18 95           reti

0001258a <SbusUartInit>:

//############################################################################
// USART1 initialisation from killagreg
void SbusUartInit(void)
//############################################################################
    {
   1258a:       cf 93           push    r28
   1258c:       df 93           push    r29
        // -- Start of USART1 initialisation for Spekturm seriell-mode
        // USART1 Control and Status Register A, B, C and baud rate register
        uint8_t sreg = SREG;
   1258e:       9f b7           in      r25, 0x3f       ; 63
       
        uint16_t ubrr = (uint16_t) ((uint32_t) SYSCLK/(8 * 100000) - 1);
       
        // disable all interrupts before reconfiguration
        cli();
   12590:       f8 94           cli
        // disable RX-Interrupt
        UCSR1B &= ~(1 << RXCIE1);
   12592:       a9 ec           ldi     r26, 0xC9       ; 201
   12594:       b0 e0           ldi     r27, 0x00       ; 0
   12596:       8c 91           ld      r24, X
   12598:       8f 77           andi    r24, 0x7F       ; 127
   1259a:       8c 93           st      X, r24
        // disable TX-Interrupt
        UCSR1B &= ~(1 << TXCIE1);
   1259c:       8c 91           ld      r24, X
   1259e:       8f 7b           andi    r24, 0xBF       ; 191
   125a0:       8c 93           st      X, r24
        // disable DRE-Interrupt
        UCSR1B &= ~(1 << UDRIE1);
   125a2:       8c 91           ld      r24, X
   125a4:       8f 7d           andi    r24, 0xDF       ; 223
   125a6:       8c 93           st      X, r24
        PORTD |= (1 << PORTD3);
        DDRD  |= (1 << DDD3);
*/       
        // USART0 Baud Rate Register
        // set clock divider
        UBRR1H = (uint8_t)(ubrr>>8);
   125a8:       10 92 cd 00     sts     0x00CD, r1
        UBRR1L = (uint8_t)ubrr;
   125ac:       88 e1           ldi     r24, 0x18       ; 24
   125ae:       80 93 cc 00     sts     0x00CC, r24
        // enable double speed operation
        UCSR1A |= (1 << U2X1);
   125b2:       c8 ec           ldi     r28, 0xC8       ; 200
   125b4:       d0 e0           ldi     r29, 0x00       ; 0
   125b6:       88 81           ld      r24, Y
   125b8:       82 60           ori     r24, 0x02       ; 2
   125ba:       88 83           st      Y, r24
        // enable receiver and transmitter
        //UCSR1B = (1<<RXEN1)|(1<<TXEN1);

        UCSR1B = (1<<RXEN1);
   125bc:       80 e1           ldi     r24, 0x10       ; 16
   125be:       8c 93           st      X, r24
        // set asynchronous mode
        UCSR1C &= ~(1 << UMSEL11);
   125c0:       ea ec           ldi     r30, 0xCA       ; 202
   125c2:       f0 e0           ldi     r31, 0x00       ; 0
   125c4:       80 81           ld      r24, Z
   125c6:       8f 77           andi    r24, 0x7F       ; 127
   125c8:       80 83           st      Z, r24
        UCSR1C &= ~(1 << UMSEL10);
   125ca:       80 81           ld      r24, Z
   125cc:       8f 7b           andi    r24, 0xBF       ; 191
   125ce:       80 83           st      Z, r24
        // parity
        UCSR1C <=  (1 << UPM11);   // even
   125d0:       80 81           ld      r24, Z
        UCSR1C &= ~(1 << UPM10);
   125d2:       80 81           ld      r24, Z
   125d4:       8f 7e           andi    r24, 0xEF       ; 239
   125d6:       80 83           st      Z, r24
        //  stop bit
        UCSR1C |= (1 << USBS1);    // two
   125d8:       80 81           ld      r24, Z
   125da:       88 60           ori     r24, 0x08       ; 8
   125dc:       80 83           st      Z, r24
        // 8-bit
        UCSR1B &= ~(1 << UCSZ12);
   125de:       8c 91           ld      r24, X
   125e0:       8b 7f           andi    r24, 0xFB       ; 251
   125e2:       8c 93           st      X, r24
        UCSR1C |=  (1 << UCSZ11);
   125e4:       80 81           ld      r24, Z
   125e6:       84 60           ori     r24, 0x04       ; 4
   125e8:       80 83           st      Z, r24
        UCSR1C |=  (1 << UCSZ10);
   125ea:       80 81           ld      r24, Z
   125ec:       82 60           ori     r24, 0x02       ; 2
   125ee:       80 83           st      Z, r24
        // flush receive buffer explicit
        while(UCSR1A & (1<<RXC1)) UDR1;
   125f0:       88 81           ld      r24, Y
   125f2:       88 23           and     r24, r24
   125f4:       44 f4           brge    .+16            ; 0x12606 <SbusUartInit+0x7c>
   125f6:       ae ec           ldi     r26, 0xCE       ; 206
   125f8:       b0 e0           ldi     r27, 0x00       ; 0
   125fa:       e8 ec           ldi     r30, 0xC8       ; 200
   125fc:       f0 e0           ldi     r31, 0x00       ; 0
   125fe:       8c 91           ld      r24, X
   12600:       80 81           ld      r24, Z
   12602:       88 23           and     r24, r24
   12604:       e4 f3           brlt    .-8             ; 0x125fe <SbusUartInit+0x74>
        // enable RX-interrupts at the end
        UCSR1B |= (1 << RXCIE1);
   12606:       e9 ec           ldi     r30, 0xC9       ; 201
   12608:       f0 e0           ldi     r31, 0x00       ; 0
   1260a:       80 81           ld      r24, Z
   1260c:       80 68           ori     r24, 0x80       ; 128
   1260e:       80 83           st      Z, r24
        // -- End of USART1 initialisation
        // restore global interrupt flags
        sBusBuffer[23] |= 4; // This Bit contains the 'Signal loss'
   12610:       e4 ed           ldi     r30, 0xD4       ; 212
   12612:       f8 e0           ldi     r31, 0x08       ; 8
   12614:       80 81           ld      r24, Z
   12616:       84 60           ori     r24, 0x04       ; 4
   12618:       80 83           st      Z, r24
        SREG = sreg;
   1261a:       9f bf           out     0x3f, r25       ; 63
  return;
 }
   1261c:       df 91           pop     r29
   1261e:       cf 91           pop     r28
   12620:       08 95           ret

00012622 <SbusParser>:
// Is called by the uart RX interrupt
//############################################################################
void SbusParser(unsigned char udr)
{
 static unsigned char  ptr = 0;
  if(!SpektrumTimer && udr == 0x0f)  // wait for the start
   12622:       90 91 b0 04     lds     r25, 0x04B0
   12626:       91 11           cpse    r25, r1
   12628:       08 c0           rjmp    .+16            ; 0x1263a <SbusParser+0x18>
   1262a:       8f 30           cpi     r24, 0x0F       ; 15
   1262c:       31 f4           brne    .+12            ; 0x1263a <SbusParser+0x18>
   {
        ptr = 0; 
   1262e:       10 92 aa 04     sts     0x04AA, r1
    SpektrumTimer = 80; // 8ms gap
   12632:       80 e5           ldi     r24, 0x50       ; 80
   12634:       80 93 b0 04     sts     0x04B0, r24
   12638:       08 95           ret
        }
        else 
        {
     if(++ptr == 24)                    // last byte
   1263a:       e0 91 aa 04     lds     r30, 0x04AA
   1263e:       ef 5f           subi    r30, 0xFF       ; 255
   12640:       e0 93 aa 04     sts     0x04AA, r30
   12644:       e8 31           cpi     r30, 0x18       ; 24
   12646:       21 f4           brne    .+8             ; 0x12650 <SbusParser+0x2e>
          {
                NewSBusData = 1;
   12648:       81 e0           ldi     r24, 0x01       ; 1
   1264a:       80 93 ab 04     sts     0x04AB, r24
   1264e:       08 95           ret
          }
        else 
        if(ptr > 24) ptr = 25;
   12650:       e9 31           cpi     r30, 0x19       ; 25
   12652:       20 f0           brcs    .+8             ; 0x1265c <SbusParser+0x3a>
   12654:       89 e1           ldi     r24, 0x19       ; 25
   12656:       80 93 aa 04     sts     0x04AA, r24
   1265a:       08 95           ret
        else 
        {
         sBusBuffer[ptr] = udr; // collect all bytes
   1265c:       f0 e0           ldi     r31, 0x00       ; 0
   1265e:       e3 54           subi    r30, 0x43       ; 67
   12660:       f7 4f           sbci    r31, 0xF7       ; 247
   12662:       80 83           st      Z, r24
   12664:       08 95           ret

00012666 <ProcessSBus>:
        }
   }
}

void ProcessSBus(void)
{
   12666:       5f 92           push    r5
   12668:       6f 92           push    r6
   1266a:       7f 92           push    r7
   1266c:       8f 92           push    r8
   1266e:       9f 92           push    r9
   12670:       af 92           push    r10
   12672:       bf 92           push    r11
   12674:       cf 92           push    r12
   12676:       df 92           push    r13
   12678:       ef 92           push    r14
   1267a:       ff 92           push    r15
   1267c:       0f 93           push    r16
   1267e:       1f 93           push    r17
   12680:       cf 93           push    r28
   12682:       df 93           push    r29
 static unsigned char load = 0;
 unsigned char bitmask8 = 1, sbyte = 2, i, index = 1, process;
 unsigned int bitmask11 = 256;
 signed int signal = 0,tmp;
 
 if(!(sBusBuffer[23] & 4))      // This Bit contains the 'Signal loss'
   12684:       80 91 d4 08     lds     r24, 0x08D4
   12688:       82 fd           sbrc    r24, 2
   1268a:       a4 c0           rjmp    .+328           ; 0x127d4 <ProcessSBus+0x16e>
           {
            TIMSK1 &= ~_BV(ICIE1); // disable PPM-Input
   1268c:       ef e6           ldi     r30, 0x6F       ; 111
   1268e:       f0 e0           ldi     r31, 0x00       ; 0
   12690:       80 81           ld      r24, Z
   12692:       8f 7d           andi    r24, 0xDF       ; 223
   12694:       80 83           st      Z, r24
                if(EE_Parameter.FailsafeChannel == 0 || PPM_in[EE_Parameter.FailsafeChannel] < 100)  // forces Failsafe if the receiver doesn't have 'signal loss' on Failsafe
   12696:       e0 91 a8 05     lds     r30, 0x05A8
   1269a:       ee 23           and     r30, r30
   1269c:       51 f0           breq    .+20            ; 0x126b2 <ProcessSBus+0x4c>
   1269e:       f0 e0           ldi     r31, 0x00       ; 0
   126a0:       ee 0f           add     r30, r30
   126a2:       ff 1f           adc     r31, r31
   126a4:       ef 5c           subi    r30, 0xCF       ; 207
   126a6:       f7 4f           sbci    r31, 0xF7       ; 247
   126a8:       80 81           ld      r24, Z
   126aa:       91 81           ldd     r25, Z+1        ; 0x01
   126ac:       84 36           cpi     r24, 0x64       ; 100
   126ae:       91 05           cpc     r25, r1
   126b0:       6c f4           brge    .+26            ; 0x126cc <ProcessSBus+0x66>
                  {
                    if(SenderOkay < 200) SenderOkay += 20; else SenderOkay = 200;
   126b2:       80 91 04 04     lds     r24, 0x0404
   126b6:       88 3c           cpi     r24, 0xC8       ; 200
   126b8:       30 f4           brcc    .+12            ; 0x126c6 <ProcessSBus+0x60>
   126ba:       80 91 04 04     lds     r24, 0x0404
   126be:       8c 5e           subi    r24, 0xEC       ; 236
   126c0:       80 93 04 04     sts     0x0404, r24
   126c4:       03 c0           rjmp    .+6             ; 0x126cc <ProcessSBus+0x66>
   126c6:       88 ec           ldi     r24, 0xC8       ; 200
   126c8:       80 93 04 04     sts     0x0404, r24
                  } 
                signal = sBusBuffer[1];
   126cc:       80 91 be 08     lds     r24, 0x08BE
   126d0:       90 e0           ldi     r25, 0x00       ; 0
        if(!load--) { process = (16*11 - 8); load = 2;} else process = (4*11 - 8);  // lowers the processor load 
   126d2:       20 91 a9 04     lds     r18, 0x04A9
   126d6:       21 11           cpse    r18, r1
   126d8:       80 c0           rjmp    .+256           ; 0x127da <ProcessSBus+0x174>
   126da:       22 e0           ldi     r18, 0x02       ; 2
   126dc:       20 93 a9 04     sts     0x04A9, r18
   126e0:       0f 2e           mov     r0, r31
   126e2:       f8 ea           ldi     r31, 0xA8       ; 168
   126e4:       bf 2e           mov     r11, r31
   126e6:       f0 2d           mov     r31, r0
   126e8:       7f c0           rjmp    .+254           ; 0x127e8 <ProcessSBus+0x182>
                for(i = 0; i < process; i++)  // collect the single bits
                {
                        if(sBusBuffer[sbyte] & bitmask8) signal |= bitmask11;
   126ea:       ec 2d           mov     r30, r12
   126ec:       f0 e0           ldi     r31, 0x00       ; 0
   126ee:       e3 54           subi    r30, 0x43       ; 67
   126f0:       f7 4f           sbci    r31, 0xF7       ; 247
   126f2:       50 81           ld      r21, Z
   126f4:       54 23           and     r21, r20
   126f6:       11 f0           breq    .+4             ; 0x126fc <ProcessSBus+0x96>
   126f8:       82 2b           or      r24, r18
   126fa:       93 2b           or      r25, r19
                        bitmask8 *= 2; 
   126fc:       44 0f           add     r20, r20
                        if(!bitmask8)
   126fe:       11 f4           brne    .+4             ; 0x12704 <ProcessSBus+0x9e>
                        {
                         bitmask8 = 1;
                         sbyte++;
   12700:       c3 94           inc     r12
                {
                        if(sBusBuffer[sbyte] & bitmask8) signal |= bitmask11;
                        bitmask8 *= 2; 
                        if(!bitmask8)
                        {
                         bitmask8 = 1;
   12702:       49 2d           mov     r20, r9
                         sbyte++;
                        }
                        bitmask11 *= 2;
   12704:       22 0f           add     r18, r18
   12706:       33 1f           adc     r19, r19
                    if(bitmask11 == 2048)
   12708:       21 15           cp      r18, r1
   1270a:       58 e0           ldi     r21, 0x08       ; 8
   1270c:       35 07           cpc     r19, r21
   1270e:       09 f0           breq    .+2             ; 0x12712 <ProcessSBus+0xac>
   12710:       5b c0           rjmp    .+182           ; 0x127c8 <ProcessSBus+0x162>
                    {
                         bitmask11 = 1;
                         signal = (signal-1024) / 5; // the resolution is higher than required
   12712:       94 50           subi    r25, 0x04       ; 4
   12714:       b8 01           movw    r22, r16
   12716:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
                tmp = (3 * (PPM_in[index]) + signal) / 4; 
   1271a:       ea 2d           mov     r30, r10
   1271c:       f0 e0           ldi     r31, 0x00       ; 0
   1271e:       df 01           movw    r26, r30
   12720:       aa 0f           add     r26, r26
   12722:       bb 1f           adc     r27, r27
   12724:       af 5c           subi    r26, 0xCF       ; 207
   12726:       b7 4f           sbci    r27, 0xF7       ; 247
   12728:       8d 91           ld      r24, X+
   1272a:       9c 91           ld      r25, X
   1272c:       9c 01           movw    r18, r24
   1272e:       22 0f           add     r18, r18
   12730:       33 1f           adc     r19, r19
   12732:       28 0f           add     r18, r24
   12734:       39 1f           adc     r19, r25
   12736:       26 0f           add     r18, r22
   12738:       37 1f           adc     r19, r23
   1273a:       33 23           and     r19, r19
   1273c:       14 f4           brge    .+4             ; 0x12742 <ProcessSBus+0xdc>
   1273e:       2d 5f           subi    r18, 0xFD       ; 253
   12740:       3f 4f           sbci    r19, 0xFF       ; 255
   12742:       35 95           asr     r19
   12744:       27 95           ror     r18
   12746:       35 95           asr     r19
   12748:       27 95           ror     r18
                if(tmp > signal+1) tmp--; else
   1274a:       cb 01           movw    r24, r22
   1274c:       01 96           adiw    r24, 0x01       ; 1
   1274e:       82 17           cp      r24, r18
   12750:       93 07           cpc     r25, r19
   12752:       1c f4           brge    .+6             ; 0x1275a <ProcessSBus+0xf4>
   12754:       21 50           subi    r18, 0x01       ; 1
   12756:       31 09           sbc     r19, r1
   12758:       07 c0           rjmp    .+14            ; 0x12768 <ProcessSBus+0x102>
                if(tmp < signal-1) tmp++;
   1275a:       61 50           subi    r22, 0x01       ; 1
   1275c:       71 09           sbc     r23, r1
   1275e:       26 17           cp      r18, r22
   12760:       37 07           cpc     r19, r23
   12762:       14 f4           brge    .+4             ; 0x12768 <ProcessSBus+0x102>
   12764:       2f 5f           subi    r18, 0xFF       ; 255
   12766:       3f 4f           sbci    r19, 0xFF       ; 255
                if(SenderOkay >= 195)  PPM_diff[index] = ((tmp - PPM_in[index]) / 3) * 3;
   12768:       80 91 04 04     lds     r24, 0x0404
   1276c:       83 3c           cpi     r24, 0xC3       ; 195
   1276e:       c8 f0           brcs    .+50            ; 0x127a2 <ProcessSBus+0x13c>
   12770:       ef 01           movw    r28, r30
   12772:       cc 0f           add     r28, r28
   12774:       dd 1f           adc     r29, r29
   12776:       de 01           movw    r26, r28
   12778:       af 5c           subi    r26, 0xCF       ; 207
   1277a:       b7 4f           sbci    r27, 0xF7       ; 247
   1277c:       8d 91           ld      r24, X+
   1277e:       9c 91           ld      r25, X
   12780:       b9 01           movw    r22, r18
   12782:       68 1b           sub     r22, r24
   12784:       79 0b           sbc     r23, r25
   12786:       cb 01           movw    r24, r22
   12788:       b7 01           movw    r22, r14
   1278a:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
   1278e:       cb 01           movw    r24, r22
   12790:       88 0f           add     r24, r24
   12792:       99 1f           adc     r25, r25
   12794:       68 0f           add     r22, r24
   12796:       79 1f           adc     r23, r25
   12798:       c9 58           subi    r28, 0x89       ; 137
   1279a:       d7 4f           sbci    r29, 0xF7       ; 247
   1279c:       79 83           std     Y+1, r23        ; 0x01
   1279e:       68 83           st      Y, r22
   127a0:       08 c0           rjmp    .+16            ; 0x127b2 <ProcessSBus+0x14c>
                else PPM_diff[index] = 0;
   127a2:       df 01           movw    r26, r30
   127a4:       aa 0f           add     r26, r26
   127a6:       bb 1f           adc     r27, r27
   127a8:       a9 58           subi    r26, 0x89       ; 137
   127aa:       b7 4f           sbci    r27, 0xF7       ; 247
   127ac:       11 96           adiw    r26, 0x01       ; 1
   127ae:       1c 92           st      X, r1
   127b0:       1e 92           st      -X, r1
                PPM_in[index] = tmp;
   127b2:       ee 0f           add     r30, r30
   127b4:       ff 1f           adc     r31, r31
   127b6:       ef 5c           subi    r30, 0xCF       ; 207
   127b8:       f7 4f           sbci    r31, 0xF7       ; 247
   127ba:       31 83           std     Z+1, r19        ; 0x01
   127bc:       20 83           st      Z, r18
                         signal = 0;
                         index++; // next channel
   127be:       a3 94           inc     r10
                if(tmp > signal+1) tmp--; else
                if(tmp < signal-1) tmp++;
                if(SenderOkay >= 195)  PPM_diff[index] = ((tmp - PPM_in[index]) / 3) * 3;
                else PPM_diff[index] = 0;
                PPM_in[index] = tmp;
                         signal = 0;
   127c0:       88 2d           mov     r24, r8
   127c2:       97 2d           mov     r25, r7
                         sbyte++;
                        }
                        bitmask11 *= 2;
                    if(bitmask11 == 2048)
                    {
                         bitmask11 = 1;
   127c4:       26 2d           mov     r18, r6
   127c6:       35 2d           mov     r19, r5
                  {
                    if(SenderOkay < 200) SenderOkay += 20; else SenderOkay = 200;
                  } 
                signal = sBusBuffer[1];
        if(!load--) { process = (16*11 - 8); load = 2;} else process = (4*11 - 8);  // lowers the processor load 
                for(i = 0; i < process; i++)  // collect the single bits
   127c8:       d3 94           inc     r13
   127ca:       db 14           cp      r13, r11
   127cc:       08 f4           brcc    .+2             ; 0x127d0 <ProcessSBus+0x16a>
   127ce:       8d cf           rjmp    .-230           ; 0x126ea <ProcessSBus+0x84>
                PPM_in[index] = tmp;
                         signal = 0;
                         index++; // next channel
                        }
                }
            NewPpmData = 0;  // Null bedeutet: Neue Daten
   127d0:       10 92 93 02     sts     0x0293, r1
           }
 NewSBusData = 0;
   127d4:       10 92 ab 04     sts     0x04AB, r1
   127d8:       1f c0           rjmp    .+62            ; 0x12818 <ProcessSBus+0x1b2>
                if(EE_Parameter.FailsafeChannel == 0 || PPM_in[EE_Parameter.FailsafeChannel] < 100)  // forces Failsafe if the receiver doesn't have 'signal loss' on Failsafe
                  {
                    if(SenderOkay < 200) SenderOkay += 20; else SenderOkay = 200;
                  } 
                signal = sBusBuffer[1];
        if(!load--) { process = (16*11 - 8); load = 2;} else process = (4*11 - 8);  // lowers the processor load 
   127da:       21 50           subi    r18, 0x01       ; 1
   127dc:       20 93 a9 04     sts     0x04A9, r18
   127e0:       0f 2e           mov     r0, r31
   127e2:       f4 e2           ldi     r31, 0x24       ; 36
   127e4:       bf 2e           mov     r11, r31
   127e6:       f0 2d           mov     r31, r0

void ProcessSBus(void)
{
 static unsigned char load = 0;
 unsigned char bitmask8 = 1, sbyte = 2, i, index = 1, process;
 unsigned int bitmask11 = 256;
   127e8:       20 e0           ldi     r18, 0x00       ; 0
   127ea:       31 e0           ldi     r19, 0x01       ; 1
}

void ProcessSBus(void)
{
 static unsigned char load = 0;
 unsigned char bitmask8 = 1, sbyte = 2, i, index = 1, process;
   127ec:       aa 24           eor     r10, r10
   127ee:       a3 94           inc     r10
                  {
                    if(SenderOkay < 200) SenderOkay += 20; else SenderOkay = 200;
                  } 
                signal = sBusBuffer[1];
        if(!load--) { process = (16*11 - 8); load = 2;} else process = (4*11 - 8);  // lowers the processor load 
                for(i = 0; i < process; i++)  // collect the single bits
   127f0:       d1 2c           mov     r13, r1
}

void ProcessSBus(void)
{
 static unsigned char load = 0;
 unsigned char bitmask8 = 1, sbyte = 2, i, index = 1, process;
   127f2:       68 94           set
   127f4:       cc 24           eor     r12, r12
   127f6:       c1 f8           bld     r12, 1
   127f8:       41 e0           ldi     r20, 0x01       ; 1
                {
                        if(sBusBuffer[sbyte] & bitmask8) signal |= bitmask11;
                        bitmask8 *= 2; 
                        if(!bitmask8)
                        {
                         bitmask8 = 1;
   127fa:       99 24           eor     r9, r9
   127fc:       93 94           inc     r9
                        }
                        bitmask11 *= 2;
                    if(bitmask11 == 2048)
                    {
                         bitmask11 = 1;
                         signal = (signal-1024) / 5; // the resolution is higher than required
   127fe:       05 e0           ldi     r16, 0x05       ; 5
   12800:       10 e0           ldi     r17, 0x00       ; 0
                if(tmp > signal+1) tmp--; else
                if(tmp < signal-1) tmp++;
                if(SenderOkay >= 195)  PPM_diff[index] = ((tmp - PPM_in[index]) / 3) * 3;
                else PPM_diff[index] = 0;
                PPM_in[index] = tmp;
                         signal = 0;
   12802:       81 2c           mov     r8, r1
   12804:       71 2c           mov     r7, r1
                         sbyte++;
                        }
                        bitmask11 *= 2;
                    if(bitmask11 == 2048)
                    {
                         bitmask11 = 1;
   12806:       66 24           eor     r6, r6
   12808:       63 94           inc     r6
   1280a:       51 2c           mov     r5, r1
                         signal = (signal-1024) / 5; // the resolution is higher than required
                tmp = (3 * (PPM_in[index]) + signal) / 4; 
                if(tmp > signal+1) tmp--; else
                if(tmp < signal-1) tmp++;
                if(SenderOkay >= 195)  PPM_diff[index] = ((tmp - PPM_in[index]) / 3) * 3;
   1280c:       0f 2e           mov     r0, r31
   1280e:       f3 e0           ldi     r31, 0x03       ; 3
   12810:       ef 2e           mov     r14, r31
   12812:       f1 2c           mov     r15, r1
   12814:       f0 2d           mov     r31, r0
   12816:       69 cf           rjmp    .-302           ; 0x126ea <ProcessSBus+0x84>
                        }
                }
            NewPpmData = 0;  // Null bedeutet: Neue Daten
           }
 NewSBusData = 0;
}
   12818:       df 91           pop     r29
   1281a:       cf 91           pop     r28
   1281c:       1f 91           pop     r17
   1281e:       0f 91           pop     r16
   12820:       ff 90           pop     r15
   12822:       ef 90           pop     r14
   12824:       df 90           pop     r13
   12826:       cf 90           pop     r12
   12828:       bf 90           pop     r11
   1282a:       af 90           pop     r10
   1282c:       9f 90           pop     r9
   1282e:       8f 90           pop     r8
   12830:       7f 90           pop     r7
   12832:       6f 90           pop     r6
   12834:       5f 90           pop     r5
   12836:       08 95           ret

00012838 <SpektrumUartInit>:

//############################################################################
// USART1 initialisation from killagreg
void SpektrumUartInit(void)
//############################################################################
    {
   12838:       cf 93           push    r28
   1283a:       df 93           push    r29
        // -- Start of USART1 initialisation for Spekturm seriell-mode
        // USART1 Control and Status Register A, B, C and baud rate register
        uint8_t sreg = SREG;
   1283c:       9f b7           in      r25, 0x3f       ; 63
       
        uint16_t ubrr = (uint16_t) ((uint32_t) SYSCLK/(8 * 115200) - 1);
       
        // disable all interrupts before reconfiguration
        cli();
   1283e:       f8 94           cli
        // disable RX-Interrupt
        UCSR1B &= ~(1 << RXCIE1);
   12840:       a9 ec           ldi     r26, 0xC9       ; 201
   12842:       b0 e0           ldi     r27, 0x00       ; 0
   12844:       8c 91           ld      r24, X
   12846:       8f 77           andi    r24, 0x7F       ; 127
   12848:       8c 93           st      X, r24
        // disable TX-Interrupt
        UCSR1B &= ~(1 << TXCIE1);
   1284a:       8c 91           ld      r24, X
   1284c:       8f 7b           andi    r24, 0xBF       ; 191
   1284e:       8c 93           st      X, r24
        // disable DRE-Interrupt
        UCSR1B &= ~(1 << UDRIE1);
   12850:       8c 91           ld      r24, X
   12852:       8f 7d           andi    r24, 0xDF       ; 223
   12854:       8c 93           st      X, r24
        PORTD |= (1 << PORTD3);
        DDRD  |= (1 << DDD3);
*/       
        // USART0 Baud Rate Register
        // set clock divider
        UBRR1H = (uint8_t)(ubrr>>8);
   12856:       10 92 cd 00     sts     0x00CD, r1
        UBRR1L = (uint8_t)ubrr;
   1285a:       84 e1           ldi     r24, 0x14       ; 20
   1285c:       80 93 cc 00     sts     0x00CC, r24
        // enable double speed operation
        UCSR1A |= (1 << U2X1);
   12860:       c8 ec           ldi     r28, 0xC8       ; 200
   12862:       d0 e0           ldi     r29, 0x00       ; 0
   12864:       88 81           ld      r24, Y
   12866:       82 60           ori     r24, 0x02       ; 2
   12868:       88 83           st      Y, r24
        // enable receiver and transmitter
        //UCSR1B = (1<<RXEN1)|(1<<TXEN1);

        UCSR1B = (1<<RXEN1);
   1286a:       80 e1           ldi     r24, 0x10       ; 16
   1286c:       8c 93           st      X, r24
        // set asynchronous mode
        UCSR1C &= ~(1 << UMSEL11);
   1286e:       ea ec           ldi     r30, 0xCA       ; 202
   12870:       f0 e0           ldi     r31, 0x00       ; 0
   12872:       80 81           ld      r24, Z
   12874:       8f 77           andi    r24, 0x7F       ; 127
   12876:       80 83           st      Z, r24
        UCSR1C &= ~(1 << UMSEL10);
   12878:       80 81           ld      r24, Z
   1287a:       8f 7b           andi    r24, 0xBF       ; 191
   1287c:       80 83           st      Z, r24
        // no parity
        UCSR1C &= ~(1 << UPM11);
   1287e:       80 81           ld      r24, Z
   12880:       8f 7d           andi    r24, 0xDF       ; 223
   12882:       80 83           st      Z, r24
        UCSR1C &= ~(1 << UPM10);
   12884:       80 81           ld      r24, Z
   12886:       8f 7e           andi    r24, 0xEF       ; 239
   12888:       80 83           st      Z, r24
        // 1 stop bit
        UCSR1C &= ~(1 << USBS1);
   1288a:       80 81           ld      r24, Z
   1288c:       87 7f           andi    r24, 0xF7       ; 247
   1288e:       80 83           st      Z, r24
        // 8-bit
        UCSR1B &= ~(1 << UCSZ12);
   12890:       8c 91           ld      r24, X
   12892:       8b 7f           andi    r24, 0xFB       ; 251
   12894:       8c 93           st      X, r24
        UCSR1C |=  (1 << UCSZ11);
   12896:       80 81           ld      r24, Z
   12898:       84 60           ori     r24, 0x04       ; 4
   1289a:       80 83           st      Z, r24
        UCSR1C |=  (1 << UCSZ10);
   1289c:       80 81           ld      r24, Z
   1289e:       82 60           ori     r24, 0x02       ; 2
   128a0:       80 83           st      Z, r24
        // flush receive buffer explicit
        while(UCSR1A & (1<<RXC1)) UDR1;
   128a2:       88 81           ld      r24, Y
   128a4:       88 23           and     r24, r24
   128a6:       44 f4           brge    .+16            ; 0x128b8 <SpektrumUartInit+0x80>
   128a8:       ae ec           ldi     r26, 0xCE       ; 206
   128aa:       b0 e0           ldi     r27, 0x00       ; 0
   128ac:       e8 ec           ldi     r30, 0xC8       ; 200
   128ae:       f0 e0           ldi     r31, 0x00       ; 0
   128b0:       8c 91           ld      r24, X
   128b2:       80 81           ld      r24, Z
   128b4:       88 23           and     r24, r24
   128b6:       e4 f3           brlt    .-8             ; 0x128b0 <SpektrumUartInit+0x78>
        // enable RX-interrupts at the end
        UCSR1B |= (1 << RXCIE1);
   128b8:       e9 ec           ldi     r30, 0xC9       ; 201
   128ba:       f0 e0           ldi     r31, 0x00       ; 0
   128bc:       80 81           ld      r24, Z
   128be:       80 68           ori     r24, 0x80       ; 128
   128c0:       80 83           st      Z, r24
        // -- End of USART1 initialisation
        // restore global interrupt flags
   
        SREG = sreg;
   128c2:       9f bf           out     0x3f, r25       ; 63
  return;
 }
   128c4:       df 91           pop     r29
   128c6:       cf 91           pop     r28
   128c8:       08 95           ret

000128ca <SpektrumParser>:

//############################################################################
// Wird im UART-Interrupt aufgerufen
//############################################################################
void SpektrumParser(unsigned char c)
{
   128ca:       cf 93           push    r28
   128cc:       df 93           push    r29
    static unsigned char Sync=0, FrameCnt=0, ByteHigh=0, ReSync=1, Frame2=0;
        unsigned int Channel, index = 0;
        signed int signal = 0, tmp;
        int bCheckDelay;
//      c = UDR1; // get data byte
        if(ReSync == 1)
   128ce:       90 91 94 02     lds     r25, 0x0294
   128d2:       91 30           cpi     r25, 0x01       ; 1
   128d4:       61 f4           brne    .+24            ; 0x128ee <SpektrumParser+0x24>
            {
                // wait for beginning of new frame
                ReSync = 0;
   128d6:       10 92 94 02     sts     0x0294, r1
                SpektrumTimer = MIN_FRAMEGAP;
   128da:       84 e4           ldi     r24, 0x44       ; 68
   128dc:       80 93 b0 04     sts     0x04B0, r24
                FrameCnt = 0;
   128e0:       10 92 af 04     sts     0x04AF, r1
                Sync = 0;
   128e4:       10 92 ae 04     sts     0x04AE, r1
                ByteHigh = 0;
   128e8:       10 92 ad 04     sts     0x04AD, r1
   128ec:       43 c1           rjmp    .+646           ; 0x12b74 <SpektrumParser+0x2aa>
                }
  else
  {
        if(!SpektrumTimer) bCheckDelay = 1; else bCheckDelay = 0;//CheckDelay(FrameTimer);
   128ee:       41 e0           ldi     r20, 0x01       ; 1
   128f0:       90 e0           ldi     r25, 0x00       ; 0
   128f2:       20 91 b0 04     lds     r18, 0x04B0
   128f6:       21 11           cpse    r18, r1
   128f8:       40 e0           ldi     r20, 0x00       ; 0
   128fa:       24 2f           mov     r18, r20
   128fc:       39 2f           mov     r19, r25
        if ( Sync == 0 )
   128fe:       90 91 ae 04     lds     r25, 0x04AE
   12902:       91 11           cpse    r25, r1
   12904:       18 c0           rjmp    .+48            ; 0x12936 <SpektrumParser+0x6c>
            {
                if(bCheckDelay)
   12906:       23 2b           or      r18, r19
   12908:       61 f0           breq    .+24            ; 0x12922 <SpektrumParser+0x58>
                    {
                        // nach einer Pause von mind. 7ms erstes Sync-Character gefunden
                        // Zeichen ignorieren, da Bedeutung unbekannt
                        Sync = 1;
   1290a:       81 e0           ldi     r24, 0x01       ; 1
   1290c:       80 93 ae 04     sts     0x04AE, r24
                        FrameCnt ++;
   12910:       80 91 af 04     lds     r24, 0x04AF
   12914:       8f 5f           subi    r24, 0xFF       ; 255
   12916:       80 93 af 04     sts     0x04AF, r24
                    SpektrumTimer = MAX_BYTEGAP;
   1291a:       83 e0           ldi     r24, 0x03       ; 3
   1291c:       80 93 b0 04     sts     0x04B0, r24
   12920:       12 c1           rjmp    .+548           ; 0x12b46 <SpektrumParser+0x27c>
                        }
                else
                        {
                        // Zeichen kam vor Ablauf der 7ms Sync-Pause
                        // warten auf erstes Sync-Zeichen
                        SpektrumTimer = MIN_FRAMEGAP;
   12922:       84 e4           ldi     r24, 0x44       ; 68
   12924:       80 93 b0 04     sts     0x04B0, r24
                    FrameCnt = 0;
   12928:       10 92 af 04     sts     0x04AF, r1
                    Sync = 0;
   1292c:       10 92 ae 04     sts     0x04AE, r1
                    ByteHigh = 0;
   12930:       10 92 ad 04     sts     0x04AD, r1
   12934:       08 c1           rjmp    .+528           ; 0x12b46 <SpektrumParser+0x27c>
                        }
                }
        else if((Sync == 1) && !bCheckDelay)
   12936:       91 30           cpi     r25, 0x01       ; 1
   12938:       79 f4           brne    .+30            ; 0x12958 <SpektrumParser+0x8e>
   1293a:       23 2b           or      r18, r19
   1293c:       09 f0           breq    .+2             ; 0x12940 <SpektrumParser+0x76>
   1293e:       f9 c0           rjmp    .+498           ; 0x12b32 <SpektrumParser+0x268>
            {
                // zweites Sync-Character ignorieren, Bedeutung unbekannt
                Sync = 2;
   12940:       82 e0           ldi     r24, 0x02       ; 2
   12942:       80 93 ae 04     sts     0x04AE, r24
                FrameCnt ++;
   12946:       80 91 af 04     lds     r24, 0x04AF
   1294a:       8f 5f           subi    r24, 0xFF       ; 255
   1294c:       80 93 af 04     sts     0x04AF, r24
                SpektrumTimer = MAX_BYTEGAP;
   12950:       83 e0           ldi     r24, 0x03       ; 3
   12952:       80 93 b0 04     sts     0x04B0, r24
   12956:       f7 c0           rjmp    .+494           ; 0x12b46 <SpektrumParser+0x27c>
                }
        else if((Sync == 2) && !bCheckDelay)
   12958:       92 30           cpi     r25, 0x02       ; 2
   1295a:       d9 f4           brne    .+54            ; 0x12992 <SpektrumParser+0xc8>
   1295c:       23 2b           or      r18, r19
   1295e:       09 f0           breq    .+2             ; 0x12962 <SpektrumParser+0x98>
   12960:       e8 c0           rjmp    .+464           ; 0x12b32 <SpektrumParser+0x268>
            {
                SpektrumTimer = MAX_BYTEGAP;
   12962:       93 e0           ldi     r25, 0x03       ; 3
   12964:       90 93 b0 04     sts     0x04B0, r25
                // Datenbyte high
                ByteHigh = c;
   12968:       80 93 ad 04     sts     0x04AD, r24
                if (FrameCnt == 2)
   1296c:       90 91 af 04     lds     r25, 0x04AF
   12970:       92 30           cpi     r25, 0x02       ; 2
   12972:       41 f4           brne    .+16            ; 0x12984 <SpektrumParser+0xba>
                    {
                    // is 1st Byte of Channel-data
                        // Frame 1 with Channel 1-7 comming next
                        Frame2 = 0;
                        if(ByteHigh & 0x80)
   12974:       88 23           and     r24, r24
   12976:       1c f0           brlt    .+6             ; 0x1297e <SpektrumParser+0xb4>
                ByteHigh = c;
                if (FrameCnt == 2)
                    {
                    // is 1st Byte of Channel-data
                        // Frame 1 with Channel 1-7 comming next
                        Frame2 = 0;
   12978:       10 92 ac 04     sts     0x04AC, r1
   1297c:       03 c0           rjmp    .+6             ; 0x12984 <SpektrumParser+0xba>
                        if(ByteHigh & 0x80)
                            {
                                // DS9: Frame 2 with Channel 8-9 comming next
                                Frame2 = 1;
   1297e:       81 e0           ldi     r24, 0x01       ; 1
   12980:       80 93 ac 04     sts     0x04AC, r24
                                }
                        }
                Sync = 3;
   12984:       83 e0           ldi     r24, 0x03       ; 3
   12986:       80 93 ae 04     sts     0x04AE, r24
                FrameCnt ++;
   1298a:       9f 5f           subi    r25, 0xFF       ; 255
   1298c:       90 93 af 04     sts     0x04AF, r25
   12990:       da c0           rjmp    .+436           ; 0x12b46 <SpektrumParser+0x27c>
                }
        else if((Sync == 3) && !bCheckDelay)
   12992:       93 30           cpi     r25, 0x03       ; 3
   12994:       09 f0           breq    .+2             ; 0x12998 <SpektrumParser+0xce>
   12996:       cd c0           rjmp    .+410           ; 0x12b32 <SpektrumParser+0x268>
   12998:       23 2b           or      r18, r19
   1299a:       09 f0           breq    .+2             ; 0x1299e <SpektrumParser+0xd4>
   1299c:       ca c0           rjmp    .+404           ; 0x12b32 <SpektrumParser+0x268>
            {
                // Datenbyte low
                // High-Byte for next channel comes next
                SpektrumTimer = MAX_BYTEGAP;
   1299e:       90 93 b0 04     sts     0x04B0, r25
                Sync = 2;
   129a2:       92 e0           ldi     r25, 0x02       ; 2
   129a4:       90 93 ae 04     sts     0x04AE, r25
                FrameCnt ++;
   129a8:       90 91 af 04     lds     r25, 0x04AF
   129ac:       9f 5f           subi    r25, 0xFF       ; 255
   129ae:       90 93 af 04     sts     0x04AF, r25
                Channel = ((unsigned int)ByteHigh << 8) | c;
   129b2:       20 91 ad 04     lds     r18, 0x04AD
   129b6:       90 e0           ldi     r25, 0x00       ; 0
   129b8:       92 2b           or      r25, r18
                if(EE_Parameter.Receiver == RECEIVER_SPEKTRUM)
   129ba:       30 91 65 05     lds     r19, 0x0565
   129be:       31 30           cpi     r19, 0x01       ; 1
   129c0:       59 f4           brne    .+22            ; 0x129d8 <SpektrumParser+0x10e>
                {
                        signal = Channel & 0x3ff;
   129c2:       93 70           andi    r25, 0x03       ; 3
                        signal -= 0x200;                // Offset, range 0x000..0x3ff?
   129c4:       92 50           subi    r25, 0x02       ; 2
                        signal = signal/3;              // scaling to fit PPM resolution
   129c6:       63 e0           ldi     r22, 0x03       ; 3
   129c8:       70 e0           ldi     r23, 0x00       ; 0
   129ca:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
                        index = (ByteHigh >> 2) & 0x0f;
   129ce:       26 95           lsr     r18
   129d0:       26 95           lsr     r18
   129d2:       2f 70           andi    r18, 0x0F       ; 15
   129d4:       30 e0           ldi     r19, 0x00       ; 0
   129d6:       1c c0           rjmp    .+56            ; 0x12a10 <SpektrumParser+0x146>
                }
                else  
                if(EE_Parameter.Receiver == RECEIVER_SPEKTRUM_HI_RES)
   129d8:       32 30           cpi     r19, 0x02       ; 2
   129da:       61 f4           brne    .+24            ; 0x129f4 <SpektrumParser+0x12a>
                {
                        signal = Channel & 0x7ff;
   129dc:       97 70           andi    r25, 0x07       ; 7
                        signal -= 0x400;                // Offset, range 0x000..0x7ff?
   129de:       94 50           subi    r25, 0x04       ; 4
                        signal = signal/6;              // scaling to fit PPM resolution
   129e0:       66 e0           ldi     r22, 0x06       ; 6
   129e2:       70 e0           ldi     r23, 0x00       ; 0
   129e4:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
                        index = (ByteHigh >> 3) & 0x0f;
   129e8:       26 95           lsr     r18
   129ea:       26 95           lsr     r18
   129ec:       26 95           lsr     r18
   129ee:       2f 70           andi    r18, 0x0F       ; 15
   129f0:       30 e0           ldi     r19, 0x00       ; 0
   129f2:       0e c0           rjmp    .+28            ; 0x12a10 <SpektrumParser+0x146>
                }      
                else  
                //if(EE_Parameter.Receiver == RECEIVER_SPEKTRUM_LOW_RES)
                {
                        signal = Channel & 0x3ff;
   129f4:       93 70           andi    r25, 0x03       ; 3
                        signal -= 360;          // Offset, range 0x000..0x3ff?
   129f6:       88 56           subi    r24, 0x68       ; 104
   129f8:       91 40           sbci    r25, 0x01       ; 1
                        signal = signal/2;              // scaling to fit PPM resolution
   129fa:       bc 01           movw    r22, r24
   129fc:       99 23           and     r25, r25
   129fe:       14 f4           brge    .+4             ; 0x12a04 <SpektrumParser+0x13a>
   12a00:       6f 5f           subi    r22, 0xFF       ; 255
   12a02:       7f 4f           sbci    r23, 0xFF       ; 255
   12a04:       75 95           asr     r23
   12a06:       67 95           ror     r22
                        index = (ByteHigh >> 2) & 0x0f;
   12a08:       26 95           lsr     r18
   12a0a:       26 95           lsr     r18
   12a0c:       2f 70           andi    r18, 0x0F       ; 15
   12a0e:       30 e0           ldi     r19, 0x00       ; 0
                }

                index++;
   12a10:       2f 5f           subi    r18, 0xFF       ; 255
   12a12:       3f 4f           sbci    r19, 0xFF       ; 255
                if(index < 13)
   12a14:       2d 30           cpi     r18, 0x0D       ; 13
   12a16:       31 05           cpc     r19, r1
   12a18:       08 f0           brcs    .+2             ; 0x12a1c <SpektrumParser+0x152>
   12a1a:       84 c0           rjmp    .+264           ; 0x12b24 <SpektrumParser+0x25a>
                // Stabiles Signal
#if defined (RECEIVER_SPEKTRUM_DX7EXP) || defined (RECEIVER_SPEKTRUM_DX8EXP)
                                        if (index == 2) index = 4;                                                              // Analog channel reassigment (2 <-> 4) for logical numbering (1,2,3,4)
                                        else if (index == 4) index = 2;
#endif
                                if(abs(signal - PPM_in[index]) < 6)
   12a1c:       f9 01           movw    r30, r18
   12a1e:       ee 0f           add     r30, r30
   12a20:       ff 1f           adc     r31, r31
   12a22:       ef 5c           subi    r30, 0xCF       ; 207
   12a24:       f7 4f           sbci    r31, 0xF7       ; 247
   12a26:       80 81           ld      r24, Z
   12a28:       91 81           ldd     r25, Z+1        ; 0x01
   12a2a:       ab 01           movw    r20, r22
   12a2c:       48 1b           sub     r20, r24
   12a2e:       59 0b           sbc     r21, r25
   12a30:       ca 01           movw    r24, r20
   12a32:       99 23           and     r25, r25
   12a34:       24 f4           brge    .+8             ; 0x12a3e <SpektrumParser+0x174>
   12a36:       88 27           eor     r24, r24
   12a38:       99 27           eor     r25, r25
   12a3a:       84 1b           sub     r24, r20
   12a3c:       95 0b           sbc     r25, r21
   12a3e:       06 97           sbiw    r24, 0x06       ; 6
   12a40:       04 f5           brge    .+64            ; 0x12a82 <SpektrumParser+0x1b8>
                                   {
                                                                         if(EE_Parameter.FailsafeChannel == 0 || PPM_in[EE_Parameter.FailsafeChannel] < 100)  // forces Failsafe if the receiver doesn't have 'signal loss' on Failsafe
   12a42:       e0 91 a8 05     lds     r30, 0x05A8
   12a46:       ee 23           and     r30, r30
   12a48:       51 f0           breq    .+20            ; 0x12a5e <SpektrumParser+0x194>
   12a4a:       f0 e0           ldi     r31, 0x00       ; 0
   12a4c:       ee 0f           add     r30, r30
   12a4e:       ff 1f           adc     r31, r31
   12a50:       ef 5c           subi    r30, 0xCF       ; 207
   12a52:       f7 4f           sbci    r31, 0xF7       ; 247
   12a54:       80 81           ld      r24, Z
   12a56:       91 81           ldd     r25, Z+1        ; 0x01
   12a58:       84 36           cpi     r24, 0x64       ; 100
   12a5a:       91 05           cpc     r25, r1
   12a5c:       94 f4           brge    .+36            ; 0x12a82 <SpektrumParser+0x1b8>
                                                                         {
                                        if(SenderOkay < 200) SenderOkay += 10;
   12a5e:       80 91 04 04     lds     r24, 0x0404
   12a62:       88 3c           cpi     r24, 0xC8       ; 200
   12a64:       30 f4           brcc    .+12            ; 0x12a72 <SpektrumParser+0x1a8>
   12a66:       80 91 04 04     lds     r24, 0x0404
   12a6a:       86 5f           subi    r24, 0xF6       ; 246
   12a6c:       80 93 04 04     sts     0x0404, r24
   12a70:       08 c0           rjmp    .+16            ; 0x12a82 <SpektrumParser+0x1b8>
                                         else
                                         {
                                                SenderOkay = 200;
   12a72:       88 ec           ldi     r24, 0xC8       ; 200
   12a74:       80 93 04 04     sts     0x0404, r24
                                                TIMSK1 &= ~_BV(ICIE1); // disable PPM-Input
   12a78:       ef e6           ldi     r30, 0x6F       ; 111
   12a7a:       f0 e0           ldi     r31, 0x00       ; 0
   12a7c:       80 81           ld      r24, Z
   12a7e:       8f 7d           andi    r24, 0xDF       ; 223
   12a80:       80 83           st      Z, r24
                                         }
                                                                         }     
                                                                   }
                                tmp = (3 * (PPM_in[index]) + signal) / 4;
   12a82:       f9 01           movw    r30, r18
   12a84:       ee 0f           add     r30, r30
   12a86:       ff 1f           adc     r31, r31
   12a88:       ef 5c           subi    r30, 0xCF       ; 207
   12a8a:       f7 4f           sbci    r31, 0xF7       ; 247
   12a8c:       80 81           ld      r24, Z
   12a8e:       91 81           ldd     r25, Z+1        ; 0x01
   12a90:       fc 01           movw    r30, r24
   12a92:       ee 0f           add     r30, r30
   12a94:       ff 1f           adc     r31, r31
   12a96:       e8 0f           add     r30, r24
   12a98:       f9 1f           adc     r31, r25
   12a9a:       e6 0f           add     r30, r22
   12a9c:       f7 1f           adc     r31, r23
   12a9e:       ff 23           and     r31, r31
   12aa0:       0c f4           brge    .+2             ; 0x12aa4 <SpektrumParser+0x1da>
   12aa2:       33 96           adiw    r30, 0x03       ; 3
   12aa4:       f5 95           asr     r31
   12aa6:       e7 95           ror     r30
   12aa8:       f5 95           asr     r31
   12aaa:       e7 95           ror     r30
                                if(tmp > signal+1) tmp--; else
   12aac:       cb 01           movw    r24, r22
   12aae:       01 96           adiw    r24, 0x01       ; 1
   12ab0:       8e 17           cp      r24, r30
   12ab2:       9f 07           cpc     r25, r31
   12ab4:       14 f4           brge    .+4             ; 0x12aba <SpektrumParser+0x1f0>
   12ab6:       31 97           sbiw    r30, 0x01       ; 1
   12ab8:       06 c0           rjmp    .+12            ; 0x12ac6 <SpektrumParser+0x1fc>
                                if(tmp < signal-1) tmp++;
   12aba:       61 50           subi    r22, 0x01       ; 1
   12abc:       71 09           sbc     r23, r1
   12abe:       e6 17           cp      r30, r22
   12ac0:       f7 07           cpc     r31, r23
   12ac2:       0c f4           brge    .+2             ; 0x12ac6 <SpektrumParser+0x1fc>
   12ac4:       31 96           adiw    r30, 0x01       ; 1
                                else if (index == 7) s_update(7,signal);                                                        // R Trim (CH7)
                                else if (index == 5) s_update(8,signal);                                                        // AUX2 (CH8)
                                else if (index == 8) s_update(11,signal);                                                       // AUX3 (CH11)

#else
                                if(SenderOkay >= 180) PPM_diff[index] = ((tmp - PPM_in[index]) / 3) * 3;
   12ac6:       80 91 04 04     lds     r24, 0x0404
   12aca:       84 3b           cpi     r24, 0xB4       ; 180
   12acc:       d0 f0           brcs    .+52            ; 0x12b02 <SpektrumParser+0x238>
   12ace:       e9 01           movw    r28, r18
   12ad0:       cc 0f           add     r28, r28
   12ad2:       dd 1f           adc     r29, r29
   12ad4:       de 01           movw    r26, r28
   12ad6:       af 5c           subi    r26, 0xCF       ; 207
   12ad8:       b7 4f           sbci    r27, 0xF7       ; 247
   12ada:       8d 91           ld      r24, X+
   12adc:       9c 91           ld      r25, X
   12ade:       af 01           movw    r20, r30
   12ae0:       48 1b           sub     r20, r24
   12ae2:       59 0b           sbc     r21, r25
   12ae4:       ca 01           movw    r24, r20
   12ae6:       63 e0           ldi     r22, 0x03       ; 3
   12ae8:       70 e0           ldi     r23, 0x00       ; 0
   12aea:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
   12aee:       cb 01           movw    r24, r22
   12af0:       88 0f           add     r24, r24
   12af2:       99 1f           adc     r25, r25
   12af4:       68 0f           add     r22, r24
   12af6:       79 1f           adc     r23, r25
   12af8:       c9 58           subi    r28, 0x89       ; 137
   12afa:       d7 4f           sbci    r29, 0xF7       ; 247
   12afc:       79 83           std     Y+1, r23        ; 0x01
   12afe:       68 83           st      Y, r22
   12b00:       08 c0           rjmp    .+16            ; 0x12b12 <SpektrumParser+0x248>
                                else PPM_diff[index] = 0;
   12b02:       d9 01           movw    r26, r18
   12b04:       aa 0f           add     r26, r26
   12b06:       bb 1f           adc     r27, r27
   12b08:       a9 58           subi    r26, 0x89       ; 137
   12b0a:       b7 4f           sbci    r27, 0xF7       ; 247
   12b0c:       11 96           adiw    r26, 0x01       ; 1
   12b0e:       1c 92           st      X, r1
   12b10:       1e 92           st      -X, r1
                                PPM_in[index] = tmp;
   12b12:       d9 01           movw    r26, r18
   12b14:       aa 0f           add     r26, r26
   12b16:       bb 1f           adc     r27, r27
   12b18:       af 5c           subi    r26, 0xCF       ; 207
   12b1a:       b7 4f           sbci    r27, 0xF7       ; 247
   12b1c:       11 96           adiw    r26, 0x01       ; 1
   12b1e:       fc 93           st      X, r31
   12b20:       ee 93           st      -X, r30
   12b22:       11 c0           rjmp    .+34            ; 0x12b46 <SpektrumParser+0x27c>
#endif
                        }
        else if(index > 17) ReSync = 1; // hier stimmt was nicht: neu synchronisieren
   12b24:       22 31           cpi     r18, 0x12       ; 18
   12b26:       31 05           cpc     r19, r1
   12b28:       70 f0           brcs    .+28            ; 0x12b46 <SpektrumParser+0x27c>
   12b2a:       81 e0           ldi     r24, 0x01       ; 1
   12b2c:       80 93 94 02     sts     0x0294, r24
   12b30:       0a c0           rjmp    .+20            ; 0x12b46 <SpektrumParser+0x27c>
                }
        else
                {
                // hier stimmt was nicht: neu synchronisieren
                ReSync = 1;
   12b32:       81 e0           ldi     r24, 0x01       ; 1
   12b34:       80 93 94 02     sts     0x0294, r24
                FrameCnt = 0;
   12b38:       10 92 af 04     sts     0x04AF, r1
                Frame2 = 0;
   12b3c:       10 92 ac 04     sts     0x04AC, r1
                // new frame next, nach fruehestens 7ms erwartet
                SpektrumTimer = MIN_FRAMEGAP;
   12b40:       84 e4           ldi     r24, 0x44       ; 68
   12b42:       80 93 b0 04     sts     0x04B0, r24
                }

        // 16 Bytes eingetroffen -> Komplett
        if(FrameCnt >= 16)
   12b46:       80 91 af 04     lds     r24, 0x04AF
   12b4a:       80 31           cpi     r24, 0x10       ; 16
   12b4c:       98 f0           brcs    .+38            ; 0x12b74 <SpektrumParser+0x2aa>
            {
                // Frame complete
                if(Frame2 == 0)
   12b4e:       80 91 ac 04     lds     r24, 0x04AC
   12b52:       81 11           cpse    r24, r1
   12b54:       06 c0           rjmp    .+12            ; 0x12b62 <SpektrumParser+0x298>
                        {
                        // Null bedeutet: Neue Daten
                        // nur beim ersten Frame (CH 0-7) setzen
                        if(!ReSync) NewPpmData = 0;
   12b56:       80 91 94 02     lds     r24, 0x0294
   12b5a:       81 11           cpse    r24, r1
   12b5c:       02 c0           rjmp    .+4             ; 0x12b62 <SpektrumParser+0x298>
   12b5e:       10 92 93 02     sts     0x0293, r1
                        }
                FrameCnt = 0;
   12b62:       10 92 af 04     sts     0x04AF, r1
                Frame2 = 0;
   12b66:       10 92 ac 04     sts     0x04AC, r1
                Sync = 0;
   12b6a:       10 92 ae 04     sts     0x04AE, r1
                SpektrumTimer = MIN_FRAMEGAP;
   12b6e:       84 e4           ldi     r24, 0x44       ; 68
   12b70:       80 93 b0 04     sts     0x04B0, r24
                }
   }
}
   12b74:       df 91           pop     r29
   12b76:       cf 91           pop     r28
   12b78:       08 95           ret

00012b7a <SPI_MasterInit>:
#ifdef USE_SPI_COMMUNICATION

//------------------------------------------------------
void SPI_MasterInit(void)
{
  DDR_SPI |= (1<<DD_MOSI)|(1<<DD_SCK);    // Set MOSI and SCK output, all others input
   12b7a:       84 b1           in      r24, 0x04       ; 4
   12b7c:       80 6a           ori     r24, 0xA0       ; 160
   12b7e:       84 b9           out     0x04, r24       ; 4
  SLAVE_SELECT_DDR_PORT |= (1 << SPI_SLAVE_SELECT);
   12b80:       3d 9a           sbi     0x07, 5 ; 7

  SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR1)|(0<<SPR0)|(0<<SPIE);   // Enable SPI, Master, set clock rate fck/64
   12b82:       82 e5           ldi     r24, 0x52       ; 82
   12b84:       8c bd           out     0x2c, r24       ; 44
  SPSR = 0;//(1<<SPI2X);
   12b86:       1d bc           out     0x2d, r1        ; 45

  SLAVE_SELECT_PORT |=  (1 << SPI_SLAVE_SELECT);
   12b88:       45 9a           sbi     0x08, 5 ; 8
  SPITransferCompleted = 1;
   12b8a:       81 e0           ldi     r24, 0x01       ; 1
   12b8c:       80 93 d6 08     sts     0x08D6, r24

  //SPDR = 0x00;  // dummy write

  ToNaviCtrl.Sync1 = 0xAA;
   12b90:       8a ea           ldi     r24, 0xAA       ; 170
   12b92:       80 93 e7 08     sts     0x08E7, r24
  ToNaviCtrl.Sync2 = 0x83;
   12b96:       83 e8           ldi     r24, 0x83       ; 131
   12b98:       80 93 e8 08     sts     0x08E8, r24

  ToNaviCtrl.Command = SPI_FCCMD_USER;
   12b9c:       8a e0           ldi     r24, 0x0A       ; 10
   12b9e:       80 93 e9 08     sts     0x08E9, r24
  ToNaviCtrl.IntegralNick = 0;
   12ba2:       10 92 eb 08     sts     0x08EB, r1
   12ba6:       10 92 ea 08     sts     0x08EA, r1
  ToNaviCtrl.IntegralRoll = 0;
   12baa:       10 92 ed 08     sts     0x08ED, r1
   12bae:       10 92 ec 08     sts     0x08EC, r1
  FromNaviCtrl_Value.SerialDataOkay = 0;
   12bb2:       10 92 4f 09     sts     0x094F, r1
  SPI_RxDataValid = 0;
   12bb6:       10 92 0b 09     sts     0x090B, r1
   12bba:       08 95           ret

00012bbc <SPI_TransmitByte>:
{
   static unsigned char SPI_RXState = 0;
   unsigned char rxdata;
   static unsigned char rxchksum;

   if (SPITransferCompleted) return;
   12bbc:       80 91 d6 08     lds     r24, 0x08D6
   12bc0:       81 11           cpse    r24, r1
   12bc2:       79 c0           rjmp    .+242           ; 0x12cb6 <SPI_TransmitByte+0xfa>
   if (!(SPSR & (1 << SPIF))) return;
   12bc4:       0d b4           in      r0, 0x2d        ; 45
   12bc6:       07 fe           sbrs    r0, 7
   12bc8:       76 c0           rjmp    .+236           ; 0x12cb6 <SPI_TransmitByte+0xfa>
  BytegapSPI = SPI_BYTEGAP;
   12bca:       85 e0           ldi     r24, 0x05       ; 5
   12bcc:       80 93 cc 04     sts     0x04CC, r24
//   _delay_us(30);
  SLAVE_SELECT_PORT |=  (1 << SPI_SLAVE_SELECT);   // DeselectSlave
   12bd0:       45 9a           sbi     0x08, 5 ; 8

  rxdata = SPDR;
   12bd2:       9e b5           in      r25, 0x2e       ; 46
  switch ( SPI_RXState)
   12bd4:       80 91 b4 04     lds     r24, 0x04B4
   12bd8:       81 30           cpi     r24, 0x01       ; 1
   12bda:       71 f0           breq    .+28            ; 0x12bf8 <SPI_TransmitByte+0x3c>
   12bdc:       18 f0           brcs    .+6             ; 0x12be4 <SPI_TransmitByte+0x28>
   12bde:       82 30           cpi     r24, 0x02       ; 2
   12be0:       c9 f0           breq    .+50            ; 0x12c14 <SPI_TransmitByte+0x58>
   12be2:       3f c0           rjmp    .+126           ; 0x12c62 <SPI_TransmitByte+0xa6>
  {
  case 0:
                        SPI_RxBufferIndex = 0;
   12be4:       10 92 0a 09     sts     0x090A, r1
                        rxchksum = rxdata;
   12be8:       90 93 b3 04     sts     0x04B3, r25
                        if (rxdata == 0x81 )  { SPI_RXState  = 1;  }   // 1. Syncbyte ok
   12bec:       91 38           cpi     r25, 0x81       ; 129
   12bee:       c9 f5           brne    .+114           ; 0x12c62 <SPI_TransmitByte+0xa6>
   12bf0:       81 e0           ldi     r24, 0x01       ; 1
   12bf2:       80 93 b4 04     sts     0x04B4, r24
   12bf6:       35 c0           rjmp    .+106           ; 0x12c62 <SPI_TransmitByte+0xa6>

           break;

   case 1:
                    if (rxdata == 0x55) { rxchksum += rxdata; SPI_RXState  = 2;  }   // 2. Syncbyte ok
   12bf8:       95 35           cpi     r25, 0x55       ; 85
   12bfa:       49 f4           brne    .+18            ; 0x12c0e <SPI_TransmitByte+0x52>
   12bfc:       80 91 b3 04     lds     r24, 0x04B3
   12c00:       8b 5a           subi    r24, 0xAB       ; 171
   12c02:       80 93 b3 04     sts     0x04B3, r24
   12c06:       82 e0           ldi     r24, 0x02       ; 2
   12c08:       80 93 b4 04     sts     0x04B4, r24
   12c0c:       2a c0           rjmp    .+84            ; 0x12c62 <SPI_TransmitByte+0xa6>
                 else SPI_RXState  = 0;
   12c0e:       10 92 b4 04     sts     0x04B4, r1
   12c12:       27 c0           rjmp    .+78            ; 0x12c62 <SPI_TransmitByte+0xa6>
           break;

   case 2:
                   SPI_Buffer[SPI_RxBufferIndex++]= rxdata;             // get data
   12c14:       e0 91 0a 09     lds     r30, 0x090A
   12c18:       81 e0           ldi     r24, 0x01       ; 1
   12c1a:       8e 0f           add     r24, r30
   12c1c:       80 93 0a 09     sts     0x090A, r24
   12c20:       f0 e0           ldi     r31, 0x00       ; 0
   12c22:       e4 5d           subi    r30, 0xD4       ; 212
   12c24:       f6 4f           sbci    r31, 0xF6       ; 246
   12c26:       90 83           st      Z, r25
           //DebugOut.Analog[19]++;
           if (SPI_RxBufferIndex >= sizeof(FromNaviCtrl))
   12c28:       80 32           cpi     r24, 0x20       ; 32
   12c2a:       b0 f0           brcs    .+44            ; 0x12c58 <SPI_TransmitByte+0x9c>
                   {
                if (rxdata == rxchksum)
   12c2c:       80 91 b3 04     lds     r24, 0x04B3
   12c30:       98 13           cpse    r25, r24
   12c32:       0d c0           rjmp    .+26            ; 0x12c4e <SPI_TransmitByte+0x92>
                        {
                  unsigned char *ptr = (unsigned char *)&FromNaviCtrl;
                          memcpy(ptr, (unsigned char *) SPI_Buffer,  sizeof(SPI_Buffer));
   12c34:       80 e2           ldi     r24, 0x20       ; 32
   12c36:       ec e2           ldi     r30, 0x2C       ; 44
   12c38:       f9 e0           ldi     r31, 0x09       ; 9
   12c3a:       ac e0           ldi     r26, 0x0C       ; 12
   12c3c:       b9 e0           ldi     r27, 0x09       ; 9
   12c3e:       01 90           ld      r0, Z+
   12c40:       0d 92           st      X+, r0
   12c42:       8a 95           dec     r24
   12c44:       e1 f7           brne    .-8             ; 0x12c3e <SPI_TransmitByte+0x82>
                          SPI_RxDataValid = 1;
   12c46:       81 e0           ldi     r24, 0x01       ; 1
   12c48:       80 93 0b 09     sts     0x090B, r24
   12c4c:       02 c0           rjmp    .+4             ; 0x12c52 <SPI_TransmitByte+0x96>
                        }
                        else
                         {
                          SPI_RxDataValid = 0;
   12c4e:       10 92 0b 09     sts     0x090B, r1
                         }
                        SPI_RXState  = 0;
   12c52:       10 92 b4 04     sts     0x04B4, r1
   12c56:       05 c0           rjmp    .+10            ; 0x12c62 <SPI_TransmitByte+0xa6>
                   }
                  else rxchksum += rxdata;
   12c58:       80 91 b3 04     lds     r24, 0x04B3
   12c5c:       98 0f           add     r25, r24
   12c5e:       90 93 b3 04     sts     0x04B3, r25
        break;

  }

   if (SPI_BufferIndex < sizeof(ToNaviCtrl))
   12c62:       80 91 e6 08     lds     r24, 0x08E6
   12c66:       82 32           cpi     r24, 0x22       ; 34
   12c68:       f0 f4           brcc    .+60            ; 0x12ca6 <SPI_TransmitByte+0xea>
     {
           SLAVE_SELECT_PORT &=  ~(1 << SPI_SLAVE_SELECT);  // SelectSlave
   12c6a:       45 98           cbi     0x08, 5 ; 8
        ...
           asm volatile ("nop"); asm volatile ("nop"); asm volatile ("nop"); asm volatile ("nop"); 
           SPDR = SPI_TX_Buffer[SPI_BufferIndex];
   12c74:       80 91 e6 08     lds     r24, 0x08E6
   12c78:       e0 91 df 08     lds     r30, 0x08DF
   12c7c:       f0 91 e0 08     lds     r31, 0x08E0
   12c80:       e8 0f           add     r30, r24
   12c82:       f1 1d           adc     r31, r1
   12c84:       80 81           ld      r24, Z
   12c86:       8e bd           out     0x2e, r24       ; 46
           ToNaviCtrl.Chksum += SPI_TX_Buffer[SPI_BufferIndex];
   12c88:       e8 e0           ldi     r30, 0x08       ; 8
   12c8a:       f9 e0           ldi     r31, 0x09       ; 9
   12c8c:       80 91 e6 08     lds     r24, 0x08E6
   12c90:       a0 91 df 08     lds     r26, 0x08DF
   12c94:       b0 91 e0 08     lds     r27, 0x08E0
   12c98:       a8 0f           add     r26, r24
   12c9a:       b1 1d           adc     r27, r1
   12c9c:       9c 91           ld      r25, X
   12c9e:       80 81           ld      r24, Z
   12ca0:       89 0f           add     r24, r25
   12ca2:       80 83           st      Z, r24
   12ca4:       03 c0           rjmp    .+6             ; 0x12cac <SPI_TransmitByte+0xf0>
         }
         else SPITransferCompleted = 1;
   12ca6:       81 e0           ldi     r24, 0x01       ; 1
   12ca8:       80 93 d6 08     sts     0x08D6, r24

         SPI_BufferIndex++;
   12cac:       80 91 e6 08     lds     r24, 0x08E6
   12cb0:       8f 5f           subi    r24, 0xFF       ; 255
   12cb2:       80 93 e6 08     sts     0x08E6, r24
   12cb6:       08 95           ret

00012cb8 <UpdateSPI_Buffer>:
}


//------------------------------------------------------
void UpdateSPI_Buffer(void)
{
   12cb8:       cf 92           push    r12
   12cba:       df 92           push    r13
   12cbc:       ef 92           push    r14
   12cbe:       ff 92           push    r15
   12cc0:       0f 93           push    r16
   12cc2:       1f 93           push    r17
  signed int tmp;
  static unsigned char motorindex, oldcommand = SPI_NCCMD_VERSION, slow_command;
  ToNaviCtrl.IntegralNick = (int) (IntegralNick / (long)(EE_Parameter.GyroAccFaktor * 4)); // etwa in 0.1 Grad
   12cc4:       c0 90 5a 05     lds     r12, 0x055A
   12cc8:       d1 2c           mov     r13, r1
   12cca:       cc 0c           add     r12, r12
   12ccc:       dd 1c           adc     r13, r13
   12cce:       cc 0c           add     r12, r12
   12cd0:       dd 1c           adc     r13, r13
   12cd2:       ee 24           eor     r14, r14
   12cd4:       d7 fc           sbrc    r13, 7
   12cd6:       e0 94           com     r14
   12cd8:       fe 2c           mov     r15, r14
   12cda:       60 91 42 04     lds     r22, 0x0442
   12cde:       70 91 43 04     lds     r23, 0x0443
   12ce2:       80 91 44 04     lds     r24, 0x0444
   12ce6:       90 91 45 04     lds     r25, 0x0445
   12cea:       a7 01           movw    r20, r14
   12cec:       96 01           movw    r18, r12
   12cee:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
   12cf2:       30 93 eb 08     sts     0x08EB, r19
   12cf6:       20 93 ea 08     sts     0x08EA, r18
  ToNaviCtrl.IntegralRoll = (int) (IntegralRoll / (long)(EE_Parameter.GyroAccFaktor * 4)); // etwa in 0.1 Grad
   12cfa:       60 91 3e 04     lds     r22, 0x043E
   12cfe:       70 91 3f 04     lds     r23, 0x043F
   12d02:       80 91 40 04     lds     r24, 0x0440
   12d06:       90 91 41 04     lds     r25, 0x0441
   12d0a:       a7 01           movw    r20, r14
   12d0c:       96 01           movw    r18, r12
   12d0e:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
   12d12:       30 93 ed 08     sts     0x08ED, r19
   12d16:       20 93 ec 08     sts     0x08EC, r18
  ToNaviCtrl.GyroCompass = (10 * ErsatzKompass) / GIER_GRAD_FAKTOR;
   12d1a:       80 91 6e 06     lds     r24, 0x066E
   12d1e:       90 91 6f 06     lds     r25, 0x066F
   12d22:       a0 91 70 06     lds     r26, 0x0670
   12d26:       b0 91 71 06     lds     r27, 0x0671
   12d2a:       88 0f           add     r24, r24
   12d2c:       99 1f           adc     r25, r25
   12d2e:       aa 1f           adc     r26, r26
   12d30:       bb 1f           adc     r27, r27
   12d32:       ac 01           movw    r20, r24
   12d34:       bd 01           movw    r22, r26
   12d36:       44 0f           add     r20, r20
   12d38:       55 1f           adc     r21, r21
   12d3a:       66 1f           adc     r22, r22
   12d3c:       77 1f           adc     r23, r23
   12d3e:       44 0f           add     r20, r20
   12d40:       55 1f           adc     r21, r21
   12d42:       66 1f           adc     r22, r22
   12d44:       77 1f           adc     r23, r23
   12d46:       8c 01           movw    r16, r24
   12d48:       9d 01           movw    r18, r26
   12d4a:       04 0f           add     r16, r20
   12d4c:       15 1f           adc     r17, r21
   12d4e:       26 1f           adc     r18, r22
   12d50:       37 1f           adc     r19, r23
   12d52:       c9 01           movw    r24, r18
   12d54:       b8 01           movw    r22, r16
   12d56:       20 91 21 01     lds     r18, 0x0121
   12d5a:       30 91 22 01     lds     r19, 0x0122
   12d5e:       40 91 23 01     lds     r20, 0x0123
   12d62:       50 91 24 01     lds     r21, 0x0124
   12d66:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
   12d6a:       30 93 f3 08     sts     0x08F3, r19
   12d6e:       20 93 f2 08     sts     0x08F2, r18
  ToNaviCtrl.GyroGier = (signed int) AdNeutralGier - AdWertGier;
   12d72:       e0 90 53 04     lds     r14, 0x0453
   12d76:       f0 90 54 04     lds     r15, 0x0454
   12d7a:       80 91 61 03     lds     r24, 0x0361
   12d7e:       90 91 62 03     lds     r25, 0x0362
   12d82:       97 01           movw    r18, r14
   12d84:       28 1b           sub     r18, r24
   12d86:       39 0b           sbc     r19, r25
   12d88:       30 93 f9 08     sts     0x08F9, r19
   12d8c:       20 93 f8 08     sts     0x08F8, r18
  ToNaviCtrl.AccNick = ((int) ACC_AMPLIFY * (NaviAccNick / NaviCntAcc))/4;
   12d90:       20 91 49 04     lds     r18, 0x0449
   12d94:       30 91 4a 04     lds     r19, 0x044A
   12d98:       80 91 39 06     lds     r24, 0x0639
   12d9c:       90 91 3a 06     lds     r25, 0x063A
   12da0:       b9 01           movw    r22, r18
   12da2:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
   12da6:       cb 01           movw    r24, r22
   12da8:       88 0f           add     r24, r24
   12daa:       99 1f           adc     r25, r25
   12dac:       68 0f           add     r22, r24
   12dae:       79 1f           adc     r23, r25
   12db0:       66 0f           add     r22, r22
   12db2:       77 1f           adc     r23, r23
   12db4:       cb 01           movw    r24, r22
   12db6:       99 23           and     r25, r25
   12db8:       0c f4           brge    .+2             ; 0x12dbc <UpdateSPI_Buffer+0x104>
   12dba:       03 96           adiw    r24, 0x03       ; 3
   12dbc:       95 95           asr     r25
   12dbe:       87 95           ror     r24
   12dc0:       95 95           asr     r25
   12dc2:       87 95           ror     r24
   12dc4:       90 93 ef 08     sts     0x08EF, r25
   12dc8:       80 93 ee 08     sts     0x08EE, r24
  ToNaviCtrl.AccRoll = ((int) ACC_AMPLIFY * (NaviAccRoll / NaviCntAcc))/4;
   12dcc:       80 91 6a 06     lds     r24, 0x066A
   12dd0:       90 91 6b 06     lds     r25, 0x066B
   12dd4:       b9 01           movw    r22, r18
   12dd6:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
   12dda:       cb 01           movw    r24, r22
   12ddc:       88 0f           add     r24, r24
   12dde:       99 1f           adc     r25, r25
   12de0:       68 0f           add     r22, r24
   12de2:       79 1f           adc     r23, r25
   12de4:       66 0f           add     r22, r22
   12de6:       77 1f           adc     r23, r23
   12de8:       cb 01           movw    r24, r22
   12dea:       99 23           and     r25, r25
   12dec:       0c f4           brge    .+2             ; 0x12df0 <UpdateSPI_Buffer+0x138>
   12dee:       03 96           adiw    r24, 0x03       ; 3
   12df0:       95 95           asr     r25
   12df2:       87 95           ror     r24
   12df4:       95 95           asr     r25
   12df6:       87 95           ror     r24
   12df8:       90 93 f1 08     sts     0x08F1, r25
   12dfc:       80 93 f0 08     sts     0x08F0, r24
  NaviCntAcc = 0; NaviAccNick = 0; NaviAccRoll = 0;
   12e00:       10 92 4a 04     sts     0x044A, r1
   12e04:       10 92 49 04     sts     0x0449, r1
   12e08:       10 92 3a 06     sts     0x063A, r1
   12e0c:       10 92 39 06     sts     0x0639, r1
   12e10:       10 92 6b 06     sts     0x066B, r1
   12e14:       10 92 6a 06     sts     0x066A, r1
//  ToNaviCtrl.User8 = Parameter_UserParam8;
//  ToNaviCtrl.CalState = WinkelOut.CalcState;
   switch(ToNaviCtrl.Command)  //
   12e18:       80 91 e9 08     lds     r24, 0x08E9
   12e1c:       90 e0           ldi     r25, 0x00       ; 0
   12e1e:       0a 97           sbiw    r24, 0x0a       ; 10
   12e20:       8a 30           cpi     r24, 0x0A       ; 10
   12e22:       91 05           cpc     r25, r1
   12e24:       08 f0           brcs    .+2             ; 0x12e28 <UpdateSPI_Buffer+0x170>
   12e26:       a1 c2           rjmp    .+1346          ; 0x1336a <UpdateSPI_Buffer+0x6b2>
   12e28:       8a 55           subi    r24, 0x5A       ; 90
   12e2a:       9f 4f           sbci    r25, 0xFF       ; 255
   12e2c:       fc 01           movw    r30, r24
   12e2e:       0c 94 a7 b1     jmp     0x1634e ; 0x1634e <__tablejump2__>
   {
         case SPI_FCCMD_USER:
                                ToNaviCtrl.Param.Byte[0] = Parameter_UserParam1;
   12e32:       80 91 e0 03     lds     r24, 0x03E0
   12e36:       80 93 fc 08     sts     0x08FC, r24
                                ToNaviCtrl.Param.Byte[1] = Parameter_UserParam2;
   12e3a:       80 91 df 03     lds     r24, 0x03DF
   12e3e:       80 93 fd 08     sts     0x08FD, r24
                                ToNaviCtrl.Param.Byte[2] = Parameter_UserParam3;
   12e42:       80 91 de 03     lds     r24, 0x03DE
   12e46:       80 93 fe 08     sts     0x08FE, r24
                                ToNaviCtrl.Param.Byte[3] = Parameter_UserParam4;
   12e4a:       80 91 dd 03     lds     r24, 0x03DD
   12e4e:       80 93 ff 08     sts     0x08FF, r24
                                ToNaviCtrl.Param.Byte[4] = Parameter_UserParam5;
   12e52:       80 91 dc 03     lds     r24, 0x03DC
   12e56:       80 93 00 09     sts     0x0900, r24
                                ToNaviCtrl.Param.Byte[5] = Parameter_UserParam6;
   12e5a:       80 91 db 03     lds     r24, 0x03DB
   12e5e:       80 93 01 09     sts     0x0901, r24
                                ToNaviCtrl.Param.Byte[6] = Parameter_UserParam7;
   12e62:       80 91 da 03     lds     r24, 0x03DA
   12e66:       80 93 02 09     sts     0x0902, r24
                                ToNaviCtrl.Param.Byte[7] = Parameter_UserParam8;
   12e6a:       80 91 d9 03     lds     r24, 0x03D9
   12e6e:       80 93 03 09     sts     0x0903, r24
                                ToNaviCtrl.Param.Byte[8] = FC_StatusFlags;
   12e72:       80 91 cb 03     lds     r24, 0x03CB
   12e76:       80 93 04 09     sts     0x0904, r24
//if(FC_StatusFlags2 & FC_STATUS2_WAIT_FOR_TAKEOFF) ToNaviCtrl.Param.Byte[8] &= ~FC_STATUS_FLY;
                FC_StatusFlags &= ~(FC_STATUS_CALIBRATE | FC_STATUS_START);
   12e7a:       80 91 cb 03     lds     r24, 0x03CB
   12e7e:       83 7f           andi    r24, 0xF3       ; 243
   12e80:       80 93 cb 03     sts     0x03CB, r24
                    ToNaviCtrl.Param.Byte[9] = ActiveParamSet;
   12e84:       80 91 52 01     lds     r24, 0x0152
   12e88:       80 93 05 09     sts     0x0905, r24
                        ToNaviCtrl.Param.Byte[10] = (unsigned char) UBat; // 0.1V
   12e8c:       80 91 1a 01     lds     r24, 0x011A
   12e90:       90 91 1b 01     lds     r25, 0x011B
   12e94:       80 93 06 09     sts     0x0906, r24
                                ToNaviCtrl.Param.Byte[11] = FC_StatusFlags2;
   12e98:       80 91 ca 03     lds     r24, 0x03CA
   12e9c:       80 93 07 09     sts     0x0907, r24
                                if(!(PORTC & (1<<PORTC2))) FC_StatusFlags2 &= ~FC_STATUS2_OUT1_ACTIVE;       // Out1 (J16)
   12ea0:       42 99           sbic    0x08, 2 ; 8
   12ea2:       63 c2           rjmp    .+1222          ; 0x1336a <UpdateSPI_Buffer+0x6b2>
   12ea4:       80 91 ca 03     lds     r24, 0x03CA
   12ea8:       87 7f           andi    r24, 0xF7       ; 247
   12eaa:       80 93 ca 03     sts     0x03CA, r24
   12eae:       5d c2           rjmp    .+1210          ; 0x1336a <UpdateSPI_Buffer+0x6b2>
        break;
     case SPI_FCCMD_BL_ACCU:
                        ToNaviCtrl.Param.Int[0] = Capacity.ActualCurrent; // 0.1A
   12eb0:       80 91 15 05     lds     r24, 0x0515
   12eb4:       90 91 16 05     lds     r25, 0x0516
   12eb8:       90 93 fd 08     sts     0x08FD, r25
   12ebc:       80 93 fc 08     sts     0x08FC, r24
                                ToNaviCtrl.Param.Byte[2] = motorindex;
   12ec0:       80 91 b2 04     lds     r24, 0x04B2
   12ec4:       80 93 fe 08     sts     0x08FE, r24
                                ToNaviCtrl.Param.Byte[3] = Capacity.MinOfMaxPWM;
   12ec8:       80 91 1b 05     lds     r24, 0x051B
   12ecc:       80 93 ff 08     sts     0x08FF, r24
                                ToNaviCtrl.Param.Byte[4] = GetChannelValue(EE_Parameter.NaviGpsModeChannel);  // GPS-Mode control 
   12ed0:       80 91 8f 05     lds     r24, 0x058F
   12ed4:       0e 94 0e 34     call    0x681c  ; 0x681c <GetChannelValue>
   12ed8:       80 93 00 09     sts     0x0900, r24
                                ToNaviCtrl.Param.Byte[5] = VarioCharacter;
   12edc:       80 91 20 01     lds     r24, 0x0120
   12ee0:       80 93 01 09     sts     0x0901, r24
                                ToNaviCtrl.Param.Byte[6] = Motor[motorindex].NotReadyCnt;
   12ee4:       20 91 b2 04     lds     r18, 0x04B2
   12ee8:       0f e0           ldi     r16, 0x0F       ; 15
   12eea:       20 9f           mul     r18, r16
   12eec:       f0 01           movw    r30, r0
   12eee:       11 24           eor     r1, r1
   12ef0:       e9 56           subi    r30, 0x69       ; 105
   12ef2:       f6 4f           sbci    r31, 0xF6       ; 246
   12ef4:       86 85           ldd     r24, Z+14       ; 0x0e
   12ef6:       80 93 02 09     sts     0x0902, r24
                                ToNaviCtrl.Param.Byte[7] = Motor[motorindex].Version;
   12efa:       80 81           ld      r24, Z
   12efc:       80 93 03 09     sts     0x0903, r24
                                ToNaviCtrl.Param.Byte[8] = Motor[motorindex].MaxPWM;
   12f00:       86 81           ldd     r24, Z+6        ; 0x06
   12f02:       80 93 04 09     sts     0x0904, r24
                                ToNaviCtrl.Param.Byte[9] = Motor[motorindex].State;
   12f06:       83 81           ldd     r24, Z+3        ; 0x03
   12f08:       80 93 05 09     sts     0x0905, r24
                                ToNaviCtrl.Param.Byte[10] = Motor[motorindex].Temperature;
   12f0c:       87 81           ldd     r24, Z+7        ; 0x07
   12f0e:       80 93 06 09     sts     0x0906, r24
                                ToNaviCtrl.Param.Byte[11] = Motor[motorindex].Current;
   12f12:       85 81           ldd     r24, Z+5        ; 0x05
   12f14:       80 93 07 09     sts     0x0907, r24

                                if(Mixer.Motor[++motorindex][0] <= 0) // next motor is not used ?
   12f18:       2f 5f           subi    r18, 0xFF       ; 255
   12f1a:       20 93 b2 04     sts     0x04B2, r18
   12f1e:       82 2f           mov     r24, r18
   12f20:       90 e0           ldi     r25, 0x00       ; 0
   12f22:       fc 01           movw    r30, r24
   12f24:       ee 0f           add     r30, r30
   12f26:       ff 1f           adc     r31, r31
   12f28:       ee 0f           add     r30, r30
   12f2a:       ff 1f           adc     r31, r31
   12f2c:       e9 53           subi    r30, 0x39       ; 57
   12f2e:       fa 4f           sbci    r31, 0xFA       ; 250
   12f30:       35 85           ldd     r19, Z+13       ; 0x0d
   12f32:       13 16           cp      r1, r19
   12f34:       0c f4           brge    .+2             ; 0x12f38 <UpdateSPI_Buffer+0x280>
   12f36:       19 c2           rjmp    .+1074          ; 0x1336a <UpdateSPI_Buffer+0x6b2>
                                  while(Mixer.Motor[motorindex][0] <= 0 && motorindex) motorindex = (motorindex + 1) % 13;
   12f38:       22 23           and     r18, r18
   12f3a:       09 f4           brne    .+2             ; 0x12f3e <UpdateSPI_Buffer+0x286>
   12f3c:       16 c2           rjmp    .+1068          ; 0x1336a <UpdateSPI_Buffer+0x6b2>
   12f3e:       2d e0           ldi     r18, 0x0D       ; 13
   12f40:       30 e0           ldi     r19, 0x00       ; 0
   12f42:       01 96           adiw    r24, 0x01       ; 1
   12f44:       b9 01           movw    r22, r18
   12f46:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
   12f4a:       48 2f           mov     r20, r24
   12f4c:       99 27           eor     r25, r25
   12f4e:       fc 01           movw    r30, r24
   12f50:       ee 0f           add     r30, r30
   12f52:       ff 1f           adc     r31, r31
   12f54:       ee 0f           add     r30, r30
   12f56:       ff 1f           adc     r31, r31
   12f58:       e9 53           subi    r30, 0x39       ; 57
   12f5a:       fa 4f           sbci    r31, 0xFA       ; 250
   12f5c:       55 85           ldd     r21, Z+13       ; 0x0d
   12f5e:       15 16           cp      r1, r21
   12f60:       1c f4           brge    .+6             ; 0x12f68 <UpdateSPI_Buffer+0x2b0>
   12f62:       40 93 b2 04     sts     0x04B2, r20
   12f66:       01 c2           rjmp    .+1026          ; 0x1336a <UpdateSPI_Buffer+0x6b2>
   12f68:       41 11           cpse    r20, r1
   12f6a:       eb cf           rjmp    .-42            ; 0x12f42 <UpdateSPI_Buffer+0x28a>
   12f6c:       40 93 b2 04     sts     0x04B2, r20
   12f70:       fc c1           rjmp    .+1016          ; 0x1336a <UpdateSPI_Buffer+0x6b2>
        break;
         case SPI_FCCMD_SLOW:
               switch(slow_command)
   12f72:       80 91 b1 04     lds     r24, 0x04B1
   12f76:       81 11           cpse    r24, r1
   12f78:       37 c0           rjmp    .+110           ; 0x12fe8 <UpdateSPI_Buffer+0x330>
           {
                         case 0: 
                                ToNaviCtrl.Command = SPI_FCCMD_PARAMETER1; slow_command = 1;
   12f7a:       8d e0           ldi     r24, 0x0D       ; 13
   12f7c:       80 93 e9 08     sts     0x08E9, r24
   12f80:       81 e0           ldi     r24, 0x01       ; 1
   12f82:       80 93 b1 04     sts     0x04B1, r24
                                ToNaviCtrl.Param.Byte[0] = (unsigned char) BattLowVoltageWarning; //0.1V
   12f86:       80 91 53 01     lds     r24, 0x0153
   12f8a:       80 93 fc 08     sts     0x08FC, r24
                                ToNaviCtrl.Param.Byte[1] = EE_Parameter.NaviGpsGain;           // Parameters for the Naviboard
   12f8e:       80 91 90 05     lds     r24, 0x0590
   12f92:       80 93 fd 08     sts     0x08FD, r24
                                ToNaviCtrl.Param.Byte[2] = EE_Parameter.NaviGpsP;
   12f96:       80 91 91 05     lds     r24, 0x0591
   12f9a:       80 93 fe 08     sts     0x08FE, r24
                                ToNaviCtrl.Param.Byte[3] = EE_Parameter.NaviGpsI;
   12f9e:       80 91 92 05     lds     r24, 0x0592
   12fa2:       80 93 ff 08     sts     0x08FF, r24
                                ToNaviCtrl.Param.Byte[4] = EE_Parameter.NaviGpsD;
   12fa6:       80 91 93 05     lds     r24, 0x0593
   12faa:       80 93 00 09     sts     0x0900, r24
                                ToNaviCtrl.Param.Byte[5] = EE_Parameter.NaviGpsA;
   12fae:       80 91 97 05     lds     r24, 0x0597
   12fb2:       80 93 01 09     sts     0x0901, r24
                                ToNaviCtrl.Param.Byte[6] = EE_Parameter.NaviGpsMinSat;
   12fb6:       80 91 98 05     lds     r24, 0x0598
   12fba:       80 93 02 09     sts     0x0902, r24
                ToNaviCtrl.Param.Byte[7] = EE_Parameter.NaviStickThreshold;
   12fbe:       80 91 99 05     lds     r24, 0x0599
   12fc2:       80 93 03 09     sts     0x0903, r24
                ToNaviCtrl.Param.Byte[8] = EE_Parameter.NaviMaxFlyingRange; 
   12fc6:       80 91 9c 05     lds     r24, 0x059C
   12fca:       80 93 04 09     sts     0x0904, r24
                ToNaviCtrl.Param.Byte[9] = EE_Parameter.NaviWindCorrection;
   12fce:       80 91 9a 05     lds     r24, 0x059A
   12fd2:       80 93 05 09     sts     0x0905, r24
                ToNaviCtrl.Param.Byte[10] = EE_Parameter.NaviAccCompensation;
   12fd6:       80 91 9b 05     lds     r24, 0x059B
   12fda:       80 93 06 09     sts     0x0906, r24
                                ToNaviCtrl.Param.Byte[11] = EE_Parameter.NaviAngleLimitation;
   12fde:       80 91 9d 05     lds     r24, 0x059D
   12fe2:       80 93 07 09     sts     0x0907, r24
                         break; 
   12fe6:       c1 c1           rjmp    .+898           ; 0x1336a <UpdateSPI_Buffer+0x6b2>
                         default:
                                ToNaviCtrl.Command = SPI_FCCMD_NEUTRAL; slow_command = 0;
   12fe8:       82 e1           ldi     r24, 0x12       ; 18
   12fea:       80 93 e9 08     sts     0x08E9, r24
   12fee:       10 92 b1 04     sts     0x04B1, r1
                                ToNaviCtrl.Param.Int[0] = AdNeutralNick; // 0 & 1
   12ff2:       80 91 57 04     lds     r24, 0x0457
   12ff6:       90 91 58 04     lds     r25, 0x0458
   12ffa:       90 93 fd 08     sts     0x08FD, r25
   12ffe:       80 93 fc 08     sts     0x08FC, r24
                                ToNaviCtrl.Param.Int[1] = AdNeutralRoll; // 2 & 3
   13002:       80 91 55 04     lds     r24, 0x0455
   13006:       90 91 56 04     lds     r25, 0x0456
   1300a:       90 93 ff 08     sts     0x08FF, r25
   1300e:       80 93 fe 08     sts     0x08FE, r24
                                ToNaviCtrl.Param.Int[2] = AdNeutralGier; // 4 & 5
   13012:       f0 92 01 09     sts     0x0901, r15
   13016:       e0 92 00 09     sts     0x0900, r14
                                ToNaviCtrl.Param.Byte[6] = EE_Parameter.Driftkomp; 
   1301a:       80 91 82 05     lds     r24, 0x0582
   1301e:       80 93 02 09     sts     0x0902, r24
                                ToNaviCtrl.Param.Byte[7] = HoverGas / 4;
   13022:       80 91 e8 03     lds     r24, 0x03E8
   13026:       90 91 e9 03     lds     r25, 0x03E9
   1302a:       99 23           and     r25, r25
   1302c:       0c f4           brge    .+2             ; 0x13030 <UpdateSPI_Buffer+0x378>
   1302e:       03 96           adiw    r24, 0x03       ; 3
   13030:       95 95           asr     r25
   13032:       87 95           ror     r24
   13034:       95 95           asr     r25
   13036:       87 95           ror     r24
   13038:       80 93 03 09     sts     0x0903, r24
ToNaviCtrl.Param.Byte[8] = 0;
   1303c:       10 92 04 09     sts     0x0904, r1
ToNaviCtrl.Param.Byte[9] = 0;
   13040:       10 92 05 09     sts     0x0905, r1
ToNaviCtrl.Param.Byte[10] = 0;
   13044:       10 92 06 09     sts     0x0906, r1
ToNaviCtrl.Param.Byte[11] = 0;
   13048:       10 92 07 09     sts     0x0907, r1
                         break; 
   1304c:       8e c1           rjmp    .+796           ; 0x1336a <UpdateSPI_Buffer+0x6b2>
                        }       
            break;
         case SPI_FCCMD_PARAMETER2:
                                ToNaviCtrl.Param.Byte[0] = EE_Parameter.AutoPhotoDistance;     // Distance between Photo releases
   1304e:       80 91 8e 05     lds     r24, 0x058E
   13052:       80 93 fc 08     sts     0x08FC, r24
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                // create the ToNC_SpeakHoTT
                                if(EE_Parameter.Receiver != RECEIVER_HOTT) 
   13056:       80 91 65 05     lds     r24, 0x0565
   1305a:       86 30           cpi     r24, 0x06       ; 6
   1305c:       81 f0           breq    .+32            ; 0x1307e <UpdateSPI_Buffer+0x3c6>
                                 {
                                  if(JetiBeep != 'B') JetiBeep = pgm_read_byte(&JETI_CODE[HoTT_Waring()]);
   1305e:       80 91 5c 04     lds     r24, 0x045C
   13062:       82 34           cpi     r24, 0x42       ; 66
   13064:       51 f0           breq    .+20            ; 0x1307a <UpdateSPI_Buffer+0x3c2>
   13066:       0e 94 cc 60     call    0xc198  ; 0xc198 <HoTT_Waring>
   1306a:       e8 2f           mov     r30, r24
   1306c:       f0 e0           ldi     r31, 0x00       ; 0
   1306e:       ed 5f           subi    r30, 0xFD       ; 253
   13070:       fe 4e           sbci    r31, 0xEE       ; 238
   13072:       e4 91           lpm     r30, Z
   13074:       e0 93 5c 04     sts     0x045C, r30
   13078:       02 c0           rjmp    .+4             ; 0x1307e <UpdateSPI_Buffer+0x3c6>
                                  else HoTT_Waring();
   1307a:       0e 94 cc 60     call    0xc198  ; 0xc198 <HoTT_Waring>
                                 } 
                                ToNaviCtrl.Param.Byte[1] = ToNC_SpeakHoTT;
   1307e:       80 91 81 04     lds     r24, 0x0481
   13082:       80 93 fd 08     sts     0x08FD, r24
#else
                                ToNaviCtrl.Param.Byte[1] = 0;
#endif
                                ToNaviCtrl.Param.Byte[2] = EE_Parameter.LandingSpeed;
   13086:       80 91 b0 05     lds     r24, 0x05B0
   1308a:       80 93 fe 08     sts     0x08FE, r24
                                ToNaviCtrl.Param.Byte[3] = EE_Parameter.ComingHomeAltitude;
   1308e:       80 91 a5 05     lds     r24, 0x05A5
   13092:       80 93 ff 08     sts     0x08FF, r24
                                ToNaviCtrl.Param.Byte[4] = LowVoltageHomeActive;
   13096:       80 91 c0 03     lds     r24, 0x03C0
   1309a:       80 93 00 09     sts     0x0900, r24
                                ToNaviCtrl.Param.Byte[5] = ToNC_Load_WP_List;
   1309e:       80 91 8a 04     lds     r24, 0x048A
   130a2:       80 93 01 09     sts     0x0901, r24
                                ToNaviCtrl.Param.Byte[6] = ToNC_Load_SingePoint;
   130a6:       80 91 88 04     lds     r24, 0x0488
   130aa:       80 93 02 09     sts     0x0902, r24
                                ToNaviCtrl.Param.Byte[7] = ToNC_Store_SingePoint;
   130ae:       80 91 87 04     lds     r24, 0x0487
   130b2:       80 93 03 09     sts     0x0903, r24
                                ToNC_Load_WP_List = 0;
   130b6:       10 92 8a 04     sts     0x048A, r1
                                ToNC_Load_SingePoint = 0;
   130ba:       10 92 88 04     sts     0x0488, r1
                                ToNC_Store_SingePoint = 0;
   130be:       10 92 87 04     sts     0x0487, r1
                                if(Parameter_KompassWirkung) ToNaviCtrl.Param.sInt[4] = KompassSollWert; // Pos. 8 & 9
   130c2:       80 91 37 01     lds     r24, 0x0137
   130c6:       88 23           and     r24, r24
   130c8:       49 f0           breq    .+18            ; 0x130dc <UpdateSPI_Buffer+0x424>
   130ca:       80 91 1c 04     lds     r24, 0x041C
   130ce:       90 91 1d 04     lds     r25, 0x041D
   130d2:       90 93 05 09     sts     0x0905, r25
   130d6:       80 93 04 09     sts     0x0904, r24
   130da:       08 c0           rjmp    .+16            ; 0x130ec <UpdateSPI_Buffer+0x434>
                                else ToNaviCtrl.Param.sInt[4] = ErsatzKompassInGrad; // answer with the compass value if the Compass effect is zero
   130dc:       80 91 21 06     lds     r24, 0x0621
   130e0:       90 91 22 06     lds     r25, 0x0622
   130e4:       90 93 05 09     sts     0x0905, r25
   130e8:       80 93 04 09     sts     0x0904, r24
                                ToNaviCtrl.Param.Byte[10] = EE_Parameter.AutoPhotoAtitudes;
   130ec:       80 91 b4 05     lds     r24, 0x05B4
   130f0:       80 93 06 09     sts     0x0906, r24
                                ToNaviCtrl.Param.Byte[11] = EE_Parameter.SingleWpSpeed;
   130f4:       80 91 b5 05     lds     r24, 0x05B5
   130f8:       80 93 07 09     sts     0x0907, r24
            break;
   130fc:       36 c1           rjmp    .+620           ; 0x1336a <UpdateSPI_Buffer+0x6b2>
         case SPI_FCCMD_STICK:
              cli();
   130fe:       f8 94           cli
                tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]];  if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127;
   13100:       e0 91 41 05     lds     r30, 0x0541
   13104:       f0 e0           ldi     r31, 0x00       ; 0
   13106:       ee 0f           add     r30, r30
   13108:       ff 1f           adc     r31, r31
   1310a:       ef 5c           subi    r30, 0xCF       ; 207
   1310c:       f7 4f           sbci    r31, 0xF7       ; 247
   1310e:       80 81           ld      r24, Z
   13110:       91 81           ldd     r25, Z+1        ; 0x01
   13112:       81 38           cpi     r24, 0x81       ; 129
   13114:       1f ef           ldi     r17, 0xFF       ; 255
   13116:       91 07           cpc     r25, r17
   13118:       14 f4           brge    .+4             ; 0x1311e <UpdateSPI_Buffer+0x466>
   1311a:       81 e8           ldi     r24, 0x81       ; 129
   1311c:       9f ef           ldi     r25, 0xFF       ; 255
   1311e:       80 38           cpi     r24, 0x80       ; 128
   13120:       91 05           cpc     r25, r1
   13122:       14 f0           brlt    .+4             ; 0x13128 <UpdateSPI_Buffer+0x470>
   13124:       8f e7           ldi     r24, 0x7F       ; 127
   13126:       90 e0           ldi     r25, 0x00       ; 0
                                ToNaviCtrl.Param.Byte[0] = (char) tmp;
   13128:       80 93 fc 08     sts     0x08FC, r24
                tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127;
   1312c:       e0 91 42 05     lds     r30, 0x0542
   13130:       f0 e0           ldi     r31, 0x00       ; 0
   13132:       ee 0f           add     r30, r30
   13134:       ff 1f           adc     r31, r31
   13136:       ef 5c           subi    r30, 0xCF       ; 207
   13138:       f7 4f           sbci    r31, 0xF7       ; 247
   1313a:       80 81           ld      r24, Z
   1313c:       91 81           ldd     r25, Z+1        ; 0x01
   1313e:       81 38           cpi     r24, 0x81       ; 129
   13140:       2f ef           ldi     r18, 0xFF       ; 255
   13142:       92 07           cpc     r25, r18
   13144:       14 f4           brge    .+4             ; 0x1314a <UpdateSPI_Buffer+0x492>
   13146:       81 e8           ldi     r24, 0x81       ; 129
   13148:       9f ef           ldi     r25, 0xFF       ; 255
   1314a:       80 38           cpi     r24, 0x80       ; 128
   1314c:       91 05           cpc     r25, r1
   1314e:       14 f0           brlt    .+4             ; 0x13154 <UpdateSPI_Buffer+0x49c>
   13150:       8f e7           ldi     r24, 0x7F       ; 127
   13152:       90 e0           ldi     r25, 0x00       ; 0
                                ToNaviCtrl.Param.Byte[1] = (char) tmp;
   13154:       80 93 fd 08     sts     0x08FD, r24
                tmp = PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127;
   13158:       e0 91 40 05     lds     r30, 0x0540
   1315c:       f0 e0           ldi     r31, 0x00       ; 0
   1315e:       ee 0f           add     r30, r30
   13160:       ff 1f           adc     r31, r31
   13162:       ef 5c           subi    r30, 0xCF       ; 207
   13164:       f7 4f           sbci    r31, 0xF7       ; 247
   13166:       80 81           ld      r24, Z
   13168:       91 81           ldd     r25, Z+1        ; 0x01
   1316a:       81 38           cpi     r24, 0x81       ; 129
   1316c:       3f ef           ldi     r19, 0xFF       ; 255
   1316e:       93 07           cpc     r25, r19
   13170:       14 f4           brge    .+4             ; 0x13176 <UpdateSPI_Buffer+0x4be>
   13172:       81 e8           ldi     r24, 0x81       ; 129
   13174:       9f ef           ldi     r25, 0xFF       ; 255
   13176:       80 38           cpi     r24, 0x80       ; 128
   13178:       91 05           cpc     r25, r1
   1317a:       14 f0           brlt    .+4             ; 0x13180 <UpdateSPI_Buffer+0x4c8>
   1317c:       8f e7           ldi     r24, 0x7F       ; 127
   1317e:       90 e0           ldi     r25, 0x00       ; 0
                                ToNaviCtrl.Param.Byte[2] = (char) tmp;
   13180:       80 93 fe 08     sts     0x08FE, r24
                tmp = PPM_in[EE_Parameter.Kanalbelegung[K_NICK]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127;
   13184:       e0 91 3f 05     lds     r30, 0x053F
   13188:       f0 e0           ldi     r31, 0x00       ; 0
   1318a:       ee 0f           add     r30, r30
   1318c:       ff 1f           adc     r31, r31
   1318e:       ef 5c           subi    r30, 0xCF       ; 207
   13190:       f7 4f           sbci    r31, 0xF7       ; 247
   13192:       80 81           ld      r24, Z
   13194:       91 81           ldd     r25, Z+1        ; 0x01
   13196:       81 38           cpi     r24, 0x81       ; 129
   13198:       4f ef           ldi     r20, 0xFF       ; 255
   1319a:       94 07           cpc     r25, r20
   1319c:       14 f4           brge    .+4             ; 0x131a2 <UpdateSPI_Buffer+0x4ea>
   1319e:       81 e8           ldi     r24, 0x81       ; 129
   131a0:       9f ef           ldi     r25, 0xFF       ; 255
              sei();
   131a2:       78 94           sei
   131a4:       80 38           cpi     r24, 0x80       ; 128
   131a6:       91 05           cpc     r25, r1
   131a8:       14 f0           brlt    .+4             ; 0x131ae <UpdateSPI_Buffer+0x4f6>
   131aa:       8f e7           ldi     r24, 0x7F       ; 127
   131ac:       90 e0           ldi     r25, 0x00       ; 0
                                ToNaviCtrl.Param.Byte[3] = (char) tmp;
   131ae:       80 93 ff 08     sts     0x08FF, r24
                                ToNaviCtrl.Param.Byte[4] = (unsigned char) Poti[0];
   131b2:       80 91 05 04     lds     r24, 0x0405
   131b6:       80 93 00 09     sts     0x0900, r24
                                ToNaviCtrl.Param.Byte[5] = (unsigned char) Poti[1];
   131ba:       80 91 06 04     lds     r24, 0x0406
   131be:       80 93 01 09     sts     0x0901, r24
                                ToNaviCtrl.Param.Byte[6] = (unsigned char) Poti[2];
   131c2:       80 91 07 04     lds     r24, 0x0407
   131c6:       80 93 02 09     sts     0x0902, r24
                    ToNaviCtrl.Param.Byte[7] = (unsigned char) Poti[3];
   131ca:       80 91 08 04     lds     r24, 0x0408
   131ce:       80 93 03 09     sts     0x0903, r24
                                ToNaviCtrl.Param.Byte[8] = (unsigned char) Poti[4];
   131d2:       80 91 09 04     lds     r24, 0x0409
   131d6:       80 93 04 09     sts     0x0904, r24
                                ToNaviCtrl.Param.Byte[9] = (unsigned char) Poti[5];
   131da:       80 91 0a 04     lds     r24, 0x040A
   131de:       80 93 05 09     sts     0x0905, r24
                                ToNaviCtrl.Param.Byte[10] = (unsigned char) Poti[6];
   131e2:       80 91 0b 04     lds     r24, 0x040B
   131e6:       80 93 06 09     sts     0x0906, r24
                                ToNaviCtrl.Param.Byte[11] = (unsigned char) Poti[7];
   131ea:       80 91 0c 04     lds     r24, 0x040C
   131ee:       80 93 07 09     sts     0x0907, r24
                        break;
   131f2:       bb c0           rjmp    .+374           ; 0x1336a <UpdateSPI_Buffer+0x6b2>
                case SPI_FCCMD_MISC:
                        if(WinkelOut.CalcState >= 5)
   131f4:       80 91 7d 0a     lds     r24, 0x0A7D
   131f8:       85 30           cpi     r24, 0x05       ; 5
   131fa:       30 f0           brcs    .+12            ; 0x13208 <UpdateSPI_Buffer+0x550>
                        {
                                WinkelOut.CalcState = 0;
   131fc:       10 92 7d 0a     sts     0x0A7D, r1
                                ToNaviCtrl.Param.Byte[0] = 5;
   13200:       85 e0           ldi     r24, 0x05       ; 5
   13202:       80 93 fc 08     sts     0x08FC, r24
   13206:       02 c0           rjmp    .+4             ; 0x1320c <UpdateSPI_Buffer+0x554>
                        }
                        else ToNaviCtrl.Param.Byte[0] = WinkelOut.CalcState;
   13208:       80 93 fc 08     sts     0x08FC, r24
                        ToNaviCtrl.Param.Byte[1] = EE_Parameter.NaviPH_LoginTime;
   1320c:       80 91 9e 05     lds     r24, 0x059E
   13210:       80 93 fd 08     sts     0x08FD, r24
                        ToNaviCtrl.Param.Int[1] = (int)(HoehenWert/5);
   13214:       60 91 fe 03     lds     r22, 0x03FE
   13218:       70 91 ff 03     lds     r23, 0x03FF
   1321c:       80 91 00 04     lds     r24, 0x0400
   13220:       90 91 01 04     lds     r25, 0x0401
   13224:       0f 2e           mov     r0, r31
   13226:       f5 e0           ldi     r31, 0x05       ; 5
   13228:       cf 2e           mov     r12, r31
   1322a:       d1 2c           mov     r13, r1
   1322c:       e1 2c           mov     r14, r1
   1322e:       f1 2c           mov     r15, r1
   13230:       f0 2d           mov     r31, r0
   13232:       a7 01           movw    r20, r14
   13234:       96 01           movw    r18, r12
   13236:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
   1323a:       30 93 ff 08     sts     0x08FF, r19
   1323e:       20 93 fe 08     sts     0x08FE, r18
                        ToNaviCtrl.Param.Int[2] = (int)(SollHoehe/5);
   13242:       60 91 fa 03     lds     r22, 0x03FA
   13246:       70 91 fb 03     lds     r23, 0x03FB
   1324a:       80 91 fc 03     lds     r24, 0x03FC
   1324e:       90 91 fd 03     lds     r25, 0x03FD
   13252:       a7 01           movw    r20, r14
   13254:       96 01           movw    r18, r12
   13256:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
   1325a:       30 93 01 09     sts     0x0901, r19
   1325e:       20 93 00 09     sts     0x0900, r18
                        ToNaviCtrl.Param.Byte[6] = EE_Parameter.NaviGpsPLimit;
   13262:       80 91 94 05     lds     r24, 0x0594
   13266:       80 93 02 09     sts     0x0902, r24
                        ToNaviCtrl.Param.Byte[7] = EE_Parameter.NaviGpsILimit;
   1326a:       80 91 95 05     lds     r24, 0x0595
   1326e:       80 93 03 09     sts     0x0903, r24
                        ToNaviCtrl.Param.Byte[8] = EE_Parameter.NaviGpsDLimit;
   13272:       80 91 96 05     lds     r24, 0x0596
   13276:       80 93 04 09     sts     0x0904, r24
            ToNaviCtrl.Param.Byte[9] = (unsigned char) SenderOkay;
   1327a:       80 91 04 04     lds     r24, 0x0404
   1327e:       80 93 05 09     sts     0x0905, r24
                        ToNaviCtrl.Param.Byte[10] = NC_Wait_for_LED; 
   13282:       80 91 9f 04     lds     r24, 0x049F
   13286:       80 93 06 09     sts     0x0906, r24
                        ToNaviCtrl.Param.Byte[11] = DebugOut.Analog[7] / 4; //GasMischanteil
   1328a:       80 91 56 0c     lds     r24, 0x0C56
   1328e:       90 91 57 0c     lds     r25, 0x0C57
   13292:       99 23           and     r25, r25
   13294:       0c f4           brge    .+2             ; 0x13298 <UpdateSPI_Buffer+0x5e0>
   13296:       03 96           adiw    r24, 0x03       ; 3
   13298:       95 95           asr     r25
   1329a:       87 95           ror     r24
   1329c:       95 95           asr     r25
   1329e:       87 95           ror     r24
   132a0:       80 93 07 09     sts     0x0907, r24
                        break;
   132a4:       62 c0           rjmp    .+196           ; 0x1336a <UpdateSPI_Buffer+0x6b2>
                case SPI_FCCMD_VERSION:
                        ToNaviCtrl.Param.Byte[0] = VERSION_MAJOR;
   132a6:       82 e0           ldi     r24, 0x02       ; 2
   132a8:       80 93 fc 08     sts     0x08FC, r24
                        ToNaviCtrl.Param.Byte[1] = VERSION_MINOR;
   132ac:       88 e0           ldi     r24, 0x08       ; 8
   132ae:       80 93 fd 08     sts     0x08FD, r24
                        ToNaviCtrl.Param.Byte[2] = VERSION_PATCH;
   132b2:       10 92 fe 08     sts     0x08FE, r1
                        ToNaviCtrl.Param.Byte[3] = NC_SPI_COMPATIBLE;
   132b6:       87 e4           ldi     r24, 0x47       ; 71
   132b8:       80 93 ff 08     sts     0x08FF, r24
                        ToNaviCtrl.Param.Byte[4] = PlatinenVersion;
   132bc:       80 91 54 01     lds     r24, 0x0154
   132c0:       80 93 00 09     sts     0x0900, r24
                        ToNaviCtrl.Param.Byte[5] = VersionInfo.HardwareError[0];
   132c4:       a2 e6           ldi     r26, 0x62       ; 98
   132c6:       ba e0           ldi     r27, 0x0A       ; 10
   132c8:       9c 91           ld      r25, X
   132ca:       90 93 01 09     sts     0x0901, r25
                        ToNaviCtrl.Param.Byte[6] = VersionInfo.HardwareError[1];
   132ce:       e3 e6           ldi     r30, 0x63       ; 99
   132d0:       fa e0           ldi     r31, 0x0A       ; 10
   132d2:       80 81           ld      r24, Z
   132d4:       80 93 02 09     sts     0x0902, r24
                        VersionInfo.HardwareError[0] &= ~FC_ERROR0_CAREFREE; //                         VersionInfo.HardwareError[0] = 0;
   132d8:       9f 77           andi    r25, 0x7F       ; 127
   132da:       9c 93           st      X, r25
                        VersionInfo.HardwareError[1] &= FC_ERROR1_MIXER;
   132dc:       80 71           andi    r24, 0x10       ; 16
   132de:       80 83           st      Z, r24
                        ToNaviCtrl.Param.Byte[7] = EE_Parameter.CompassOffset; 
   132e0:       80 91 b1 05     lds     r24, 0x05B1
   132e4:       80 93 03 09     sts     0x0903, r24
                        ToNaviCtrl.Param.Byte[8] = Parameter_GlobalConfig;
   132e8:       80 91 5c 06     lds     r24, 0x065C
   132ec:       80 93 04 09     sts     0x0904, r24
                        ToNaviCtrl.Param.Byte[9] = Parameter_ExtraConfig;
   132f0:       80 91 40 06     lds     r24, 0x0640
   132f4:       80 93 05 09     sts     0x0905, r24
                        ToNaviCtrl.Param.Byte[10] = EE_Parameter.OrientationAngle;
   132f8:       80 91 a1 05     lds     r24, 0x05A1
   132fc:       80 93 06 09     sts     0x0906, r24
                        ToNaviCtrl.Param.Byte[11] = EE_Parameter.GlobalConfig3;
   13300:       80 91 b9 05     lds     r24, 0x05B9
   13304:       80 93 07 09     sts     0x0907, r24
                break;
   13308:       30 c0           rjmp    .+96            ; 0x1336a <UpdateSPI_Buffer+0x6b2>
            case SPI_FCCMD_SERVOS:
                        ToNaviCtrl.Param.Int[0] = Capacity.UsedCapacity; // mAh
   1330a:       80 91 19 05     lds     r24, 0x0519
   1330e:       90 91 1a 05     lds     r25, 0x051A
   13312:       90 93 fd 08     sts     0x08FD, r25
   13316:       80 93 fc 08     sts     0x08FC, r24
                        ToNaviCtrl.Param.Byte[2] = Parameter_ServoNickControl;
   1331a:       80 91 2f 01     lds     r24, 0x012F
   1331e:       80 93 fe 08     sts     0x08FE, r24
                        ToNaviCtrl.Param.Byte[3] = Parameter_ServoRollControl;
   13322:       80 91 2e 01     lds     r24, 0x012E
   13326:       80 93 ff 08     sts     0x08FF, r24
                        ToNaviCtrl.Param.Byte[4] = DebugOut.Analog[28]; // I2C-Error counter
   1332a:       80 91 80 0c     lds     r24, 0x0C80
   1332e:       80 93 00 09     sts     0x0900, r24
                        ToNaviCtrl.Param.Byte[5] = FC_StatusFlags3;
   13332:       80 91 c9 03     lds     r24, 0x03C9
   13336:       80 93 01 09     sts     0x0901, r24
                        ToNaviCtrl.Param.Byte[6] = EE_Parameter.NaviDescendRange; // in 10m
   1333a:       80 91 9f 05     lds     r24, 0x059F
   1333e:       80 93 02 09     sts     0x0902, r24
                        ToNaviCtrl.Param.Byte[7] = Parameter_MaximumAltitude;
   13342:       80 91 24 06     lds     r24, 0x0624
   13346:       80 93 03 09     sts     0x0903, r24
                        ToNaviCtrl.Param.Int[4] = FlugMinutenGesamt; // 8 & 9
   1334a:       80 91 60 04     lds     r24, 0x0460
   1334e:       90 91 61 04     lds     r25, 0x0461
   13352:       90 93 05 09     sts     0x0905, r25
   13356:       80 93 04 09     sts     0x0904, r24
                        ToNaviCtrl.Param.Byte[10] = EE_Parameter.CamOrientation;
   1335a:       80 91 75 05     lds     r24, 0x0575
   1335e:       80 93 06 09     sts     0x0906, r24
                        ToNaviCtrl.Param.Byte[11] = VersionInfo.BL_Firmware; 
   13362:       80 91 65 0a     lds     r24, 0x0A65
   13366:       80 93 07 09     sts     0x0907, r24
                break;
        }
      
  if(SPI_RxDataValid)
   1336a:       80 91 0b 09     lds     r24, 0x090B
   1336e:       88 23           and     r24, r24
   13370:       09 f4           brne    .+2             ; 0x13374 <UpdateSPI_Buffer+0x6bc>
   13372:       71 c1           rjmp    .+738           ; 0x13656 <UpdateSPI_Buffer+0x99e>
  {
        if(FromNaviCtrl.Command != oldcommand) NaviDataOkay = 250;
   13374:       60 91 0c 09     lds     r22, 0x090C
   13378:       80 91 95 02     lds     r24, 0x0295
   1337c:       68 17           cp      r22, r24
   1337e:       19 f0           breq    .+6             ; 0x13386 <UpdateSPI_Buffer+0x6ce>
   13380:       8a ef           ldi     r24, 0xFA       ; 250
   13382:       80 93 a4 02     sts     0x02A4, r24
        oldcommand = FromNaviCtrl.Command;
   13386:       60 93 95 02     sts     0x0295, r22
        CalculateCompassTimer = 1;
   1338a:       81 e0           ldi     r24, 0x01       ; 1
   1338c:       80 93 4d 01     sts     0x014D, r24
        if(abs(FromNaviCtrl.GPS_Nick) < 512 && abs(FromNaviCtrl.GPS_Roll) < 512 && (EE_Parameter.GlobalConfig & CFG_GPS_AKTIV))
   13390:       80 91 0d 09     lds     r24, 0x090D
   13394:       90 91 0e 09     lds     r25, 0x090E
   13398:       9c 01           movw    r18, r24
   1339a:       21 50           subi    r18, 0x01       ; 1
   1339c:       3e 4f           sbci    r19, 0xFE       ; 254
   1339e:       2f 3f           cpi     r18, 0xFF       ; 255
   133a0:       33 40           sbci    r19, 0x03       ; 3
   133a2:       b0 f4           brcc    .+44            ; 0x133d0 <UpdateSPI_Buffer+0x718>
   133a4:       20 91 0f 09     lds     r18, 0x090F
   133a8:       30 91 10 09     lds     r19, 0x0910
   133ac:       a9 01           movw    r20, r18
   133ae:       41 50           subi    r20, 0x01       ; 1
   133b0:       5e 4f           sbci    r21, 0xFE       ; 254
   133b2:       4f 3f           cpi     r20, 0xFF       ; 255
   133b4:       53 40           sbci    r21, 0x03       ; 3
   133b6:       60 f4           brcc    .+24            ; 0x133d0 <UpdateSPI_Buffer+0x718>
   133b8:       40 91 4b 05     lds     r20, 0x054B
   133bc:       45 ff           sbrs    r20, 5
   133be:       08 c0           rjmp    .+16            ; 0x133d0 <UpdateSPI_Buffer+0x718>
        {
                GPS_Nick = FromNaviCtrl.GPS_Nick;
   133c0:       90 93 6b 04     sts     0x046B, r25
   133c4:       80 93 6a 04     sts     0x046A, r24
                GPS_Roll = FromNaviCtrl.GPS_Roll;
   133c8:       30 93 69 04     sts     0x0469, r19
   133cc:       20 93 68 04     sts     0x0468, r18
        // update compass readings
//      MagVec.x = FromNaviCtrl.MagVecX;
//      MagVec.y = FromNaviCtrl.MagVecY;
//      MagVec.z = FromNaviCtrl.MagVecZ;

        if(FromNaviCtrl.CompassValue <= 360)   KompassValue = FromNaviCtrl.CompassValue;
   133d0:       80 91 13 09     lds     r24, 0x0913
   133d4:       90 91 14 09     lds     r25, 0x0914
   133d8:       89 36           cpi     r24, 0x69       ; 105
   133da:       f1 e0           ldi     r31, 0x01       ; 1
   133dc:       9f 07           cpc     r25, r31
   133de:       24 f4           brge    .+8             ; 0x133e8 <UpdateSPI_Buffer+0x730>
   133e0:       90 93 4f 01     sts     0x014F, r25
   133e4:       80 93 4e 01     sts     0x014E, r24
//    KompassRichtung = ((540 + KompassValue - KompassSollWert) % 360) - 180;

    if(FromNaviCtrl.BeepTime > beeptime && !DisableRcOffBeeping) beeptime = FromNaviCtrl.BeepTime;
   133e8:       80 91 1d 09     lds     r24, 0x091D
   133ec:       90 91 1e 09     lds     r25, 0x091E
   133f0:       20 91 cd 04     lds     r18, 0x04CD
   133f4:       30 91 ce 04     lds     r19, 0x04CE
   133f8:       28 17           cp      r18, r24
   133fa:       39 07           cpc     r19, r25
   133fc:       40 f4           brcc    .+16            ; 0x1340e <UpdateSPI_Buffer+0x756>
   133fe:       20 91 66 04     lds     r18, 0x0466
   13402:       21 11           cpse    r18, r1
   13404:       04 c0           rjmp    .+8             ; 0x1340e <UpdateSPI_Buffer+0x756>
   13406:       90 93 ce 04     sts     0x04CE, r25
   1340a:       80 93 cd 04     sts     0x04CD, r24
          switch (FromNaviCtrl.Command)
   1340e:       69 36           cpi     r22, 0x69       ; 105
   13410:       09 f4           brne    .+2             ; 0x13414 <UpdateSPI_Buffer+0x75c>
   13412:       85 c0           rjmp    .+266           ; 0x1351e <UpdateSPI_Buffer+0x866>
   13414:       30 f4           brcc    .+12            ; 0x13422 <UpdateSPI_Buffer+0x76a>
   13416:       67 36           cpi     r22, 0x67       ; 103
   13418:       59 f0           breq    .+22            ; 0x13430 <UpdateSPI_Buffer+0x778>
   1341a:       68 36           cpi     r22, 0x68       ; 104
   1341c:       09 f4           brne    .+2             ; 0x13420 <UpdateSPI_Buffer+0x768>
   1341e:       4a c0           rjmp    .+148           ; 0x134b4 <UpdateSPI_Buffer+0x7fc>
   13420:       22 c1           rjmp    .+580           ; 0x13666 <UpdateSPI_Buffer+0x9ae>
   13422:       6a 36           cpi     r22, 0x6A       ; 106
   13424:       09 f4           brne    .+2             ; 0x13428 <UpdateSPI_Buffer+0x770>
   13426:       14 c1           rjmp    .+552           ; 0x13650 <UpdateSPI_Buffer+0x998>
   13428:       6b 36           cpi     r22, 0x6B       ; 107
   1342a:       09 f4           brne    .+2             ; 0x1342e <UpdateSPI_Buffer+0x776>
   1342c:       d7 c0           rjmp    .+430           ; 0x135dc <UpdateSPI_Buffer+0x924>
   1342e:       1b c1           rjmp    .+566           ; 0x13666 <UpdateSPI_Buffer+0x9ae>
          {
            case SPI_NCCMD_KALMAN:
                        FromNaviCtrl_Value.Kalman_K = FromNaviCtrl.Param.sByte[0];
   13430:       80 91 1f 09     lds     r24, 0x091F
   13434:       80 93 4c 09     sts     0x094C, r24
                        FromNaviCtrl_Value.Kalman_MaxFusion = FromNaviCtrl.Param.sByte[1];
   13438:       80 91 20 09     lds     r24, 0x0920
   1343c:       80 93 4e 09     sts     0x094E, r24
                        FromNaviCtrl_Value.Kalman_MaxDrift = FromNaviCtrl.Param.sByte[2];
   13440:       80 91 21 09     lds     r24, 0x0921
   13444:       80 93 4d 09     sts     0x094D, r24
                        KompassFusion = FromNaviCtrl.Param.sByte[3];
   13448:       80 91 22 09     lds     r24, 0x0922
   1344c:       80 93 4c 01     sts     0x014C, r24
                        FromNaviCtrl_Value.GpsZ = FromNaviCtrl.Param.Byte[4];
   13450:       80 91 23 09     lds     r24, 0x0923
   13454:       80 93 50 09     sts     0x0950, r24
                        FromNC_Rotate_C = FromNaviCtrl.Param.Byte[5];
   13458:       80 91 24 09     lds     r24, 0x0924
   1345c:       80 93 a5 02     sts     0x02A5, r24
                        FromNC_Rotate_S = FromNaviCtrl.Param.Byte[6];
   13460:       80 91 25 09     lds     r24, 0x0925
   13464:       80 93 be 04     sts     0x04BE, r24
                        GPS_Aid_StickMultiplikator = FromNaviCtrl.Param.Byte[7];
   13468:       80 91 26 09     lds     r24, 0x0926
   1346c:       80 93 67 04     sts     0x0467, r24
                        if(CareFree && FromNaviCtrl.Param.sInt[4] >= 0)
   13470:       80 91 d8 03     lds     r24, 0x03D8
   13474:       88 23           and     r24, r24
   13476:       51 f0           breq    .+20            ; 0x1348c <UpdateSPI_Buffer+0x7d4>
   13478:       80 91 27 09     lds     r24, 0x0927
   1347c:       90 91 28 09     lds     r25, 0x0928
   13480:       99 23           and     r25, r25
   13482:       24 f0           brlt    .+8             ; 0x1348c <UpdateSPI_Buffer+0x7d4>
                         {
                          KompassSollWert = FromNaviCtrl.Param.sInt[4]; // bei Carefree kann NC den Kompass-Sollwinkel vorgeben
   13484:       90 93 1d 04     sts     0x041D, r25
   13488:       80 93 1c 04     sts     0x041C, r24
                            KompassSollWert += 360 - ((unsigned int) EE_Parameter.CamOrientation * 15);
                                KompassSollWert %= 360;
                           }    
*/
                         }
                        POI_KameraNick = (POI_KameraNick + FromNaviCtrl.Param.sInt[5]) / 2; // FromNaviCtrl.Param.sInt[5]; // Nickwinkel
   1348c:       20 91 29 09     lds     r18, 0x0929
   13490:       30 91 2a 09     lds     r19, 0x092A
   13494:       80 91 b5 04     lds     r24, 0x04B5
   13498:       90 91 b6 04     lds     r25, 0x04B6
   1349c:       82 0f           add     r24, r18
   1349e:       93 1f           adc     r25, r19
   134a0:       99 23           and     r25, r25
   134a2:       0c f4           brge    .+2             ; 0x134a6 <UpdateSPI_Buffer+0x7ee>
   134a4:       01 96           adiw    r24, 0x01       ; 1
   134a6:       95 95           asr     r25
   134a8:       87 95           ror     r24
   134aa:       90 93 b6 04     sts     0x04B6, r25
   134ae:       80 93 b5 04     sts     0x04B5, r24
                        break;
   134b2:       d9 c0           rjmp    .+434           ; 0x13666 <UpdateSPI_Buffer+0x9ae>
                case SPI_NCCMD_VERSION:
                        NC_Version.Major = FromNaviCtrl.Param.Byte[0];
   134b4:       80 91 1f 09     lds     r24, 0x091F
   134b8:       80 93 e1 08     sts     0x08E1, r24
                        NC_Version.Minor = FromNaviCtrl.Param.Byte[1];
   134bc:       80 91 20 09     lds     r24, 0x0920
   134c0:       80 93 e2 08     sts     0x08E2, r24
                        NC_Version.Patch = FromNaviCtrl.Param.Byte[2];
   134c4:       80 91 21 09     lds     r24, 0x0921
   134c8:       80 93 e3 08     sts     0x08E3, r24
                        NC_Version.Compatible = FromNaviCtrl.Param.Byte[3];
   134cc:       80 91 22 09     lds     r24, 0x0922
   134d0:       80 93 e4 08     sts     0x08E4, r24
                        NC_Version.Hardware = FromNaviCtrl.Param.Byte[4];
   134d4:       80 91 23 09     lds     r24, 0x0923
   134d8:       80 93 e5 08     sts     0x08E5, r24
                        DebugOut.Status[0] |= FromNaviCtrl.Param.Byte[5];
   134dc:       e6 e4           ldi     r30, 0x46       ; 70
   134de:       fc e0           ldi     r31, 0x0C       ; 12
   134e0:       90 91 24 09     lds     r25, 0x0924
   134e4:       80 81           ld      r24, Z
   134e6:       89 2b           or      r24, r25
   134e8:       80 83           st      Z, r24
                        DebugOut.Status[1] = (DebugOut.Status[1] & (0x01|0x02)) | (FromNaviCtrl.Param.Byte[6] & (0x04 | 0x08));
   134ea:       e7 e4           ldi     r30, 0x47       ; 71
   134ec:       fc e0           ldi     r31, 0x0C       ; 12
   134ee:       90 91 25 09     lds     r25, 0x0925
   134f2:       9c 70           andi    r25, 0x0C       ; 12
   134f4:       80 81           ld      r24, Z
   134f6:       83 70           andi    r24, 0x03       ; 3
   134f8:       89 2b           or      r24, r25
   134fa:       80 83           st      Z, r24
                        NC_ErrorCode = FromNaviCtrl.Param.Byte[7];
   134fc:       80 91 26 09     lds     r24, 0x0926
   13500:       80 93 bb 04     sts     0x04BB, r24
                        NC_GPS_ModeCharacter = FromNaviCtrl.Param.Byte[8];
   13504:       80 91 27 09     lds     r24, 0x0927
   13508:       80 93 96 02     sts     0x0296, r24
                        FromNaviCtrl_Value.SerialDataOkay = FromNaviCtrl.Param.Byte[9];
   1350c:       80 91 28 09     lds     r24, 0x0928
   13510:       80 93 4f 09     sts     0x094F, r24
                        NC_To_FC_Flags = FromNaviCtrl.Param.Byte[10];
   13514:       80 91 29 09     lds     r24, 0x0929
   13518:       80 93 b7 04     sts     0x04B7, r24
//NC_To_FC_MaxAltitude = FromNaviCtrl.Param.Byte[11];
                        break;
   1351c:       a4 c0           rjmp    .+328           ; 0x13666 <UpdateSPI_Buffer+0x9ae>
                case SPI_NCCMD_GPSINFO:
                        GPSInfo.Flags = FromNaviCtrl.Param.Byte[0];
   1351e:       80 91 1f 09     lds     r24, 0x091F
   13522:       80 93 d7 08     sts     0x08D7, r24
                        GPSInfo.NumOfSats = FromNaviCtrl.Param.Byte[1];
   13526:       80 91 20 09     lds     r24, 0x0920
   1352a:       80 93 d8 08     sts     0x08D8, r24
                        GPSInfo.SatFix = FromNaviCtrl.Param.Byte[2];
   1352e:       80 91 21 09     lds     r24, 0x0921
   13532:       80 93 d9 08     sts     0x08D9, r24
                        GPSInfo.Speed = FromNaviCtrl.Param.Byte[3];
   13536:       80 91 22 09     lds     r24, 0x0922
   1353a:       80 93 da 08     sts     0x08DA, r24
                        GPSInfo.HomeDistance = FromNaviCtrl.Param.Int[2];
   1353e:       80 91 23 09     lds     r24, 0x0923
   13542:       90 91 24 09     lds     r25, 0x0924
   13546:       90 93 dc 08     sts     0x08DC, r25
   1354a:       80 93 db 08     sts     0x08DB, r24
                        GPSInfo.HomeBearing = FromNaviCtrl.Param.sInt[3];
   1354e:       80 91 25 09     lds     r24, 0x0925
   13552:       90 91 26 09     lds     r25, 0x0926
   13556:       90 93 de 08     sts     0x08DE, r25
   1355a:       80 93 dd 08     sts     0x08DD, r24
                        if((signed char) PPM_in[WP_EVENT_PPM_IN] == -127) // zuletzt war der WP-Event auf Null
   1355e:       80 91 6b 08     lds     r24, 0x086B
   13562:       90 91 6c 08     lds     r25, 0x086C
   13566:       81 38           cpi     r24, 0x81       ; 129
   13568:       49 f4           brne    .+18            ; 0x1357c <UpdateSPI_Buffer+0x8c4>
                        {
                          if(!FromNC_WP_EventChannel_New) FromNC_WP_EventChannel_New = (unsigned char) FromNaviCtrl.Param.Byte[8] + 127;  // zwischenspeichern, damit keiner verpasst wird
   1356a:       80 91 bd 04     lds     r24, 0x04BD
   1356e:       81 11           cpse    r24, r1
   13570:       05 c0           rjmp    .+10            ; 0x1357c <UpdateSPI_Buffer+0x8c4>
   13572:       80 91 27 09     lds     r24, 0x0927
   13576:       81 58           subi    r24, 0x81       ; 129
   13578:       80 93 bd 04     sts     0x04BD, r24
                        }
                        PPM_in[WP_EVENT_PPM_IN] = (signed char) FromNaviCtrl.Param.Byte[8]; // WP_EVENT-Channel-Value (FromNC_WP_EventChannel)
   1357c:       80 91 27 09     lds     r24, 0x0927
   13580:       99 27           eor     r25, r25
   13582:       87 fd           sbrc    r24, 7
   13584:       90 95           com     r25
   13586:       90 93 6c 08     sts     0x086C, r25
   1358a:       80 93 6b 08     sts     0x086B, r24
                        FromNC_AltitudeSpeed = FromNaviCtrl.Param.Byte[9];
   1358e:       80 91 28 09     lds     r24, 0x0928
   13592:       80 93 f3 03     sts     0x03F3, r24
                FromNC_AltitudeSetpoint = (long) FromNaviCtrl.Param.sInt[5] * 10;  // in cm
   13596:       80 91 29 09     lds     r24, 0x0929
   1359a:       90 91 2a 09     lds     r25, 0x092A
   1359e:       aa 27           eor     r26, r26
   135a0:       97 fd           sbrc    r25, 7
   135a2:       a0 95           com     r26
   135a4:       ba 2f           mov     r27, r26
   135a6:       88 0f           add     r24, r24
   135a8:       99 1f           adc     r25, r25
   135aa:       aa 1f           adc     r26, r26
   135ac:       bb 1f           adc     r27, r27
   135ae:       ac 01           movw    r20, r24
   135b0:       bd 01           movw    r22, r26
   135b2:       44 0f           add     r20, r20
   135b4:       55 1f           adc     r21, r21
   135b6:       66 1f           adc     r22, r22
   135b8:       77 1f           adc     r23, r23
   135ba:       44 0f           add     r20, r20
   135bc:       55 1f           adc     r21, r21
   135be:       66 1f           adc     r22, r22
   135c0:       77 1f           adc     r23, r23
   135c2:       84 0f           add     r24, r20
   135c4:       95 1f           adc     r25, r21
   135c6:       a6 1f           adc     r26, r22
   135c8:       b7 1f           adc     r27, r23
   135ca:       80 93 f4 03     sts     0x03F4, r24
   135ce:       90 93 f5 03     sts     0x03F5, r25
   135d2:       a0 93 f6 03     sts     0x03F6, r26
   135d6:       b0 93 f7 03     sts     0x03F7, r27
                        break;
   135da:       45 c0           rjmp    .+138           ; 0x13666 <UpdateSPI_Buffer+0x9ae>
                case SPI_MISC:
                        EarthMagneticField = FromNaviCtrl.Param.Byte[0];
   135dc:       80 91 1f 09     lds     r24, 0x091F
   135e0:       80 93 ba 04     sts     0x04BA, r24
                        EarthMagneticInclination = FromNaviCtrl.Param.Byte[1];
   135e4:       80 91 20 09     lds     r24, 0x0920
   135e8:       80 93 b9 04     sts     0x04B9, r24
                        EarthMagneticInclinationTheoretic = FromNaviCtrl.Param.Byte[2];
   135ec:       80 91 21 09     lds     r24, 0x0921
   135f0:       80 93 b8 04     sts     0x04B8, r24
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                        if(FromNaviCtrl.Param.Byte[3]) 
   135f4:       80 91 22 09     lds     r24, 0x0922
   135f8:       88 23           and     r24, r24
   135fa:       49 f0           breq    .+18            ; 0x1360e <UpdateSPI_Buffer+0x956>
            if(!SpeakHoTT || (SpeakHoTT >= SPEAK_GPS_HOLD && SpeakHoTT <= SPEAK_GPS_OFF)) SpeakHoTT = FromNaviCtrl.Param.Byte[3];
   135fc:       90 91 57 01     lds     r25, 0x0157
   13600:       99 23           and     r25, r25
   13602:       19 f0           breq    .+6             ; 0x1360a <UpdateSPI_Buffer+0x952>
   13604:       91 51           subi    r25, 0x11       ; 17
   13606:       93 30           cpi     r25, 0x03       ; 3
   13608:       10 f4           brcc    .+4             ; 0x1360e <UpdateSPI_Buffer+0x956>
   1360a:       80 93 57 01     sts     0x0157, r24
                        NaviData_TargetDistance = FromNaviCtrl.Param.Int[3];
   1360e:       80 91 25 09     lds     r24, 0x0925
   13612:       90 91 26 09     lds     r25, 0x0926
   13616:       90 93 86 04     sts     0x0486, r25
   1361a:       80 93 85 04     sts     0x0485, r24
#endif
                        NaviData_WaypointIndex = FromNaviCtrl.Param.Byte[4];
   1361e:       80 91 23 09     lds     r24, 0x0923
   13622:       80 93 8d 04     sts     0x048D, r24
                        NaviData_WaypointNumber = FromNaviCtrl.Param.Byte[5];
   13626:       80 91 24 09     lds     r24, 0x0924
   1362a:       80 93 8c 04     sts     0x048C, r24
                        NaviData_TargetHoldTime = FromNaviCtrl.Param.Byte[8];
   1362e:       80 91 27 09     lds     r24, 0x0927
   13632:       80 93 8b 04     sts     0x048B, r24
                        NaviData_MaxWpListIndex = FromNaviCtrl.Param.Byte[9];
   13636:       80 91 28 09     lds     r24, 0x0928
   1363a:       80 93 89 04     sts     0x0489, r24
                        CompassCorrected = FromNaviCtrl.Param.sInt[5]; // Bytes 10 & 11
   1363e:       80 91 29 09     lds     r24, 0x0929
   13642:       90 91 2a 09     lds     r25, 0x092A
   13646:       90 93 66 06     sts     0x0666, r25
   1364a:       80 93 65 06     sts     0x0665, r24
                        break;    
   1364e:       0b c0           rjmp    .+22            ; 0x13666 <UpdateSPI_Buffer+0x9ae>

#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                case SPI_NCCMD_HOTT_DATA:
                        //if(EE_Parameter.Receiver == RECEIVER_HOTT) 
                        NC_Fills_HoTT_Telemety();
   13650:       0e 94 3e 61     call    0xc27c  ; 0xc27c <NC_Fills_HoTT_Telemety>
                        break;
   13654:       08 c0           rjmp    .+16            ; 0x13666 <UpdateSPI_Buffer+0x9ae>
  }
  else
  {
//    KompassValue = 0;
//    KompassRichtung = 0;
        GPS_Nick = 0;
   13656:       10 92 6b 04     sts     0x046B, r1
   1365a:       10 92 6a 04     sts     0x046A, r1
    GPS_Roll = 0;
   1365e:       10 92 69 04     sts     0x0469, r1
   13662:       10 92 68 04     sts     0x0468, r1
  }
}
   13666:       1f 91           pop     r17
   13668:       0f 91           pop     r16
   1366a:       ff 90           pop     r15
   1366c:       ef 90           pop     r14
   1366e:       df 90           pop     r13
   13670:       cf 90           pop     r12
   13672:       08 95           ret

00013674 <SPI_StartTransmitPacket>:
}

//------------------------------------------------------
unsigned char SPI_StartTransmitPacket(void)
{
   if(!SPITransferCompleted) return(0);
   13674:       80 91 d6 08     lds     r24, 0x08D6
   13678:       88 23           and     r24, r24
   1367a:       21 f1           breq    .+72            ; 0x136c4 <SPI_StartTransmitPacket+0x50>
   SLAVE_SELECT_PORT &=  ~(1 << SPI_SLAVE_SELECT);  // SelectSlave
   1367c:       45 98           cbi     0x08, 5 ; 8
   SPI_TX_Buffer = (unsigned char *) &ToNaviCtrl;
   1367e:       87 ee           ldi     r24, 0xE7       ; 231
   13680:       98 e0           ldi     r25, 0x08       ; 8
   13682:       90 93 e0 08     sts     0x08E0, r25
   13686:       80 93 df 08     sts     0x08DF, r24

   ToNaviCtrl.Command = SPI_CommandSequence[SPI_CommandCounter++];
   1368a:       e0 91 bc 04     lds     r30, 0x04BC
   1368e:       81 e0           ldi     r24, 0x01       ; 1
   13690:       8e 0f           add     r24, r30
   13692:       80 93 bc 04     sts     0x04BC, r24
   13696:       f0 e0           ldi     r31, 0x00       ; 0
   13698:       e9 56           subi    r30, 0x69       ; 105
   1369a:       fd 4f           sbci    r31, 0xFD       ; 253
   1369c:       90 81           ld      r25, Z
   1369e:       90 93 e9 08     sts     0x08E9, r25
   if (SPI_CommandCounter >= sizeof(SPI_CommandSequence)) SPI_CommandCounter = 0;
   136a2:       8d 30           cpi     r24, 0x0D       ; 13
   136a4:       10 f0           brcs    .+4             ; 0x136aa <SPI_StartTransmitPacket+0x36>
   136a6:       10 92 bc 04     sts     0x04BC, r1

   SPITransferCompleted = 0;
   136aa:       10 92 d6 08     sts     0x08D6, r1
   UpdateSPI_Buffer();                              // update buffer
   136ae:       04 db           rcall   .-2552          ; 0x12cb8 <UpdateSPI_Buffer>
   SPI_BufferIndex = 1;
   136b0:       81 e0           ldi     r24, 0x01       ; 1
   136b2:       80 93 e6 08     sts     0x08E6, r24
   ToNaviCtrl.Chksum = ToNaviCtrl.Sync1;
   136b6:       80 91 e7 08     lds     r24, 0x08E7
   136ba:       80 93 08 09     sts     0x0908, r24
   SPDR = ToNaviCtrl.Sync1;                  // Start transmission
   136be:       8e bd           out     0x2e, r24       ; 46
   return(1);
   136c0:       81 e0           ldi     r24, 0x01       ; 1
   136c2:       08 95           ret
}

//------------------------------------------------------
unsigned char SPI_StartTransmitPacket(void)
{
   if(!SPITransferCompleted) return(0);
   136c4:       80 e0           ldi     r24, 0x00       ; 0
   UpdateSPI_Buffer();                              // update buffer
   SPI_BufferIndex = 1;
   ToNaviCtrl.Chksum = ToNaviCtrl.Sync1;
   SPDR = ToNaviCtrl.Sync1;                  // Start transmission
   return(1);
}
   136c6:       08 95           ret

000136c8 <__vector_18>:
void Delay_ms(unsigned int w)
{
 unsigned int akt;
 akt = SetDelay(w);
 while (!CheckDelay(akt));
}
   136c8:       1f 92           push    r1
   136ca:       0f 92           push    r0
   136cc:       0f b6           in      r0, 0x3f        ; 63
   136ce:       0f 92           push    r0
   136d0:       11 24           eor     r1, r1
   136d2:       0b b6           in      r0, 0x3b        ; 59
   136d4:       0f 92           push    r0
   136d6:       2f 93           push    r18
   136d8:       3f 93           push    r19
   136da:       4f 93           push    r20
   136dc:       5f 93           push    r21
   136de:       6f 93           push    r22
   136e0:       7f 93           push    r23
   136e2:       8f 93           push    r24
   136e4:       9f 93           push    r25
   136e6:       af 93           push    r26
   136e8:       bf 93           push    r27
   136ea:       ef 93           push    r30
   136ec:       ff 93           push    r31
   136ee:       80 91 cc 04     lds     r24, 0x04CC
   136f2:       88 23           and     r24, r24
   136f4:       29 f0           breq    .+10            ; 0x13700 <__vector_18+0x38>
   136f6:       80 91 cc 04     lds     r24, 0x04CC
   136fa:       81 50           subi    r24, 0x01       ; 1
   136fc:       80 93 cc 04     sts     0x04CC, r24
   13700:       80 91 b0 04     lds     r24, 0x04B0
   13704:       88 23           and     r24, r24
   13706:       19 f0           breq    .+6             ; 0x1370e <__vector_18+0x46>
   13708:       81 50           subi    r24, 0x01       ; 1
   1370a:       80 93 b0 04     sts     0x04B0, r24
   1370e:       80 91 c3 04     lds     r24, 0x04C3
   13712:       88 23           and     r24, r24
   13714:       21 f0           breq    .+8             ; 0x1371e <__vector_18+0x56>
   13716:       81 50           subi    r24, 0x01       ; 1
   13718:       80 93 c3 04     sts     0x04C3, r24
   1371c:       53 c0           rjmp    .+166           ; 0x137c4 <__vector_18+0xfc>
   1371e:       89 e0           ldi     r24, 0x09       ; 9
   13720:       80 93 c3 04     sts     0x04C3, r24
   13724:       80 91 d2 04     lds     r24, 0x04D2
   13728:       90 91 d3 04     lds     r25, 0x04D3
   1372c:       01 96           adiw    r24, 0x01       ; 1
   1372e:       90 93 d3 04     sts     0x04D3, r25
   13732:       80 93 d2 04     sts     0x04D2, r24
   13736:       80 91 a6 02     lds     r24, 0x02A6
   1373a:       8f 5f           subi    r24, 0xFF       ; 255
   1373c:       81 70           andi    r24, 0x01       ; 1
   1373e:       80 93 a6 02     sts     0x02A6, r24
   13742:       81 11           cpse    r24, r1
   13744:       09 c0           rjmp    .+18            ; 0x13758 <__vector_18+0x90>
   13746:       80 91 d1 04     lds     r24, 0x04D1
   1374a:       84 30           cpi     r24, 0x04       ; 4
   1374c:       28 f4           brcc    .+10            ; 0x13758 <__vector_18+0x90>
   1374e:       80 91 d1 04     lds     r24, 0x04D1
   13752:       8f 5f           subi    r24, 0xFF       ; 255
   13754:       80 93 d1 04     sts     0x04D1, r24
   13758:       34 99           sbic    0x06, 4 ; 6
   1375a:       03 c0           rjmp    .+6             ; 0x13762 <__vector_18+0x9a>
   1375c:       81 e0           ldi     r24, 0x01       ; 1
   1375e:       80 93 ca 04     sts     0x04CA, r24
   13762:       80 91 cd 04     lds     r24, 0x04CD
   13766:       90 91 ce 04     lds     r25, 0x04CE
   1376a:       89 2b           or      r24, r25
   1376c:       09 f1           breq    .+66            ; 0x137b0 <__vector_18+0xe8>
   1376e:       80 91 cd 04     lds     r24, 0x04CD
   13772:       90 91 ce 04     lds     r25, 0x04CE
   13776:       0b 97           sbiw    r24, 0x0b       ; 11
   13778:       50 f0           brcs    .+20            ; 0x1378e <__vector_18+0xc6>
   1377a:       80 91 cd 04     lds     r24, 0x04CD
   1377e:       90 91 ce 04     lds     r25, 0x04CE
   13782:       0a 97           sbiw    r24, 0x0a       ; 10
   13784:       90 93 ce 04     sts     0x04CE, r25
   13788:       80 93 cd 04     sts     0x04CD, r24
   1378c:       04 c0           rjmp    .+8             ; 0x13796 <__vector_18+0xce>
   1378e:       10 92 ce 04     sts     0x04CE, r1
   13792:       10 92 cd 04     sts     0x04CD, r1
   13796:       20 91 cd 04     lds     r18, 0x04CD
   1379a:       30 91 ce 04     lds     r19, 0x04CE
   1379e:       80 91 a9 02     lds     r24, 0x02A9
   137a2:       90 91 aa 02     lds     r25, 0x02AA
   137a6:       82 23           and     r24, r18
   137a8:       93 23           and     r25, r19
   137aa:       89 2b           or      r24, r25
   137ac:       41 f4           brne    .+16            ; 0x137be <__vector_18+0xf6>
   137ae:       09 c0           rjmp    .+18            ; 0x137c2 <__vector_18+0xfa>
   137b0:       8f ef           ldi     r24, 0xFF       ; 255
   137b2:       9f ef           ldi     r25, 0xFF       ; 255
   137b4:       90 93 aa 02     sts     0x02AA, r25
   137b8:       80 93 a9 02     sts     0x02A9, r24
   137bc:       02 c0           rjmp    .+4             ; 0x137c2 <__vector_18+0xfa>
   137be:       47 9a           sbi     0x08, 7 ; 8
   137c0:       01 c0           rjmp    .+2             ; 0x137c4 <__vector_18+0xfc>
   137c2:       47 98           cbi     0x08, 7 ; 8
   137c4:       80 91 ca 04     lds     r24, 0x04CA
   137c8:       88 23           and     r24, r24
   137ca:       09 f4           brne    .+2             ; 0x137ce <__vector_18+0x106>
   137cc:       60 c0           rjmp    .+192           ; 0x1388e <__vector_18+0x1c6>
   137ce:       80 91 a4 02     lds     r24, 0x02A4
   137d2:       81 11           cpse    r24, r1
   137d4:       5c c0           rjmp    .+184           ; 0x1388e <__vector_18+0x1c6>
   137d6:       80 91 5c 06     lds     r24, 0x065C
   137da:       83 ff           sbrs    r24, 3
   137dc:       58 c0           rjmp    .+176           ; 0x1388e <__vector_18+0x1c6>
   137de:       34 9b           sbis    0x06, 4 ; 6
   137e0:       10 c0           rjmp    .+32            ; 0x13802 <__vector_18+0x13a>
   137e2:       80 91 cf 04     lds     r24, 0x04CF
   137e6:       90 91 d0 04     lds     r25, 0x04D0
   137ea:       01 96           adiw    r24, 0x01       ; 1
   137ec:       90 93 d0 04     sts     0x04D0, r25
   137f0:       80 93 cf 04     sts     0x04CF, r24
   137f4:       89 3e           cpi     r24, 0xE9       ; 233
   137f6:       93 40           sbci    r25, 0x03       ; 3
   137f8:       08 f4           brcc    .+2             ; 0x137fc <__vector_18+0x134>
   137fa:       49 c0           rjmp    .+146           ; 0x1388e <__vector_18+0x1c6>
   137fc:       10 92 ca 04     sts     0x04CA, r1
   13800:       46 c0           rjmp    .+140           ; 0x1388e <__vector_18+0x1c6>
   13802:       80 91 cf 04     lds     r24, 0x04CF
   13806:       90 91 d0 04     lds     r25, 0x04D0
   1380a:       89 2b           or      r24, r25
   1380c:       e1 f1           breq    .+120           ; 0x13886 <__vector_18+0x1be>
   1380e:       80 91 cf 04     lds     r24, 0x04CF
   13812:       90 91 d0 04     lds     r25, 0x04D0
   13816:       8a 36           cpi     r24, 0x6A       ; 106
   13818:       91 40           sbci    r25, 0x01       ; 1
   1381a:       a8 f5           brcc    .+106           ; 0x13886 <__vector_18+0x1be>
   1381c:       40 91 cf 04     lds     r20, 0x04CF
   13820:       50 91 d0 04     lds     r21, 0x04D0
   13824:       e0 91 cf 04     lds     r30, 0x04CF
   13828:       f0 91 d0 04     lds     r31, 0x04D0
   1382c:       9a 01           movw    r18, r20
   1382e:       ad e9           ldi     r26, 0x9D       ; 157
   13830:       bf e8           ldi     r27, 0x8F       ; 143
   13832:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
   13836:       48 1b           sub     r20, r24
   13838:       59 0b           sbc     r21, r25
   1383a:       56 95           lsr     r21
   1383c:       47 95           ror     r20
   1383e:       84 0f           add     r24, r20
   13840:       95 1f           adc     r25, r21
   13842:       96 95           lsr     r25
   13844:       87 95           ror     r24
   13846:       92 95           swap    r25
   13848:       82 95           swap    r24
   1384a:       8f 70           andi    r24, 0x0F       ; 15
   1384c:       89 27           eor     r24, r25
   1384e:       9f 70           andi    r25, 0x0F       ; 15
   13850:       89 27           eor     r24, r25
   13852:       e8 0f           add     r30, r24
   13854:       f9 1f           adc     r31, r25
   13856:       f0 93 d0 04     sts     0x04D0, r31
   1385a:       e0 93 cf 04     sts     0x04CF, r30
   1385e:       80 91 cf 04     lds     r24, 0x04CF
   13862:       90 91 d0 04     lds     r25, 0x04D0
   13866:       0b 97           sbiw    r24, 0x0b       ; 11
   13868:       50 f0           brcs    .+20            ; 0x1387e <__vector_18+0x1b6>
   1386a:       80 91 cf 04     lds     r24, 0x04CF
   1386e:       90 91 d0 04     lds     r25, 0x04D0
   13872:       0a 97           sbiw    r24, 0x0a       ; 10
   13874:       90 93 4f 01     sts     0x014F, r25
   13878:       80 93 4e 01     sts     0x014E, r24
   1387c:       04 c0           rjmp    .+8             ; 0x13886 <__vector_18+0x1be>
   1387e:       10 92 4f 01     sts     0x014F, r1
   13882:       10 92 4e 01     sts     0x014E, r1
   13886:       10 92 d0 04     sts     0x04D0, r1
   1388a:       10 92 cf 04     sts     0x04CF, r1
   1388e:       ff 91           pop     r31
   13890:       ef 91           pop     r30
   13892:       bf 91           pop     r27
   13894:       af 91           pop     r26
   13896:       9f 91           pop     r25
   13898:       8f 91           pop     r24
   1389a:       7f 91           pop     r23
   1389c:       6f 91           pop     r22
   1389e:       5f 91           pop     r21
   138a0:       4f 91           pop     r20
   138a2:       3f 91           pop     r19
   138a4:       2f 91           pop     r18
   138a6:       0f 90           pop     r0
   138a8:       0b be           out     0x3b, r0        ; 59
   138aa:       0f 90           pop     r0
   138ac:       0f be           out     0x3f, r0        ; 63
   138ae:       0f 90           pop     r0
   138b0:       1f 90           pop     r1
   138b2:       18 95           reti

000138b4 <SetDelay>:
   138b4:       20 91 d2 04     lds     r18, 0x04D2
   138b8:       30 91 d3 04     lds     r19, 0x04D3
   138bc:       2f 5f           subi    r18, 0xFF       ; 255
   138be:       3f 4f           sbci    r19, 0xFF       ; 255
   138c0:       82 0f           add     r24, r18
   138c2:       93 1f           adc     r25, r19
   138c4:       08 95           ret

000138c6 <CheckDelay>:
   138c6:       20 91 d2 04     lds     r18, 0x04D2
   138ca:       30 91 d3 04     lds     r19, 0x04D3
   138ce:       82 1b           sub     r24, r18
   138d0:       93 0b           sbc     r25, r19
   138d2:       88 27           eor     r24, r24
   138d4:       90 78           andi    r25, 0x80       ; 128
   138d6:       89 2f           mov     r24, r25
   138d8:       86 95           lsr     r24
   138da:       08 95           ret

000138dc <Delay_ms_Mess>:

void Delay_ms_Mess(unsigned int w)
{
   138dc:       ff 92           push    r15
   138de:       0f 93           push    r16
   138e0:       1f 93           push    r17
   138e2:       cf 93           push    r28
   138e4:       df 93           push    r29

// -----------------------------------------------------------------------
unsigned int SetDelay(unsigned int t)
{
//  TIMSK0 &= ~_BV(TOIE0);
  return(CountMilliseconds + t + 1);
   138e6:       c0 91 d2 04     lds     r28, 0x04D2
   138ea:       d0 91 d3 04     lds     r29, 0x04D3
   138ee:       21 96           adiw    r28, 0x01       ; 1
   138f0:       c8 0f           add     r28, r24
   138f2:       d9 1f           adc     r29, r25

void Delay_ms_Mess(unsigned int w)
{
 unsigned int akt;
 akt = SetDelay(w);
 while (!CheckDelay(akt)) if(AdReady) {AdReady = 0; ANALOG_ON;}
   138f4:       0a e7           ldi     r16, 0x7A       ; 122
   138f6:       10 e0           ldi     r17, 0x00       ; 0
   138f8:       0f 2e           mov     r0, r31
   138fa:       ff ec           ldi     r31, 0xCF       ; 207
   138fc:       ff 2e           mov     r15, r31
   138fe:       f0 2d           mov     r31, r0
   13900:       08 c0           rjmp    .+16            ; 0x13912 <Delay_ms_Mess+0x36>
   13902:       80 91 0f 01     lds     r24, 0x010F
   13906:       88 23           and     r24, r24
   13908:       21 f0           breq    .+8             ; 0x13912 <Delay_ms_Mess+0x36>
   1390a:       10 92 0f 01     sts     0x010F, r1
   1390e:       f8 01           movw    r30, r16
   13910:       f0 82           st      Z, r15
   13912:       ce 01           movw    r24, r28
   13914:       d8 df           rcall   .-80            ; 0x138c6 <CheckDelay>
   13916:       88 23           and     r24, r24
   13918:       a1 f3           breq    .-24            ; 0x13902 <Delay_ms_Mess+0x26>
}
   1391a:       df 91           pop     r29
   1391c:       cf 91           pop     r28
   1391e:       1f 91           pop     r17
   13920:       0f 91           pop     r16
   13922:       ff 90           pop     r15
   13924:       08 95           ret

00013926 <TIMER2_Init>:
/*****************************************************/
// The timer 2 is used to generate the PWM at PD7 (J7)
// to control a camera servo for nick compensation.
void TIMER2_Init(void)
{
        uint8_t sreg = SREG;
   13926:       8f b7           in      r24, 0x3f       ; 63

        // disable all interrupts before reconfiguration
        cli();
   13928:       f8 94           cli

        PORTD &= ~(1<<PORTD7);  // set PD7 to low
   1392a:       5f 98           cbi     0x0b, 7 ; 11

        DDRC  |= (1<<DDRC6);     // set PC6 as output (Reset for HEF4017)
   1392c:       3e 9a           sbi     0x07, 6 ; 7
    HEF4017Reset_ON;
   1392e:       46 9a           sbi     0x08, 6 ; 8
        // Timer/Counter 2 Control Register A

        // Timer Mode is FastPWM with timer reload at OCR2A (Bits: WGM22 = 1, WGM21 = 1, WGM20 = 1)
    // PD7: Normal port operation, OC2A disconnected, (Bits: COM2A1 = 0, COM2A0 = 0)
    // PD6: Normal port operation, OC2B disconnected, (Bits: COM2B1 = 0, COM2B0 = 0)
        TCCR2A &= ~((1<<COM2A1)|(1<<COM2A0)|(1<<COM2B1)|(1<<COM2B0));
   13930:       e0 eb           ldi     r30, 0xB0       ; 176
   13932:       f0 e0           ldi     r31, 0x00       ; 0
   13934:       90 81           ld      r25, Z
   13936:       9f 70           andi    r25, 0x0F       ; 15
   13938:       90 83           st      Z, r25
    TCCR2A |= (1<<WGM21)|(1<<WGM20);
   1393a:       90 81           ld      r25, Z
   1393c:       93 60           ori     r25, 0x03       ; 3
   1393e:       90 83           st      Z, r25
        // Set clock divider for timer 2 to SYSKLOCK/32 = 20MHz / 32 = 625 kHz
        // The timer increments from 0x00 to 0xFF with an update rate of 625 kHz or 1.6 us
        // hence the timer overflow interrupt frequency is 625 kHz / 256 = 2.44 kHz or 0.4096 ms

    // divider 32 (Bits: CS022 = 0, CS21 = 1, CS20 = 1)
        TCCR2B &= ~((1<<FOC2A)|(1<<FOC2B)|(1<<CS22));
   13940:       a1 eb           ldi     r26, 0xB1       ; 177
   13942:       b0 e0           ldi     r27, 0x00       ; 0
   13944:       9c 91           ld      r25, X
   13946:       9b 73           andi    r25, 0x3B       ; 59
   13948:       9c 93           st      X, r25
    TCCR2B |= (1<<CS21)|(1<<CS20)|(1<<WGM22);
   1394a:       9c 91           ld      r25, X
   1394c:       9b 60           ori     r25, 0x0B       ; 11
   1394e:       9c 93           st      X, r25

        // Initialize the Timer/Counter 2 Register
    TCNT2 = 0;
   13950:       10 92 b2 00     sts     0x00B2, r1

        // Initialize the Output Compare Register A used for PWM generation on port PD7.
        OCR2A = 255;
   13954:       9f ef           ldi     r25, 0xFF       ; 255
   13956:       90 93 b3 00     sts     0x00B3, r25
        TCCR2A |= (1<<COM2A1); // set or clear at compare match depends on value of COM2A0
   1395a:       90 81           ld      r25, Z
   1395c:       90 68           ori     r25, 0x80       ; 128
   1395e:       90 83           st      Z, r25

        // Timer/Counter 2 Interrupt Mask Register
        // Enable timer output compare match A Interrupt only
        TIMSK2 &= ~((1<<OCIE2B)|(1<<TOIE2));
   13960:       e0 e7           ldi     r30, 0x70       ; 112
   13962:       f0 e0           ldi     r31, 0x00       ; 0
   13964:       90 81           ld      r25, Z
   13966:       9a 7f           andi    r25, 0xFA       ; 250
   13968:       90 83           st      Z, r25
        TIMSK2 |= (1<<OCIE2A);
   1396a:       90 81           ld      r25, Z
   1396c:       92 60           ori     r25, 0x02       ; 2
   1396e:       90 83           st      Z, r25

    SREG = sreg;
   13970:       8f bf           out     0x3f, r24       ; 63
   13972:       08 95           ret

00013974 <Timer_Init>:

// -----------------------------------------------------------------------
unsigned int SetDelay(unsigned int t)
{
//  TIMSK0 &= ~_BV(TOIE0);
  return(CountMilliseconds + t + 1);
   13974:       80 91 d2 04     lds     r24, 0x04D2
   13978:       90 91 d3 04     lds     r25, 0x04D3
   1397c:       0b 96           adiw    r24, 0x0b       ; 11
}

//----------------------------
void Timer_Init(void)
{
    tim_main = SetDelay(10);
   1397e:       90 93 52 09     sts     0x0952, r25
   13982:       80 93 51 09     sts     0x0951, r24
    TCCR0B = CK8;
   13986:       82 e0           ldi     r24, 0x02       ; 2
   13988:       85 bd           out     0x25, r24       ; 37
//    TCCR0A = (1<<COM0A1)|(1<<COM0B1)|3;//fast PWM
    TCCR0A = (1<<COM0A1)|(1<<COM0B1)|(1<<COM0B0)|3;//fast PWM
   1398a:       83 eb           ldi     r24, 0xB3       ; 179
   1398c:       84 bd           out     0x24, r24       ; 36
    OCR0B =  255;
   1398e:       8f ef           ldi     r24, 0xFF       ; 255
   13990:       88 bd           out     0x28, r24       ; 40
    OCR0A = 180;
   13992:       84 eb           ldi     r24, 0xB4       ; 180
   13994:       87 bd           out     0x27, r24       ; 39
    TCNT0 = (unsigned char)-TIMER_RELOAD_VALUE;  // reload
   13996:       86 e0           ldi     r24, 0x06       ; 6
   13998:       86 bd           out     0x26, r24       ; 38
    //OCR1  = 0x00;
    TIMSK0 |= _BV(TOIE0);
   1399a:       ee e6           ldi     r30, 0x6E       ; 110
   1399c:       f0 e0           ldi     r31, 0x00       ; 0
   1399e:       80 81           ld      r24, Z
   139a0:       81 60           ori     r24, 0x01       ; 1
   139a2:       80 83           st      Z, r24
   139a4:       08 95           ret

000139a6 <CalcNickServoValue>:
/*****************************************************/
void CalcNickServoValue(void)
{
 signed int max, min;

 if(EE_Parameter.ServoCompInvert & SERVO_RELATIVE) // relative moving of the servo value
   139a6:       80 91 b7 05     lds     r24, 0x05B7
   139aa:       82 ff           sbrs    r24, 2
   139ac:       32 c0           rjmp    .+100           ; 0x13a12 <CalcNickServoValue+0x6c>
  {
        max = ((unsigned int) EE_Parameter.ServoNickMax * MULTIPLYER * 15);
   139ae:       50 91 6e 05     lds     r21, 0x056E
        min = ((unsigned int) EE_Parameter.ServoNickMin * MULTIPLYER * 20);
   139b2:       20 91 6d 05     lds     r18, 0x056D
   139b6:       40 e5           ldi     r20, 0x50       ; 80
   139b8:       24 9f           mul     r18, r20
   139ba:       90 01           movw    r18, r0
   139bc:       11 24           eor     r1, r1
        NickServoValue -= ((signed char) (Parameter_ServoNickControl - 128) / 4) * 6;
   139be:       80 91 2f 01     lds     r24, 0x012F
   139c2:       80 58           subi    r24, 0x80       ; 128
   139c4:       0a f4           brpl    .+2             ; 0x139c8 <CalcNickServoValue+0x22>
   139c6:       8d 5f           subi    r24, 0xFD       ; 253
   139c8:       48 2f           mov     r20, r24
   139ca:       45 95           asr     r20
   139cc:       45 95           asr     r20
   139ce:       80 91 a7 02     lds     r24, 0x02A7
   139d2:       90 91 a8 02     lds     r25, 0x02A8
   139d6:       66 e0           ldi     r22, 0x06       ; 6
   139d8:       46 02           muls    r20, r22
   139da:       80 19           sub     r24, r0
   139dc:       91 09           sbc     r25, r1
   139de:       11 24           eor     r1, r1
        LIMIT_MIN_MAX(NickServoValue,min, max);
   139e0:       28 17           cp      r18, r24
   139e2:       39 07           cpc     r19, r25
   139e4:       2c f0           brlt    .+10            ; 0x139f0 <CalcNickServoValue+0x4a>
   139e6:       30 93 a8 02     sts     0x02A8, r19
   139ea:       20 93 a7 02     sts     0x02A7, r18
   139ee:       08 95           ret
{
 signed int max, min;

 if(EE_Parameter.ServoCompInvert & SERVO_RELATIVE) // relative moving of the servo value
  {
        max = ((unsigned int) EE_Parameter.ServoNickMax * MULTIPLYER * 15);
   139f0:       4c e3           ldi     r20, 0x3C       ; 60
   139f2:       54 9f           mul     r21, r20
   139f4:       90 01           movw    r18, r0
   139f6:       11 24           eor     r1, r1
        min = ((unsigned int) EE_Parameter.ServoNickMin * MULTIPLYER * 20);
        NickServoValue -= ((signed char) (Parameter_ServoNickControl - 128) / 4) * 6;
        LIMIT_MIN_MAX(NickServoValue,min, max);
   139f8:       82 17           cp      r24, r18
   139fa:       93 07           cpc     r25, r19
   139fc:       2c f4           brge    .+10            ; 0x13a08 <CalcNickServoValue+0x62>

 if(EE_Parameter.ServoCompInvert & SERVO_RELATIVE) // relative moving of the servo value
  {
        max = ((unsigned int) EE_Parameter.ServoNickMax * MULTIPLYER * 15);
        min = ((unsigned int) EE_Parameter.ServoNickMin * MULTIPLYER * 20);
        NickServoValue -= ((signed char) (Parameter_ServoNickControl - 128) / 4) * 6;
   139fe:       90 93 a8 02     sts     0x02A8, r25
   13a02:       80 93 a7 02     sts     0x02A7, r24
   13a06:       08 95           ret
        LIMIT_MIN_MAX(NickServoValue,min, max);
   13a08:       30 93 a8 02     sts     0x02A8, r19
   13a0c:       20 93 a7 02     sts     0x02A7, r18
   13a10:       08 95           ret
  }
  else NickServoValue = (int16_t)Parameter_ServoNickControl * (MULTIPLYER*16);  // direct poti control
   13a12:       80 91 2f 01     lds     r24, 0x012F
   13a16:       60 e4           ldi     r22, 0x40       ; 64
   13a18:       86 9f           mul     r24, r22
   13a1a:       c0 01           movw    r24, r0
   13a1c:       11 24           eor     r1, r1
   13a1e:       90 93 a8 02     sts     0x02A8, r25
   13a22:       80 93 a7 02     sts     0x02A7, r24
   13a26:       08 95           ret

00013a28 <CalculateServo>:
}

void CalculateServo(void)
{
   13a28:       8f 92           push    r8
   13a2a:       9f 92           push    r9
   13a2c:       af 92           push    r10
   13a2e:       bf 92           push    r11
   13a30:       cf 92           push    r12
   13a32:       df 92           push    r13
   13a34:       ef 92           push    r14
   13a36:       ff 92           push    r15
   13a38:       0f 93           push    r16
   13a3a:       1f 93           push    r17
 signed char cosinus, sinus;
 signed long nick, roll;

        cosinus = sintab[EE_Parameter.CamOrientation + 6];
   13a3c:       e0 91 75 05     lds     r30, 0x0575
   13a40:       f0 e0           ldi     r31, 0x00       ; 0
   13a42:       e5 53           subi    r30, 0x35       ; 53
   13a44:       fd 4f           sbci    r31, 0xFD       ; 253
   13a46:       a6 81           ldd     r26, Z+6        ; 0x06
        sinus = sintab[EE_Parameter.CamOrientation];
   13a48:       e0 81           ld      r30, Z

  if(CalculateServoSignals == 1)
   13a4a:       80 91 af 02     lds     r24, 0x02AF
   13a4e:       81 30           cpi     r24, 0x01       ; 1
   13a50:       09 f0           breq    .+2             ; 0x13a54 <CalculateServo+0x2c>
   13a52:       31 c1           rjmp    .+610           ; 0x13cb6 <CalculateServo+0x28e>
   {
            if(EE_Parameter.GlobalConfig3 & CFG3_SERVO_NICK_COMP_OFF) nick = 0;
   13a54:       80 91 b9 05     lds     r24, 0x05B9
   13a58:       88 23           and     r24, r24
   13a5a:       0c f4           brge    .+2             ; 0x13a5e <CalculateServo+0x36>
   13a5c:       47 c0           rjmp    .+142           ; 0x13aec <CalculateServo+0xc4>
            else nick = (cosinus * IntegralNick) / 128L - (sinus * IntegralRoll) / 128L;
   13a5e:       20 91 42 04     lds     r18, 0x0442
   13a62:       30 91 43 04     lds     r19, 0x0443
   13a66:       40 91 44 04     lds     r20, 0x0444
   13a6a:       50 91 45 04     lds     r21, 0x0445
   13a6e:       bb 27           eor     r27, r27
   13a70:       a7 fd           sbrc    r26, 7
   13a72:       b0 95           com     r27
   13a74:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
   13a78:       8b 01           movw    r16, r22
   13a7a:       9c 01           movw    r18, r24
   13a7c:       99 23           and     r25, r25
   13a7e:       24 f4           brge    .+8             ; 0x13a88 <CalculateServo+0x60>
   13a80:       01 58           subi    r16, 0x81       ; 129
   13a82:       1f 4f           sbci    r17, 0xFF       ; 255
   13a84:       2f 4f           sbci    r18, 0xFF       ; 255
   13a86:       3f 4f           sbci    r19, 0xFF       ; 255
   13a88:       68 01           movw    r12, r16
   13a8a:       79 01           movw    r14, r18
   13a8c:       68 94           set
   13a8e:       16 f8           bld     r1, 6
   13a90:       f5 94           asr     r15
   13a92:       e7 94           ror     r14
   13a94:       d7 94           ror     r13
   13a96:       c7 94           ror     r12
   13a98:       16 94           lsr     r1
   13a9a:       d1 f7           brne    .-12            ; 0x13a90 <CalculateServo+0x68>
   13a9c:       20 91 3e 04     lds     r18, 0x043E
   13aa0:       30 91 3f 04     lds     r19, 0x043F
   13aa4:       40 91 40 04     lds     r20, 0x0440
   13aa8:       50 91 41 04     lds     r21, 0x0441
   13aac:       ae 2f           mov     r26, r30
   13aae:       bb 27           eor     r27, r27
   13ab0:       a7 fd           sbrc    r26, 7
   13ab2:       b0 95           com     r27
   13ab4:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
   13ab8:       4b 01           movw    r8, r22
   13aba:       5c 01           movw    r10, r24
   13abc:       99 23           and     r25, r25
   13abe:       2c f4           brge    .+10            ; 0x13aca <CalculateServo+0xa2>
   13ac0:       2f e7           ldi     r18, 0x7F       ; 127
   13ac2:       82 0e           add     r8, r18
   13ac4:       91 1c           adc     r9, r1
   13ac6:       a1 1c           adc     r10, r1
   13ac8:       b1 1c           adc     r11, r1
   13aca:       d5 01           movw    r26, r10
   13acc:       c4 01           movw    r24, r8
   13ace:       68 94           set
   13ad0:       16 f8           bld     r1, 6
   13ad2:       b5 95           asr     r27
   13ad4:       a7 95           ror     r26
   13ad6:       97 95           ror     r25
   13ad8:       87 95           ror     r24
   13ada:       16 94           lsr     r1
   13adc:       d1 f7           brne    .-12            ; 0x13ad2 <CalculateServo+0xaa>
   13ade:       97 01           movw    r18, r14
   13ae0:       86 01           movw    r16, r12
   13ae2:       08 1b           sub     r16, r24
   13ae4:       19 0b           sbc     r17, r25
   13ae6:       2a 0b           sbc     r18, r26
   13ae8:       3b 0b           sbc     r19, r27
   13aea:       03 c0           rjmp    .+6             ; 0x13af2 <CalculateServo+0xca>
        cosinus = sintab[EE_Parameter.CamOrientation + 6];
        sinus = sintab[EE_Parameter.CamOrientation];

  if(CalculateServoSignals == 1)
   {
            if(EE_Parameter.GlobalConfig3 & CFG3_SERVO_NICK_COMP_OFF) nick = 0;
   13aec:       00 e0           ldi     r16, 0x00       ; 0
   13aee:       10 e0           ldi     r17, 0x00       ; 0
   13af0:       98 01           movw    r18, r16
            else nick = (cosinus * IntegralNick) / 128L - (sinus * IntegralRoll) / 128L;
        nick -= POI_KameraNick * 7;
                nick = ((long)Parameter_ServoNickComp * nick) / 512L;
   13af2:       e0 91 2d 01     lds     r30, 0x012D

  if(CalculateServoSignals == 1)
   {
            if(EE_Parameter.GlobalConfig3 & CFG3_SERVO_NICK_COMP_OFF) nick = 0;
            else nick = (cosinus * IntegralNick) / 128L - (sinus * IntegralRoll) / 128L;
        nick -= POI_KameraNick * 7;
   13af6:       60 91 b5 04     lds     r22, 0x04B5
   13afa:       70 91 b6 04     lds     r23, 0x04B6
   13afe:       cb 01           movw    r24, r22
   13b00:       88 0f           add     r24, r24
   13b02:       99 1f           adc     r25, r25
   13b04:       88 0f           add     r24, r24
   13b06:       99 1f           adc     r25, r25
   13b08:       88 0f           add     r24, r24
   13b0a:       99 1f           adc     r25, r25
   13b0c:       86 1b           sub     r24, r22
   13b0e:       97 0b           sbc     r25, r23
   13b10:       aa 27           eor     r26, r26
   13b12:       97 fd           sbrc    r25, 7
   13b14:       a0 95           com     r26
   13b16:       ba 2f           mov     r27, r26
   13b18:       a9 01           movw    r20, r18
   13b1a:       98 01           movw    r18, r16
   13b1c:       28 1b           sub     r18, r24
   13b1e:       39 0b           sbc     r19, r25
   13b20:       4a 0b           sbc     r20, r26
   13b22:       5b 0b           sbc     r21, r27
                nick = ((long)Parameter_ServoNickComp * nick) / 512L;
   13b24:       ae 2f           mov     r26, r30
   13b26:       b0 e0           ldi     r27, 0x00       ; 0
   13b28:       0e 94 c8 b1     call    0x16390 ; 0x16390 <__muluhisi3>
   13b2c:       6b 01           movw    r12, r22
   13b2e:       7c 01           movw    r14, r24
   13b30:       99 23           and     r25, r25
   13b32:       34 f4           brge    .+12            ; 0x13b40 <CalculateServo+0x118>
   13b34:       3f ef           ldi     r19, 0xFF       ; 255
   13b36:       c3 0e           add     r12, r19
   13b38:       31 e0           ldi     r19, 0x01       ; 1
   13b3a:       d3 1e           adc     r13, r19
   13b3c:       e1 1c           adc     r14, r1
   13b3e:       f1 1c           adc     r15, r1
   13b40:       0b 2e           mov     r0, r27
   13b42:       b9 e0           ldi     r27, 0x09       ; 9
   13b44:       f5 94           asr     r15
   13b46:       e7 94           ror     r14
   13b48:       d7 94           ror     r13
   13b4a:       c7 94           ror     r12
   13b4c:       ba 95           dec     r27
   13b4e:       d1 f7           brne    .-12            ; 0x13b44 <CalculateServo+0x11c>
   13b50:       b0 2d           mov     r27, r0
                // offset (Range from 0 to 255 * 3 = 765)
                if(EE_Parameter.ServoCompInvert & SERVO_RELATIVE) ServoNickOffset = NickServoValue;
   13b52:       e0 91 b7 05     lds     r30, 0x05B7
   13b56:       e2 ff           sbrs    r30, 2
   13b58:       09 c0           rjmp    .+18            ; 0x13b6c <CalculateServo+0x144>
   13b5a:       80 91 a7 02     lds     r24, 0x02A7
   13b5e:       90 91 a8 02     lds     r25, 0x02A8
   13b62:       90 93 ae 02     sts     0x02AE, r25
   13b66:       80 93 ad 02     sts     0x02AD, r24
   13b6a:       19 c0           rjmp    .+50            ; 0x13b9e <CalculateServo+0x176>
                else ServoNickOffset += (NickServoValue - ServoNickOffset) / EE_Parameter.ServoManualControlSpeed;
   13b6c:       40 91 ad 02     lds     r20, 0x02AD
   13b70:       50 91 ae 02     lds     r21, 0x02AE
   13b74:       20 91 ad 02     lds     r18, 0x02AD
   13b78:       30 91 ae 02     lds     r19, 0x02AE
   13b7c:       80 91 a7 02     lds     r24, 0x02A7
   13b80:       90 91 a8 02     lds     r25, 0x02A8
   13b84:       84 1b           sub     r24, r20
   13b86:       95 0b           sbc     r25, r21
   13b88:       60 91 74 05     lds     r22, 0x0574
   13b8c:       70 e0           ldi     r23, 0x00       ; 0
   13b8e:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
   13b92:       26 0f           add     r18, r22
   13b94:       37 1f           adc     r19, r23
   13b96:       30 93 ae 02     sts     0x02AE, r19
   13b9a:       20 93 ad 02     sts     0x02AD, r18

                if(EE_Parameter.ServoCompInvert & SERVO_NICK_INV) // inverting movement of servo
   13b9e:       e0 ff           sbrs    r30, 0
   13ba0:       18 c0           rjmp    .+48            ; 0x13bd2 <CalculateServo+0x1aa>
                {       
                        nick = ServoNickOffset / 16 + nick;
   13ba2:       80 91 ad 02     lds     r24, 0x02AD
   13ba6:       90 91 ae 02     lds     r25, 0x02AE
   13baa:       99 23           and     r25, r25
   13bac:       0c f4           brge    .+2             ; 0x13bb0 <CalculateServo+0x188>
   13bae:       0f 96           adiw    r24, 0x0f       ; 15
   13bb0:       95 95           asr     r25
   13bb2:       87 95           ror     r24
   13bb4:       95 95           asr     r25
   13bb6:       87 95           ror     r24
   13bb8:       95 95           asr     r25
   13bba:       87 95           ror     r24
   13bbc:       95 95           asr     r25
   13bbe:       87 95           ror     r24
   13bc0:       aa 27           eor     r26, r26
   13bc2:       97 fd           sbrc    r25, 7
   13bc4:       a0 95           com     r26
   13bc6:       ba 2f           mov     r27, r26
   13bc8:       c8 0e           add     r12, r24
   13bca:       d9 1e           adc     r13, r25
   13bcc:       ea 1e           adc     r14, r26
   13bce:       fb 1e           adc     r15, r27
   13bd0:       1b c0           rjmp    .+54            ; 0x13c08 <CalculateServo+0x1e0>
                }
                else
                {       // inverting movement of servo
                        nick = ServoNickOffset / 16 - nick;
   13bd2:       80 91 ad 02     lds     r24, 0x02AD
   13bd6:       90 91 ae 02     lds     r25, 0x02AE
   13bda:       99 23           and     r25, r25
   13bdc:       0c f4           brge    .+2             ; 0x13be0 <CalculateServo+0x1b8>
   13bde:       0f 96           adiw    r24, 0x0f       ; 15
   13be0:       95 95           asr     r25
   13be2:       87 95           ror     r24
   13be4:       95 95           asr     r25
   13be6:       87 95           ror     r24
   13be8:       95 95           asr     r25
   13bea:       87 95           ror     r24
   13bec:       95 95           asr     r25
   13bee:       87 95           ror     r24
   13bf0:       aa 27           eor     r26, r26
   13bf2:       97 fd           sbrc    r25, 7
   13bf4:       a0 95           com     r26
   13bf6:       ba 2f           mov     r27, r26
   13bf8:       9c 01           movw    r18, r24
   13bfa:       ad 01           movw    r20, r26
   13bfc:       2c 19           sub     r18, r12
   13bfe:       3d 09           sbc     r19, r13
   13c00:       4e 09           sbc     r20, r14
   13c02:       5f 09           sbc     r21, r15
   13c04:       69 01           movw    r12, r18
   13c06:       7a 01           movw    r14, r20
                }
                if(EE_Parameter.ServoFilterNick) ServoNickValue = ((ServoNickValue * EE_Parameter.ServoFilterNick) + nick) / (EE_Parameter.ServoFilterNick + 1);
   13c08:       20 91 a9 05     lds     r18, 0x05A9
   13c0c:       22 23           and     r18, r18
   13c0e:       21 f1           breq    .+72            ; 0x13c58 <CalculateServo+0x230>
   13c10:       30 e0           ldi     r19, 0x00       ; 0
   13c12:       80 91 c6 04     lds     r24, 0x04C6
   13c16:       90 91 c7 04     lds     r25, 0x04C7
   13c1a:       28 9f           mul     r18, r24
   13c1c:       b0 01           movw    r22, r0
   13c1e:       29 9f           mul     r18, r25
   13c20:       70 0d           add     r23, r0
   13c22:       38 9f           mul     r19, r24
   13c24:       70 0d           add     r23, r0
   13c26:       11 24           eor     r1, r1
   13c28:       cb 01           movw    r24, r22
   13c2a:       aa 27           eor     r26, r26
   13c2c:       97 fd           sbrc    r25, 7
   13c2e:       a0 95           com     r26
   13c30:       ba 2f           mov     r27, r26
   13c32:       bc 01           movw    r22, r24
   13c34:       cd 01           movw    r24, r26
   13c36:       6c 0d           add     r22, r12
   13c38:       7d 1d           adc     r23, r13
   13c3a:       8e 1d           adc     r24, r14
   13c3c:       9f 1d           adc     r25, r15
   13c3e:       2f 5f           subi    r18, 0xFF       ; 255
   13c40:       3f 4f           sbci    r19, 0xFF       ; 255
   13c42:       44 27           eor     r20, r20
   13c44:       37 fd           sbrc    r19, 7
   13c46:       40 95           com     r20
   13c48:       54 2f           mov     r21, r20
   13c4a:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
   13c4e:       30 93 c7 04     sts     0x04C7, r19
   13c52:       20 93 c6 04     sts     0x04C6, r18
   13c56:       04 c0           rjmp    .+8             ; 0x13c60 <CalculateServo+0x238>
                else                     ServoNickValue = nick;
   13c58:       d0 92 c7 04     sts     0x04C7, r13
   13c5c:       c0 92 c6 04     sts     0x04C6, r12
                // limit servo value to its parameter range definition
                if(ServoNickValue < ((int16_t)EE_Parameter.ServoNickMin * MULTIPLYER))
   13c60:       80 91 6d 05     lds     r24, 0x056D
   13c64:       90 e0           ldi     r25, 0x00       ; 0
   13c66:       88 0f           add     r24, r24
   13c68:       99 1f           adc     r25, r25
   13c6a:       88 0f           add     r24, r24
   13c6c:       99 1f           adc     r25, r25
   13c6e:       20 91 c6 04     lds     r18, 0x04C6
   13c72:       30 91 c7 04     lds     r19, 0x04C7
   13c76:       28 17           cp      r18, r24
   13c78:       39 07           cpc     r19, r25
   13c7a:       2c f4           brge    .+10            ; 0x13c86 <CalculateServo+0x25e>
                {
                        ServoNickValue = (int16_t)EE_Parameter.ServoNickMin * MULTIPLYER;
   13c7c:       90 93 c7 04     sts     0x04C7, r25
   13c80:       80 93 c6 04     sts     0x04C6, r24
   13c84:       12 c0           rjmp    .+36            ; 0x13caa <CalculateServo+0x282>
                }
                else
                if(ServoNickValue > ((int16_t)EE_Parameter.ServoNickMax * MULTIPLYER))
   13c86:       80 91 6e 05     lds     r24, 0x056E
   13c8a:       90 e0           ldi     r25, 0x00       ; 0
   13c8c:       88 0f           add     r24, r24
   13c8e:       99 1f           adc     r25, r25
   13c90:       88 0f           add     r24, r24
   13c92:       99 1f           adc     r25, r25
   13c94:       20 91 c6 04     lds     r18, 0x04C6
   13c98:       30 91 c7 04     lds     r19, 0x04C7
   13c9c:       82 17           cp      r24, r18
   13c9e:       93 07           cpc     r25, r19
   13ca0:       24 f4           brge    .+8             ; 0x13caa <CalculateServo+0x282>
                {
                        ServoNickValue = (int16_t)EE_Parameter.ServoNickMax * MULTIPLYER;
   13ca2:       90 93 c7 04     sts     0x04C7, r25
   13ca6:       80 93 c6 04     sts     0x04C6, r24
                }
//              if(PlatinenVersion < 20) CalculateServoSignals = 0; else 
                CalculateServoSignals++;
   13caa:       80 91 af 02     lds     r24, 0x02AF
   13cae:       8f 5f           subi    r24, 0xFF       ; 255
   13cb0:       80 93 af 02     sts     0x02AF, r24
   13cb4:       07 c1           rjmp    .+526           ; 0x13ec4 <CalculateServo+0x49c>
        }
        else
        {
        roll = (cosinus * IntegralRoll) / 128L + (sinus * IntegralNick) / 128L;
        roll = ((long)Parameter_ServoRollComp * roll) / 512L;
   13cb6:       c0 90 2c 01     lds     r12, 0x012C
   13cba:       d1 2c           mov     r13, r1
   13cbc:       e1 2c           mov     r14, r1
   13cbe:       f1 2c           mov     r15, r1
//              if(PlatinenVersion < 20) CalculateServoSignals = 0; else 
                CalculateServoSignals++;
        }
        else
        {
        roll = (cosinus * IntegralRoll) / 128L + (sinus * IntegralNick) / 128L;
   13cc0:       20 91 3e 04     lds     r18, 0x043E
   13cc4:       30 91 3f 04     lds     r19, 0x043F
   13cc8:       40 91 40 04     lds     r20, 0x0440
   13ccc:       50 91 41 04     lds     r21, 0x0441
   13cd0:       bb 27           eor     r27, r27
   13cd2:       a7 fd           sbrc    r26, 7
   13cd4:       b0 95           com     r27
   13cd6:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
   13cda:       8b 01           movw    r16, r22
   13cdc:       9c 01           movw    r18, r24
   13cde:       99 23           and     r25, r25
   13ce0:       24 f4           brge    .+8             ; 0x13cea <CalculateServo+0x2c2>
   13ce2:       01 58           subi    r16, 0x81       ; 129
   13ce4:       1f 4f           sbci    r17, 0xFF       ; 255
   13ce6:       2f 4f           sbci    r18, 0xFF       ; 255
   13ce8:       3f 4f           sbci    r19, 0xFF       ; 255
   13cea:       48 01           movw    r8, r16
   13cec:       59 01           movw    r10, r18
   13cee:       68 94           set
   13cf0:       16 f8           bld     r1, 6
   13cf2:       b5 94           asr     r11
   13cf4:       a7 94           ror     r10
   13cf6:       97 94           ror     r9
   13cf8:       87 94           ror     r8
   13cfa:       16 94           lsr     r1
   13cfc:       d1 f7           brne    .-12            ; 0x13cf2 <CalculateServo+0x2ca>
   13cfe:       20 91 42 04     lds     r18, 0x0442
   13d02:       30 91 43 04     lds     r19, 0x0443
   13d06:       40 91 44 04     lds     r20, 0x0444
   13d0a:       50 91 45 04     lds     r21, 0x0445
   13d0e:       ae 2f           mov     r26, r30
   13d10:       bb 27           eor     r27, r27
   13d12:       a7 fd           sbrc    r26, 7
   13d14:       b0 95           com     r27
   13d16:       0e 94 d2 b1     call    0x163a4 ; 0x163a4 <__mulshisi3>
   13d1a:       8b 01           movw    r16, r22
   13d1c:       9c 01           movw    r18, r24
   13d1e:       99 23           and     r25, r25
   13d20:       24 f4           brge    .+8             ; 0x13d2a <CalculateServo+0x302>
   13d22:       01 58           subi    r16, 0x81       ; 129
   13d24:       1f 4f           sbci    r17, 0xFF       ; 255
   13d26:       2f 4f           sbci    r18, 0xFF       ; 255
   13d28:       3f 4f           sbci    r19, 0xFF       ; 255
   13d2a:       d9 01           movw    r26, r18
   13d2c:       c8 01           movw    r24, r16
   13d2e:       68 94           set
   13d30:       16 f8           bld     r1, 6
   13d32:       b5 95           asr     r27
   13d34:       a7 95           ror     r26
   13d36:       97 95           ror     r25
   13d38:       87 95           ror     r24
   13d3a:       16 94           lsr     r1
   13d3c:       d1 f7           brne    .-12            ; 0x13d32 <CalculateServo+0x30a>
   13d3e:       bc 01           movw    r22, r24
   13d40:       cd 01           movw    r24, r26
   13d42:       68 0d           add     r22, r8
   13d44:       79 1d           adc     r23, r9
   13d46:       8a 1d           adc     r24, r10
   13d48:       9b 1d           adc     r25, r11
        roll = ((long)Parameter_ServoRollComp * roll) / 512L;
   13d4a:       a7 01           movw    r20, r14
   13d4c:       96 01           movw    r18, r12
   13d4e:       0e 94 27 b1     call    0x1624e ; 0x1624e <__mulsi3>
   13d52:       6b 01           movw    r12, r22
   13d54:       7c 01           movw    r14, r24
   13d56:       99 23           and     r25, r25
   13d58:       34 f4           brge    .+12            ; 0x13d66 <CalculateServo+0x33e>
   13d5a:       3f ef           ldi     r19, 0xFF       ; 255
   13d5c:       c3 0e           add     r12, r19
   13d5e:       31 e0           ldi     r19, 0x01       ; 1
   13d60:       d3 1e           adc     r13, r19
   13d62:       e1 1c           adc     r14, r1
   13d64:       f1 1c           adc     r15, r1
   13d66:       0b 2e           mov     r0, r27
   13d68:       b9 e0           ldi     r27, 0x09       ; 9
   13d6a:       f5 94           asr     r15
   13d6c:       e7 94           ror     r14
   13d6e:       d7 94           ror     r13
   13d70:       c7 94           ror     r12
   13d72:       ba 95           dec     r27
   13d74:       d1 f7           brne    .-12            ; 0x13d6a <CalculateServo+0x342>
   13d76:       b0 2d           mov     r27, r0
                ServoRollOffset += ((int16_t)Parameter_ServoRollControl * (MULTIPLYER*16) - ServoRollOffset) / EE_Parameter.ServoManualControlSpeed;
   13d78:       40 91 ab 02     lds     r20, 0x02AB
   13d7c:       50 91 ac 02     lds     r21, 0x02AC
   13d80:       20 91 ab 02     lds     r18, 0x02AB
   13d84:       30 91 ac 02     lds     r19, 0x02AC
   13d88:       80 91 2e 01     lds     r24, 0x012E
   13d8c:       60 e4           ldi     r22, 0x40       ; 64
   13d8e:       86 9f           mul     r24, r22
   13d90:       c0 01           movw    r24, r0
   13d92:       11 24           eor     r1, r1
   13d94:       84 1b           sub     r24, r20
   13d96:       95 0b           sbc     r25, r21
   13d98:       60 91 74 05     lds     r22, 0x0574
   13d9c:       70 e0           ldi     r23, 0x00       ; 0
   13d9e:       0e 94 56 b1     call    0x162ac ; 0x162ac <__divmodhi4>
   13da2:       26 0f           add     r18, r22
   13da4:       37 1f           adc     r19, r23
   13da6:       30 93 ac 02     sts     0x02AC, r19
   13daa:       20 93 ab 02     sts     0x02AB, r18
                if(EE_Parameter.ServoCompInvert & SERVO_ROLL_INV)
   13dae:       80 91 b7 05     lds     r24, 0x05B7
   13db2:       81 ff           sbrs    r24, 1
   13db4:       18 c0           rjmp    .+48            ; 0x13de6 <CalculateServo+0x3be>
                {       // inverting movement of servo
                        roll = ServoRollOffset / 16 + roll; 
   13db6:       80 91 ab 02     lds     r24, 0x02AB
   13dba:       90 91 ac 02     lds     r25, 0x02AC
   13dbe:       99 23           and     r25, r25
   13dc0:       0c f4           brge    .+2             ; 0x13dc4 <CalculateServo+0x39c>
   13dc2:       0f 96           adiw    r24, 0x0f       ; 15
   13dc4:       95 95           asr     r25
   13dc6:       87 95           ror     r24
   13dc8:       95 95           asr     r25
   13dca:       87 95           ror     r24
   13dcc:       95 95           asr     r25
   13dce:       87 95           ror     r24
   13dd0:       95 95           asr     r25
   13dd2:       87 95           ror     r24
   13dd4:       aa 27           eor     r26, r26
   13dd6:       97 fd           sbrc    r25, 7
   13dd8:       a0 95           com     r26
   13dda:       ba 2f           mov     r27, r26
   13ddc:       c8 0e           add     r12, r24
   13dde:       d9 1e           adc     r13, r25
   13de0:       ea 1e           adc     r14, r26
   13de2:       fb 1e           adc     r15, r27
   13de4:       1b c0           rjmp    .+54            ; 0x13e1c <CalculateServo+0x3f4>
                }
                else
                {       // inverting movement of servo
                        roll = ServoRollOffset / 16 - roll; 
   13de6:       80 91 ab 02     lds     r24, 0x02AB
   13dea:       90 91 ac 02     lds     r25, 0x02AC
   13dee:       99 23           and     r25, r25
   13df0:       0c f4           brge    .+2             ; 0x13df4 <CalculateServo+0x3cc>
   13df2:       0f 96           adiw    r24, 0x0f       ; 15
   13df4:       95 95           asr     r25
   13df6:       87 95           ror     r24
   13df8:       95 95           asr     r25
   13dfa:       87 95           ror     r24
   13dfc:       95 95           asr     r25
   13dfe:       87 95           ror     r24
   13e00:       95 95           asr     r25
   13e02:       87 95           ror     r24
   13e04:       aa 27           eor     r26, r26
   13e06:       97 fd           sbrc    r25, 7
   13e08:       a0 95           com     r26
   13e0a:       ba 2f           mov     r27, r26
   13e0c:       9c 01           movw    r18, r24
   13e0e:       ad 01           movw    r20, r26
   13e10:       2c 19           sub     r18, r12
   13e12:       3d 09           sbc     r19, r13
   13e14:       4e 09           sbc     r20, r14
   13e16:       5f 09           sbc     r21, r15
   13e18:       69 01           movw    r12, r18
   13e1a:       7a 01           movw    r14, r20
                }
                if(EE_Parameter.ServoFilterRoll) ServoRollValue = ((ServoRollValue * EE_Parameter.ServoFilterRoll) + roll) / (EE_Parameter.ServoFilterRoll + 1);
   13e1c:       40 91 aa 05     lds     r20, 0x05AA
   13e20:       44 23           and     r20, r20
   13e22:       29 f1           breq    .+74            ; 0x13e6e <CalculateServo+0x446>
   13e24:       50 e0           ldi     r21, 0x00       ; 0
   13e26:       80 91 c4 04     lds     r24, 0x04C4
   13e2a:       90 91 c5 04     lds     r25, 0x04C5
   13e2e:       48 9f           mul     r20, r24
   13e30:       b0 01           movw    r22, r0
   13e32:       49 9f           mul     r20, r25
   13e34:       70 0d           add     r23, r0
   13e36:       58 9f           mul     r21, r24
   13e38:       70 0d           add     r23, r0
   13e3a:       11 24           eor     r1, r1
   13e3c:       cb 01           movw    r24, r22
   13e3e:       aa 27           eor     r26, r26
   13e40:       97 fd           sbrc    r25, 7
   13e42:       a0 95           com     r26
   13e44:       ba 2f           mov     r27, r26
   13e46:       bc 01           movw    r22, r24
   13e48:       cd 01           movw    r24, r26
   13e4a:       6c 0d           add     r22, r12
   13e4c:       7d 1d           adc     r23, r13
   13e4e:       8e 1d           adc     r24, r14
   13e50:       9f 1d           adc     r25, r15
   13e52:       9a 01           movw    r18, r20
   13e54:       2f 5f           subi    r18, 0xFF       ; 255
   13e56:       3f 4f           sbci    r19, 0xFF       ; 255
   13e58:       44 27           eor     r20, r20
   13e5a:       37 fd           sbrc    r19, 7
   13e5c:       40 95           com     r20
   13e5e:       54 2f           mov     r21, r20
   13e60:       0e 94 8b b1     call    0x16316 ; 0x16316 <__divmodsi4>
   13e64:       30 93 c5 04     sts     0x04C5, r19
   13e68:       20 93 c4 04     sts     0x04C4, r18
   13e6c:       04 c0           rjmp    .+8             ; 0x13e76 <CalculateServo+0x44e>
                else                     ServoRollValue = roll;
   13e6e:       d0 92 c5 04     sts     0x04C5, r13
   13e72:       c0 92 c4 04     sts     0x04C4, r12
                // limit servo value to its parameter range definition
                if(ServoRollValue < ((int16_t)EE_Parameter.ServoRollMin * MULTIPLYER))
   13e76:       80 91 71 05     lds     r24, 0x0571
   13e7a:       90 e0           ldi     r25, 0x00       ; 0
   13e7c:       88 0f           add     r24, r24
   13e7e:       99 1f           adc     r25, r25
   13e80:       88 0f           add     r24, r24
   13e82:       99 1f           adc     r25, r25
   13e84:       20 91 c4 04     lds     r18, 0x04C4
   13e88:       30 91 c5 04     lds     r19, 0x04C5
   13e8c:       28 17           cp      r18, r24
   13e8e:       39 07           cpc     r19, r25
   13e90:       2c f4           brge    .+10            ; 0x13e9c <CalculateServo+0x474>
                {
                        ServoRollValue = (int16_t)EE_Parameter.ServoRollMin * MULTIPLYER;
   13e92:       90 93 c5 04     sts     0x04C5, r25
   13e96:       80 93 c4 04     sts     0x04C4, r24
   13e9a:       12 c0           rjmp    .+36            ; 0x13ec0 <CalculateServo+0x498>
                }
                else
                if(ServoRollValue > ((int16_t)EE_Parameter.ServoRollMax * MULTIPLYER))
   13e9c:       80 91 72 05     lds     r24, 0x0572
   13ea0:       90 e0           ldi     r25, 0x00       ; 0
   13ea2:       88 0f           add     r24, r24
   13ea4:       99 1f           adc     r25, r25
   13ea6:       88 0f           add     r24, r24
   13ea8:       99 1f           adc     r25, r25
   13eaa:       20 91 c4 04     lds     r18, 0x04C4
   13eae:       30 91 c5 04     lds     r19, 0x04C5
   13eb2:       82 17           cp      r24, r18
   13eb4:       93 07           cpc     r25, r19
   13eb6:       24 f4           brge    .+8             ; 0x13ec0 <CalculateServo+0x498>
                {
                        ServoRollValue = (int16_t)EE_Parameter.ServoRollMax * MULTIPLYER;
   13eb8:       90 93 c5 04     sts     0x04C5, r25
   13ebc:       80 93 c4 04     sts     0x04C4, r24
                }
                CalculateServoSignals = 0;
   13ec0:       10 92 af 02     sts     0x02AF, r1
        }
}
   13ec4:       1f 91           pop     r17
   13ec6:       0f 91           pop     r16
   13ec8:       ff 90           pop     r15
   13eca:       ef 90           pop     r14
   13ecc:       df 90           pop     r13
   13ece:       cf 90           pop     r12
   13ed0:       bf 90           pop     r11
   13ed2:       af 90           pop     r10
   13ed4:       9f 90           pop     r9
   13ed6:       8f 90           pop     r8
   13ed8:       08 95           ret

00013eda <__vector_9>:

ISR(TIMER2_COMPA_vect)
{
   13eda:       1f 92           push    r1
   13edc:       0f 92           push    r0
   13ede:       0f b6           in      r0, 0x3f        ; 63
   13ee0:       0f 92           push    r0
   13ee2:       11 24           eor     r1, r1
   13ee4:       0b b6           in      r0, 0x3b        ; 59
   13ee6:       0f 92           push    r0
   13ee8:       2f 93           push    r18
   13eea:       3f 93           push    r19
   13eec:       4f 93           push    r20
   13eee:       8f 93           push    r24
   13ef0:       9f 93           push    r25
   13ef2:       ef 93           push    r30
   13ef4:       ff 93           push    r31
*/
        {
                //-----------------------------------------------------
                // PPM state machine, onboard demultiplexed by HEF4017
                //-----------------------------------------------------
                if(!PulseOutput) // pulse output complete
   13ef6:       80 91 c2 04     lds     r24, 0x04C2
   13efa:       81 11           cpse    r24, r1
   13efc:       f9 c0           rjmp    .+498           ; 0x140f0 <__vector_9+0x216>
                {
                        if(TCCR2A & (1<<COM2A0)) // we had a low pulse
   13efe:       80 91 b0 00     lds     r24, 0x00B0
   13f02:       86 ff           sbrs    r24, 6
   13f04:       bc c0           rjmp    .+376           ; 0x1407e <__vector_9+0x1a4>
                        {
                                TCCR2A &= ~(1<<COM2A0);// make a high pulse
   13f06:       e0 eb           ldi     r30, 0xB0       ; 176
   13f08:       f0 e0           ldi     r31, 0x00       ; 0
   13f0a:       80 81           ld      r24, Z
   13f0c:       8f 7b           andi    r24, 0xBF       ; 191
   13f0e:       80 83           st      Z, r24
                                if(ServoIndex == 0) // if we are at the sync gap
   13f10:       e0 91 c1 04     lds     r30, 0x04C1
   13f14:       e1 11           cpse    r30, r1
   13f16:       19 c0           rjmp    .+50            ; 0x13f4a <__vector_9+0x70>
                                {
                                        RemainingPulse = PPM_FRAMELEN - ServoFrameTime; // generate sync gap by filling time to full frame time
   13f18:       40 91 73 05     lds     r20, 0x0573
   13f1c:       2d ed           ldi     r18, 0xDD       ; 221
   13f1e:       36 e0           ldi     r19, 0x06       ; 6
   13f20:       42 9f           mul     r20, r18
   13f22:       c0 01           movw    r24, r0
   13f24:       43 9f           mul     r20, r19
   13f26:       90 0d           add     r25, r0
   13f28:       11 24           eor     r1, r1
   13f2a:       20 91 bf 04     lds     r18, 0x04BF
   13f2e:       30 91 c0 04     lds     r19, 0x04C0
   13f32:       82 1b           sub     r24, r18
   13f34:       93 0b           sbc     r25, r19
   13f36:       90 93 c9 04     sts     0x04C9, r25
   13f3a:       80 93 c8 04     sts     0x04C8, r24
                                        ServoFrameTime = 0; // reset servo frame time
   13f3e:       10 92 c0 04     sts     0x04C0, r1
   13f42:       10 92 bf 04     sts     0x04BF, r1
                                        HEF4017Reset_ON; // enable HEF4017 reset
   13f46:       46 9a           sbi     0x08, 6 ; 8
   13f48:       d0 c0           rjmp    .+416           ; 0x140ea <__vector_9+0x210>
                                }
                                else // servo channels 
                                if(ServoIndex > EE_Parameter.ServoNickRefresh)  
   13f4a:       80 91 73 05     lds     r24, 0x0573
   13f4e:       8e 17           cp      r24, r30
   13f50:       38 f4           brcc    .+14            ; 0x13f60 <__vector_9+0x86>
                                 {
                                  RemainingPulse = 10; // end it here
   13f52:       8a e0           ldi     r24, 0x0A       ; 10
   13f54:       90 e0           ldi     r25, 0x00       ; 0
   13f56:       90 93 c9 04     sts     0x04C9, r25
   13f5a:       80 93 c8 04     sts     0x04C8, r24
   13f5e:       c5 c0           rjmp    .+394           ; 0x140ea <__vector_9+0x210>
                                 } 
                                else
                                {
                                        RemainingPulse  = MINSERVOPULSE + SERVORANGE/2; // center position ~ 1.5ms
   13f60:       89 ea           ldi     r24, 0xA9       ; 169
   13f62:       93 e0           ldi     r25, 0x03       ; 3
   13f64:       90 93 c9 04     sts     0x04C9, r25
   13f68:       80 93 c8 04     sts     0x04C8, r24
                                        switch(ServoIndex) // map servo channels
   13f6c:       e3 30           cpi     r30, 0x03       ; 3
   13f6e:       09 f1           breq    .+66            ; 0x13fb2 <__vector_9+0xd8>
   13f70:       28 f4           brcc    .+10            ; 0x13f7c <__vector_9+0xa2>
   13f72:       e1 30           cpi     r30, 0x01       ; 1
   13f74:       41 f0           breq    .+16            ; 0x13f86 <__vector_9+0xac>
   13f76:       e2 30           cpi     r30, 0x02       ; 2
   13f78:       89 f0           breq    .+34            ; 0x13f9c <__vector_9+0xc2>
   13f7a:       45 c0           rjmp    .+138           ; 0x14006 <__vector_9+0x12c>
   13f7c:       e4 30           cpi     r30, 0x04       ; 4
   13f7e:       39 f1           breq    .+78            ; 0x13fce <__vector_9+0xf4>
   13f80:       e5 30           cpi     r30, 0x05       ; 5
   13f82:       99 f1           breq    .+102           ; 0x13fea <__vector_9+0x110>
   13f84:       40 c0           rjmp    .+128           ; 0x14006 <__vector_9+0x12c>
                                        {
                                         case 1: // Nick Compensation Servo
                                                        RemainingPulse += ServoNickValue - (256 / 2) * MULTIPLYER; // shift ServoNickValue to center position
   13f86:       80 91 c6 04     lds     r24, 0x04C6
   13f8a:       90 91 c7 04     lds     r25, 0x04C7
   13f8e:       87 55           subi    r24, 0x57       ; 87
   13f90:       9e 4f           sbci    r25, 0xFE       ; 254
   13f92:       90 93 c9 04     sts     0x04C9, r25
   13f96:       80 93 c8 04     sts     0x04C8, r24
                                                        break;
   13f9a:       44 c0           rjmp    .+136           ; 0x14024 <__vector_9+0x14a>
                                         case 2: // Roll Compensation Servo
                                                        RemainingPulse += ServoRollValue - (256 / 2) * MULTIPLYER; // shift ServoNickValue to center position
   13f9c:       80 91 c4 04     lds     r24, 0x04C4
   13fa0:       90 91 c5 04     lds     r25, 0x04C5
   13fa4:       87 55           subi    r24, 0x57       ; 87
   13fa6:       9e 4f           sbci    r25, 0xFE       ; 254
   13fa8:       90 93 c9 04     sts     0x04C9, r25
   13fac:       80 93 c8 04     sts     0x04C8, r24
                                                        break;
   13fb0:       39 c0           rjmp    .+114           ; 0x14024 <__vector_9+0x14a>
                                         case 3:
                                                        RemainingPulse += ((int16_t)Parameter_Servo3 * MULTIPLYER) - (256 / 2) * MULTIPLYER;
   13fb2:       80 91 38 06     lds     r24, 0x0638
   13fb6:       90 e0           ldi     r25, 0x00       ; 0
   13fb8:       88 0f           add     r24, r24
   13fba:       99 1f           adc     r25, r25
   13fbc:       88 0f           add     r24, r24
   13fbe:       99 1f           adc     r25, r25
   13fc0:       87 55           subi    r24, 0x57       ; 87
   13fc2:       9e 4f           sbci    r25, 0xFE       ; 254
   13fc4:       90 93 c9 04     sts     0x04C9, r25
   13fc8:       80 93 c8 04     sts     0x04C8, r24
                                                        break;
   13fcc:       2b c0           rjmp    .+86            ; 0x14024 <__vector_9+0x14a>
                                         case 4:
                                                        RemainingPulse += ((int16_t)Parameter_Servo4 * MULTIPLYER) - (256 / 2) * MULTIPLYER;
   13fce:       80 91 19 06     lds     r24, 0x0619
   13fd2:       90 e0           ldi     r25, 0x00       ; 0
   13fd4:       88 0f           add     r24, r24
   13fd6:       99 1f           adc     r25, r25
   13fd8:       88 0f           add     r24, r24
   13fda:       99 1f           adc     r25, r25
   13fdc:       87 55           subi    r24, 0x57       ; 87
   13fde:       9e 4f           sbci    r25, 0xFE       ; 254
   13fe0:       90 93 c9 04     sts     0x04C9, r25
   13fe4:       80 93 c8 04     sts     0x04C8, r24
                                                        break;
   13fe8:       1d c0           rjmp    .+58            ; 0x14024 <__vector_9+0x14a>
                                         case 5:
                                                        RemainingPulse += ((int16_t)Parameter_Servo5 * MULTIPLYER) - (256 / 2) * MULTIPLYER;
   13fea:       80 91 41 06     lds     r24, 0x0641
   13fee:       90 e0           ldi     r25, 0x00       ; 0
   13ff0:       88 0f           add     r24, r24
   13ff2:       99 1f           adc     r25, r25
   13ff4:       88 0f           add     r24, r24
   13ff6:       99 1f           adc     r25, r25
   13ff8:       87 55           subi    r24, 0x57       ; 87
   13ffa:       9e 4f           sbci    r25, 0xFE       ; 254
   13ffc:       90 93 c9 04     sts     0x04C9, r25
   14000:       80 93 c8 04     sts     0x04C8, r24
                                                        break;
   14004:       0f c0           rjmp    .+30            ; 0x14024 <__vector_9+0x14a>
                                                default: // other servo channels
                                                        RemainingPulse += 2 * PPM_in[ServoIndex]; // add channel value, factor of 2 because timer 1 increments 3.2µs
   14006:       f0 e0           ldi     r31, 0x00       ; 0
   14008:       ee 0f           add     r30, r30
   1400a:       ff 1f           adc     r31, r31
   1400c:       ef 5c           subi    r30, 0xCF       ; 207
   1400e:       f7 4f           sbci    r31, 0xF7       ; 247
   14010:       80 81           ld      r24, Z
   14012:       91 81           ldd     r25, Z+1        ; 0x01
   14014:       88 0f           add     r24, r24
   14016:       99 1f           adc     r25, r25
   14018:       87 55           subi    r24, 0x57       ; 87
   1401a:       9c 4f           sbci    r25, 0xFC       ; 252
   1401c:       90 93 c9 04     sts     0x04C9, r25
   14020:       80 93 c8 04     sts     0x04C8, r24
                                                        break;
                                        }
                                        // range servo pulse width
                                        if(RemainingPulse > MAXSERVOPULSE)                      RemainingPulse = MAXSERVOPULSE; // upper servo pulse limit
   14024:       80 91 c8 04     lds     r24, 0x04C8
   14028:       90 91 c9 04     lds     r25, 0x04C9
   1402c:       8d 3d           cpi     r24, 0xDD       ; 221
   1402e:       25 e0           ldi     r18, 0x05       ; 5
   14030:       92 07           cpc     r25, r18
   14032:       38 f0           brcs    .+14            ; 0x14042 <__vector_9+0x168>
   14034:       8c ed           ldi     r24, 0xDC       ; 220
   14036:       95 e0           ldi     r25, 0x05       ; 5
   14038:       90 93 c9 04     sts     0x04C9, r25
   1403c:       80 93 c8 04     sts     0x04C8, r24
   14040:       09 c0           rjmp    .+18            ; 0x14054 <__vector_9+0x17a>
                                        else if(RemainingPulse < MINSERVOPULSE)     RemainingPulse = MINSERVOPULSE; // lower servo pulse limit
   14042:       87 37           cpi     r24, 0x77       ; 119
   14044:       91 40           sbci    r25, 0x01       ; 1
   14046:       30 f4           brcc    .+12            ; 0x14054 <__vector_9+0x17a>
   14048:       87 e7           ldi     r24, 0x77       ; 119
   1404a:       91 e0           ldi     r25, 0x01       ; 1
   1404c:       90 93 c9 04     sts     0x04C9, r25
   14050:       80 93 c8 04     sts     0x04C8, r24
                                        // substract stop pulse width
                                        RemainingPulse -= PPM_STOPPULSE;
   14054:       80 91 c8 04     lds     r24, 0x04C8
   14058:       90 91 c9 04     lds     r25, 0x04C9
   1405c:       8c 5b           subi    r24, 0xBC       ; 188
   1405e:       91 09           sbc     r25, r1
   14060:       90 93 c9 04     sts     0x04C9, r25
   14064:       80 93 c8 04     sts     0x04C8, r24
                                        // accumulate time for correct sync gap
                                        ServoFrameTime += RemainingPulse;
   14068:       20 91 bf 04     lds     r18, 0x04BF
   1406c:       30 91 c0 04     lds     r19, 0x04C0
   14070:       82 0f           add     r24, r18
   14072:       93 1f           adc     r25, r19
   14074:       90 93 c0 04     sts     0x04C0, r25
   14078:       80 93 bf 04     sts     0x04BF, r24
   1407c:       36 c0           rjmp    .+108           ; 0x140ea <__vector_9+0x210>
                                }
                        }
                        else // we had a high pulse
                        {
                                TCCR2A |= (1<<COM2A0); // make a low pulse
   1407e:       e0 eb           ldi     r30, 0xB0       ; 176
   14080:       f0 e0           ldi     r31, 0x00       ; 0
   14082:       80 81           ld      r24, Z
   14084:       80 64           ori     r24, 0x40       ; 64
   14086:       80 83           st      Z, r24
                                // set pulsewidth to stop pulse width
                                RemainingPulse = PPM_STOPPULSE;
   14088:       8c eb           ldi     r24, 0xBC       ; 188
   1408a:       90 e0           ldi     r25, 0x00       ; 0
   1408c:       90 93 c9 04     sts     0x04C9, r25
   14090:       80 93 c8 04     sts     0x04C8, r24
                                // accumulate time for correct sync gap
                                ServoFrameTime += RemainingPulse;
   14094:       80 91 bf 04     lds     r24, 0x04BF
   14098:       90 91 c0 04     lds     r25, 0x04C0
   1409c:       84 54           subi    r24, 0x44       ; 68
   1409e:       9f 4f           sbci    r25, 0xFF       ; 255
   140a0:       90 93 c0 04     sts     0x04C0, r25
   140a4:       80 93 bf 04     sts     0x04BF, r24
                                if((ServoActive && SenderOkay) || ServoActive == 2) HEF4017Reset_OFF; // disable HEF4017 reset
   140a8:       80 91 cb 04     lds     r24, 0x04CB
   140ac:       88 23           and     r24, r24
   140ae:       21 f0           breq    .+8             ; 0x140b8 <__vector_9+0x1de>
   140b0:       80 91 04 04     lds     r24, 0x0404
   140b4:       81 11           cpse    r24, r1
   140b6:       04 c0           rjmp    .+8             ; 0x140c0 <__vector_9+0x1e6>
   140b8:       80 91 cb 04     lds     r24, 0x04CB
   140bc:       82 30           cpi     r24, 0x02       ; 2
   140be:       11 f4           brne    .+4             ; 0x140c4 <__vector_9+0x1ea>
   140c0:       46 98           cbi     0x08, 6 ; 8
   140c2:       01 c0           rjmp    .+2             ; 0x140c6 <__vector_9+0x1ec>
                                else HEF4017Reset_ON;
   140c4:       46 9a           sbi     0x08, 6 ; 8
                                ServoIndex++; 
   140c6:       20 91 c1 04     lds     r18, 0x04C1
   140ca:       2f 5f           subi    r18, 0xFF       ; 255
   140cc:       20 93 c1 04     sts     0x04C1, r18
                                if(ServoIndex > EE_Parameter.ServoNickRefresh+1)
   140d0:       30 e0           ldi     r19, 0x00       ; 0
   140d2:       80 91 73 05     lds     r24, 0x0573
   140d6:       90 e0           ldi     r25, 0x00       ; 0
   140d8:       01 96           adiw    r24, 0x01       ; 1
   140da:       82 17           cp      r24, r18
   140dc:       93 07           cpc     r25, r19
   140de:       2c f4           brge    .+10            ; 0x140ea <__vector_9+0x210>
                                  {
                                    CalculateServoSignals = 1;
   140e0:       81 e0           ldi     r24, 0x01       ; 1
   140e2:       80 93 af 02     sts     0x02AF, r24
                                        ServoIndex = 0; // reset to the sync gap
   140e6:       10 92 c1 04     sts     0x04C1, r1
                                  }
                        }
                        // set pulse output active
                        PulseOutput = 1;
   140ea:       81 e0           ldi     r24, 0x01       ; 1
   140ec:       80 93 c2 04     sts     0x04C2, r24
                }
        } // EOF PPM state machine

        // General pulse output generator
        if(RemainingPulse > (255 + IRS_RUNTIME))
   140f0:       80 91 c8 04     lds     r24, 0x04C8
   140f4:       90 91 c9 04     lds     r25, 0x04C9
   140f8:       8f 37           cpi     r24, 0x7F       ; 127
   140fa:       21 e0           ldi     r18, 0x01       ; 1
   140fc:       92 07           cpc     r25, r18
   140fe:       70 f0           brcs    .+28            ; 0x1411c <__vector_9+0x242>
        {
                OCR2A = 255;
   14100:       8f ef           ldi     r24, 0xFF       ; 255
   14102:       80 93 b3 00     sts     0x00B3, r24
                RemainingPulse -= 255;
   14106:       80 91 c8 04     lds     r24, 0x04C8
   1410a:       90 91 c9 04     lds     r25, 0x04C9
   1410e:       8f 5f           subi    r24, 0xFF       ; 255
   14110:       91 09           sbc     r25, r1
   14112:       90 93 c9 04     sts     0x04C9, r25
   14116:       80 93 c8 04     sts     0x04C8, r24
   1411a:       2d c0           rjmp    .+90            ; 0x14176 <__vector_9+0x29c>
        }
        else
        {
                if(RemainingPulse > 255) // this is the 2nd last part
   1411c:       8f 3f           cpi     r24, 0xFF       ; 255
   1411e:       91 05           cpc     r25, r1
   14120:       11 f1           breq    .+68            ; 0x14166 <__vector_9+0x28c>
   14122:       08 f1           brcs    .+66            ; 0x14166 <__vector_9+0x28c>
                {
                        if((RemainingPulse - 255) < IRS_RUNTIME)
   14124:       8f 5f           subi    r24, 0xFF       ; 255
   14126:       91 09           sbc     r25, r1
   14128:       8f 37           cpi     r24, 0x7F       ; 127
   1412a:       91 05           cpc     r25, r1
   1412c:       70 f4           brcc    .+28            ; 0x1414a <__vector_9+0x270>
                        {
                                OCR2A = 255 - IRS_RUNTIME;
   1412e:       80 e8           ldi     r24, 0x80       ; 128
   14130:       80 93 b3 00     sts     0x00B3, r24
                                RemainingPulse -= 255 - IRS_RUNTIME;
   14134:       80 91 c8 04     lds     r24, 0x04C8
   14138:       90 91 c9 04     lds     r25, 0x04C9
   1413c:       80 58           subi    r24, 0x80       ; 128
   1413e:       91 09           sbc     r25, r1
   14140:       90 93 c9 04     sts     0x04C9, r25
   14144:       80 93 c8 04     sts     0x04C8, r24
   14148:       16 c0           rjmp    .+44            ; 0x14176 <__vector_9+0x29c>

                        }
                        else // last part > ISR_RUNTIME
                        {
                                OCR2A = 255;
   1414a:       8f ef           ldi     r24, 0xFF       ; 255
   1414c:       80 93 b3 00     sts     0x00B3, r24
                                RemainingPulse -= 255;
   14150:       80 91 c8 04     lds     r24, 0x04C8
   14154:       90 91 c9 04     lds     r25, 0x04C9
   14158:       8f 5f           subi    r24, 0xFF       ; 255
   1415a:       91 09           sbc     r25, r1
   1415c:       90 93 c9 04     sts     0x04C9, r25
   14160:       80 93 c8 04     sts     0x04C8, r24
   14164:       08 c0           rjmp    .+16            ; 0x14176 <__vector_9+0x29c>
                        }
                }
                else // this is the last part
                {
                        OCR2A = RemainingPulse;
   14166:       80 93 b3 00     sts     0x00B3, r24
                        RemainingPulse = 0;
   1416a:       10 92 c9 04     sts     0x04C9, r1
   1416e:       10 92 c8 04     sts     0x04C8, r1
                        PulseOutput = 0; // trigger to stop pulse
   14172:       10 92 c2 04     sts     0x04C2, r1
                }
        } // EOF general pulse output generator
}
   14176:       ff 91           pop     r31
   14178:       ef 91           pop     r30
   1417a:       9f 91           pop     r25
   1417c:       8f 91           pop     r24
   1417e:       4f 91           pop     r20
   14180:       3f 91           pop     r19
   14182:       2f 91           pop     r18
   14184:       0f 90           pop     r0
   14186:       0b be           out     0x3b, r0        ; 59
   14188:       0f 90           pop     r0
   1418a:       0f be           out     0x3f, r0        ; 63
   1418c:       0f 90           pop     r0
   1418e:       1f 90           pop     r1
   14190:       18 95           reti

00014192 <I2C_Init>:
/**************************************************/

void I2C_Init(char clear)
{
        uint8_t i;
        uint8_t sreg = SREG;
   14192:       2f b7           in      r18, 0x3f       ; 63
        cli();
   14194:       f8 94           cli

        // SDA is INPUT
        DDRC  &= ~(1<<DDRC1);
   14196:       39 98           cbi     0x07, 1 ; 7
        // SCL is output
        DDRC |= (1<<DDRC0);
   14198:       38 9a           sbi     0x07, 0 ; 7
        // pull up SDA
        PORTC |= (1<<PORTC0)|(1<<PORTC1);
   1419a:       98 b1           in      r25, 0x08       ; 8
   1419c:       93 60           ori     r25, 0x03       ; 3
   1419e:       98 b9           out     0x08, r25       ; 8

        // TWI Status Register
        // prescaler 1 (TWPS1 = 0, TWPS0 = 0)
        TWSR &= ~((1<<TWPS1)|(1<<TWPS0));
   141a0:       e9 eb           ldi     r30, 0xB9       ; 185
   141a2:       f0 e0           ldi     r31, 0x00       ; 0
   141a4:       90 81           ld      r25, Z
   141a6:       9c 7f           andi    r25, 0xFC       ; 252
   141a8:       90 83           st      Z, r25

        // set TWI Bit Rate Register
        TWBR = ((F_CPU/SCL_CLOCK)-16)/2;
   141aa:       9a e2           ldi     r25, 0x2A       ; 42
   141ac:       90 93 b8 00     sts     0x00B8, r25

        twi_state               = TWI_STATE_MOTOR_TX;
   141b0:       10 92 e3 04     sts     0x04E3, r1
        motor_write     = 0;
   141b4:       10 92 e2 04     sts     0x04E2, r1
        motor_read              = 0;
   141b8:       10 92 e1 04     sts     0x04E1, r1

        if(clear) for(i=0; i < MAX_MOTORS; i++)
   141bc:       88 23           and     r24, r24
   141be:       31 f1           breq    .+76            ; 0x1420c <I2C_Init+0x7a>
   141c0:       e5 ea           ldi     r30, 0xA5       ; 165
   141c2:       f9 e0           ldi     r31, 0x09       ; 9
   141c4:       89 e5           ldi     r24, 0x59       ; 89
   141c6:       9a e0           ldi     r25, 0x0A       ; 10
   141c8:       df 01           movw    r26, r30
   141ca:       1e 97           sbiw    r26, 0x0e       ; 14
        {
                Motor[i].Version                = 0;
   141cc:       1c 92           st      X, r1
   141ce:       11 96           adiw    r26, 0x01       ; 1
                Motor[i].SetPoint               = 0;
   141d0:       1c 92           st      X, r1
   141d2:       11 96           adiw    r26, 0x01       ; 1
                Motor[i].SetPointLowerBits      = 0;
   141d4:       1c 92           st      X, r1
   141d6:       11 96           adiw    r26, 0x01       ; 1
                Motor[i].State                  = 0;
   141d8:       1c 92           st      X, r1
   141da:       11 96           adiw    r26, 0x01       ; 1
                Motor[i].ReadMode               = BL_READMODE_STATUS;
   141dc:       1c 92           st      X, r1
   141de:       11 96           adiw    r26, 0x01       ; 1
                Motor[i].Current                = 0;
   141e0:       1c 92           st      X, r1
   141e2:       11 96           adiw    r26, 0x01       ; 1
                Motor[i].MaxPWM                 = 0;
   141e4:       1c 92           st      X, r1
   141e6:       11 96           adiw    r26, 0x01       ; 1
                Motor[i].Temperature    = 0;
   141e8:       1c 92           st      X, r1
                Motor[i].NotReadyCnt    = 0;
   141ea:       10 82           st      Z, r1
   141ec:       11 96           adiw    r26, 0x01       ; 1
        Motor[i].RPM                    = 0;
   141ee:       1c 92           st      X, r1
   141f0:       11 96           adiw    r26, 0x01       ; 1
        Motor[i].reserved1              = 0;
   141f2:       1c 92           st      X, r1
   141f4:       11 96           adiw    r26, 0x01       ; 1
        Motor[i].Voltage                = 0;
   141f6:       1c 92           st      X, r1
   141f8:       11 96           adiw    r26, 0x01       ; 1
        Motor[i].SlaveI2cError  = 0;
   141fa:       1c 92           st      X, r1
   141fc:       11 96           adiw    r26, 0x01       ; 1
        Motor[i].VersionMajor   = 0;
   141fe:       1c 92           st      X, r1
   14200:       11 96           adiw    r26, 0x01       ; 1
        Motor[i].VersionMinor   = 0;
   14202:       1c 92           st      X, r1
   14204:       3f 96           adiw    r30, 0x0f       ; 15

        twi_state               = TWI_STATE_MOTOR_TX;
        motor_write     = 0;
        motor_read              = 0;

        if(clear) for(i=0; i < MAX_MOTORS; i++)
   14206:       e8 17           cp      r30, r24
   14208:       f9 07           cpc     r31, r25
   1420a:       f1 f6           brne    .-68            ; 0x141c8 <I2C_Init+0x36>
        Motor[i].Voltage                = 0;
        Motor[i].SlaveI2cError  = 0;
        Motor[i].VersionMajor   = 0;
        Motor[i].VersionMinor   = 0;
        }
    sei();
   1420c:       78 94           sei
        SREG = sreg;
   1420e:       2f bf           out     0x3f, r18       ; 63
   14210:       08 95           ret

00014212 <I2C_Reset>:
}

void I2C_Reset(void)
{
   14212:       0f 93           push    r16
   14214:       1f 93           push    r17
   14216:       cf 93           push    r28
   14218:       df 93           push    r29
        // stop i2c bus
        I2C_Stop(TWI_STATE_MOTOR_TX);
   1421a:       10 92 e3 04     sts     0x04E3, r1
   1421e:       cc eb           ldi     r28, 0xBC       ; 188
   14220:       d0 e0           ldi     r29, 0x00       ; 0
   14222:       84 e9           ldi     r24, 0x94       ; 148
   14224:       88 83           st      Y, r24
        TWCR = (1<<TWINT); // reset to original state incl. interrupt flag reset
   14226:       80 e8           ldi     r24, 0x80       ; 128
   14228:       88 83           st      Y, r24
        TWAMR = 0;
   1422a:       10 92 bd 00     sts     0x00BD, r1
        TWAR = 0;
   1422e:       10 92 ba 00     sts     0x00BA, r1
        TWDR = 0;
   14232:       0b eb           ldi     r16, 0xBB       ; 187
   14234:       10 e0           ldi     r17, 0x00       ; 0
   14236:       f8 01           movw    r30, r16
   14238:       10 82           st      Z, r1
        TWSR = 0;
   1423a:       10 92 b9 00     sts     0x00B9, r1
        TWBR = 0;
   1423e:       10 92 b8 00     sts     0x00B8, r1
    I2C_TransferActive = 0;
   14242:       10 92 e0 04     sts     0x04E0, r1
        I2C_Init(0);
   14246:       80 e0           ldi     r24, 0x00       ; 0
   14248:       a4 df           rcall   .-184           ; 0x14192 <I2C_Init>
        I2C_WriteByte(0);
   1424a:       f8 01           movw    r30, r16
   1424c:       10 82           st      Z, r1
   1424e:       85 e8           ldi     r24, 0x85       ; 133
   14250:       88 83           st      Y, r24
        BLFlags |= BLFLAG_READ_VERSION;
   14252:       80 91 de 04     lds     r24, 0x04DE
   14256:       82 60           ori     r24, 0x02       ; 2
   14258:       80 93 de 04     sts     0x04DE, r24
}
   1425c:       df 91           pop     r29
   1425e:       cf 91           pop     r28
   14260:       1f 91           pop     r17
   14262:       0f 91           pop     r16
   14264:       08 95           ret

00014266 <__vector_26>:

/****************************************/
/*        I2C ISR                       */
/****************************************/
ISR (TWI_vect)
{
   14266:       1f 92           push    r1
   14268:       0f 92           push    r0
   1426a:       0f b6           in      r0, 0x3f        ; 63
   1426c:       0f 92           push    r0
   1426e:       11 24           eor     r1, r1
   14270:       0b b6           in      r0, 0x3b        ; 59
   14272:       0f 92           push    r0
   14274:       2f 93           push    r18
   14276:       3f 93           push    r19
   14278:       4f 93           push    r20
   1427a:       8f 93           push    r24
   1427c:       9f 93           push    r25
   1427e:       af 93           push    r26
   14280:       bf 93           push    r27
   14282:       ef 93           push    r30
   14284:       ff 93           push    r31
        static uint8_t missing_motor = 0, motor_read_temperature = 0;
        static uint8_t *pBuff = 0;
        static uint8_t BuffLen = 0;
        static uint8_t max_packets = 0;
    switch (twi_state++)
   14286:       80 91 e3 04     lds     r24, 0x04E3
   1428a:       91 e0           ldi     r25, 0x01       ; 1
   1428c:       98 0f           add     r25, r24
   1428e:       90 93 e3 04     sts     0x04E3, r25
   14292:       90 e0           ldi     r25, 0x00       ; 0
   14294:       87 30           cpi     r24, 0x07       ; 7
   14296:       91 05           cpc     r25, r1
   14298:       08 f0           brcs    .+2             ; 0x1429c <__vector_26+0x36>
   1429a:       d8 c2           rjmp    .+1456          ; 0x1484c <__vector_26+0x5e6>
   1429c:       fc 01           movw    r30, r24
   1429e:       e0 55           subi    r30, 0x50       ; 80
   142a0:       ff 4f           sbci    r31, 0xFF       ; 255
   142a2:       0c 94 a7 b1     jmp     0x1634e ; 0x1634e <__tablejump2__>
        {
                // Master Transmit
        case 0: // TWI_STATE_MOTOR_TX
            I2C_TransferActive = 1;
   142a6:       81 e0           ldi     r24, 0x01       ; 1
   142a8:       80 93 e0 04     sts     0x04E0, r24
                        // skip motor if not used in mixer
                        while((Mixer.Motor[motor_write][MIX_GAS] <= 0) && (motor_write < MAX_MOTORS)) motor_write++;
   142ac:       e0 91 e2 04     lds     r30, 0x04E2
   142b0:       f0 e0           ldi     r31, 0x00       ; 0
   142b2:       ee 0f           add     r30, r30
   142b4:       ff 1f           adc     r31, r31
   142b6:       ee 0f           add     r30, r30
   142b8:       ff 1f           adc     r31, r31
   142ba:       e9 53           subi    r30, 0x39       ; 57
   142bc:       fa 4f           sbci    r31, 0xFA       ; 250
   142be:       85 85           ldd     r24, Z+13       ; 0x0d
   142c0:       18 16           cp      r1, r24
   142c2:       cc f0           brlt    .+50            ; 0x142f6 <__vector_26+0x90>
   142c4:       80 91 e2 04     lds     r24, 0x04E2
   142c8:       8c 30           cpi     r24, 0x0C       ; 12
   142ca:       a8 f4           brcc    .+42            ; 0x142f6 <__vector_26+0x90>
   142cc:       80 91 e2 04     lds     r24, 0x04E2
   142d0:       8f 5f           subi    r24, 0xFF       ; 255
   142d2:       80 93 e2 04     sts     0x04E2, r24
   142d6:       e0 91 e2 04     lds     r30, 0x04E2
   142da:       f0 e0           ldi     r31, 0x00       ; 0
   142dc:       ee 0f           add     r30, r30
   142de:       ff 1f           adc     r31, r31
   142e0:       ee 0f           add     r30, r30
   142e2:       ff 1f           adc     r31, r31
   142e4:       e9 53           subi    r30, 0x39       ; 57
   142e6:       fa 4f           sbci    r31, 0xFA       ; 250
   142e8:       85 85           ldd     r24, Z+13       ; 0x0d
   142ea:       18 16           cp      r1, r24
   142ec:       24 f0           brlt    .+8             ; 0x142f6 <__vector_26+0x90>
   142ee:       80 91 e2 04     lds     r24, 0x04E2
   142f2:       8c 30           cpi     r24, 0x0C       ; 12
   142f4:       58 f3           brcs    .-42            ; 0x142cc <__vector_26+0x66>
                        motor_write %= MAX_MOTORS;
   142f6:       90 91 e2 04     lds     r25, 0x04E2
   142fa:       8b ea           ldi     r24, 0xAB       ; 171
   142fc:       98 9f           mul     r25, r24
   142fe:       81 2d           mov     r24, r1
   14300:       11 24           eor     r1, r1
   14302:       86 95           lsr     r24
   14304:       86 95           lsr     r24
   14306:       86 95           lsr     r24
   14308:       28 2f           mov     r18, r24
   1430a:       22 0f           add     r18, r18
   1430c:       82 0f           add     r24, r18
   1430e:       88 0f           add     r24, r24
   14310:       88 0f           add     r24, r24
   14312:       98 1b           sub     r25, r24
   14314:       90 93 e2 04     sts     0x04E2, r25
                        if(++max_packets > Max_I2C_Packets) // writing finished, read now
   14318:       80 91 d9 04     lds     r24, 0x04D9
   1431c:       8f 5f           subi    r24, 0xFF       ; 255
   1431e:       80 93 d9 04     sts     0x04D9, r24
   14322:       90 91 b2 02     lds     r25, 0x02B2
   14326:       98 17           cp      r25, r24
   14328:       98 f4           brcc    .+38            ; 0x14350 <__vector_26+0xea>
                        {
                                max_packets = 0;
   1432a:       10 92 d9 04     sts     0x04D9, r1
                                BLConfig_WriteMask = 0; // reset configuration bitmask
   1432e:       10 92 dd 04     sts     0x04DD, r1
   14332:       10 92 dc 04     sts     0x04DC, r1
//motor_write = 0; // reset motor write counter for next cycle
                                twi_state = TWI_STATE_MOTOR_RX;
   14336:       85 e0           ldi     r24, 0x05       ; 5
   14338:       80 93 e3 04     sts     0x04E3, r24
                                I2C_WriteByte(TWI_BASE_ADDRESS + TW_READ + (motor_read<<1) ); // select slave address in rx mode
   1433c:       80 91 e1 04     lds     r24, 0x04E1
   14340:       88 0f           add     r24, r24
   14342:       8d 5a           subi    r24, 0xAD       ; 173
   14344:       80 93 bb 00     sts     0x00BB, r24
   14348:       85 e8           ldi     r24, 0x85       ; 133
   1434a:       80 93 bc 00     sts     0x00BC, r24
   1434e:       94 c2           rjmp    .+1320          ; 0x14878 <__vector_26+0x612>
                        }
                        else I2C_WriteByte(TWI_BASE_ADDRESS + TW_WRITE + (motor_write<<1) ); // select slave address in tx mode
   14350:       80 91 e2 04     lds     r24, 0x04E2
   14354:       88 0f           add     r24, r24
   14356:       8e 5a           subi    r24, 0xAE       ; 174
   14358:       80 93 bb 00     sts     0x00BB, r24
   1435c:       85 e8           ldi     r24, 0x85       ; 133
   1435e:       80 93 bc 00     sts     0x00BC, r24
   14362:       8a c2           rjmp    .+1300          ; 0x14878 <__vector_26+0x612>
                        break;
        case 1: // Send Data to Slave
                        I2C_WriteByte(Motor[motor_write].SetPoint); // transmit setpoint
   14364:       a0 91 e2 04     lds     r26, 0x04E2
   14368:       8f e0           ldi     r24, 0x0F       ; 15
   1436a:       8a 9f           mul     r24, r26
   1436c:       d0 01           movw    r26, r0
   1436e:       11 24           eor     r1, r1
   14370:       a9 56           subi    r26, 0x69       ; 105
   14372:       b6 4f           sbci    r27, 0xF6       ; 246
   14374:       11 96           adiw    r26, 0x01       ; 1
   14376:       9c 91           ld      r25, X
   14378:       90 93 bb 00     sts     0x00BB, r25
   1437c:       95 e8           ldi     r25, 0x85       ; 133
   1437e:       90 93 bc 00     sts     0x00BC, r25
                        // if old version has been detected
                        if(!(Motor[motor_write].Version & MOTOR_STATE_NEW_PROTOCOL_MASK))
   14382:       e0 91 e2 04     lds     r30, 0x04E2
   14386:       8e 9f           mul     r24, r30
   14388:       f0 01           movw    r30, r0
   1438a:       11 24           eor     r1, r1
   1438c:       e9 56           subi    r30, 0x69       ; 105
   1438e:       f6 4f           sbci    r31, 0xF6       ; 246
   14390:       80 81           ld      r24, Z
   14392:       80 fd           sbrc    r24, 0
   14394:       04 c0           rjmp    .+8             ; 0x1439e <__vector_26+0x138>
                        {
                                twi_state = 4; //jump over sending more data
   14396:       84 e0           ldi     r24, 0x04       ; 4
   14398:       80 93 e3 04     sts     0x04E3, r24
   1439c:       6d c2           rjmp    .+1242          ; 0x14878 <__vector_26+0x612>
                        }
                        // the new version has been detected
                        else if(!( (Motor[motor_write].SetPointLowerBits && (RequiredMotors < 7)) || BLConfig_WriteMask || BLConfig_ReadMask )  )
   1439e:       e0 91 e2 04     lds     r30, 0x04E2
   143a2:       2f e0           ldi     r18, 0x0F       ; 15
   143a4:       e2 9f           mul     r30, r18
   143a6:       f0 01           movw    r30, r0
   143a8:       11 24           eor     r1, r1
   143aa:       e9 56           subi    r30, 0x69       ; 105
   143ac:       f6 4f           sbci    r31, 0xF6       ; 246
   143ae:       82 81           ldd     r24, Z+2        ; 0x02
   143b0:       88 23           and     r24, r24
   143b2:       29 f0           breq    .+10            ; 0x143be <__vector_26+0x158>
   143b4:       80 91 3d 05     lds     r24, 0x053D
   143b8:       87 30           cpi     r24, 0x07       ; 7
   143ba:       08 f4           brcc    .+2             ; 0x143be <__vector_26+0x158>
   143bc:       5d c2           rjmp    .+1210          ; 0x14878 <__vector_26+0x612>
   143be:       80 91 dc 04     lds     r24, 0x04DC
   143c2:       90 91 dd 04     lds     r25, 0x04DD
   143c6:       89 2b           or      r24, r25
   143c8:       09 f0           breq    .+2             ; 0x143cc <__vector_26+0x166>
   143ca:       56 c2           rjmp    .+1196          ; 0x14878 <__vector_26+0x612>
   143cc:       80 91 da 04     lds     r24, 0x04DA
   143d0:       90 91 db 04     lds     r25, 0x04DB
   143d4:       89 2b           or      r24, r25
   143d6:       09 f0           breq    .+2             ; 0x143da <__vector_26+0x174>
   143d8:       4f c2           rjmp    .+1182          ; 0x14878 <__vector_26+0x612>
                        {       // or LowerBits are zero and no BlConfig should be sent (saves round trip time)
                                twi_state = 4; //jump over sending more data
   143da:       84 e0           ldi     r24, 0x04       ; 4
   143dc:       80 93 e3 04     sts     0x04E3, r24
   143e0:       4b c2           rjmp    .+1174          ; 0x14878 <__vector_26+0x612>
                        }
                        break;
        case 2: // lower bits of setpoint (higher resolution)
                        if ((0x0001<<motor_write) & BLConfig_ReadMask)
   143e2:       40 91 e2 04     lds     r20, 0x04E2
   143e6:       20 91 da 04     lds     r18, 0x04DA
   143ea:       30 91 db 04     lds     r19, 0x04DB
   143ee:       81 e0           ldi     r24, 0x01       ; 1
   143f0:       90 e0           ldi     r25, 0x00       ; 0
   143f2:       02 c0           rjmp    .+4             ; 0x143f8 <__vector_26+0x192>
   143f4:       88 0f           add     r24, r24
   143f6:       99 1f           adc     r25, r25
   143f8:       4a 95           dec     r20
   143fa:       e2 f7           brpl    .-8             ; 0x143f4 <__vector_26+0x18e>
   143fc:       82 23           and     r24, r18
   143fe:       93 23           and     r25, r19
   14400:       89 2b           or      r24, r25
   14402:       59 f0           breq    .+22            ; 0x1441a <__vector_26+0x1b4>
                        {
                                Motor[motor_write].ReadMode = BL_READMODE_CONFIG; // configuration request
   14404:       e0 91 e2 04     lds     r30, 0x04E2
   14408:       8f e0           ldi     r24, 0x0F       ; 15
   1440a:       e8 9f           mul     r30, r24
   1440c:       f0 01           movw    r30, r0
   1440e:       11 24           eor     r1, r1
   14410:       e9 56           subi    r30, 0x69       ; 105
   14412:       f6 4f           sbci    r31, 0xF6       ; 246
   14414:       80 e1           ldi     r24, 0x10       ; 16
   14416:       84 83           std     Z+4, r24        ; 0x04
   14418:       09 c0           rjmp    .+18            ; 0x1442c <__vector_26+0x1c6>
                        }
                        else
                        {
                                Motor[motor_write].ReadMode = BL_READMODE_STATUS; // normal status request
   1441a:       e0 91 e2 04     lds     r30, 0x04E2
   1441e:       2f e0           ldi     r18, 0x0F       ; 15
   14420:       e2 9f           mul     r30, r18
   14422:       f0 01           movw    r30, r0
   14424:       11 24           eor     r1, r1
   14426:       e9 56           subi    r30, 0x69       ; 105
   14428:       f6 4f           sbci    r31, 0xF6       ; 246
   1442a:       14 82           std     Z+4, r1 ; 0x04
                        }
                        // send read mode and the lower bits of setpoint
                I2C_WriteByte((Motor[motor_write].ReadMode<<3)|(Motor[motor_write].SetPointLowerBits & 0x07));
   1442c:       a0 91 e2 04     lds     r26, 0x04E2
   14430:       e0 91 e2 04     lds     r30, 0x04E2
   14434:       8f e0           ldi     r24, 0x0F       ; 15
   14436:       8a 9f           mul     r24, r26
   14438:       d0 01           movw    r26, r0
   1443a:       11 24           eor     r1, r1
   1443c:       a9 56           subi    r26, 0x69       ; 105
   1443e:       b6 4f           sbci    r27, 0xF6       ; 246
   14440:       14 96           adiw    r26, 0x04       ; 4
   14442:       9c 91           ld      r25, X
   14444:       99 0f           add     r25, r25
   14446:       99 0f           add     r25, r25
   14448:       99 0f           add     r25, r25
   1444a:       8e 9f           mul     r24, r30
   1444c:       f0 01           movw    r30, r0
   1444e:       11 24           eor     r1, r1
   14450:       e9 56           subi    r30, 0x69       ; 105
   14452:       f6 4f           sbci    r31, 0xF6       ; 246
   14454:       82 81           ldd     r24, Z+2        ; 0x02
   14456:       87 70           andi    r24, 0x07       ; 7
   14458:       89 2b           or      r24, r25
   1445a:       80 93 bb 00     sts     0x00BB, r24
   1445e:       85 e8           ldi     r24, 0x85       ; 133
   14460:       80 93 bc 00     sts     0x00BC, r24
                        // configuration tranmission request?
                        if((0x0001<<motor_write) & BLConfig_WriteMask)
   14464:       40 91 e2 04     lds     r20, 0x04E2
   14468:       20 91 dc 04     lds     r18, 0x04DC
   1446c:       30 91 dd 04     lds     r19, 0x04DD
   14470:       81 e0           ldi     r24, 0x01       ; 1
   14472:       90 e0           ldi     r25, 0x00       ; 0
   14474:       02 c0           rjmp    .+4             ; 0x1447a <__vector_26+0x214>
   14476:       88 0f           add     r24, r24
   14478:       99 1f           adc     r25, r25
   1447a:       4a 95           dec     r20
   1447c:       e2 f7           brpl    .-8             ; 0x14476 <__vector_26+0x210>
   1447e:       82 23           and     r24, r18
   14480:       93 23           and     r25, r19
   14482:       89 2b           or      r24, r25
   14484:       51 f0           breq    .+20            ; 0x1449a <__vector_26+0x234>
                        {       // redirect tx pointer to configuration data
                                pBuff = (uint8_t*)&BLConfig; // select config for motor
   14486:       8f e8           ldi     r24, 0x8F       ; 143
   14488:       99 e0           ldi     r25, 0x09       ; 9
   1448a:       90 93 d8 04     sts     0x04D8, r25
   1448e:       80 93 d7 04     sts     0x04D7, r24
                                BuffLen = sizeof(BLConfig_t);
   14492:       88 e0           ldi     r24, 0x08       ; 8
   14494:       80 93 d6 04     sts     0x04D6, r24
   14498:       ef c1           rjmp    .+990           ; 0x14878 <__vector_26+0x612>
                        }
                        else
                        {       // jump to end of transmission for that motor
                                twi_state = 4;
   1449a:       84 e0           ldi     r24, 0x04       ; 4
   1449c:       80 93 e3 04     sts     0x04E3, r24
   144a0:       eb c1           rjmp    .+982           ; 0x14878 <__vector_26+0x612>
                        }
                        break;
                case 3: // send configuration
                        I2C_WriteByte(*pBuff);
   144a2:       e0 91 d7 04     lds     r30, 0x04D7
   144a6:       f0 91 d8 04     lds     r31, 0x04D8
   144aa:       80 81           ld      r24, Z
   144ac:       80 93 bb 00     sts     0x00BB, r24
   144b0:       85 e8           ldi     r24, 0x85       ; 133
   144b2:       80 93 bc 00     sts     0x00BC, r24
                        pBuff++;
   144b6:       80 91 d7 04     lds     r24, 0x04D7
   144ba:       90 91 d8 04     lds     r25, 0x04D8
   144be:       01 96           adiw    r24, 0x01       ; 1
   144c0:       90 93 d8 04     sts     0x04D8, r25
   144c4:       80 93 d7 04     sts     0x04D7, r24
                        if(--BuffLen > 0) twi_state = 3; // if there are some bytes left
   144c8:       80 91 d6 04     lds     r24, 0x04D6
   144cc:       81 50           subi    r24, 0x01       ; 1
   144ce:       80 93 d6 04     sts     0x04D6, r24
   144d2:       88 23           and     r24, r24
   144d4:       09 f4           brne    .+2             ; 0x144d8 <__vector_26+0x272>
   144d6:       d0 c1           rjmp    .+928           ; 0x14878 <__vector_26+0x612>
   144d8:       83 e0           ldi     r24, 0x03       ; 3
   144da:       80 93 e3 04     sts     0x04E3, r24
   144de:       cc c1           rjmp    .+920           ; 0x14878 <__vector_26+0x612>
                        break;
        case 4: // repeat case 0-4 for all motors
                        if(TWSR == TW_MT_DATA_NACK) // Data transmitted, NACK received
   144e0:       80 91 b9 00     lds     r24, 0x00B9
   144e4:       80 33           cpi     r24, 0x30       ; 48
   144e6:       11 f5           brne    .+68            ; 0x1452c <__vector_26+0x2c6>
                        {
                                if(!missing_motor) missing_motor = motor_write + 1;
   144e8:       80 91 d5 04     lds     r24, 0x04D5
   144ec:       81 11           cpse    r24, r1
   144ee:       05 c0           rjmp    .+10            ; 0x144fa <__vector_26+0x294>
   144f0:       80 91 e2 04     lds     r24, 0x04E2
   144f4:       8f 5f           subi    r24, 0xFF       ; 255
   144f6:       80 93 d5 04     sts     0x04D5, r24
                                if((Motor[motor_write].State & MOTOR_STATE_ERROR_MASK) < MOTOR_STATE_ERROR_MASK) Motor[motor_write].State++; // increment error counter and handle overflow
   144fa:       e0 91 e2 04     lds     r30, 0x04E2
   144fe:       8f e0           ldi     r24, 0x0F       ; 15
   14500:       e8 9f           mul     r30, r24
   14502:       f0 01           movw    r30, r0
   14504:       11 24           eor     r1, r1
   14506:       e9 56           subi    r30, 0x69       ; 105
   14508:       f6 4f           sbci    r31, 0xF6       ; 246
   1450a:       83 81           ldd     r24, Z+3        ; 0x03
   1450c:       8f 77           andi    r24, 0x7F       ; 127
   1450e:       90 e0           ldi     r25, 0x00       ; 0
   14510:       8f 37           cpi     r24, 0x7F       ; 127
   14512:       91 05           cpc     r25, r1
   14514:       5c f4           brge    .+22            ; 0x1452c <__vector_26+0x2c6>
   14516:       e0 91 e2 04     lds     r30, 0x04E2
   1451a:       2f e0           ldi     r18, 0x0F       ; 15
   1451c:       e2 9f           mul     r30, r18
   1451e:       f0 01           movw    r30, r0
   14520:       11 24           eor     r1, r1
   14522:       e9 56           subi    r30, 0x69       ; 105
   14524:       f6 4f           sbci    r31, 0xF6       ; 246
   14526:       83 81           ldd     r24, Z+3        ; 0x03
   14528:       8f 5f           subi    r24, 0xFF       ; 255
   1452a:       83 83           std     Z+3, r24        ; 0x03
                        }
                        I2C_Stop(TWI_STATE_MOTOR_TX);
   1452c:       10 92 e3 04     sts     0x04E3, r1
   14530:       ec eb           ldi     r30, 0xBC       ; 188
   14532:       f0 e0           ldi     r31, 0x00       ; 0
   14534:       84 e9           ldi     r24, 0x94       ; 148
   14536:       80 83           st      Z, r24
                        I2CTimeout = 10;
   14538:       8a e0           ldi     r24, 0x0A       ; 10
   1453a:       90 e0           ldi     r25, 0x00       ; 0
   1453c:       90 93 b1 02     sts     0x02B1, r25
   14540:       80 93 b0 02     sts     0x02B0, r24
                        motor_write++; // next motor
   14544:       80 91 e2 04     lds     r24, 0x04E2
   14548:       8f 5f           subi    r24, 0xFF       ; 255
   1454a:       80 93 e2 04     sts     0x04E2, r24
                        I2C_Start(TWI_STATE_MOTOR_TX); // Repeated start -> switch slave or switch Master Transmit -> Master Receive
   1454e:       10 92 e3 04     sts     0x04E3, r1
   14552:       80 91 de 04     lds     r24, 0x04DE
   14556:       8e 7f           andi    r24, 0xFE       ; 254
   14558:       80 93 de 04     sts     0x04DE, r24
   1455c:       85 ea           ldi     r24, 0xA5       ; 165
   1455e:       80 83           st      Z, r24
                        break;
   14560:       8b c1           rjmp    .+790           ; 0x14878 <__vector_26+0x612>
       // Master Receive Data
        case 5: // TWI_STATE_MOTOR_RX
                        if(TWSR != TW_MR_SLA_ACK) //  SLA+R transmitted but no ACK received
   14562:       80 91 b9 00     lds     r24, 0x00B9
   14566:       80 34           cpi     r24, 0x40       ; 64
   14568:       a1 f1           breq    .+104           ; 0x145d2 <__vector_26+0x36c>
                        {       // no response from the addressed slave received
                                Motor[motor_read].State &= ~MOTOR_STATE_PRESENT_MASK; // clear present bit
   1456a:       e0 91 e1 04     lds     r30, 0x04E1
   1456e:       8f e0           ldi     r24, 0x0F       ; 15
   14570:       e8 9f           mul     r30, r24
   14572:       f0 01           movw    r30, r0
   14574:       11 24           eor     r1, r1
   14576:       e9 56           subi    r30, 0x69       ; 105
   14578:       f6 4f           sbci    r31, 0xF6       ; 246
   1457a:       83 81           ldd     r24, Z+3        ; 0x03
   1457c:       8f 77           andi    r24, 0x7F       ; 127
   1457e:       83 83           std     Z+3, r24        ; 0x03
                                if(++motor_read >= MAX_MOTORS)
   14580:       80 91 e1 04     lds     r24, 0x04E1
   14584:       8f 5f           subi    r24, 0xFF       ; 255
   14586:       80 93 e1 04     sts     0x04E1, r24
   1458a:       8c 30           cpi     r24, 0x0C       ; 12
   1458c:       a8 f0           brcs    .+42            ; 0x145b8 <__vector_26+0x352>
                                {       // all motors read
                                        motor_read = 0;                 // restart from beginning
   1458e:       10 92 e1 04     sts     0x04E1, r1
                                        BLConfig_ReadMask = 0;  // reset read configuration bitmask
   14592:       10 92 db 04     sts     0x04DB, r1
   14596:       10 92 da 04     sts     0x04DA, r1
                                        if(++motor_read_temperature >= MAX_MOTORS)
   1459a:       80 91 d4 04     lds     r24, 0x04D4
   1459e:       8f 5f           subi    r24, 0xFF       ; 255
   145a0:       8c 30           cpi     r24, 0x0C       ; 12
   145a2:       18 f4           brcc    .+6             ; 0x145aa <__vector_26+0x344>
   145a4:       80 93 d4 04     sts     0x04D4, r24
   145a8:       07 c0           rjmp    .+14            ; 0x145b8 <__vector_26+0x352>
                                        {
                                                motor_read_temperature = 0;
   145aa:       10 92 d4 04     sts     0x04D4, r1
                                                BLFlags &= ~BLFLAG_READ_VERSION;
   145ae:       80 91 de 04     lds     r24, 0x04DE
   145b2:       8d 7f           andi    r24, 0xFD       ; 253
   145b4:       80 93 de 04     sts     0x04DE, r24
                                        }
                                }
                                BLFlags |= BLFLAG_TX_COMPLETE;
   145b8:       80 91 de 04     lds     r24, 0x04DE
   145bc:       81 60           ori     r24, 0x01       ; 1
   145be:       80 93 de 04     sts     0x04DE, r24
                                I2C_Stop(TWI_STATE_MOTOR_TX);
   145c2:       10 92 e3 04     sts     0x04E3, r1
   145c6:       84 e9           ldi     r24, 0x94       ; 148
   145c8:       80 93 bc 00     sts     0x00BC, r24
                                I2C_TransferActive = 0;
   145cc:       10 92 e0 04     sts     0x04E0, r1
   145d0:       7a c0           rjmp    .+244           ; 0x146c6 <__vector_26+0x460>
                        }
                        else
                        {       // motor successfully addressed
                                Motor[motor_read].State |= MOTOR_STATE_PRESENT_MASK; // set present bit
   145d2:       e0 91 e1 04     lds     r30, 0x04E1
   145d6:       8f e0           ldi     r24, 0x0F       ; 15
   145d8:       8e 9f           mul     r24, r30
   145da:       f0 01           movw    r30, r0
   145dc:       11 24           eor     r1, r1
   145de:       e9 56           subi    r30, 0x69       ; 105
   145e0:       f6 4f           sbci    r31, 0xF6       ; 246
   145e2:       93 81           ldd     r25, Z+3        ; 0x03
   145e4:       90 68           ori     r25, 0x80       ; 128
   145e6:       93 83           std     Z+3, r25        ; 0x03
                                if(Motor[motor_read].Version & MOTOR_STATE_NEW_PROTOCOL_MASK)
   145e8:       e0 91 e1 04     lds     r30, 0x04E1
   145ec:       8e 9f           mul     r24, r30
   145ee:       f0 01           movw    r30, r0
   145f0:       11 24           eor     r1, r1
   145f2:       e9 56           subi    r30, 0x69       ; 105
   145f4:       f6 4f           sbci    r31, 0xF6       ; 246
   145f6:       80 81           ld      r24, Z
   145f8:       80 ff           sbrs    r24, 0
   145fa:       3c c0           rjmp    .+120           ; 0x14674 <__vector_26+0x40e>
                                {
                                        // new BL found
                                        switch(Motor[motor_read].ReadMode)
   145fc:       e0 91 e1 04     lds     r30, 0x04E1
   14600:       2f e0           ldi     r18, 0x0F       ; 15
   14602:       e2 9f           mul     r30, r18
   14604:       f0 01           movw    r30, r0
   14606:       11 24           eor     r1, r1
   14608:       e9 56           subi    r30, 0x69       ; 105
   1460a:       f6 4f           sbci    r31, 0xF6       ; 246
   1460c:       84 81           ldd     r24, Z+4        ; 0x04
   1460e:       88 23           and     r24, r24
   14610:       b1 f0           breq    .+44            ; 0x1463e <__vector_26+0x3d8>
   14612:       80 31           cpi     r24, 0x10       ; 16
   14614:       09 f0           breq    .+2             ; 0x14618 <__vector_26+0x3b2>
   14616:       4c c0           rjmp    .+152           ; 0x146b0 <__vector_26+0x44a>
                                        {
                                                case BL_READMODE_CONFIG:
                                                        pBuff = (uint8_t*)&BLConfig;
   14618:       8f e8           ldi     r24, 0x8F       ; 143
   1461a:       99 e0           ldi     r25, 0x09       ; 9
   1461c:       90 93 d8 04     sts     0x04D8, r25
   14620:       80 93 d7 04     sts     0x04D7, r24
                                                        BuffLen = sizeof(BLConfig_t);
   14624:       88 e0           ldi     r24, 0x08       ; 8
   14626:       80 93 d6 04     sts     0x04D6, r24
                                                        Motor[motor_read].ReadMode = BL_READMODE_STATUS; // only once
   1462a:       e0 91 e1 04     lds     r30, 0x04E1
   1462e:       8f e0           ldi     r24, 0x0F       ; 15
   14630:       e8 9f           mul     r30, r24
   14632:       f0 01           movw    r30, r0
   14634:       11 24           eor     r1, r1
   14636:       e9 56           subi    r30, 0x69       ; 105
   14638:       f6 4f           sbci    r31, 0xF6       ; 246
   1463a:       14 82           std     Z+4, r1 ; 0x04
                                                        break;
   1463c:       39 c0           rjmp    .+114           ; 0x146b0 <__vector_26+0x44a>
                                                case BL_READMODE_STATUS:
                                                        pBuff = (uint8_t*)&(Motor[motor_read].Current);
   1463e:       80 91 e1 04     lds     r24, 0x04E1
   14642:       2f e0           ldi     r18, 0x0F       ; 15
   14644:       82 9f           mul     r24, r18
   14646:       c0 01           movw    r24, r0
   14648:       11 24           eor     r1, r1
   1464a:       84 56           subi    r24, 0x64       ; 100
   1464c:       96 4f           sbci    r25, 0xF6       ; 246
   1464e:       90 93 d8 04     sts     0x04D8, r25
   14652:       80 93 d7 04     sts     0x04D7, r24
                                                        if(motor_read == motor_read_temperature) BuffLen = ReadBlSize; // read Current, MaxPwm & Temp (is 3 or 9)
   14656:       90 91 e1 04     lds     r25, 0x04E1
   1465a:       80 91 d4 04     lds     r24, 0x04D4
   1465e:       98 13           cpse    r25, r24
   14660:       05 c0           rjmp    .+10            ; 0x1466c <__vector_26+0x406>
   14662:       80 91 b3 02     lds     r24, 0x02B3
   14666:       80 93 d6 04     sts     0x04D6, r24
   1466a:       22 c0           rjmp    .+68            ; 0x146b0 <__vector_26+0x44a>
                                                        else BuffLen = 1;// read Current only
   1466c:       81 e0           ldi     r24, 0x01       ; 1
   1466e:       80 93 d6 04     sts     0x04D6, r24
   14672:       22 c0           rjmp    .+68            ; 0x146b8 <__vector_26+0x452>
                                                        break;
                                        }
                                }
                                else // old BL version
                                {
                                        pBuff = (uint8_t*)&(Motor[motor_read].Current);
   14674:       80 91 e1 04     lds     r24, 0x04E1
   14678:       2f e0           ldi     r18, 0x0F       ; 15
   1467a:       82 9f           mul     r24, r18
   1467c:       c0 01           movw    r24, r0
   1467e:       11 24           eor     r1, r1
   14680:       84 56           subi    r24, 0x64       ; 100
   14682:       96 4f           sbci    r25, 0xF6       ; 246
   14684:       90 93 d8 04     sts     0x04D8, r25
   14688:       80 93 d7 04     sts     0x04D7, r24
                                        if((BLFlags & BLFLAG_READ_VERSION) || (motor_read == motor_read_temperature)) BuffLen = 2; // Current & MaxPwm
   1468c:       80 91 de 04     lds     r24, 0x04DE
   14690:       81 fd           sbrc    r24, 1
   14692:       06 c0           rjmp    .+12            ; 0x146a0 <__vector_26+0x43a>
   14694:       90 91 e1 04     lds     r25, 0x04E1
   14698:       80 91 d4 04     lds     r24, 0x04D4
   1469c:       98 13           cpse    r25, r24
   1469e:       04 c0           rjmp    .+8             ; 0x146a8 <__vector_26+0x442>
   146a0:       82 e0           ldi     r24, 0x02       ; 2
   146a2:       80 93 d6 04     sts     0x04D6, r24
   146a6:       0c c0           rjmp    .+24            ; 0x146c0 <__vector_26+0x45a>
                                        else BuffLen = 1; // read Current only
   146a8:       81 e0           ldi     r24, 0x01       ; 1
   146aa:       80 93 d6 04     sts     0x04D6, r24
   146ae:       04 c0           rjmp    .+8             ; 0x146b8 <__vector_26+0x452>
                                }
                                if(BuffLen == 1)
   146b0:       80 91 d6 04     lds     r24, 0x04D6
   146b4:       81 30           cpi     r24, 0x01       ; 1
   146b6:       21 f4           brne    .+8             ; 0x146c0 <__vector_26+0x45a>
                                {
                                        I2C_ReceiveLastByte();  // read last byte
   146b8:       85 e8           ldi     r24, 0x85       ; 133
   146ba:       80 93 bc 00     sts     0x00BC, r24
   146be:       03 c0           rjmp    .+6             ; 0x146c6 <__vector_26+0x460>
                                }
                                else
                                {
                                        I2C_ReceiveByte();              // read next byte
   146c0:       85 ec           ldi     r24, 0xC5       ; 197
   146c2:       80 93 bc 00     sts     0x00BC, r24
                                }
                        }
                        MissingMotor = missing_motor;
   146c6:       80 91 d5 04     lds     r24, 0x04D5
   146ca:       80 93 df 04     sts     0x04DF, r24
                        missing_motor = 0;
   146ce:       10 92 d5 04     sts     0x04D5, r1
                        break;
   146d2:       d2 c0           rjmp    .+420           ; 0x14878 <__vector_26+0x612>
                case 6: // receive bytes
                        *pBuff = TWDR;
   146d4:       80 91 bb 00     lds     r24, 0x00BB
   146d8:       e0 91 d7 04     lds     r30, 0x04D7
   146dc:       f0 91 d8 04     lds     r31, 0x04D8
   146e0:       81 93           st      Z+, r24
                        pBuff++; // set Pointer to next element : Motor[].Current,Motor[].Temperature
   146e2:       f0 93 d8 04     sts     0x04D8, r31
   146e6:       e0 93 d7 04     sts     0x04D7, r30
                        BuffLen--;
   146ea:       80 91 d6 04     lds     r24, 0x04D6
   146ee:       81 50           subi    r24, 0x01       ; 1
   146f0:       80 93 d6 04     sts     0x04D6, r24
                        if(BuffLen>1)
   146f4:       82 30           cpi     r24, 0x02       ; 2
   146f6:       20 f0           brcs    .+8             ; 0x14700 <__vector_26+0x49a>
                        {
                                I2C_ReceiveByte(); // read next byte
   146f8:       85 ec           ldi     r24, 0xC5       ; 197
   146fa:       80 93 bc 00     sts     0x00BC, r24
   146fe:       a2 c0           rjmp    .+324           ; 0x14844 <__vector_26+0x5de>
                        }
                        else if (BuffLen == 1)
   14700:       81 30           cpi     r24, 0x01       ; 1
   14702:       21 f4           brne    .+8             ; 0x1470c <__vector_26+0x4a6>
                        {
                                I2C_ReceiveLastByte();  // read last byte
   14704:       85 e8           ldi     r24, 0x85       ; 133
   14706:       80 93 bc 00     sts     0x00BC, r24
   1470a:       9c c0           rjmp    .+312           ; 0x14844 <__vector_26+0x5de>
                        }
                        else // nothing left -> ready
                        {
                                if(BLFlags & BLFLAG_READ_VERSION)
   1470c:       80 91 de 04     lds     r24, 0x04DE
   14710:       81 ff           sbrs    r24, 1
   14712:       52 c0           rjmp    .+164           ; 0x147b8 <__vector_26+0x552>
                                {
                                        if(!(FC_StatusFlags & FC_STATUS_MOTOR_RUN))
   14714:       80 91 cb 03     lds     r24, 0x03CB
   14718:       80 fd           sbrc    r24, 0
   1471a:       4e c0           rjmp    .+156           ; 0x147b8 <__vector_26+0x552>
                     { 
                                           if((Motor[motor_read].MaxPWM & 252) == 248) Motor[motor_read].Version |= MOTOR_STATE_NEW_PROTOCOL_MASK;
   1471c:       e0 91 e1 04     lds     r30, 0x04E1
   14720:       8f e0           ldi     r24, 0x0F       ; 15
   14722:       e8 9f           mul     r30, r24
   14724:       f0 01           movw    r30, r0
   14726:       11 24           eor     r1, r1
   14728:       e9 56           subi    r30, 0x69       ; 105
   1472a:       f6 4f           sbci    r31, 0xF6       ; 246
   1472c:       86 81           ldd     r24, Z+6        ; 0x06
   1472e:       8c 7f           andi    r24, 0xFC       ; 252
   14730:       88 3f           cpi     r24, 0xF8       ; 248
   14732:       61 f4           brne    .+24            ; 0x1474c <__vector_26+0x4e6>
   14734:       e0 91 e1 04     lds     r30, 0x04E1
   14738:       2f e0           ldi     r18, 0x0F       ; 15
   1473a:       e2 9f           mul     r30, r18
   1473c:       f0 01           movw    r30, r0
   1473e:       11 24           eor     r1, r1
   14740:       e9 56           subi    r30, 0x69       ; 105
   14742:       f6 4f           sbci    r31, 0xF6       ; 246
   14744:       80 81           ld      r24, Z
   14746:       81 60           ori     r24, 0x01       ; 1
   14748:       80 83           st      Z, r24
   1474a:       09 c0           rjmp    .+18            ; 0x1475e <__vector_26+0x4f8>
                                           else Motor[motor_read].Version = 0;
   1474c:       e0 91 e1 04     lds     r30, 0x04E1
   14750:       8f e0           ldi     r24, 0x0F       ; 15
   14752:       e8 9f           mul     r30, r24
   14754:       f0 01           movw    r30, r0
   14756:       11 24           eor     r1, r1
   14758:       e9 56           subi    r30, 0x69       ; 105
   1475a:       f6 4f           sbci    r31, 0xF6       ; 246
   1475c:       10 82           st      Z, r1
                       if(Motor[motor_read].MaxPWM == 248) Motor[motor_read].Version |= (MOTOR_STATE_FAST_MODE | MOTOR_STATE_BL30);
   1475e:       e0 91 e1 04     lds     r30, 0x04E1
   14762:       2f e0           ldi     r18, 0x0F       ; 15
   14764:       e2 9f           mul     r30, r18
   14766:       f0 01           movw    r30, r0
   14768:       11 24           eor     r1, r1
   1476a:       e9 56           subi    r30, 0x69       ; 105
   1476c:       f6 4f           sbci    r31, 0xF6       ; 246
   1476e:       86 81           ldd     r24, Z+6        ; 0x06
   14770:       88 3f           cpi     r24, 0xF8       ; 248
   14772:       61 f4           brne    .+24            ; 0x1478c <__vector_26+0x526>
   14774:       e0 91 e1 04     lds     r30, 0x04E1
   14778:       8f e0           ldi     r24, 0x0F       ; 15
   1477a:       e8 9f           mul     r30, r24
   1477c:       f0 01           movw    r30, r0
   1477e:       11 24           eor     r1, r1
   14780:       e9 56           subi    r30, 0x69       ; 105
   14782:       f6 4f           sbci    r31, 0xF6       ; 246
   14784:       80 81           ld      r24, Z
   14786:       86 60           ori     r24, 0x06       ; 6
   14788:       80 83           st      Z, r24
   1478a:       16 c0           rjmp    .+44            ; 0x147b8 <__vector_26+0x552>
                                           else
                       if(Motor[motor_read].MaxPWM == 249) Motor[motor_read].Version |= MOTOR_STATE_BL30;
   1478c:       e0 91 e1 04     lds     r30, 0x04E1
   14790:       2f e0           ldi     r18, 0x0F       ; 15
   14792:       e2 9f           mul     r30, r18
   14794:       f0 01           movw    r30, r0
   14796:       11 24           eor     r1, r1
   14798:       e9 56           subi    r30, 0x69       ; 105
   1479a:       f6 4f           sbci    r31, 0xF6       ; 246
   1479c:       86 81           ldd     r24, Z+6        ; 0x06
   1479e:       89 3f           cpi     r24, 0xF9       ; 249
   147a0:       59 f4           brne    .+22            ; 0x147b8 <__vector_26+0x552>
   147a2:       e0 91 e1 04     lds     r30, 0x04E1
   147a6:       8f e0           ldi     r24, 0x0F       ; 15
   147a8:       e8 9f           mul     r30, r24
   147aa:       f0 01           movw    r30, r0
   147ac:       11 24           eor     r1, r1
   147ae:       e9 56           subi    r30, 0x69       ; 105
   147b0:       f6 4f           sbci    r31, 0xF6       ; 246
   147b2:       80 81           ld      r24, Z
   147b4:       84 60           ori     r24, 0x04       ; 4
   147b6:       80 83           st      Z, r24
                                         }  
                                }

                if(FC_StatusFlags & FC_STATUS_FLY)
   147b8:       80 91 cb 03     lds     r24, 0x03CB
   147bc:       81 ff           sbrs    r24, 1
   147be:       19 c0           rjmp    .+50            ; 0x147f2 <__vector_26+0x58c>
                                           {
                                        // Starting -> 40
                                            // I2C-Setpoint is zero -> 250
                                            // 255 -> Running and no Redundancy
                                                // 254 -> Running and active Redundancy
                                            if(Motor[motor_read].MaxPWM < 254) 
   147c0:       e0 91 e1 04     lds     r30, 0x04E1
   147c4:       2f e0           ldi     r18, 0x0F       ; 15
   147c6:       e2 9f           mul     r30, r18
   147c8:       f0 01           movw    r30, r0
   147ca:       11 24           eor     r1, r1
   147cc:       e9 56           subi    r30, 0x69       ; 105
   147ce:       f6 4f           sbci    r31, 0xF6       ; 246
   147d0:       86 81           ldd     r24, Z+6        ; 0x06
   147d2:       8e 3f           cpi     r24, 0xFE       ; 254
   147d4:       70 f4           brcc    .+28            ; 0x147f2 <__vector_26+0x58c>
                                                 {
                                                  Motor[motor_read].NotReadyCnt++;
   147d6:       e0 91 e1 04     lds     r30, 0x04E1
   147da:       8f e0           ldi     r24, 0x0F       ; 15
   147dc:       e8 9f           mul     r30, r24
   147de:       f0 01           movw    r30, r0
   147e0:       11 24           eor     r1, r1
   147e2:       e9 56           subi    r30, 0x69       ; 105
   147e4:       f6 4f           sbci    r31, 0xF6       ; 246
   147e6:       86 85           ldd     r24, Z+14       ; 0x0e
   147e8:       8f 5f           subi    r24, 0xFF       ; 255
   147ea:       86 87           std     Z+14, r24       ; 0x0e
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                                  SpeakHoTT = SPEAK_ERR_MOTOR;
   147ec:       89 e0           ldi     r24, 0x09       ; 9
   147ee:       80 93 57 01     sts     0x0157, r24
#endif
                                                 } 
                                           }
                                if(++motor_read >= MAX_MOTORS)
   147f2:       80 91 e1 04     lds     r24, 0x04E1
   147f6:       8f 5f           subi    r24, 0xFF       ; 255
   147f8:       80 93 e1 04     sts     0x04E1, r24
   147fc:       8c 30           cpi     r24, 0x0C       ; 12
   147fe:       a8 f0           brcs    .+42            ; 0x1482a <__vector_26+0x5c4>
                                {
                                        motor_read = 0;                 // restart from beginning
   14800:       10 92 e1 04     sts     0x04E1, r1
                                        BLConfig_ReadMask = 0;  // reset read configuration bitmask
   14804:       10 92 db 04     sts     0x04DB, r1
   14808:       10 92 da 04     sts     0x04DA, r1
                                        if(++motor_read_temperature >= MAX_MOTORS)
   1480c:       80 91 d4 04     lds     r24, 0x04D4
   14810:       8f 5f           subi    r24, 0xFF       ; 255
   14812:       8c 30           cpi     r24, 0x0C       ; 12
   14814:       18 f4           brcc    .+6             ; 0x1481c <__vector_26+0x5b6>
   14816:       80 93 d4 04     sts     0x04D4, r24
   1481a:       07 c0           rjmp    .+14            ; 0x1482a <__vector_26+0x5c4>
                                        {
                                                motor_read_temperature = 0;
   1481c:       10 92 d4 04     sts     0x04D4, r1
                                                BLFlags &= ~BLFLAG_READ_VERSION;
   14820:       80 91 de 04     lds     r24, 0x04DE
   14824:       8d 7f           andi    r24, 0xFD       ; 253
   14826:       80 93 de 04     sts     0x04DE, r24
                                        }
                                }
                                I2C_Stop(TWI_STATE_MOTOR_TX);
   1482a:       10 92 e3 04     sts     0x04E3, r1
   1482e:       84 e9           ldi     r24, 0x94       ; 148
   14830:       80 93 bc 00     sts     0x00BC, r24
                                BLFlags |= BLFLAG_TX_COMPLETE;
   14834:       80 91 de 04     lds     r24, 0x04DE
   14838:       81 60           ori     r24, 0x01       ; 1
   1483a:       80 93 de 04     sts     0x04DE, r24
                I2C_TransferActive = 0;
   1483e:       10 92 e0 04     sts     0x04E0, r1
                                return;
   14842:       1a c0           rjmp    .+52            ; 0x14878 <__vector_26+0x612>
                        }
                        twi_state = 6; // if there are some bytes left
   14844:       86 e0           ldi     r24, 0x06       ; 6
   14846:       80 93 e3 04     sts     0x04E3, r24
                        break;
   1484a:       16 c0           rjmp    .+44            ; 0x14878 <__vector_26+0x612>
                                BLFlags |= BLFLAG_TX_COMPLETE;
                        }
                        break;
*/
        default:
                        I2C_Stop(TWI_STATE_MOTOR_TX);
   1484c:       10 92 e3 04     sts     0x04E3, r1
   14850:       84 e9           ldi     r24, 0x94       ; 148
   14852:       80 93 bc 00     sts     0x00BC, r24
                        BLFlags |= BLFLAG_TX_COMPLETE;
   14856:       80 91 de 04     lds     r24, 0x04DE
   1485a:       81 60           ori     r24, 0x01       ; 1
   1485c:       80 93 de 04     sts     0x04DE, r24
                        I2CTimeout = 10;
   14860:       8a e0           ldi     r24, 0x0A       ; 10
   14862:       90 e0           ldi     r25, 0x00       ; 0
   14864:       90 93 b1 02     sts     0x02B1, r25
   14868:       80 93 b0 02     sts     0x02B0, r24
                        motor_write = 0;
   1486c:       10 92 e2 04     sts     0x04E2, r1
                        motor_read = 0;
   14870:       10 92 e1 04     sts     0x04E1, r1
                        I2C_TransferActive = 0;
   14874:       10 92 e0 04     sts     0x04E0, r1
                        break;
        }

}
   14878:       ff 91           pop     r31
   1487a:       ef 91           pop     r30
   1487c:       bf 91           pop     r27
   1487e:       af 91           pop     r26
   14880:       9f 91           pop     r25
   14882:       8f 91           pop     r24
   14884:       4f 91           pop     r20
   14886:       3f 91           pop     r19
   14888:       2f 91           pop     r18
   1488a:       0f 90           pop     r0
   1488c:       0b be           out     0x3b, r0        ; 59
   1488e:       0f 90           pop     r0
   14890:       0f be           out     0x3f, r0        ; 63
   14892:       0f 90           pop     r0
   14894:       1f 90           pop     r1
   14896:       18 95           reti

00014898 <I2C_WriteBLConfig>:


uint8_t I2C_WriteBLConfig(uint8_t motor)
{
   14898:       ef 92           push    r14
   1489a:       ff 92           push    r15
   1489c:       0f 93           push    r16
   1489e:       1f 93           push    r17
   148a0:       cf 93           push    r28
   148a2:       df 93           push    r29
   148a4:       18 2f           mov     r17, r24
        uint8_t i, packets;
        uint16_t timer;
        if(MotorenEin || PC_MotortestActive) return(BLCONFIG_ERR_MOTOR_RUNNING);        // not when motors are running!
   148a6:       90 91 03 04     lds     r25, 0x0403
   148aa:       91 11           cpse    r25, r1
   148ac:       98 c0           rjmp    .+304           ; 0x149de <I2C_WriteBLConfig+0x146>
   148ae:       80 91 f5 04     lds     r24, 0x04F5
   148b2:       81 11           cpse    r24, r1
   148b4:       96 c0           rjmp    .+300           ; 0x149e2 <I2C_WriteBLConfig+0x14a>
        if(motor > MAX_MOTORS) return (BLCONFIG_ERR_MOTOR_NOT_EXIST);                   // motor does not exist!
   148b6:       1d 30           cpi     r17, 0x0D       ; 13
   148b8:       08 f0           brcs    .+2             ; 0x148bc <I2C_WriteBLConfig+0x24>
   148ba:       95 c0           rjmp    .+298           ; 0x149e6 <I2C_WriteBLConfig+0x14e>
        if(motor)
   148bc:       11 23           and     r17, r17
   148be:       d9 f0           breq    .+54            ; 0x148f6 <I2C_WriteBLConfig+0x5e>
        {
                if(!(Motor[motor-1].State & MOTOR_STATE_PRESENT_MASK)) return(BLCONFIG_ERR_MOTOR_NOT_EXIST); // motor does not exist!
   148c0:       21 2f           mov     r18, r17
   148c2:       30 e0           ldi     r19, 0x00       ; 0
   148c4:       21 50           subi    r18, 0x01       ; 1
   148c6:       31 09           sbc     r19, r1
   148c8:       8f e0           ldi     r24, 0x0F       ; 15
   148ca:       82 9f           mul     r24, r18
   148cc:       f0 01           movw    r30, r0
   148ce:       83 9f           mul     r24, r19
   148d0:       f0 0d           add     r31, r0
   148d2:       11 24           eor     r1, r1
   148d4:       e9 56           subi    r30, 0x69       ; 105
   148d6:       f6 4f           sbci    r31, 0xF6       ; 246
   148d8:       83 81           ldd     r24, Z+3        ; 0x03
   148da:       88 23           and     r24, r24
   148dc:       0c f0           brlt    .+2             ; 0x148e0 <I2C_WriteBLConfig+0x48>
   148de:       85 c0           rjmp    .+266           ; 0x149ea <I2C_WriteBLConfig+0x152>
                if(!(Motor[motor-1].Version & MOTOR_STATE_NEW_PROTOCOL_MASK)) return(BLCONFIG_ERR_HW_NOT_COMPATIBLE); // not a new BL!
   148e0:       8f e0           ldi     r24, 0x0F       ; 15
   148e2:       82 9f           mul     r24, r18
   148e4:       f0 01           movw    r30, r0
   148e6:       83 9f           mul     r24, r19
   148e8:       f0 0d           add     r31, r0
   148ea:       11 24           eor     r1, r1
   148ec:       e9 56           subi    r30, 0x69       ; 105
   148ee:       f6 4f           sbci    r31, 0xF6       ; 246
   148f0:       80 81           ld      r24, Z
   148f2:       80 ff           sbrs    r24, 0
   148f4:       7c c0           rjmp    .+248           ; 0x149ee <I2C_WriteBLConfig+0x156>
        }
        // check BL configuration to send
        if((BLConfig.Revision & 0x0B) != BLCONFIG_REVISION) return (BLCONFIG_ERR_SW_NOT_COMPATIBLE); // bad revison
   148f6:       80 91 8f 09     lds     r24, 0x098F
   148fa:       8b 70           andi    r24, 0x0B       ; 11
   148fc:       82 30           cpi     r24, 0x02       ; 2
   148fe:       09 f0           breq    .+2             ; 0x14902 <I2C_WriteBLConfig+0x6a>
   14900:       78 c0           rjmp    .+240           ; 0x149f2 <I2C_WriteBLConfig+0x15a>
        i = RAM_Checksum((uint8_t*)&BLConfig, sizeof(BLConfig_t) - 1);
   14902:       67 e0           ldi     r22, 0x07       ; 7
   14904:       70 e0           ldi     r23, 0x00       ; 0
   14906:       8f e8           ldi     r24, 0x8F       ; 143
   14908:       99 e0           ldi     r25, 0x09       ; 9
   1490a:       0e 94 3e 23     call    0x467c  ; 0x467c <RAM_Checksum>
        if(i != BLConfig.crc) return(BLCONFIG_ERR_CHECKSUM); // bad checksum
   1490e:       90 91 96 09     lds     r25, 0x0996
   14912:       98 13           cpse    r25, r24
   14914:       70 c0           rjmp    .+224           ; 0x149f6 <I2C_WriteBLConfig+0x15e>

    packets = Max_I2C_Packets;
   14916:       f0 90 b2 02     lds     r15, 0x02B2
        Max_I2C_Packets = 12;
   1491a:       8c e0           ldi     r24, 0x0C       ; 12
   1491c:       80 93 b2 02     sts     0x02B2, r24
        I2CTimeout = 100;
   14920:       24 e6           ldi     r18, 0x64       ; 100
   14922:       30 e0           ldi     r19, 0x00       ; 0
   14924:       30 93 b1 02     sts     0x02B1, r19
   14928:       20 93 b0 02     sts     0x02B0, r18

        timer = SetDelay(100);
   1492c:       84 e6           ldi     r24, 0x64       ; 100
   1492e:       90 e0           ldi     r25, 0x00       ; 0
   14930:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   14934:       ec 01           movw    r28, r24
        while(!(BLFlags & BLFLAG_TX_COMPLETE) && !CheckDelay(timer));   //wait for complete transfer
   14936:       80 91 de 04     lds     r24, 0x04DE
   1493a:       80 fd           sbrc    r24, 0
   1493c:       05 c0           rjmp    .+10            ; 0x14948 <I2C_WriteBLConfig+0xb0>
   1493e:       ce 01           movw    r24, r28
   14940:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
   14944:       88 23           and     r24, r24
   14946:       b9 f3           breq    .-18            ; 0x14936 <I2C_WriteBLConfig+0x9e>

        // prepare the bitmask
        if(!motor) BLConfig_WriteMask = 0x0FFF;                 // 0 means all -> all motors at once with the same configuration
   14948:       11 11           cpse    r17, r1
   1494a:       07 c0           rjmp    .+14            ; 0x1495a <I2C_WriteBLConfig+0xc2>
   1494c:       8f ef           ldi     r24, 0xFF       ; 255
   1494e:       9f e0           ldi     r25, 0x0F       ; 15
   14950:       90 93 dd 04     sts     0x04DD, r25
   14954:       80 93 dc 04     sts     0x04DC, r24
   14958:       0c c0           rjmp    .+24            ; 0x14972 <I2C_WriteBLConfig+0xda>
        else BLConfig_WriteMask = 0x0001<<(motor-1);    //only one specific motor
   1495a:       11 50           subi    r17, 0x01       ; 1
   1495c:       81 e0           ldi     r24, 0x01       ; 1
   1495e:       90 e0           ldi     r25, 0x00       ; 0
   14960:       02 c0           rjmp    .+4             ; 0x14966 <I2C_WriteBLConfig+0xce>
   14962:       88 0f           add     r24, r24
   14964:       99 1f           adc     r25, r25
   14966:       1a 95           dec     r17
   14968:       e2 f7           brpl    .-8             ; 0x14962 <I2C_WriteBLConfig+0xca>
   1496a:       90 93 dd 04     sts     0x04DD, r25
   1496e:       80 93 dc 04     sts     0x04DC, r24

        motor_write = 0;
   14972:       10 92 e2 04     sts     0x04E2, r1
        motor_read      = 0;
   14976:       10 92 e1 04     sts     0x04E1, r1
        // needs at least MAX_MOTORS loops of 2 ms (12*2ms = 24ms)
        timer = SetDelay(1000);
   1497a:       88 ee           ldi     r24, 0xE8       ; 232
   1497c:       93 e0           ldi     r25, 0x03       ; 3
   1497e:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   14982:       ec 01           movw    r28, r24
        do
        {
                I2C_Start(TWI_STATE_MOTOR_TX); // start an i2c transmission
   14984:       0c eb           ldi     r16, 0xBC       ; 188
   14986:       10 e0           ldi     r17, 0x00       ; 0
   14988:       0f 2e           mov     r0, r31
   1498a:       f5 ea           ldi     r31, 0xA5       ; 165
   1498c:       ef 2e           mov     r14, r31
   1498e:       f0 2d           mov     r31, r0
   14990:       10 92 e3 04     sts     0x04E3, r1
   14994:       80 91 de 04     lds     r24, 0x04DE
   14998:       8e 7f           andi    r24, 0xFE       ; 254
   1499a:       80 93 de 04     sts     0x04DE, r24
   1499e:       f8 01           movw    r30, r16
   149a0:       e0 82           st      Z, r14
                while(!(BLFlags & BLFLAG_TX_COMPLETE)  && !CheckDelay(timer)); //wait for complete transfer
   149a2:       80 91 de 04     lds     r24, 0x04DE
   149a6:       80 fd           sbrc    r24, 0
   149a8:       05 c0           rjmp    .+10            ; 0x149b4 <I2C_WriteBLConfig+0x11c>
   149aa:       ce 01           movw    r24, r28
   149ac:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
   149b0:       88 23           and     r24, r24
   149b2:       b9 f3           breq    .-18            ; 0x149a2 <I2C_WriteBLConfig+0x10a>
        } while(BLConfig_WriteMask  && !CheckDelay(timer)); // repeat until the BL config has been sent
   149b4:       80 91 dc 04     lds     r24, 0x04DC
   149b8:       90 91 dd 04     lds     r25, 0x04DD
   149bc:       89 2b           or      r24, r25
   149be:       29 f0           breq    .+10            ; 0x149ca <I2C_WriteBLConfig+0x132>
   149c0:       ce 01           movw    r24, r28
   149c2:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
   149c6:       88 23           and     r24, r24
   149c8:       19 f3           breq    .-58            ; 0x14990 <I2C_WriteBLConfig+0xf8>
    Max_I2C_Packets = packets;
   149ca:       f0 92 b2 02     sts     0x02B2, r15
        if(BLConfig_WriteMask) return(BLCONFIG_ERR_MOTOR_NOT_EXIST);
   149ce:       80 91 dc 04     lds     r24, 0x04DC
   149d2:       90 91 dd 04     lds     r25, 0x04DD
   149d6:       89 2b           or      r24, r25
   149d8:       81 f0           breq    .+32            ; 0x149fa <I2C_WriteBLConfig+0x162>
   149da:       82 e0           ldi     r24, 0x02       ; 2
   149dc:       0f c0           rjmp    .+30            ; 0x149fc <I2C_WriteBLConfig+0x164>

uint8_t I2C_WriteBLConfig(uint8_t motor)
{
        uint8_t i, packets;
        uint16_t timer;
        if(MotorenEin || PC_MotortestActive) return(BLCONFIG_ERR_MOTOR_RUNNING);        // not when motors are running!
   149de:       81 e0           ldi     r24, 0x01       ; 1
   149e0:       0d c0           rjmp    .+26            ; 0x149fc <I2C_WriteBLConfig+0x164>
   149e2:       81 e0           ldi     r24, 0x01       ; 1
   149e4:       0b c0           rjmp    .+22            ; 0x149fc <I2C_WriteBLConfig+0x164>
        if(motor > MAX_MOTORS) return (BLCONFIG_ERR_MOTOR_NOT_EXIST);                   // motor does not exist!
   149e6:       82 e0           ldi     r24, 0x02       ; 2
   149e8:       09 c0           rjmp    .+18            ; 0x149fc <I2C_WriteBLConfig+0x164>
        if(motor)
        {
                if(!(Motor[motor-1].State & MOTOR_STATE_PRESENT_MASK)) return(BLCONFIG_ERR_MOTOR_NOT_EXIST); // motor does not exist!
   149ea:       82 e0           ldi     r24, 0x02       ; 2
   149ec:       07 c0           rjmp    .+14            ; 0x149fc <I2C_WriteBLConfig+0x164>
                if(!(Motor[motor-1].Version & MOTOR_STATE_NEW_PROTOCOL_MASK)) return(BLCONFIG_ERR_HW_NOT_COMPATIBLE); // not a new BL!
   149ee:       83 e0           ldi     r24, 0x03       ; 3
   149f0:       05 c0           rjmp    .+10            ; 0x149fc <I2C_WriteBLConfig+0x164>
        }
        // check BL configuration to send
        if((BLConfig.Revision & 0x0B) != BLCONFIG_REVISION) return (BLCONFIG_ERR_SW_NOT_COMPATIBLE); // bad revison
   149f2:       84 e0           ldi     r24, 0x04       ; 4
   149f4:       03 c0           rjmp    .+6             ; 0x149fc <I2C_WriteBLConfig+0x164>
        i = RAM_Checksum((uint8_t*)&BLConfig, sizeof(BLConfig_t) - 1);
        if(i != BLConfig.crc) return(BLCONFIG_ERR_CHECKSUM); // bad checksum
   149f6:       85 e0           ldi     r24, 0x05       ; 5
   149f8:       01 c0           rjmp    .+2             ; 0x149fc <I2C_WriteBLConfig+0x164>
                I2C_Start(TWI_STATE_MOTOR_TX); // start an i2c transmission
                while(!(BLFlags & BLFLAG_TX_COMPLETE)  && !CheckDelay(timer)); //wait for complete transfer
        } while(BLConfig_WriteMask  && !CheckDelay(timer)); // repeat until the BL config has been sent
    Max_I2C_Packets = packets;
        if(BLConfig_WriteMask) return(BLCONFIG_ERR_MOTOR_NOT_EXIST);
        return(BLCONFIG_SUCCESS);
   149fa:       80 e0           ldi     r24, 0x00       ; 0
}
   149fc:       df 91           pop     r29
   149fe:       cf 91           pop     r28
   14a00:       1f 91           pop     r17
   14a02:       0f 91           pop     r16
   14a04:       ff 90           pop     r15
   14a06:       ef 90           pop     r14
   14a08:       08 95           ret

00014a0a <I2C_ReadBLConfig>:

uint8_t I2C_ReadBLConfig(uint8_t motor)
{
   14a0a:       ff 92           push    r15
   14a0c:       0f 93           push    r16
   14a0e:       1f 93           push    r17
   14a10:       cf 93           push    r28
   14a12:       df 93           push    r29
        uint8_t i;
        uint16_t timer;

        if(MotorenEin || PC_MotortestActive) return(BLCONFIG_ERR_MOTOR_RUNNING); // not when motors are running!
   14a14:       90 91 03 04     lds     r25, 0x0403
   14a18:       91 11           cpse    r25, r1
   14a1a:       7b c0           rjmp    .+246           ; 0x14b12 <I2C_ReadBLConfig+0x108>
   14a1c:       90 91 f5 04     lds     r25, 0x04F5
   14a20:       91 11           cpse    r25, r1
   14a22:       79 c0           rjmp    .+242           ; 0x14b16 <I2C_ReadBLConfig+0x10c>
        if(motor > MAX_MOTORS) return (BLCONFIG_ERR_MOTOR_NOT_EXIST);           // motor does not exist!
   14a24:       8d 30           cpi     r24, 0x0D       ; 13
   14a26:       08 f0           brcs    .+2             ; 0x14a2a <I2C_ReadBLConfig+0x20>
   14a28:       78 c0           rjmp    .+240           ; 0x14b1a <I2C_ReadBLConfig+0x110>
        if(motor == 0) return (BLCONFIG_ERR_READ_NOT_POSSIBLE);
   14a2a:       88 23           and     r24, r24
   14a2c:       09 f4           brne    .+2             ; 0x14a30 <I2C_ReadBLConfig+0x26>
   14a2e:       77 c0           rjmp    .+238           ; 0x14b1e <I2C_ReadBLConfig+0x114>
        if(!(Motor[motor-1].State & MOTOR_STATE_PRESENT_MASK)) return(BLCONFIG_ERR_MOTOR_NOT_EXIST); // motor does not exist!
   14a30:       08 2f           mov     r16, r24
   14a32:       10 e0           ldi     r17, 0x00       ; 0
   14a34:       01 50           subi    r16, 0x01       ; 1
   14a36:       11 09           sbc     r17, r1
   14a38:       8f e0           ldi     r24, 0x0F       ; 15
   14a3a:       80 9f           mul     r24, r16
   14a3c:       f0 01           movw    r30, r0
   14a3e:       81 9f           mul     r24, r17
   14a40:       f0 0d           add     r31, r0
   14a42:       11 24           eor     r1, r1
   14a44:       e9 56           subi    r30, 0x69       ; 105
   14a46:       f6 4f           sbci    r31, 0xF6       ; 246
   14a48:       83 81           ldd     r24, Z+3        ; 0x03
   14a4a:       88 23           and     r24, r24
   14a4c:       0c f0           brlt    .+2             ; 0x14a50 <I2C_ReadBLConfig+0x46>
   14a4e:       69 c0           rjmp    .+210           ; 0x14b22 <I2C_ReadBLConfig+0x118>
        if(!(Motor[motor-1].Version & MOTOR_STATE_NEW_PROTOCOL_MASK)) return(BLCONFIG_ERR_HW_NOT_COMPATIBLE); // not a new BL!
   14a50:       8f e0           ldi     r24, 0x0F       ; 15
   14a52:       80 9f           mul     r24, r16
   14a54:       f0 01           movw    r30, r0
   14a56:       81 9f           mul     r24, r17
   14a58:       f0 0d           add     r31, r0
   14a5a:       11 24           eor     r1, r1
   14a5c:       e9 56           subi    r30, 0x69       ; 105
   14a5e:       f6 4f           sbci    r31, 0xF6       ; 246
   14a60:       80 81           ld      r24, Z
   14a62:       80 ff           sbrs    r24, 0
   14a64:       60 c0           rjmp    .+192           ; 0x14b26 <I2C_ReadBLConfig+0x11c>

        timer = SetDelay(1000);
   14a66:       88 ee           ldi     r24, 0xE8       ; 232
   14a68:       93 e0           ldi     r25, 0x03       ; 3
   14a6a:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   14a6e:       ec 01           movw    r28, r24
        while(!(BLFlags & BLFLAG_TX_COMPLETE) && !CheckDelay(timer));                           //wait for complete transfer
   14a70:       80 91 de 04     lds     r24, 0x04DE
   14a74:       80 fd           sbrc    r24, 0
   14a76:       05 c0           rjmp    .+10            ; 0x14a82 <I2C_ReadBLConfig+0x78>
   14a78:       ce 01           movw    r24, r28
   14a7a:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
   14a7e:       88 23           and     r24, r24
   14a80:       b9 f3           breq    .-18            ; 0x14a70 <I2C_ReadBLConfig+0x66>

        // prepare the bitmask
        BLConfig_ReadMask = 0x0001<<(motor-1);
   14a82:       81 e0           ldi     r24, 0x01       ; 1
   14a84:       90 e0           ldi     r25, 0x00       ; 0
   14a86:       9c 01           movw    r18, r24
   14a88:       02 c0           rjmp    .+4             ; 0x14a8e <I2C_ReadBLConfig+0x84>
   14a8a:       22 0f           add     r18, r18
   14a8c:       33 1f           adc     r19, r19
   14a8e:       0a 95           dec     r16
   14a90:       e2 f7           brpl    .-8             ; 0x14a8a <I2C_ReadBLConfig+0x80>
   14a92:       30 93 db 04     sts     0x04DB, r19
   14a96:       20 93 da 04     sts     0x04DA, r18

        motor_write = 0;
   14a9a:       10 92 e2 04     sts     0x04E2, r1
        motor_read      = 0;
   14a9e:       10 92 e1 04     sts     0x04E1, r1
        BLConfig.Revision = 0; // bad revision
   14aa2:       10 92 8f 09     sts     0x098F, r1
        BLConfig.crc = 0;          // bad checksum
   14aa6:       10 92 96 09     sts     0x0996, r1
        // needs at least MAX_MOTORS loops of 2 ms (12*2ms = 24ms)
        do
        {
                I2C_Start(TWI_STATE_MOTOR_TX); // start an i2c transmission
   14aaa:       0c eb           ldi     r16, 0xBC       ; 188
   14aac:       10 e0           ldi     r17, 0x00       ; 0
   14aae:       0f 2e           mov     r0, r31
   14ab0:       f5 ea           ldi     r31, 0xA5       ; 165
   14ab2:       ff 2e           mov     r15, r31
   14ab4:       f0 2d           mov     r31, r0
   14ab6:       10 92 e3 04     sts     0x04E3, r1
   14aba:       80 91 de 04     lds     r24, 0x04DE
   14abe:       8e 7f           andi    r24, 0xFE       ; 254
   14ac0:       80 93 de 04     sts     0x04DE, r24
   14ac4:       f8 01           movw    r30, r16
   14ac6:       f0 82           st      Z, r15
                while(!(BLFlags & BLFLAG_TX_COMPLETE) && !CheckDelay(timer)); //wait for complete transfer
   14ac8:       80 91 de 04     lds     r24, 0x04DE
   14acc:       80 fd           sbrc    r24, 0
   14ace:       05 c0           rjmp    .+10            ; 0x14ada <I2C_ReadBLConfig+0xd0>
   14ad0:       ce 01           movw    r24, r28
   14ad2:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
   14ad6:       88 23           and     r24, r24
   14ad8:       b9 f3           breq    .-18            ; 0x14ac8 <I2C_ReadBLConfig+0xbe>
        } while(BLConfig_ReadMask && !CheckDelay(timer)); // repeat until the BL config has been received from all motors
   14ada:       80 91 da 04     lds     r24, 0x04DA
   14ade:       90 91 db 04     lds     r25, 0x04DB
   14ae2:       89 2b           or      r24, r25
   14ae4:       29 f0           breq    .+10            ; 0x14af0 <I2C_ReadBLConfig+0xe6>
   14ae6:       ce 01           movw    r24, r28
   14ae8:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
   14aec:       88 23           and     r24, r24
   14aee:       19 f3           breq    .-58            ; 0x14ab6 <I2C_ReadBLConfig+0xac>
        // validate result
        if((BLConfig.Revision & 0x0B) != BLCONFIG_REVISION) return (BLCONFIG_ERR_SW_NOT_COMPATIBLE); // bad revison
   14af0:       80 91 8f 09     lds     r24, 0x098F
   14af4:       8b 70           andi    r24, 0x0B       ; 11
   14af6:       82 30           cpi     r24, 0x02       ; 2
   14af8:       c1 f4           brne    .+48            ; 0x14b2a <I2C_ReadBLConfig+0x120>
        i = RAM_Checksum((uint8_t*)&BLConfig, sizeof(BLConfig_t) - 1);
   14afa:       67 e0           ldi     r22, 0x07       ; 7
   14afc:       70 e0           ldi     r23, 0x00       ; 0
   14afe:       8f e8           ldi     r24, 0x8F       ; 143
   14b00:       99 e0           ldi     r25, 0x09       ; 9
   14b02:       0e 94 3e 23     call    0x467c  ; 0x467c <RAM_Checksum>
        if(i != BLConfig.crc) return(BLCONFIG_ERR_CHECKSUM); // bad checksum
   14b06:       90 91 96 09     lds     r25, 0x0996
   14b0a:       98 17           cp      r25, r24
   14b0c:       81 f0           breq    .+32            ; 0x14b2e <I2C_ReadBLConfig+0x124>
   14b0e:       85 e0           ldi     r24, 0x05       ; 5
   14b10:       0f c0           rjmp    .+30            ; 0x14b30 <I2C_ReadBLConfig+0x126>
uint8_t I2C_ReadBLConfig(uint8_t motor)
{
        uint8_t i;
        uint16_t timer;

        if(MotorenEin || PC_MotortestActive) return(BLCONFIG_ERR_MOTOR_RUNNING); // not when motors are running!
   14b12:       81 e0           ldi     r24, 0x01       ; 1
   14b14:       0d c0           rjmp    .+26            ; 0x14b30 <I2C_ReadBLConfig+0x126>
   14b16:       81 e0           ldi     r24, 0x01       ; 1
   14b18:       0b c0           rjmp    .+22            ; 0x14b30 <I2C_ReadBLConfig+0x126>
        if(motor > MAX_MOTORS) return (BLCONFIG_ERR_MOTOR_NOT_EXIST);           // motor does not exist!
   14b1a:       82 e0           ldi     r24, 0x02       ; 2
   14b1c:       09 c0           rjmp    .+18            ; 0x14b30 <I2C_ReadBLConfig+0x126>
        if(motor == 0) return (BLCONFIG_ERR_READ_NOT_POSSIBLE);
   14b1e:       86 e0           ldi     r24, 0x06       ; 6
   14b20:       07 c0           rjmp    .+14            ; 0x14b30 <I2C_ReadBLConfig+0x126>
        if(!(Motor[motor-1].State & MOTOR_STATE_PRESENT_MASK)) return(BLCONFIG_ERR_MOTOR_NOT_EXIST); // motor does not exist!
   14b22:       82 e0           ldi     r24, 0x02       ; 2
   14b24:       05 c0           rjmp    .+10            ; 0x14b30 <I2C_ReadBLConfig+0x126>
        if(!(Motor[motor-1].Version & MOTOR_STATE_NEW_PROTOCOL_MASK)) return(BLCONFIG_ERR_HW_NOT_COMPATIBLE); // not a new BL!
   14b26:       83 e0           ldi     r24, 0x03       ; 3
   14b28:       03 c0           rjmp    .+6             ; 0x14b30 <I2C_ReadBLConfig+0x126>
        {
                I2C_Start(TWI_STATE_MOTOR_TX); // start an i2c transmission
                while(!(BLFlags & BLFLAG_TX_COMPLETE) && !CheckDelay(timer)); //wait for complete transfer
        } while(BLConfig_ReadMask && !CheckDelay(timer)); // repeat until the BL config has been received from all motors
        // validate result
        if((BLConfig.Revision & 0x0B) != BLCONFIG_REVISION) return (BLCONFIG_ERR_SW_NOT_COMPATIBLE); // bad revison
   14b2a:       84 e0           ldi     r24, 0x04       ; 4
   14b2c:       01 c0           rjmp    .+2             ; 0x14b30 <I2C_ReadBLConfig+0x126>
        i = RAM_Checksum((uint8_t*)&BLConfig, sizeof(BLConfig_t) - 1);
        if(i != BLConfig.crc) return(BLCONFIG_ERR_CHECKSUM); // bad checksum
        return(BLCONFIG_SUCCESS);
   14b2e:       80 e0           ldi     r24, 0x00       ; 0
}
   14b30:       df 91           pop     r29
   14b32:       cf 91           pop     r28
   14b34:       1f 91           pop     r17
   14b36:       0f 91           pop     r16
   14b38:       ff 90           pop     r15
   14b3a:       08 95           ret

00014b3c <__vector_22>:
        
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ Sende-Part der Datenübertragung
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ISR(USART0_TX_vect)
{
   14b3c:       1f 92           push    r1
   14b3e:       0f 92           push    r0
   14b40:       0f b6           in      r0, 0x3f        ; 63
   14b42:       0f 92           push    r0
   14b44:       11 24           eor     r1, r1
   14b46:       0b b6           in      r0, 0x3b        ; 59
   14b48:       0f 92           push    r0
   14b4a:       2f 93           push    r18
   14b4c:       8f 93           push    r24
   14b4e:       9f 93           push    r25
   14b50:       ef 93           push    r30
   14b52:       ff 93           push    r31
 static unsigned int ptr = 0;
 unsigned char tmp_tx;

 if(!UebertragungAbgeschlossen)
   14b54:       80 91 b7 02     lds     r24, 0x02B7
   14b58:       81 11           cpse    r24, r1
   14b5a:       1c c0           rjmp    .+56            ; 0x14b94 <__vector_22+0x58>
  {
   ptr++;                    // die [0] wurde schon gesendet
   14b5c:       80 91 ea 04     lds     r24, 0x04EA
   14b60:       90 91 eb 04     lds     r25, 0x04EB
   14b64:       01 96           adiw    r24, 0x01       ; 1
   14b66:       90 93 eb 04     sts     0x04EB, r25
   14b6a:       80 93 ea 04     sts     0x04EA, r24
   tmp_tx = TxdBuffer[ptr];
   14b6e:       fc 01           movw    r30, r24
   14b70:       e6 59           subi    r30, 0x96       ; 150
   14b72:       f4 4f           sbci    r31, 0xF4       ; 244
   14b74:       20 81           ld      r18, Z
   if((tmp_tx == '\r') || (ptr == MAX_SENDE_BUFF))
   14b76:       2d 30           cpi     r18, 0x0D       ; 13
   14b78:       19 f0           breq    .+6             ; 0x14b80 <__vector_22+0x44>
   14b7a:       8c 3d           cpi     r24, 0xDC       ; 220
   14b7c:       91 05           cpc     r25, r1
   14b7e:       39 f4           brne    .+14            ; 0x14b8e <__vector_22+0x52>
    {
     ptr = 0;
   14b80:       10 92 eb 04     sts     0x04EB, r1
   14b84:       10 92 ea 04     sts     0x04EA, r1
     UebertragungAbgeschlossen = 1;
   14b88:       81 e0           ldi     r24, 0x01       ; 1
   14b8a:       80 93 b7 02     sts     0x02B7, r24
    }
   UDR0 = tmp_tx;
   14b8e:       20 93 c6 00     sts     0x00C6, r18
   14b92:       04 c0           rjmp    .+8             ; 0x14b9c <__vector_22+0x60>
  }
  else ptr = 0;
   14b94:       10 92 eb 04     sts     0x04EB, r1
   14b98:       10 92 ea 04     sts     0x04EA, r1
}
   14b9c:       ff 91           pop     r31
   14b9e:       ef 91           pop     r30
   14ba0:       9f 91           pop     r25
   14ba2:       8f 91           pop     r24
   14ba4:       2f 91           pop     r18
   14ba6:       0f 90           pop     r0
   14ba8:       0b be           out     0x3b, r0        ; 59
   14baa:       0f 90           pop     r0
   14bac:       0f be           out     0x3f, r0        ; 63
   14bae:       0f 90           pop     r0
   14bb0:       1f 90           pop     r1
   14bb2:       18 95           reti

00014bb4 <__vector_20>:

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++ Empfangs-Part der Datenübertragung, incl. CRC-Auswertung
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ISR(USART0_RX_vect)
{
   14bb4:       1f 92           push    r1
   14bb6:       0f 92           push    r0
   14bb8:       0f b6           in      r0, 0x3f        ; 63
   14bba:       0f 92           push    r0
   14bbc:       11 24           eor     r1, r1
   14bbe:       0b b6           in      r0, 0x3b        ; 59
   14bc0:       0f 92           push    r0
   14bc2:       1f 93           push    r17
   14bc4:       2f 93           push    r18
   14bc6:       3f 93           push    r19
   14bc8:       4f 93           push    r20
   14bca:       5f 93           push    r21
   14bcc:       6f 93           push    r22
   14bce:       7f 93           push    r23
   14bd0:       8f 93           push    r24
   14bd2:       9f 93           push    r25
   14bd4:       af 93           push    r26
   14bd6:       bf 93           push    r27
   14bd8:       cf 93           push    r28
   14bda:       df 93           push    r29
   14bdc:       ef 93           push    r30
   14bde:       ff 93           push    r31
 static unsigned int crc;
 static unsigned char crc1,crc2,buf_ptr;
 static unsigned char UartState = 0;
 unsigned char CrcOkay = 0;

 if (ReceiverUpdateModeActive == 1) {   UDR1 = UDR0; return; }          // 1 = Update      
   14be0:       80 91 ec 04     lds     r24, 0x04EC
   14be4:       81 30           cpi     r24, 0x01       ; 1
   14be6:       29 f4           brne    .+10            ; 0x14bf2 <__vector_20+0x3e>
   14be8:       80 91 c6 00     lds     r24, 0x00C6
   14bec:       80 93 ce 00     sts     0x00CE, r24
   14bf0:       de c0           rjmp    .+444           ; 0x14dae <__vector_20+0x1fa>
 if (ReceiverUpdateModeActive == 2) {   RxdBuffer[0] = UDR0; return; }  // 2 = JetiBox-Simulation 
   14bf2:       80 91 ec 04     lds     r24, 0x04EC
   14bf6:       82 30           cpi     r24, 0x02       ; 2
   14bf8:       29 f4           brne    .+10            ; 0x14c04 <__vector_20+0x50>
   14bfa:       80 91 c6 00     lds     r24, 0x00C6
   14bfe:       80 93 8c 0a     sts     0x0A8C, r24
   14c02:       d5 c0           rjmp    .+426           ; 0x14dae <__vector_20+0x1fa>

 SioTmp = UDR0;
   14c04:       80 91 c6 00     lds     r24, 0x00C6
   14c08:       80 93 fc 04     sts     0x04FC, r24

 if(buf_ptr >= MAX_SENDE_BUFF)    UartState = 0;
   14c0c:       10 91 e9 04     lds     r17, 0x04E9
   14c10:       1c 3d           cpi     r17, 0xDC       ; 220
   14c12:       10 f0           brcs    .+4             ; 0x14c18 <__vector_20+0x64>
   14c14:       10 92 e8 04     sts     0x04E8, r1
 if(SioTmp == '\r' && UartState == 2)
   14c18:       80 91 fc 04     lds     r24, 0x04FC
   14c1c:       8d 30           cpi     r24, 0x0D       ; 13
   14c1e:       09 f0           breq    .+2             ; 0x14c22 <__vector_20+0x6e>
   14c20:       65 c0           rjmp    .+202           ; 0x14cec <__vector_20+0x138>
   14c22:       80 91 e8 04     lds     r24, 0x04E8
   14c26:       82 30           cpi     r24, 0x02       ; 2
   14c28:       09 f0           breq    .+2             ; 0x14c2c <__vector_20+0x78>
   14c2a:       60 c0           rjmp    .+192           ; 0x14cec <__vector_20+0x138>
  {
   UartState = 0;
   14c2c:       10 92 e8 04     sts     0x04E8, r1
   crc -= RxdBuffer[buf_ptr-2];
   14c30:       21 2f           mov     r18, r17
   14c32:       30 e0           ldi     r19, 0x00       ; 0
   14c34:       d9 01           movw    r26, r18
   14c36:       a6 57           subi    r26, 0x76       ; 118
   14c38:       b5 4f           sbci    r27, 0xF5       ; 245
   14c3a:       7c 91           ld      r23, X
   crc -= RxdBuffer[buf_ptr-1];
   14c3c:       a9 01           movw    r20, r18
   14c3e:       41 50           subi    r20, 0x01       ; 1
   14c40:       51 09           sbc     r21, r1
   14c42:       ea 01           movw    r28, r20
   14c44:       c4 57           subi    r28, 0x74       ; 116
   14c46:       d5 4f           sbci    r29, 0xF5       ; 245
   14c48:       68 81           ld      r22, Y

 if(buf_ptr >= MAX_SENDE_BUFF)    UartState = 0;
 if(SioTmp == '\r' && UartState == 2)
  {
   UartState = 0;
   crc -= RxdBuffer[buf_ptr-2];
   14c4a:       80 91 e6 04     lds     r24, 0x04E6
   14c4e:       90 91 e7 04     lds     r25, 0x04E7
   14c52:       87 1b           sub     r24, r23
   14c54:       91 09           sbc     r25, r1
   crc -= RxdBuffer[buf_ptr-1];
   14c56:       86 1b           sub     r24, r22
   14c58:       91 09           sbc     r25, r1
   crc %= 4096;
   14c5a:       9f 70           andi    r25, 0x0F       ; 15
   14c5c:       90 93 e7 04     sts     0x04E7, r25
   14c60:       80 93 e6 04     sts     0x04E6, r24
   crc1 = '=' + crc / 64;
   14c64:       bc 01           movw    r22, r24
   14c66:       00 24           eor     r0, r0
   14c68:       66 0f           add     r22, r22
   14c6a:       77 1f           adc     r23, r23
   14c6c:       00 1c           adc     r0, r0
   14c6e:       66 0f           add     r22, r22
   14c70:       77 1f           adc     r23, r23
   14c72:       00 1c           adc     r0, r0
   14c74:       67 2f           mov     r22, r23
   14c76:       70 2d           mov     r23, r0
   14c78:       63 5c           subi    r22, 0xC3       ; 195
   14c7a:       60 93 e5 04     sts     0x04E5, r22
   crc2 = '=' + crc % 64;
   14c7e:       8f 73           andi    r24, 0x3F       ; 63
   14c80:       83 5c           subi    r24, 0xC3       ; 195
   14c82:       80 93 e4 04     sts     0x04E4, r24
   CrcOkay = 0;
   if((crc1 == RxdBuffer[buf_ptr-2]) && (crc2 == RxdBuffer[buf_ptr-1])) CrcOkay = 1; else { CrcOkay = 0; CntCrcError++;};
   14c86:       9c 91           ld      r25, X
   14c88:       69 13           cpse    r22, r25
   14c8a:       04 c0           rjmp    .+8             ; 0x14c94 <__vector_20+0xe0>
   14c8c:       98 81           ld      r25, Y
   14c8e:       89 17           cp      r24, r25
   14c90:       09 f4           brne    .+2             ; 0x14c94 <__vector_20+0xe0>
   14c92:       88 c0           rjmp    .+272           ; 0x14da4 <__vector_20+0x1f0>
   14c94:       80 91 fa 04     lds     r24, 0x04FA
   14c98:       8f 5f           subi    r24, 0xFF       ; 255
   14c9a:       80 93 fa 04     sts     0x04FA, r24
   if(!NeuerDatensatzEmpfangen && CrcOkay) // Datensatz schon verarbeitet
   14c9e:       80 91 fb 04     lds     r24, 0x04FB
   14ca2:       85 c0           rjmp    .+266           ; 0x14dae <__vector_20+0x1fa>
    {
     NeuerDatensatzEmpfangen = 1;
   14ca4:       81 e0           ldi     r24, 0x01       ; 1
   14ca6:       80 93 fb 04     sts     0x04FB, r24
         AnzahlEmpfangsBytes = buf_ptr + 1;
   14caa:       1f 5f           subi    r17, 0xFF       ; 255
   14cac:       10 93 f9 04     sts     0x04F9, r17
     RxdBuffer[buf_ptr] = '\r';
   14cb0:       f9 01           movw    r30, r18
   14cb2:       e4 57           subi    r30, 0x74       ; 116
   14cb4:       f5 4f           sbci    r31, 0xF5       ; 245
   14cb6:       8d e0           ldi     r24, 0x0D       ; 13
   14cb8:       80 83           st      Z, r24
         if(RxdBuffer[2] == 'R' && !MotorenEin)
   14cba:       80 91 8e 0a     lds     r24, 0x0A8E
   14cbe:       82 35           cpi     r24, 0x52       ; 82
   14cc0:       09 f0           breq    .+2             ; 0x14cc4 <__vector_20+0x110>
   14cc2:       75 c0           rjmp    .+234           ; 0x14dae <__vector_20+0x1fa>
   14cc4:       80 91 03 04     lds     r24, 0x0403
   14cc8:       81 11           cpse    r24, r1
   14cca:       71 c0           rjmp    .+226           ; 0x14dae <__vector_20+0x1fa>
          {
           LcdClear();
   14ccc:       0e 94 1d 87     call    0x10e3a ; 0x10e3a <LcdClear>
           wdt_enable(WDTO_250MS); // Reset-Commando
   14cd0:       2c e0           ldi     r18, 0x0C       ; 12
   14cd2:       88 e1           ldi     r24, 0x18       ; 24
   14cd4:       90 e0           ldi     r25, 0x00       ; 0
   14cd6:       0f b6           in      r0, 0x3f        ; 63
   14cd8:       f8 94           cli
   14cda:       a8 95           wdr
   14cdc:       80 93 60 00     sts     0x0060, r24
   14ce0:       0f be           out     0x3f, r0        ; 63
   14ce2:       20 93 60 00     sts     0x0060, r18
           ServoActive = 0;
   14ce6:       10 92 cb 04     sts     0x04CB, r1
   14cea:       61 c0           rjmp    .+194           ; 0x14dae <__vector_20+0x1fa>
          }
        }
  }
  else
  switch(UartState)
   14cec:       80 91 e8 04     lds     r24, 0x04E8
   14cf0:       81 30           cpi     r24, 0x01       ; 1
   14cf2:       f1 f0           breq    .+60            ; 0x14d30 <__vector_20+0x17c>
   14cf4:       18 f0           brcs    .+6             ; 0x14cfc <__vector_20+0x148>
   14cf6:       82 30           cpi     r24, 0x02       ; 2
   14cf8:       b1 f1           breq    .+108           ; 0x14d66 <__vector_20+0x1b2>
   14cfa:       51 c0           rjmp    .+162           ; 0x14d9e <__vector_20+0x1ea>
  {
   case 0:
          if(SioTmp == '#' && !NeuerDatensatzEmpfangen) UartState = 1;  // Startzeichen und Daten schon verarbeitet
   14cfc:       80 91 fc 04     lds     r24, 0x04FC
   14d00:       83 32           cpi     r24, 0x23       ; 35
   14d02:       39 f4           brne    .+14            ; 0x14d12 <__vector_20+0x15e>
   14d04:       80 91 fb 04     lds     r24, 0x04FB
   14d08:       81 11           cpse    r24, r1
   14d0a:       03 c0           rjmp    .+6             ; 0x14d12 <__vector_20+0x15e>
   14d0c:       81 e0           ldi     r24, 0x01       ; 1
   14d0e:       80 93 e8 04     sts     0x04E8, r24
                  buf_ptr = 0;
                  RxdBuffer[buf_ptr++] = SioTmp;
   14d12:       81 e0           ldi     r24, 0x01       ; 1
   14d14:       80 93 e9 04     sts     0x04E9, r24
   14d18:       80 91 fc 04     lds     r24, 0x04FC
   14d1c:       80 93 8c 0a     sts     0x0A8C, r24
                  crc = SioTmp;
   14d20:       80 91 fc 04     lds     r24, 0x04FC
   14d24:       90 e0           ldi     r25, 0x00       ; 0
   14d26:       90 93 e7 04     sts     0x04E7, r25
   14d2a:       80 93 e6 04     sts     0x04E6, r24
          break;
   14d2e:       3f c0           rjmp    .+126           ; 0x14dae <__vector_20+0x1fa>
   case 1: // Adresse auswerten
                  UartState++;
   14d30:       82 e0           ldi     r24, 0x02       ; 2
   14d32:       80 93 e8 04     sts     0x04E8, r24
                  RxdBuffer[buf_ptr++] = SioTmp;
   14d36:       81 e0           ldi     r24, 0x01       ; 1
   14d38:       81 0f           add     r24, r17
   14d3a:       80 93 e9 04     sts     0x04E9, r24
   14d3e:       e1 2f           mov     r30, r17
   14d40:       f0 e0           ldi     r31, 0x00       ; 0
   14d42:       80 91 fc 04     lds     r24, 0x04FC
   14d46:       e4 57           subi    r30, 0x74       ; 116
   14d48:       f5 4f           sbci    r31, 0xF5       ; 245
   14d4a:       80 83           st      Z, r24
                  crc += SioTmp;
   14d4c:       20 91 fc 04     lds     r18, 0x04FC
   14d50:       80 91 e6 04     lds     r24, 0x04E6
   14d54:       90 91 e7 04     lds     r25, 0x04E7
   14d58:       82 0f           add     r24, r18
   14d5a:       91 1d           adc     r25, r1
   14d5c:       90 93 e7 04     sts     0x04E7, r25
   14d60:       80 93 e6 04     sts     0x04E6, r24
                  break;
   14d64:       24 c0           rjmp    .+72            ; 0x14dae <__vector_20+0x1fa>
   case 2: //  Eingangsdaten sammeln
                  RxdBuffer[buf_ptr] = SioTmp;
   14d66:       e1 2f           mov     r30, r17
   14d68:       f0 e0           ldi     r31, 0x00       ; 0
   14d6a:       80 91 fc 04     lds     r24, 0x04FC
   14d6e:       e4 57           subi    r30, 0x74       ; 116
   14d70:       f5 4f           sbci    r31, 0xF5       ; 245
   14d72:       80 83           st      Z, r24
                  if(buf_ptr < MAX_EMPFANGS_BUFF) buf_ptr++;
   14d74:       1c 3d           cpi     r17, 0xDC       ; 220
   14d76:       20 f4           brcc    .+8             ; 0x14d80 <__vector_20+0x1cc>
   14d78:       1f 5f           subi    r17, 0xFF       ; 255
   14d7a:       10 93 e9 04     sts     0x04E9, r17
   14d7e:       02 c0           rjmp    .+4             ; 0x14d84 <__vector_20+0x1d0>
                  else UartState = 0;
   14d80:       10 92 e8 04     sts     0x04E8, r1
//if(DebugOut.Analog[] < buf_ptr) DebugOut.Analog[] = buf_ptr;
                  crc += SioTmp;
   14d84:       20 91 fc 04     lds     r18, 0x04FC
   14d88:       80 91 e6 04     lds     r24, 0x04E6
   14d8c:       90 91 e7 04     lds     r25, 0x04E7
   14d90:       82 0f           add     r24, r18
   14d92:       91 1d           adc     r25, r1
   14d94:       90 93 e7 04     sts     0x04E7, r25
   14d98:       80 93 e6 04     sts     0x04E6, r24
                  break;
   14d9c:       08 c0           rjmp    .+16            ; 0x14dae <__vector_20+0x1fa>
   default:
          UartState = 0;
   14d9e:       10 92 e8 04     sts     0x04E8, r1
          break;
   14da2:       05 c0           rjmp    .+10            ; 0x14dae <__vector_20+0x1fa>
   crc %= 4096;
   crc1 = '=' + crc / 64;
   crc2 = '=' + crc % 64;
   CrcOkay = 0;
   if((crc1 == RxdBuffer[buf_ptr-2]) && (crc2 == RxdBuffer[buf_ptr-1])) CrcOkay = 1; else { CrcOkay = 0; CntCrcError++;};
   if(!NeuerDatensatzEmpfangen && CrcOkay) // Datensatz schon verarbeitet
   14da4:       80 91 fb 04     lds     r24, 0x04FB
   14da8:       88 23           and     r24, r24
   14daa:       09 f4           brne    .+2             ; 0x14dae <__vector_20+0x1fa>
   14dac:       7b cf           rjmp    .-266           ; 0x14ca4 <__vector_20+0xf0>
                  break;
   default:
          UartState = 0;
          break;
  }
}
   14dae:       ff 91           pop     r31
   14db0:       ef 91           pop     r30
   14db2:       df 91           pop     r29
   14db4:       cf 91           pop     r28
   14db6:       bf 91           pop     r27
   14db8:       af 91           pop     r26
   14dba:       9f 91           pop     r25
   14dbc:       8f 91           pop     r24
   14dbe:       7f 91           pop     r23
   14dc0:       6f 91           pop     r22
   14dc2:       5f 91           pop     r21
   14dc4:       4f 91           pop     r20
   14dc6:       3f 91           pop     r19
   14dc8:       2f 91           pop     r18
   14dca:       1f 91           pop     r17
   14dcc:       0f 90           pop     r0
   14dce:       0b be           out     0x3b, r0        ; 59
   14dd0:       0f 90           pop     r0
   14dd2:       0f be           out     0x3f, r0        ; 63
   14dd4:       0f 90           pop     r0
   14dd6:       1f 90           pop     r1
   14dd8:       18 95           reti

00014dda <AddCRC>:

// --------------------------------------------------------------------------
void AddCRC(unsigned int wieviele)
{
 unsigned int tmpCRC = 0,i;
 for(i = 0; i < wieviele;i++)
   14dda:       00 97           sbiw    r24, 0x00       ; 0
   14ddc:       81 f0           breq    .+32            ; 0x14dfe <AddCRC+0x24>
   14dde:       20 e0           ldi     r18, 0x00       ; 0
   14de0:       30 e0           ldi     r19, 0x00       ; 0


// --------------------------------------------------------------------------
void AddCRC(unsigned int wieviele)
{
 unsigned int tmpCRC = 0,i;
   14de2:       40 e0           ldi     r20, 0x00       ; 0
   14de4:       50 e0           ldi     r21, 0x00       ; 0
 for(i = 0; i < wieviele;i++)
  {
   tmpCRC += TxdBuffer[i];
   14de6:       f9 01           movw    r30, r18
   14de8:       e6 59           subi    r30, 0x96       ; 150
   14dea:       f4 4f           sbci    r31, 0xF4       ; 244
   14dec:       60 81           ld      r22, Z
   14dee:       46 0f           add     r20, r22
   14df0:       51 1d           adc     r21, r1

// --------------------------------------------------------------------------
void AddCRC(unsigned int wieviele)
{
 unsigned int tmpCRC = 0,i;
 for(i = 0; i < wieviele;i++)
   14df2:       2f 5f           subi    r18, 0xFF       ; 255
   14df4:       3f 4f           sbci    r19, 0xFF       ; 255
   14df6:       28 17           cp      r18, r24
   14df8:       39 07           cpc     r19, r25
   14dfa:       a9 f7           brne    .-22            ; 0x14de6 <AddCRC+0xc>
   14dfc:       02 c0           rjmp    .+4             ; 0x14e02 <AddCRC+0x28>


// --------------------------------------------------------------------------
void AddCRC(unsigned int wieviele)
{
 unsigned int tmpCRC = 0,i;
   14dfe:       40 e0           ldi     r20, 0x00       ; 0
   14e00:       50 e0           ldi     r21, 0x00       ; 0
 for(i = 0; i < wieviele;i++)
  {
   tmpCRC += TxdBuffer[i];
  }
//   if(i > MAX_SENDE_BUFF - 3) tmpCRC += 11; 
   tmpCRC %= 4096;
   14e02:       5f 70           andi    r21, 0x0F       ; 15
   TxdBuffer[i++] = '=' + tmpCRC / 64;
   14e04:       9a 01           movw    r18, r20
   14e06:       00 24           eor     r0, r0
   14e08:       22 0f           add     r18, r18
   14e0a:       33 1f           adc     r19, r19
   14e0c:       00 1c           adc     r0, r0
   14e0e:       22 0f           add     r18, r18
   14e10:       33 1f           adc     r19, r19
   14e12:       00 1c           adc     r0, r0
   14e14:       23 2f           mov     r18, r19
   14e16:       30 2d           mov     r19, r0
   14e18:       23 5c           subi    r18, 0xC3       ; 195
   14e1a:       fc 01           movw    r30, r24
   14e1c:       e6 59           subi    r30, 0x96       ; 150
   14e1e:       f4 4f           sbci    r31, 0xF4       ; 244
   14e20:       20 83           st      Z, r18
   TxdBuffer[i++] = '=' + tmpCRC % 64;
   14e22:       4f 73           andi    r20, 0x3F       ; 63
   14e24:       43 5c           subi    r20, 0xC3       ; 195
   14e26:       fc 01           movw    r30, r24
   14e28:       e5 59           subi    r30, 0x95       ; 149
   14e2a:       f4 4f           sbci    r31, 0xF4       ; 244
   14e2c:       40 83           st      Z, r20
   TxdBuffer[i++] = '\r';
   14e2e:       fc 01           movw    r30, r24
   14e30:       e4 59           subi    r30, 0x94       ; 148
   14e32:       f4 4f           sbci    r31, 0xF4       ; 244
   14e34:       2d e0           ldi     r18, 0x0D       ; 13
   14e36:       20 83           st      Z, r18
  UebertragungAbgeschlossen = 0;
   14e38:       10 92 b7 02     sts     0x02B7, r1
  UDR0 = TxdBuffer[0];
   14e3c:       80 91 6a 0b     lds     r24, 0x0B6A
   14e40:       80 93 c6 00     sts     0x00C6, r24
   14e44:       08 95           ret

00014e46 <SendOutData>:
}


// --------------------------------------------------------------------------
void SendOutData(unsigned char cmd,unsigned char address, unsigned char BufferAnzahl, ...) //unsigned char *snd, unsigned char len)
{
   14e46:       df 92           push    r13
   14e48:       ef 92           push    r14
   14e4a:       ff 92           push    r15
   14e4c:       0f 93           push    r16
   14e4e:       1f 93           push    r17
   14e50:       cf 93           push    r28
   14e52:       df 93           push    r29
   14e54:       cd b7           in      r28, 0x3d       ; 61
   14e56:       de b7           in      r29, 0x3e       ; 62
   14e58:       0c 85           ldd     r16, Y+12       ; 0x0c
 unsigned char ptr = 0;

 unsigned char *snd = 0;
 int len = 0;

 TxdBuffer[pt++] = '#';                         // Startzeichen
   14e5a:       83 e2           ldi     r24, 0x23       ; 35
   14e5c:       80 93 6a 0b     sts     0x0B6A, r24
 TxdBuffer[pt++] = 'a' + address;               // Adresse (a=0; b=1,...)
   14e60:       8b 85           ldd     r24, Y+11       ; 0x0b
   14e62:       8f 59           subi    r24, 0x9F       ; 159
   14e64:       80 93 6b 0b     sts     0x0B6B, r24
 TxdBuffer[pt++] = cmd;                         // Commando
   14e68:       8a 85           ldd     r24, Y+10       ; 0x0a
   14e6a:       80 93 6c 0b     sts     0x0B6C, r24

 va_start(ap, BufferAnzahl);
 if(BufferAnzahl)
   14e6e:       00 23           and     r16, r16
   14e70:       09 f4           brne    .+2             ; 0x14e74 <SendOutData+0x2e>
   14e72:       a1 c0           rjmp    .+322           ; 0x14fb6 <SendOutData+0x170>
 {
                snd = va_arg(ap, unsigned char*);
   14e74:       6d 85           ldd     r22, Y+13       ; 0x0d
   14e76:       7e 85           ldd     r23, Y+14       ; 0x0e
                len = va_arg(ap, int);
   14e78:       ad e0           ldi     r26, 0x0D       ; 13
   14e7a:       b0 e0           ldi     r27, 0x00       ; 0
   14e7c:       ac 0f           add     r26, r28
   14e7e:       bd 1f           adc     r27, r29
   14e80:       14 96           adiw    r26, 0x04       ; 4
   14e82:       2f 85           ldd     r18, Y+15       ; 0x0f
   14e84:       38 89           ldd     r19, Y+16       ; 0x10
                ptr = 0;
                BufferAnzahl--;
   14e86:       01 50           subi    r16, 0x01       ; 1
 }
 while(len)
   14e88:       21 15           cp      r18, r1
   14e8a:       31 05           cpc     r19, r1
   14e8c:       09 f4           brne    .+2             ; 0x14e90 <SendOutData+0x4a>
   14e8e:       96 c0           rjmp    .+300           ; 0x14fbc <SendOutData+0x176>
   14e90:       d1 2c           mov     r13, r1
   14e92:       83 e0           ldi     r24, 0x03       ; 3
   14e94:       90 e0           ldi     r25, 0x00       ; 0
                        len = va_arg(ap, int);
                        ptr = 0;
                        BufferAnzahl--;
                }
        }
        else c = 0;
   14e96:       10 e0           ldi     r17, 0x00       ; 0
                ptr = 0;
                BufferAnzahl--;
 }
 while(len)
  {
        if(len)
   14e98:       21 15           cp      r18, r1
   14e9a:       31 05           cpc     r19, r1
   14e9c:       09 f4           brne    .+2             ; 0x14ea0 <SendOutData+0x5a>
   14e9e:       92 c0           rjmp    .+292           ; 0x14fc4 <SendOutData+0x17e>
        {
           a = snd[ptr++];
   14ea0:       ff 24           eor     r15, r15
   14ea2:       f3 94           inc     r15
   14ea4:       fd 0c           add     r15, r13
   14ea6:       fb 01           movw    r30, r22
   14ea8:       ed 0d           add     r30, r13
   14eaa:       f1 1d           adc     r31, r1
   14eac:       40 81           ld      r20, Z
           len--;
   14eae:       21 50           subi    r18, 0x01       ; 1
   14eb0:       31 09           sbc     r19, r1
           if((!len) && BufferAnzahl)
   14eb2:       21 15           cp      r18, r1
   14eb4:       31 05           cpc     r19, r1
   14eb6:       99 f4           brne    .+38            ; 0x14ede <SendOutData+0x98>
   14eb8:       00 23           and     r16, r16
   14eba:       09 f4           brne    .+2             ; 0x14ebe <SendOutData+0x78>
   14ebc:       85 c0           rjmp    .+266           ; 0x14fc8 <SendOutData+0x182>
                {
                        snd = va_arg(ap, unsigned char*);
   14ebe:       6d 91           ld      r22, X+
   14ec0:       7c 91           ld      r23, X
   14ec2:       11 97           sbiw    r26, 0x01       ; 1
                        len = va_arg(ap, int);
   14ec4:       fd 01           movw    r30, r26
   14ec6:       34 96           adiw    r30, 0x04       ; 4
   14ec8:       12 96           adiw    r26, 0x02       ; 2
   14eca:       2d 91           ld      r18, X+
   14ecc:       3c 91           ld      r19, X
   14ece:       13 97           sbiw    r26, 0x03       ; 3
                        ptr = 0;
                        BufferAnzahl--;
   14ed0:       01 50           subi    r16, 0x01       ; 1
                }
        }
        else a = 0;
        if(len)
   14ed2:       21 15           cp      r18, r1
   14ed4:       31 05           cpc     r19, r1
   14ed6:       09 f4           brne    .+2             ; 0x14eda <SendOutData+0x94>
   14ed8:       7a c0           rjmp    .+244           ; 0x14fce <SendOutData+0x188>
           a = snd[ptr++];
           len--;
           if((!len) && BufferAnzahl)
                {
                        snd = va_arg(ap, unsigned char*);
                        len = va_arg(ap, int);
   14eda:       df 01           movw    r26, r30
                        ptr = 0;
   14edc:       f1 2e           mov     r15, r17
                }
        }
        else a = 0;
        if(len)
        {
                b = snd[ptr++];
   14ede:       51 e0           ldi     r21, 0x01       ; 1
   14ee0:       5f 0d           add     r21, r15
   14ee2:       fb 01           movw    r30, r22
   14ee4:       ef 0d           add     r30, r15
   14ee6:       f1 1d           adc     r31, r1
   14ee8:       e0 80           ld      r14, Z
                len--;
   14eea:       21 50           subi    r18, 0x01       ; 1
   14eec:       31 09           sbc     r19, r1
                if((!len) && BufferAnzahl)
   14eee:       21 15           cp      r18, r1
   14ef0:       31 05           cpc     r19, r1
   14ef2:       91 f4           brne    .+36            ; 0x14f18 <SendOutData+0xd2>
   14ef4:       00 23           and     r16, r16
   14ef6:       09 f4           brne    .+2             ; 0x14efa <SendOutData+0xb4>
   14ef8:       6e c0           rjmp    .+220           ; 0x14fd6 <SendOutData+0x190>
                {
                        snd = va_arg(ap, unsigned char*);
   14efa:       6d 91           ld      r22, X+
   14efc:       7c 91           ld      r23, X
   14efe:       11 97           sbiw    r26, 0x01       ; 1
                        len = va_arg(ap, int);
   14f00:       fd 01           movw    r30, r26
   14f02:       34 96           adiw    r30, 0x04       ; 4
   14f04:       12 96           adiw    r26, 0x02       ; 2
   14f06:       2d 91           ld      r18, X+
   14f08:       3c 91           ld      r19, X
   14f0a:       13 97           sbiw    r26, 0x03       ; 3
                        ptr = 0;
                        BufferAnzahl--;
   14f0c:       01 50           subi    r16, 0x01       ; 1
                }
        }
        else b = 0;
        if(len)
   14f0e:       21 15           cp      r18, r1
   14f10:       31 05           cpc     r19, r1
   14f12:       d9 f0           breq    .+54            ; 0x14f4a <SendOutData+0x104>
                b = snd[ptr++];
                len--;
                if((!len) && BufferAnzahl)
                {
                        snd = va_arg(ap, unsigned char*);
                        len = va_arg(ap, int);
   14f14:       df 01           movw    r26, r30
                        ptr = 0;
   14f16:       51 2f           mov     r21, r17
                }
        }
        else b = 0;
        if(len)
        {
                c = snd[ptr++];
   14f18:       dd 24           eor     r13, r13
   14f1a:       d3 94           inc     r13
   14f1c:       d5 0e           add     r13, r21
   14f1e:       fb 01           movw    r30, r22
   14f20:       e5 0f           add     r30, r21
   14f22:       f1 1d           adc     r31, r1
   14f24:       f0 80           ld      r15, Z
                len--;
   14f26:       21 50           subi    r18, 0x01       ; 1
   14f28:       31 09           sbc     r19, r1
                if((!len) && BufferAnzahl)
   14f2a:       21 15           cp      r18, r1
   14f2c:       31 05           cpc     r19, r1
   14f2e:       81 f4           brne    .+32            ; 0x14f50 <SendOutData+0x10a>
   14f30:       00 23           and     r16, r16
   14f32:       71 f0           breq    .+28            ; 0x14f50 <SendOutData+0x10a>
                {
                        snd = va_arg(ap, unsigned char*);
   14f34:       6d 91           ld      r22, X+
   14f36:       7c 91           ld      r23, X
   14f38:       11 97           sbiw    r26, 0x01       ; 1
                        len = va_arg(ap, int);
   14f3a:       12 96           adiw    r26, 0x02       ; 2
   14f3c:       2d 91           ld      r18, X+
   14f3e:       3c 91           ld      r19, X
   14f40:       13 97           sbiw    r26, 0x03       ; 3
                        ptr = 0;
                        BufferAnzahl--;
   14f42:       01 50           subi    r16, 0x01       ; 1
                c = snd[ptr++];
                len--;
                if((!len) && BufferAnzahl)
                {
                        snd = va_arg(ap, unsigned char*);
                        len = va_arg(ap, int);
   14f44:       14 96           adiw    r26, 0x04       ; 4
                        ptr = 0;
   14f46:       d1 2e           mov     r13, r17
   14f48:       03 c0           rjmp    .+6             ; 0x14f50 <SendOutData+0x10a>
                b = snd[ptr++];
                len--;
                if((!len) && BufferAnzahl)
                {
                        snd = va_arg(ap, unsigned char*);
                        len = va_arg(ap, int);
   14f4a:       df 01           movw    r26, r30
                        ptr = 0;
   14f4c:       d1 2e           mov     r13, r17
                        len = va_arg(ap, int);
                        ptr = 0;
                        BufferAnzahl--;
                }
        }
        else c = 0;
   14f4e:       f1 2e           mov     r15, r17
   TxdBuffer[pt++] = '=' + (a >> 2);
   14f50:       54 2f           mov     r21, r20
   14f52:       56 95           lsr     r21
   14f54:       56 95           lsr     r21
   14f56:       53 5c           subi    r21, 0xC3       ; 195
   14f58:       fc 01           movw    r30, r24
   14f5a:       e6 59           subi    r30, 0x96       ; 150
   14f5c:       f4 4f           sbci    r31, 0xF4       ; 244
   14f5e:       50 83           st      Z, r21
   TxdBuffer[pt++] = '=' + (((a & 0x03) << 4) | ((b & 0xf0) >> 4));
   14f60:       43 70           andi    r20, 0x03       ; 3
   14f62:       e0 e1           ldi     r30, 0x10       ; 16
   14f64:       4e 9f           mul     r20, r30
   14f66:       a0 01           movw    r20, r0
   14f68:       11 24           eor     r1, r1
   14f6a:       5e 2d           mov     r21, r14
   14f6c:       52 95           swap    r21
   14f6e:       5f 70           andi    r21, 0x0F       ; 15
   14f70:       45 2b           or      r20, r21
   14f72:       43 5c           subi    r20, 0xC3       ; 195
   14f74:       fc 01           movw    r30, r24
   14f76:       e5 59           subi    r30, 0x95       ; 149
   14f78:       f4 4f           sbci    r31, 0xF4       ; 244
   14f7a:       40 83           st      Z, r20
   TxdBuffer[pt++] = '=' + (((b & 0x0f) << 2) | ((c & 0xc0) >> 6));
   14f7c:       4e 2d           mov     r20, r14
   14f7e:       4f 70           andi    r20, 0x0F       ; 15
   14f80:       44 0f           add     r20, r20
   14f82:       44 0f           add     r20, r20
   14f84:       5f 2d           mov     r21, r15
   14f86:       52 95           swap    r21
   14f88:       56 95           lsr     r21
   14f8a:       56 95           lsr     r21
   14f8c:       53 70           andi    r21, 0x03       ; 3
   14f8e:       45 2b           or      r20, r21
   14f90:       43 5c           subi    r20, 0xC3       ; 195
   14f92:       fc 01           movw    r30, r24
   14f94:       e4 59           subi    r30, 0x94       ; 148
   14f96:       f4 4f           sbci    r31, 0xF4       ; 244
   14f98:       40 83           st      Z, r20
   TxdBuffer[pt++] = '=' + ( c & 0x3f);
   14f9a:       4f 2d           mov     r20, r15
   14f9c:       4f 73           andi    r20, 0x3F       ; 63
   14f9e:       43 5c           subi    r20, 0xC3       ; 195
   14fa0:       fc 01           movw    r30, r24
   14fa2:       33 96           adiw    r30, 0x03       ; 3
   14fa4:       e6 59           subi    r30, 0x96       ; 150
   14fa6:       f4 4f           sbci    r31, 0xF4       ; 244
   14fa8:       04 96           adiw    r24, 0x04       ; 4
   14faa:       40 83           st      Z, r20
                snd = va_arg(ap, unsigned char*);
                len = va_arg(ap, int);
                ptr = 0;
                BufferAnzahl--;
 }
 while(len)
   14fac:       21 15           cp      r18, r1
   14fae:       31 05           cpc     r19, r1
   14fb0:       09 f0           breq    .+2             ; 0x14fb4 <SendOutData+0x16e>
   14fb2:       72 cf           rjmp    .-284           ; 0x14e98 <SendOutData+0x52>
   14fb4:       05 c0           rjmp    .+10            ; 0x14fc0 <SendOutData+0x17a>
   14fb6:       83 e0           ldi     r24, 0x03       ; 3
   14fb8:       90 e0           ldi     r25, 0x00       ; 0
   14fba:       02 c0           rjmp    .+4             ; 0x14fc0 <SendOutData+0x17a>
   14fbc:       83 e0           ldi     r24, 0x03       ; 3
   14fbe:       90 e0           ldi     r25, 0x00       ; 0
   TxdBuffer[pt++] = '=' + (((a & 0x03) << 4) | ((b & 0xf0) >> 4));
   TxdBuffer[pt++] = '=' + (((b & 0x0f) << 2) | ((c & 0xc0) >> 6));
   TxdBuffer[pt++] = '=' + ( c & 0x3f);
  }
 va_end(ap);
 AddCRC(pt);
   14fc0:       0c df           rcall   .-488           ; 0x14dda <AddCRC>
   14fc2:       0c c0           rjmp    .+24            ; 0x14fdc <SendOutData+0x196>
                        len = va_arg(ap, int);
                        ptr = 0;
                        BufferAnzahl--;
                }
        }
        else a = 0;
   14fc4:       41 2f           mov     r20, r17
   14fc6:       01 c0           rjmp    .+2             ; 0x14fca <SendOutData+0x184>
 }
 while(len)
  {
        if(len)
        {
           a = snd[ptr++];
   14fc8:       df 2c           mov     r13, r15
                        len = va_arg(ap, int);
                        ptr = 0;
                        BufferAnzahl--;
                }
        }
        else b = 0;
   14fca:       e1 2e           mov     r14, r17
   14fcc:       05 c0           rjmp    .+10            ; 0x14fd8 <SendOutData+0x192>
           a = snd[ptr++];
           len--;
           if((!len) && BufferAnzahl)
                {
                        snd = va_arg(ap, unsigned char*);
                        len = va_arg(ap, int);
   14fce:       df 01           movw    r26, r30
                        ptr = 0;
   14fd0:       d1 2e           mov     r13, r17
                        len = va_arg(ap, int);
                        ptr = 0;
                        BufferAnzahl--;
                }
        }
        else b = 0;
   14fd2:       e1 2e           mov     r14, r17
   14fd4:       01 c0           rjmp    .+2             ; 0x14fd8 <SendOutData+0x192>
                }
        }
        else a = 0;
        if(len)
        {
                b = snd[ptr++];
   14fd6:       d5 2e           mov     r13, r21
                        len = va_arg(ap, int);
                        ptr = 0;
                        BufferAnzahl--;
                }
        }
        else c = 0;
   14fd8:       f1 2e           mov     r15, r17
   14fda:       ba cf           rjmp    .-140           ; 0x14f50 <SendOutData+0x10a>
   TxdBuffer[pt++] = '=' + (((b & 0x0f) << 2) | ((c & 0xc0) >> 6));
   TxdBuffer[pt++] = '=' + ( c & 0x3f);
  }
 va_end(ap);
 AddCRC(pt);
}
   14fdc:       df 91           pop     r29
   14fde:       cf 91           pop     r28
   14fe0:       1f 91           pop     r17
   14fe2:       0f 91           pop     r16
   14fe4:       ff 90           pop     r15
   14fe6:       ef 90           pop     r14
   14fe8:       df 90           pop     r13
   14fea:       08 95           ret

00014fec <Decode64>:
{
 unsigned char a,b,c,d;
 unsigned char x,y,z;
 unsigned char ptrIn = 3; // start at begin of data block
 unsigned char ptrOut = 3;
 unsigned char len = AnzahlEmpfangsBytes - 6; // von der Gesamtbytezahl eines Frames gehen 3 Bytes des Headers  ('#',Addr, Cmd) und 3 Bytes des Footers (CRC1, CRC2, '\r') ab.
   14fec:       70 91 f9 04     lds     r23, 0x04F9
   14ff0:       6a ef           ldi     r22, 0xFA       ; 250
   14ff2:       67 0f           add     r22, r23

 while(len)
   14ff4:       09 f4           brne    .+2             ; 0x14ff8 <Decode64+0xc>
   14ff6:       54 c0           rjmp    .+168           ; 0x150a0 <Decode64+0xb4>
   14ff8:       ab ef           ldi     r26, 0xFB       ; 251
   14ffa:       a7 0f           add     r26, r23
   14ffc:       74 50           subi    r23, 0x04       ; 4
void Decode64(void)  // die daten werden im rx buffer dekodiert, das geht nur, weil aus 4 byte immer 3 gemacht werden.
{
 unsigned char a,b,c,d;
 unsigned char x,y,z;
 unsigned char ptrIn = 3; // start at begin of data block
 unsigned char ptrOut = 3;
   14ffe:       43 e0           ldi     r20, 0x03       ; 3
// --------------------------------------------------------------------------
void Decode64(void)  // die daten werden im rx buffer dekodiert, das geht nur, weil aus 4 byte immer 3 gemacht werden.
{
 unsigned char a,b,c,d;
 unsigned char x,y,z;
 unsigned char ptrIn = 3; // start at begin of data block
   15000:       53 e0           ldi     r21, 0x03       ; 3
 unsigned char ptrOut = 3;
 unsigned char len = AnzahlEmpfangsBytes - 6; // von der Gesamtbytezahl eines Frames gehen 3 Bytes des Headers  ('#',Addr, Cmd) und 3 Bytes des Footers (CRC1, CRC2, '\r') ab.

 while(len)
  {
   a = RxdBuffer[ptrIn++] - '=';
   15002:       e5 2f           mov     r30, r21
   15004:       f0 e0           ldi     r31, 0x00       ; 0
   15006:       e4 57           subi    r30, 0x74       ; 116
   15008:       f5 4f           sbci    r31, 0xF5       ; 245
   1500a:       30 81           ld      r19, Z
   1500c:       e1 e0           ldi     r30, 0x01       ; 1
   1500e:       e5 0f           add     r30, r21
   b = RxdBuffer[ptrIn++] - '=';
   15010:       f0 e0           ldi     r31, 0x00       ; 0
   15012:       e4 57           subi    r30, 0x74       ; 116
   15014:       f5 4f           sbci    r31, 0xF5       ; 245
   15016:       20 81           ld      r18, Z
   15018:       2d 53           subi    r18, 0x3D       ; 61
   1501a:       e2 e0           ldi     r30, 0x02       ; 2
   1501c:       e5 0f           add     r30, r21
   c = RxdBuffer[ptrIn++] - '=';
   1501e:       f0 e0           ldi     r31, 0x00       ; 0
   15020:       e4 57           subi    r30, 0x74       ; 116
   15022:       f5 4f           sbci    r31, 0xF5       ; 245
   15024:       80 81           ld      r24, Z
   15026:       8d 53           subi    r24, 0x3D       ; 61
   d = RxdBuffer[ptrIn++] - '=';
   15028:       e3 e0           ldi     r30, 0x03       ; 3
   1502a:       e5 0f           add     r30, r21
   1502c:       f0 e0           ldi     r31, 0x00       ; 0
   1502e:       5c 5f           subi    r21, 0xFC       ; 252
   15030:       e4 57           subi    r30, 0x74       ; 116
   15032:       f5 4f           sbci    r31, 0xF5       ; 245
   15034:       e0 81           ld      r30, Z

   x = (a << 2) | (b >> 4);
   15036:       92 2f           mov     r25, r18
   15038:       92 95           swap    r25
   1503a:       9f 70           andi    r25, 0x0F       ; 15
 unsigned char ptrOut = 3;
 unsigned char len = AnzahlEmpfangsBytes - 6; // von der Gesamtbytezahl eines Frames gehen 3 Bytes des Headers  ('#',Addr, Cmd) und 3 Bytes des Footers (CRC1, CRC2, '\r') ab.

 while(len)
  {
   a = RxdBuffer[ptrIn++] - '=';
   1503c:       3d 53           subi    r19, 0x3D       ; 61
   b = RxdBuffer[ptrIn++] - '=';
   c = RxdBuffer[ptrIn++] - '=';
   d = RxdBuffer[ptrIn++] - '=';

   x = (a << 2) | (b >> 4);
   1503e:       33 0f           add     r19, r19
   15040:       33 0f           add     r19, r19
   15042:       b3 2f           mov     r27, r19
   15044:       b9 2b           or      r27, r25
   y = ((b & 0x0f) << 4) | (c >> 2);
   15046:       90 e1           ldi     r25, 0x10       ; 16
   15048:       29 9f           mul     r18, r25
   1504a:       90 01           movw    r18, r0
   1504c:       11 24           eor     r1, r1
   1504e:       98 2f           mov     r25, r24
   15050:       96 95           lsr     r25
   15052:       96 95           lsr     r25
   15054:       29 2b           or      r18, r25
   z = ((c & 0x03) << 6) | d;
   15056:       30 e4           ldi     r19, 0x40       ; 64
   15058:       83 9f           mul     r24, r19
   1505a:       c0 01           movw    r24, r0
   1505c:       11 24           eor     r1, r1
 while(len)
  {
   a = RxdBuffer[ptrIn++] - '=';
   b = RxdBuffer[ptrIn++] - '=';
   c = RxdBuffer[ptrIn++] - '=';
   d = RxdBuffer[ptrIn++] - '=';
   1505e:       93 ec           ldi     r25, 0xC3       ; 195
   15060:       9e 0f           add     r25, r30

   x = (a << 2) | (b >> 4);
   y = ((b & 0x0f) << 4) | (c >> 2);
   z = ((c & 0x03) << 6) | d;
   15062:       89 2b           or      r24, r25

   if(len--) RxdBuffer[ptrOut++] = x; else break;
   15064:       66 23           and     r22, r22
   15066:       09 f1           breq    .+66            ; 0x150aa <Decode64+0xbe>
   15068:       31 e0           ldi     r19, 0x01       ; 1
   1506a:       34 0f           add     r19, r20
   1506c:       e4 2f           mov     r30, r20
   1506e:       f0 e0           ldi     r31, 0x00       ; 0
   15070:       e4 57           subi    r30, 0x74       ; 116
   15072:       f5 4f           sbci    r31, 0xF5       ; 245
   15074:       b0 83           st      Z, r27
   if(len--) RxdBuffer[ptrOut++] = y; else break;
   15076:       47 17           cp      r20, r23
   15078:       a9 f0           breq    .+42            ; 0x150a4 <Decode64+0xb8>
   1507a:       92 e0           ldi     r25, 0x02       ; 2
   1507c:       94 0f           add     r25, r20
   1507e:       e3 2f           mov     r30, r19
   15080:       f0 e0           ldi     r31, 0x00       ; 0
   15082:       e4 57           subi    r30, 0x74       ; 116
   15084:       f5 4f           sbci    r31, 0xF5       ; 245
   15086:       20 83           st      Z, r18
   if(len--) RxdBuffer[ptrOut++] = z;   else break;
   15088:       63 50           subi    r22, 0x03       ; 3
   1508a:       4a 17           cp      r20, r26
   1508c:       69 f0           breq    .+26            ; 0x150a8 <Decode64+0xbc>
   1508e:       4d 5f           subi    r20, 0xFD       ; 253
   15090:       e9 2f           mov     r30, r25
   15092:       f0 e0           ldi     r31, 0x00       ; 0
   15094:       e4 57           subi    r30, 0x74       ; 116
   15096:       f5 4f           sbci    r31, 0xF5       ; 245
   15098:       80 83           st      Z, r24
 unsigned char x,y,z;
 unsigned char ptrIn = 3; // start at begin of data block
 unsigned char ptrOut = 3;
 unsigned char len = AnzahlEmpfangsBytes - 6; // von der Gesamtbytezahl eines Frames gehen 3 Bytes des Headers  ('#',Addr, Cmd) und 3 Bytes des Footers (CRC1, CRC2, '\r') ab.

 while(len)
   1509a:       61 11           cpse    r22, r1
   1509c:       b2 cf           rjmp    .-156           ; 0x15002 <Decode64+0x16>
   1509e:       05 c0           rjmp    .+10            ; 0x150aa <Decode64+0xbe>
void Decode64(void)  // die daten werden im rx buffer dekodiert, das geht nur, weil aus 4 byte immer 3 gemacht werden.
{
 unsigned char a,b,c,d;
 unsigned char x,y,z;
 unsigned char ptrIn = 3; // start at begin of data block
 unsigned char ptrOut = 3;
   150a0:       43 e0           ldi     r20, 0x03       ; 3
   150a2:       03 c0           rjmp    .+6             ; 0x150aa <Decode64+0xbe>

   x = (a << 2) | (b >> 4);
   y = ((b & 0x0f) << 4) | (c >> 2);
   z = ((c & 0x03) << 6) | d;

   if(len--) RxdBuffer[ptrOut++] = x; else break;
   150a4:       43 2f           mov     r20, r19
   150a6:       01 c0           rjmp    .+2             ; 0x150aa <Decode64+0xbe>
   if(len--) RxdBuffer[ptrOut++] = y; else break;
   150a8:       49 2f           mov     r20, r25
   if(len--) RxdBuffer[ptrOut++] = z;   else break;
  }
        pRxData = (unsigned char*)&RxdBuffer[3]; // decodierte Daten beginnen beim 4. Byte
   150aa:       8f e8           ldi     r24, 0x8F       ; 143
   150ac:       9a e0           ldi     r25, 0x0A       ; 10
   150ae:       90 93 f8 04     sts     0x04F8, r25
   150b2:       80 93 f7 04     sts     0x04F7, r24
        RxDataLen = ptrOut - 3;  // wie viele Bytes wurden dekodiert?
   150b6:       43 50           subi    r20, 0x03       ; 3
   150b8:       40 93 f6 04     sts     0x04F6, r20
   150bc:       08 95           ret

000150be <BearbeiteRxDaten>:

}

// --------------------------------------------------------------------------
void BearbeiteRxDaten(void)
{
   150be:       cf 93           push    r28
   150c0:       df 93           push    r29
   150c2:       00 d0           rcall   .+0             ; 0x150c4 <BearbeiteRxDaten+0x6>
   150c4:       cd b7           in      r28, 0x3d       ; 61
   150c6:       de b7           in      r29, 0x3e       ; 62
 if(!NeuerDatensatzEmpfangen) return;
   150c8:       80 91 fb 04     lds     r24, 0x04FB
   150cc:       88 23           and     r24, r24
   150ce:       09 f4           brne    .+2             ; 0x150d2 <BearbeiteRxDaten+0x14>
   150d0:       49 c4           rjmp    .+2194          ; 0x15964 <BearbeiteRxDaten+0x8a6>

        unsigned char tempchar1, tempchar2;
        Decode64(); // dekodiere datenblock im Empfangsbuffer
   150d2:       8c df           rcall   .-232           ; 0x14fec <Decode64>
        switch(RxdBuffer[1]-'a') // check for Slave Address
   150d4:       80 91 8d 0a     lds     r24, 0x0A8D
   150d8:       82 36           cpi     r24, 0x62       ; 98
   150da:       09 f0           breq    .+2             ; 0x150de <BearbeiteRxDaten+0x20>
   150dc:       04 c3           rjmp    .+1544          ; 0x156e6 <BearbeiteRxDaten+0x628>
        {
                case FC_ADDRESS: // FC special commands
                switch(RxdBuffer[2])
   150de:       80 91 8e 0a     lds     r24, 0x0A8E
   150e2:       90 e0           ldi     r25, 0x00       ; 0
   150e4:       fc 01           movw    r30, r24
   150e6:       eb 54           subi    r30, 0x4B       ; 75
   150e8:       f1 09           sbc     r31, r1
   150ea:       ef 32           cpi     r30, 0x2F       ; 47
   150ec:       f1 05           cpc     r31, r1
   150ee:       08 f0           brcs    .+2             ; 0x150f2 <BearbeiteRxDaten+0x34>
   150f0:       fa c2           rjmp    .+1524          ; 0x156e6 <BearbeiteRxDaten+0x628>
   150f2:       e9 54           subi    r30, 0x49       ; 73
   150f4:       ff 4f           sbci    r31, 0xFF       ; 255
   150f6:       0c 94 a7 b1     jmp     0x1634e ; 0x1634e <__tablejump2__>
                {
                        case 'K':// Kompasswert
                                        memcpy((unsigned char *)&KompassValue , (unsigned char *)pRxData, sizeof(KompassValue));
   150fa:       e0 91 f7 04     lds     r30, 0x04F7
   150fe:       f0 91 f8 04     lds     r31, 0x04F8
   15102:       80 81           ld      r24, Z
   15104:       91 81           ldd     r25, Z+1        ; 0x01
   15106:       90 93 4f 01     sts     0x014F, r25
   1510a:       80 93 4e 01     sts     0x014E, r24
//                                      KompassRichtung = ((540 + KompassValue - KompassSollWert) % 360) - 180;
                                        break;
   1510e:       eb c2           rjmp    .+1494          ; 0x156e6 <BearbeiteRxDaten+0x628>
                        case 't':// Motortest
                                if(AnzahlEmpfangsBytes > 20) memcpy(&MotorTest[0], (unsigned char *)pRxData, sizeof(MotorTest));
   15110:       80 91 f9 04     lds     r24, 0x04F9
   15114:       85 31           cpi     r24, 0x15       ; 21
   15116:       60 f0           brcs    .+24            ; 0x15130 <BearbeiteRxDaten+0x72>
   15118:       e0 91 f7 04     lds     r30, 0x04F7
   1511c:       f0 91 f8 04     lds     r31, 0x04F8
   15120:       80 e1           ldi     r24, 0x10       ; 16
   15122:       a7 e6           ldi     r26, 0x67       ; 103
   15124:       ba e0           ldi     r27, 0x0A       ; 10
   15126:       01 90           ld      r0, Z+
   15128:       0d 92           st      X+, r0
   1512a:       8a 95           dec     r24
   1512c:       e1 f7           brne    .-8             ; 0x15126 <BearbeiteRxDaten+0x68>
   1512e:       10 c0           rjmp    .+32            ; 0x15150 <BearbeiteRxDaten+0x92>
                                else memcpy(&MotorTest[0], (unsigned char *)pRxData, 4);
   15130:       e0 91 f7 04     lds     r30, 0x04F7
   15134:       f0 91 f8 04     lds     r31, 0x04F8
   15138:       80 81           ld      r24, Z
   1513a:       91 81           ldd     r25, Z+1        ; 0x01
   1513c:       a2 81           ldd     r26, Z+2        ; 0x02
   1513e:       b3 81           ldd     r27, Z+3        ; 0x03
   15140:       80 93 67 0a     sts     0x0A67, r24
   15144:       90 93 68 0a     sts     0x0A68, r25
   15148:       a0 93 69 0a     sts     0x0A69, r26
   1514c:       b0 93 6a 0a     sts     0x0A6A, r27
                                        PC_MotortestActive = 240;
   15150:       80 ef           ldi     r24, 0xF0       ; 240
   15152:       80 93 f5 04     sts     0x04F5, r24
                                        //while(!UebertragungAbgeschlossen);
                                        //SendOutData('T', MeineSlaveAdresse, 0);
                                        PcZugriff = 255;
   15156:       8f ef           ldi     r24, 0xFF       ; 255
   15158:       80 93 b5 02     sts     0x02B5, r24
                                        break;
   1515c:       c4 c2           rjmp    .+1416          ; 0x156e6 <BearbeiteRxDaten+0x628>

                        case 'n':// "Get Mixer
                                        while(!UebertragungAbgeschlossen);
   1515e:       80 91 b7 02     lds     r24, 0x02B7
   15162:       88 23           and     r24, r24
   15164:       e1 f3           breq    .-8             ; 0x1515e <BearbeiteRxDaten+0xa0>
                    SendOutData('N', FC_ADDRESS, 1, (unsigned char *) &Mixer, sizeof(Mixer) - 1);
   15166:       1f 92           push    r1
   15168:       8d e4           ldi     r24, 0x4D       ; 77
   1516a:       8f 93           push    r24
   1516c:       87 ec           ldi     r24, 0xC7       ; 199
   1516e:       95 e0           ldi     r25, 0x05       ; 5
   15170:       9f 93           push    r25
   15172:       8f 93           push    r24
   15174:       81 e0           ldi     r24, 0x01       ; 1
   15176:       8f 93           push    r24
   15178:       8f 93           push    r24
   1517a:       8e e4           ldi     r24, 0x4E       ; 78
   1517c:       8f 93           push    r24
   1517e:       63 de           rcall   .-826           ; 0x14e46 <SendOutData>
                                        Debug("Mixer lesen");
   15180:       83 e6           ldi     r24, 0x63       ; 99
   15182:       96 e1           ldi     r25, 0x16       ; 22
   15184:       9f 93           push    r25
   15186:       8f 93           push    r24
   15188:       88 e1           ldi     r24, 0x18       ; 24
   1518a:       93 e2           ldi     r25, 0x23       ; 35
   1518c:       9f 93           push    r25
   1518e:       8f 93           push    r24
   15190:       e0 91 78 06     lds     r30, 0x0678
   15194:       f0 91 79 06     lds     r31, 0x0679
   15198:       09 95           icall
   1519a:       80 e0           ldi     r24, 0x00       ; 0
   1519c:       0e 94 2c 23     call    0x4658  ; 0x4658 <DebugSend>
                                        break;
   151a0:       0f b6           in      r0, 0x3f        ; 63
   151a2:       f8 94           cli
   151a4:       de bf           out     0x3e, r29       ; 62
   151a6:       0f be           out     0x3f, r0        ; 63
   151a8:       cd bf           out     0x3d, r28       ; 61
   151aa:       9d c2           rjmp    .+1338          ; 0x156e6 <BearbeiteRxDaten+0x628>

                        case 'm':// "Write Mixer
                    if(pRxData[0] == EEMIXER_REVISION)
   151ac:       e0 91 f7 04     lds     r30, 0x04F7
   151b0:       f0 91 f8 04     lds     r31, 0x04F8
   151b4:       80 81           ld      r24, Z
   151b6:       81 30           cpi     r24, 0x01       ; 1
   151b8:       89 f4           brne    .+34            ; 0x151dc <BearbeiteRxDaten+0x11e>
                                        {
                       memcpy(&Mixer, (unsigned char *)pRxData, sizeof(Mixer) - 1);
   151ba:       8d e4           ldi     r24, 0x4D       ; 77
   151bc:       a7 ec           ldi     r26, 0xC7       ; 199
   151be:       b5 e0           ldi     r27, 0x05       ; 5
   151c0:       01 90           ld      r0, Z+
   151c2:       0d 92           st      X+, r0
   151c4:       8a 95           dec     r24
   151c6:       e1 f7           brne    .-8             ; 0x151c0 <BearbeiteRxDaten+0x102>
                       MixerTable_WriteToEEProm();
   151c8:       0e 94 ac 25     call    0x4b58  ; 0x4b58 <MixerTable_WriteToEEProm>
                                           tempchar1 = 1;
   151cc:       81 e0           ldi     r24, 0x01       ; 1
   151ce:       89 83           std     Y+1, r24        ; 0x01
                                           VersionInfo.HardwareError[1] &= ~FC_ERROR1_MIXER;
   151d0:       e3 e6           ldi     r30, 0x63       ; 99
   151d2:       fa e0           ldi     r31, 0x0A       ; 10
   151d4:       80 81           ld      r24, Z
   151d6:       8f 7e           andi    r24, 0xEF       ; 239
   151d8:       80 83           st      Z, r24
   151da:       01 c0           rjmp    .+2             ; 0x151de <BearbeiteRxDaten+0x120>
                                        }
                    else
                    {
                                                tempchar1 = 0;
   151dc:       19 82           std     Y+1, r1 ; 0x01
                                        }
                                        while(!UebertragungAbgeschlossen);
   151de:       80 91 b7 02     lds     r24, 0x02B7
   151e2:       88 23           and     r24, r24
   151e4:       e1 f3           breq    .-8             ; 0x151de <BearbeiteRxDaten+0x120>
                                        SendOutData('M', FC_ADDRESS, 1, &tempchar1, sizeof(tempchar1));
   151e6:       1f 92           push    r1
   151e8:       21 e0           ldi     r18, 0x01       ; 1
   151ea:       2f 93           push    r18
   151ec:       ce 01           movw    r24, r28
   151ee:       01 96           adiw    r24, 0x01       ; 1
   151f0:       9f 93           push    r25
   151f2:       8f 93           push    r24
   151f4:       2f 93           push    r18
   151f6:       2f 93           push    r18
   151f8:       8d e4           ldi     r24, 0x4D       ; 77
   151fa:       8f 93           push    r24
   151fc:       24 de           rcall   .-952           ; 0x14e46 <SendOutData>
                                        break;
   151fe:       0f b6           in      r0, 0x3f        ; 63
   15200:       f8 94           cli
   15202:       de bf           out     0x3e, r29       ; 62
   15204:       0f be           out     0x3f, r0        ; 63
   15206:       cd bf           out     0x3d, r28       ; 61
   15208:       6e c2           rjmp    .+1244          ; 0x156e6 <BearbeiteRxDaten+0x628>

                        case 'p': // get PPM Channels
                                        GetPPMChannelAnforderung = 1;
   1520a:       81 e0           ldi     r24, 0x01       ; 1
   1520c:       80 93 fe 04     sts     0x04FE, r24
                                        PcZugriff = 255;
   15210:       8f ef           ldi     r24, 0xFF       ; 255
   15212:       80 93 b5 02     sts     0x02B5, r24
                                        break;
   15216:       67 c2           rjmp    .+1230          ; 0x156e6 <BearbeiteRxDaten+0x628>

                        case 'q':// "Get"-Anforderung für Settings
                                        // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
                                   if(!MotorenEin) 
   15218:       80 91 03 04     lds     r24, 0x0403
   1521c:       81 11           cpse    r24, r1
   1521e:       44 c0           rjmp    .+136           ; 0x152a8 <BearbeiteRxDaten+0x1ea>
                                   {
                                        if((10 <= pRxData[0]) && (pRxData[0] < 20))
   15220:       e0 91 f7 04     lds     r30, 0x04F7
   15224:       f0 91 f8 04     lds     r31, 0x04F8
   15228:       80 81           ld      r24, Z
   1522a:       96 ef           ldi     r25, 0xF6       ; 246
   1522c:       98 0f           add     r25, r24
   1522e:       9a 30           cpi     r25, 0x0A       ; 10
   15230:       80 f4           brcc    .+32            ; 0x15252 <BearbeiteRxDaten+0x194>
                                        {
                                                tempchar1 = pRxData[0] - 10;
                                                if(tempchar1< 1) tempchar1 = 1; // limit to 1
   15232:       91 11           cpse    r25, r1
   15234:       03 c0           rjmp    .+6             ; 0x1523c <BearbeiteRxDaten+0x17e>
   15236:       81 e0           ldi     r24, 0x01       ; 1
   15238:       89 83           std     Y+1, r24        ; 0x01
   1523a:       06 c0           rjmp    .+12            ; 0x15248 <BearbeiteRxDaten+0x18a>
                                                else if(tempchar1 > 5) tempchar1 = 5; // limit to 5
   1523c:       96 30           cpi     r25, 0x06       ; 6
   1523e:       10 f4           brcc    .+4             ; 0x15244 <BearbeiteRxDaten+0x186>
                                        // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
                                   if(!MotorenEin) 
                                   {
                                        if((10 <= pRxData[0]) && (pRxData[0] < 20))
                                        {
                                                tempchar1 = pRxData[0] - 10;
   15240:       99 83           std     Y+1, r25        ; 0x01
   15242:       02 c0           rjmp    .+4             ; 0x15248 <BearbeiteRxDaten+0x18a>
                                                if(tempchar1< 1) tempchar1 = 1; // limit to 1
                                                else if(tempchar1 > 5) tempchar1 = 5; // limit to 5
   15244:       85 e0           ldi     r24, 0x05       ; 5
   15246:       89 83           std     Y+1, r24        ; 0x01
                                                SetDefaultParameter(tempchar1, 1);
   15248:       61 e0           ldi     r22, 0x01       ; 1
   1524a:       89 81           ldd     r24, Y+1        ; 0x01
   1524c:       0e 94 78 26     call    0x4cf0  ; 0x4cf0 <SetDefaultParameter>
   15250:       27 c0           rjmp    .+78            ; 0x152a0 <BearbeiteRxDaten+0x1e2>
                                        }
                                        else if((20 <= pRxData[0]) && (pRxData[0] < 30))
   15252:       9c ee           ldi     r25, 0xEC       ; 236
   15254:       98 0f           add     r25, r24
   15256:       9a 30           cpi     r25, 0x0A       ; 10
   15258:       80 f4           brcc    .+32            ; 0x1527a <BearbeiteRxDaten+0x1bc>
                                        {
                                                tempchar1 = pRxData[0] - 20;
                                                if(tempchar1< 1) tempchar1 = 1; // limit to 1
   1525a:       91 11           cpse    r25, r1
   1525c:       03 c0           rjmp    .+6             ; 0x15264 <BearbeiteRxDaten+0x1a6>
   1525e:       81 e0           ldi     r24, 0x01       ; 1
   15260:       89 83           std     Y+1, r24        ; 0x01
   15262:       06 c0           rjmp    .+12            ; 0x15270 <BearbeiteRxDaten+0x1b2>
                                                else if(tempchar1 > 5) tempchar1 = 5; // limit to 5
   15264:       96 30           cpi     r25, 0x06       ; 6
   15266:       10 f4           brcc    .+4             ; 0x1526c <BearbeiteRxDaten+0x1ae>
                                                else if(tempchar1 > 5) tempchar1 = 5; // limit to 5
                                                SetDefaultParameter(tempchar1, 1);
                                        }
                                        else if((20 <= pRxData[0]) && (pRxData[0] < 30))
                                        {
                                                tempchar1 = pRxData[0] - 20;
   15268:       99 83           std     Y+1, r25        ; 0x01
   1526a:       02 c0           rjmp    .+4             ; 0x15270 <BearbeiteRxDaten+0x1b2>
                                                if(tempchar1< 1) tempchar1 = 1; // limit to 1
                                                else if(tempchar1 > 5) tempchar1 = 5; // limit to 5
   1526c:       85 e0           ldi     r24, 0x05       ; 5
   1526e:       89 83           std     Y+1, r24        ; 0x01
                                                SetDefaultParameter(tempchar1, 0);
   15270:       60 e0           ldi     r22, 0x00       ; 0
   15272:       89 81           ldd     r24, Y+1        ; 0x01
   15274:       0e 94 78 26     call    0x4cf0  ; 0x4cf0 <SetDefaultParameter>
   15278:       13 c0           rjmp    .+38            ; 0x152a0 <BearbeiteRxDaten+0x1e2>
                                        }
                                        else
                                        {
                                                tempchar1 = pRxData[0];
   1527a:       89 83           std     Y+1, r24        ; 0x01
                                                if(tempchar1 == 0xFF)
   1527c:       8f 3f           cpi     r24, 0xFF       ; 255
   1527e:       19 f4           brne    .+6             ; 0x15286 <BearbeiteRxDaten+0x1c8>
                                                {
                                                        tempchar1 = GetActiveParamSet();
   15280:       0e 94 09 26     call    0x4c12  ; 0x4c12 <GetActiveParamSet>
   15284:       89 83           std     Y+1, r24        ; 0x01
                                                }
                                                if(tempchar1< 1) tempchar1 = 1; // limit to 1
   15286:       89 81           ldd     r24, Y+1        ; 0x01
   15288:       81 11           cpse    r24, r1
   1528a:       03 c0           rjmp    .+6             ; 0x15292 <BearbeiteRxDaten+0x1d4>
   1528c:       81 e0           ldi     r24, 0x01       ; 1
   1528e:       89 83           std     Y+1, r24        ; 0x01
   15290:       04 c0           rjmp    .+8             ; 0x1529a <BearbeiteRxDaten+0x1dc>
                                                else if(tempchar1 > 5) tempchar1 = 5; // limit to 5
   15292:       86 30           cpi     r24, 0x06       ; 6
   15294:       10 f0           brcs    .+4             ; 0x1529a <BearbeiteRxDaten+0x1dc>
   15296:       85 e0           ldi     r24, 0x05       ; 5
   15298:       89 83           std     Y+1, r24        ; 0x01
                                                // load requested parameter set
                                                ParamSet_ReadFromEEProm(tempchar1);
   1529a:       89 81           ldd     r24, Y+1        ; 0x01
   1529c:       0e 94 4e 25     call    0x4a9c  ; 0x4a9c <ParamSet_ReadFromEEProm>
                                        }
                                        LipoDetection(0);
   152a0:       80 e0           ldi     r24, 0x00       ; 0
   152a2:       0e 94 90 59     call    0xb320  ; 0xb320 <LipoDetection>
   152a6:       03 c0           rjmp    .+6             ; 0x152ae <BearbeiteRxDaten+0x1f0>
                                   } else tempchar1 = GetActiveParamSet();      
   152a8:       0e 94 09 26     call    0x4c12  ; 0x4c12 <GetActiveParamSet>
   152ac:       89 83           std     Y+1, r24        ; 0x01
                                        while(!UebertragungAbgeschlossen);
   152ae:       80 91 b7 02     lds     r24, 0x02B7
   152b2:       88 23           and     r24, r24
   152b4:       e1 f3           breq    .-8             ; 0x152ae <BearbeiteRxDaten+0x1f0>
                                        SendOutData('Q', FC_ADDRESS, 2, &tempchar1, sizeof(tempchar1), (unsigned char *) &EE_Parameter, sizeof(EE_Parameter) - 1);
   152b6:       1f 92           push    r1
   152b8:       88 e8           ldi     r24, 0x88       ; 136
   152ba:       8f 93           push    r24
   152bc:       8e e3           ldi     r24, 0x3E       ; 62
   152be:       95 e0           ldi     r25, 0x05       ; 5
   152c0:       9f 93           push    r25
   152c2:       8f 93           push    r24
   152c4:       1f 92           push    r1
   152c6:       21 e0           ldi     r18, 0x01       ; 1
   152c8:       2f 93           push    r18
   152ca:       ce 01           movw    r24, r28
   152cc:       01 96           adiw    r24, 0x01       ; 1
   152ce:       9f 93           push    r25
   152d0:       8f 93           push    r24
   152d2:       82 e0           ldi     r24, 0x02       ; 2
   152d4:       8f 93           push    r24
   152d6:       2f 93           push    r18
   152d8:       81 e5           ldi     r24, 0x51       ; 81
   152da:       8f 93           push    r24
   152dc:       b4 dd           rcall   .-1176          ; 0x14e46 <SendOutData>
                                        Debug("Lese Setting %d", tempchar1);
   152de:       89 81           ldd     r24, Y+1        ; 0x01
   152e0:       1f 92           push    r1
   152e2:       8f 93           push    r24
   152e4:       83 e5           ldi     r24, 0x53       ; 83
   152e6:       96 e1           ldi     r25, 0x16       ; 22
   152e8:       9f 93           push    r25
   152ea:       8f 93           push    r24
   152ec:       88 e1           ldi     r24, 0x18       ; 24
   152ee:       93 e2           ldi     r25, 0x23       ; 35
   152f0:       9f 93           push    r25
   152f2:       8f 93           push    r24
   152f4:       e0 91 78 06     lds     r30, 0x0678
   152f8:       f0 91 79 06     lds     r31, 0x0679
   152fc:       09 95           icall
   152fe:       80 e0           ldi     r24, 0x00       ; 0
   15300:       0e 94 2c 23     call    0x4658  ; 0x4658 <DebugSend>
                                        break;
   15304:       0f b6           in      r0, 0x3f        ; 63
   15306:       f8 94           cli
   15308:       de bf           out     0x3e, r29       ; 62
   1530a:       0f be           out     0x3f, r0        ; 63
   1530c:       cd bf           out     0x3d, r28       ; 61
   1530e:       eb c1           rjmp    .+982           ; 0x156e6 <BearbeiteRxDaten+0x628>

                        case 's': // Parametersatz speichern
                                        if((1 <= pRxData[0]) && (pRxData[0] <= 5) && (pRxData[1] == EEPARAM_REVISION) && MotorenEin == 0) // check for setting to be in range
   15310:       80 91 f7 04     lds     r24, 0x04F7
   15314:       90 91 f8 04     lds     r25, 0x04F8
   15318:       fc 01           movw    r30, r24
   1531a:       20 81           ld      r18, Z
   1531c:       21 50           subi    r18, 0x01       ; 1
   1531e:       25 30           cpi     r18, 0x05       ; 5
   15320:       90 f5           brcc    .+100           ; 0x15386 <BearbeiteRxDaten+0x2c8>
   15322:       21 81           ldd     r18, Z+1        ; 0x01
   15324:       27 36           cpi     r18, 0x67       ; 103
   15326:       79 f5           brne    .+94            ; 0x15386 <BearbeiteRxDaten+0x2c8>
   15328:       20 91 03 04     lds     r18, 0x0403
   1532c:       21 11           cpse    r18, r1
   1532e:       2b c0           rjmp    .+86            ; 0x15386 <BearbeiteRxDaten+0x2c8>
                                        {
                                                memcpy(&EE_Parameter, (uint8_t*)&pRxData[1], sizeof(EE_Parameter) - 1);
   15330:       31 96           adiw    r30, 0x01       ; 1
   15332:       28 e8           ldi     r18, 0x88       ; 136
   15334:       ae e3           ldi     r26, 0x3E       ; 62
   15336:       b5 e0           ldi     r27, 0x05       ; 5
   15338:       01 90           ld      r0, Z+
   1533a:       0d 92           st      X+, r0
   1533c:       2a 95           dec     r18
   1533e:       e1 f7           brne    .-8             ; 0x15338 <BearbeiteRxDaten+0x27a>
                                                ParamSet_WriteToEEProm(pRxData[0]);
   15340:       fc 01           movw    r30, r24
   15342:       80 81           ld      r24, Z
   15344:       0e 94 26 26     call    0x4c4c  ; 0x4c4c <ParamSet_WriteToEEProm>
                                                Umschlag180Nick = (long) EE_Parameter.WinkelUmschlagNick * 2500L;
   15348:       20 91 7f 05     lds     r18, 0x057F
   1534c:       30 e0           ldi     r19, 0x00       ; 0
   1534e:       a4 ec           ldi     r26, 0xC4       ; 196
   15350:       b9 e0           ldi     r27, 0x09       ; 9
   15352:       0e 94 b3 b1     call    0x16366 ; 0x16366 <__umulhisi3>
   15356:       60 93 46 01     sts     0x0146, r22
   1535a:       70 93 47 01     sts     0x0147, r23
   1535e:       80 93 48 01     sts     0x0148, r24
   15362:       90 93 49 01     sts     0x0149, r25
                                                Umschlag180Roll = (long) EE_Parameter.WinkelUmschlagRoll * 2500L;
   15366:       20 91 80 05     lds     r18, 0x0580
   1536a:       30 e0           ldi     r19, 0x00       ; 0
   1536c:       fc d7           rcall   .+4088          ; 0x16366 <__umulhisi3>
   1536e:       60 93 42 01     sts     0x0142, r22
   15372:       70 93 43 01     sts     0x0143, r23
   15376:       80 93 44 01     sts     0x0144, r24
   1537a:       90 93 45 01     sts     0x0145, r25
                                                tempchar1 = GetActiveParamSet();
   1537e:       0e 94 09 26     call    0x4c12  ; 0x4c12 <GetActiveParamSet>
   15382:       89 83           std     Y+1, r24        ; 0x01
   15384:       01 c0           rjmp    .+2             ; 0x15388 <BearbeiteRxDaten+0x2ca>
                                        }
                                        else
                                        {
                                                tempchar1 = 0; // mark in response an invlid setting
   15386:       19 82           std     Y+1, r1 ; 0x01
                                        }
                                        while(!UebertragungAbgeschlossen);
   15388:       80 91 b7 02     lds     r24, 0x02B7
   1538c:       88 23           and     r24, r24
   1538e:       e1 f3           breq    .-8             ; 0x15388 <BearbeiteRxDaten+0x2ca>
                                        SendOutData('S', FC_ADDRESS, 1, &tempchar1, sizeof(tempchar1));
   15390:       1f 92           push    r1
   15392:       21 e0           ldi     r18, 0x01       ; 1
   15394:       2f 93           push    r18
   15396:       ce 01           movw    r24, r28
   15398:       01 96           adiw    r24, 0x01       ; 1
   1539a:       9f 93           push    r25
   1539c:       8f 93           push    r24
   1539e:       2f 93           push    r18
   153a0:       2f 93           push    r18
   153a2:       83 e5           ldi     r24, 0x53       ; 83
   153a4:       8f 93           push    r24
   153a6:       4f dd           rcall   .-1378          ; 0x14e46 <SendOutData>
                                        if(!MotorenEin) 
   153a8:       0f b6           in      r0, 0x3f        ; 63
   153aa:       f8 94           cli
   153ac:       de bf           out     0x3e, r29       ; 62
   153ae:       0f be           out     0x3f, r0        ; 63
   153b0:       cd bf           out     0x3d, r28       ; 61
   153b2:       80 91 03 04     lds     r24, 0x0403
   153b6:       81 11           cpse    r24, r1
   153b8:       08 c0           rjmp    .+16            ; 0x153ca <BearbeiteRxDaten+0x30c>
                                         {
                                          Piep(tempchar1,110);
   153ba:       6e e6           ldi     r22, 0x6E       ; 110
   153bc:       70 e0           ldi     r23, 0x00       ; 0
   153be:       89 81           ldd     r24, Y+1        ; 0x01
   153c0:       0e 94 ba 28     call    0x5174  ; 0x5174 <Piep>
                                          LipoDetection(0);
   153c4:       80 e0           ldi     r24, 0x00       ; 0
   153c6:       0e 94 90 59     call    0xb320  ; 0xb320 <LipoDetection>
                                         } 
                                        LIBFC_ReceiverInit(EE_Parameter.Receiver);
   153ca:       80 91 65 05     lds     r24, 0x0565
   153ce:       0e 94 68 18     call    0x30d0  ; 0x30d0 <LIBFC_ReceiverInit>
                                        break;
   153d2:       89 c1           rjmp    .+786           ; 0x156e6 <BearbeiteRxDaten+0x628>
                        case 'f': // auf anderen Parametersatz umschalten
                                        if(MotorenEin) break;
   153d4:       80 91 03 04     lds     r24, 0x0403
   153d8:       81 11           cpse    r24, r1
   153da:       85 c1           rjmp    .+778           ; 0x156e6 <BearbeiteRxDaten+0x628>
                                if((1 <= pRxData[0]) && (pRxData[0] <= 5)) ParamSet_ReadFromEEProm(pRxData[0]);
   153dc:       e0 91 f7 04     lds     r30, 0x04F7
   153e0:       f0 91 f8 04     lds     r31, 0x04F8
   153e4:       80 81           ld      r24, Z
   153e6:       9f ef           ldi     r25, 0xFF       ; 255
   153e8:       98 0f           add     r25, r24
   153ea:       95 30           cpi     r25, 0x05       ; 5
   153ec:       10 f4           brcc    .+4             ; 0x153f2 <BearbeiteRxDaten+0x334>
   153ee:       0e 94 4e 25     call    0x4a9c  ; 0x4a9c <ParamSet_ReadFromEEProm>
                                        tempchar1 = GetActiveParamSet();
   153f2:       0e 94 09 26     call    0x4c12  ; 0x4c12 <GetActiveParamSet>
   153f6:       89 83           std     Y+1, r24        ; 0x01
                                        while(!UebertragungAbgeschlossen);
   153f8:       80 91 b7 02     lds     r24, 0x02B7
   153fc:       88 23           and     r24, r24
   153fe:       e1 f3           breq    .-8             ; 0x153f8 <BearbeiteRxDaten+0x33a>
                                        SendOutData('F', FC_ADDRESS, 1, &tempchar1, sizeof(tempchar1));
   15400:       1f 92           push    r1
   15402:       21 e0           ldi     r18, 0x01       ; 1
   15404:       2f 93           push    r18
   15406:       ce 01           movw    r24, r28
   15408:       01 96           adiw    r24, 0x01       ; 1
   1540a:       9f 93           push    r25
   1540c:       8f 93           push    r24
   1540e:       2f 93           push    r18
   15410:       2f 93           push    r18
   15412:       86 e4           ldi     r24, 0x46       ; 70
   15414:       8f 93           push    r24
   15416:       17 dd           rcall   .-1490          ; 0x14e46 <SendOutData>
                                        if(!MotorenEin) 
   15418:       0f b6           in      r0, 0x3f        ; 63
   1541a:       f8 94           cli
   1541c:       de bf           out     0x3e, r29       ; 62
   1541e:       0f be           out     0x3f, r0        ; 63
   15420:       cd bf           out     0x3d, r28       ; 61
   15422:       80 91 03 04     lds     r24, 0x0403
   15426:       81 11           cpse    r24, r1
   15428:       08 c0           rjmp    .+16            ; 0x1543a <BearbeiteRxDaten+0x37c>
                                         {
                                          Piep(tempchar1,110);
   1542a:       6e e6           ldi     r22, 0x6E       ; 110
   1542c:       70 e0           ldi     r23, 0x00       ; 0
   1542e:       89 81           ldd     r24, Y+1        ; 0x01
   15430:       0e 94 ba 28     call    0x5174  ; 0x5174 <Piep>
                                          LipoDetection(0);
   15434:       80 e0           ldi     r24, 0x00       ; 0
   15436:       0e 94 90 59     call    0xb320  ; 0xb320 <LipoDetection>
                                         } 
                                        LIBFC_ReceiverInit(EE_Parameter.Receiver);
   1543a:       80 91 65 05     lds     r24, 0x0565
   1543e:       0e 94 68 18     call    0x30d0  ; 0x30d0 <LIBFC_ReceiverInit>
                                        break;
   15442:       51 c1           rjmp    .+674           ; 0x156e6 <BearbeiteRxDaten+0x628>
                        case 'y':// serial Potis
                                        for(tempchar1 = 0; tempchar1 < 12; tempchar1++) PPM_in[SERIAL_POTI_START + tempchar1] = (signed char) pRxData[tempchar1]; 
   15444:       19 82           std     Y+1, r1 ; 0x01
   15446:       40 91 f7 04     lds     r20, 0x04F7
   1544a:       e4 2f           mov     r30, r20
   1544c:       f0 91 f8 04     lds     r31, 0x04F8
   15450:       81 e1           ldi     r24, 0x11       ; 17
   15452:       90 e0           ldi     r25, 0x00       ; 0
   15454:       21 91           ld      r18, Z+
   15456:       33 27           eor     r19, r19
   15458:       27 fd           sbrc    r18, 7
   1545a:       30 95           com     r19
   1545c:       dc 01           movw    r26, r24
   1545e:       aa 0f           add     r26, r26
   15460:       bb 1f           adc     r27, r27
   15462:       af 5c           subi    r26, 0xCF       ; 207
   15464:       b7 4f           sbci    r27, 0xF7       ; 247
   15466:       11 96           adiw    r26, 0x01       ; 1
   15468:       3c 93           st      X, r19
   1546a:       2e 93           st      -X, r18
   1546c:       2e 2f           mov     r18, r30
   1546e:       24 1b           sub     r18, r20
   15470:       29 83           std     Y+1, r18        ; 0x01
   15472:       01 96           adiw    r24, 0x01       ; 1
   15474:       8d 31           cpi     r24, 0x1D       ; 29
   15476:       91 05           cpc     r25, r1
   15478:       69 f7           brne    .-38            ; 0x15454 <BearbeiteRxDaten+0x396>
   1547a:       35 c1           rjmp    .+618           ; 0x156e6 <BearbeiteRxDaten+0x628>
                                        break;
                        case 'u': // request BL parameter
                                Debug("Reading BL %d", pRxData[0]);
   1547c:       e0 91 f7 04     lds     r30, 0x04F7
   15480:       f0 91 f8 04     lds     r31, 0x04F8
   15484:       80 81           ld      r24, Z
   15486:       1f 92           push    r1
   15488:       8f 93           push    r24
   1548a:       85 e4           ldi     r24, 0x45       ; 69
   1548c:       96 e1           ldi     r25, 0x16       ; 22
   1548e:       9f 93           push    r25
   15490:       8f 93           push    r24
   15492:       88 e1           ldi     r24, 0x18       ; 24
   15494:       93 e2           ldi     r25, 0x23       ; 35
   15496:       9f 93           push    r25
   15498:       8f 93           push    r24
   1549a:       e0 91 78 06     lds     r30, 0x0678
   1549e:       f0 91 79 06     lds     r31, 0x0679
   154a2:       09 95           icall
   154a4:       80 e0           ldi     r24, 0x00       ; 0
   154a6:       0e 94 2c 23     call    0x4658  ; 0x4658 <DebugSend>
                                // try to read BL configuration
                                tempchar2 = I2C_ReadBLConfig(pRxData[0]);
   154aa:       e0 91 f7 04     lds     r30, 0x04F7
   154ae:       f0 91 f8 04     lds     r31, 0x04F8
   154b2:       80 81           ld      r24, Z
   154b4:       aa da           rcall   .-2732          ; 0x14a0a <I2C_ReadBLConfig>
   154b6:       8a 83           std     Y+2, r24        ; 0x02
                                if(tempchar2 == BLCONFIG_SUCCESS) tempchar1 = 1;
   154b8:       0f 90           pop     r0
   154ba:       0f 90           pop     r0
   154bc:       0f 90           pop     r0
   154be:       0f 90           pop     r0
   154c0:       0f 90           pop     r0
   154c2:       0f 90           pop     r0
   154c4:       81 11           cpse    r24, r1
   154c6:       03 c0           rjmp    .+6             ; 0x154ce <BearbeiteRxDaten+0x410>
   154c8:       81 e0           ldi     r24, 0x01       ; 1
   154ca:       89 83           std     Y+1, r24        ; 0x01
   154cc:       01 c0           rjmp    .+2             ; 0x154d0 <BearbeiteRxDaten+0x412>
                                else tempchar1 = 0;
   154ce:       19 82           std     Y+1, r1 ; 0x01
                                while(!UebertragungAbgeschlossen); // wait for previous frame to be sent
   154d0:       80 91 b7 02     lds     r24, 0x02B7
   154d4:       88 23           and     r24, r24
   154d6:       e1 f3           breq    .-8             ; 0x154d0 <BearbeiteRxDaten+0x412>
                                SendOutData('U', FC_ADDRESS, 4, &tempchar1, sizeof(tempchar1), &tempchar2, sizeof(tempchar2), &pRxData[0], 1, &BLConfig, sizeof(BLConfig_t));
   154d8:       1f 92           push    r1
   154da:       88 e0           ldi     r24, 0x08       ; 8
   154dc:       8f 93           push    r24
   154de:       8f e8           ldi     r24, 0x8F       ; 143
   154e0:       99 e0           ldi     r25, 0x09       ; 9
   154e2:       9f 93           push    r25
   154e4:       8f 93           push    r24
   154e6:       1f 92           push    r1
   154e8:       21 e0           ldi     r18, 0x01       ; 1
   154ea:       2f 93           push    r18
   154ec:       80 91 f8 04     lds     r24, 0x04F8
   154f0:       8f 93           push    r24
   154f2:       80 91 f7 04     lds     r24, 0x04F7
   154f6:       8f 93           push    r24
   154f8:       1f 92           push    r1
   154fa:       2f 93           push    r18
   154fc:       ce 01           movw    r24, r28
   154fe:       02 96           adiw    r24, 0x02       ; 2
   15500:       9f 93           push    r25
   15502:       8f 93           push    r24
   15504:       1f 92           push    r1
   15506:       2f 93           push    r18
   15508:       01 97           sbiw    r24, 0x01       ; 1
   1550a:       9f 93           push    r25
   1550c:       8f 93           push    r24
   1550e:       84 e0           ldi     r24, 0x04       ; 4
   15510:       8f 93           push    r24
   15512:       2f 93           push    r18
   15514:       85 e5           ldi     r24, 0x55       ; 85
   15516:       8f 93           push    r24
   15518:       96 dc           rcall   .-1748          ; 0x14e46 <SendOutData>
                                break;
   1551a:       0f b6           in      r0, 0x3f        ; 63
   1551c:       f8 94           cli
   1551e:       de bf           out     0x3e, r29       ; 62
   15520:       0f be           out     0x3f, r0        ; 63
   15522:       cd bf           out     0x3d, r28       ; 61
   15524:       e0 c0           rjmp    .+448           ; 0x156e6 <BearbeiteRxDaten+0x628>
                        case 'w': // write BL parameter
                                Debug("Writing BL %d", pRxData[0]);
   15526:       e0 91 f7 04     lds     r30, 0x04F7
   1552a:       f0 91 f8 04     lds     r31, 0x04F8
   1552e:       80 81           ld      r24, Z
   15530:       1f 92           push    r1
   15532:       8f 93           push    r24
   15534:       87 e3           ldi     r24, 0x37       ; 55
   15536:       96 e1           ldi     r25, 0x16       ; 22
   15538:       9f 93           push    r25
   1553a:       8f 93           push    r24
   1553c:       88 e1           ldi     r24, 0x18       ; 24
   1553e:       93 e2           ldi     r25, 0x23       ; 35
   15540:       9f 93           push    r25
   15542:       8f 93           push    r24
   15544:       e0 91 78 06     lds     r30, 0x0678
   15548:       f0 91 79 06     lds     r31, 0x0679
   1554c:       09 95           icall
   1554e:       80 e0           ldi     r24, 0x00       ; 0
   15550:       0e 94 2c 23     call    0x4658  ; 0x4658 <DebugSend>
                                if(RxDataLen >= 1+sizeof(BLConfig_t))
   15554:       0f 90           pop     r0
   15556:       0f 90           pop     r0
   15558:       0f 90           pop     r0
   1555a:       0f 90           pop     r0
   1555c:       0f 90           pop     r0
   1555e:       0f 90           pop     r0
   15560:       80 91 f6 04     lds     r24, 0x04F6
   15564:       89 30           cpi     r24, 0x09       ; 9
   15566:       08 f4           brcc    .+2             ; 0x1556a <BearbeiteRxDaten+0x4ac>
   15568:       be c0           rjmp    .+380           ; 0x156e6 <BearbeiteRxDaten+0x628>
                                {
                                        memcpy(&BLConfig, (uint8_t*)(&pRxData[1]), sizeof(BLConfig_t));
   1556a:       80 91 f7 04     lds     r24, 0x04F7
   1556e:       90 91 f8 04     lds     r25, 0x04F8
   15572:       28 e0           ldi     r18, 0x08       ; 8
   15574:       fc 01           movw    r30, r24
   15576:       31 96           adiw    r30, 0x01       ; 1
   15578:       af e8           ldi     r26, 0x8F       ; 143
   1557a:       b9 e0           ldi     r27, 0x09       ; 9
   1557c:       01 90           ld      r0, Z+
   1557e:       0d 92           st      X+, r0
   15580:       2a 95           dec     r18
   15582:       e1 f7           brne    .-8             ; 0x1557c <BearbeiteRxDaten+0x4be>
                                        tempchar2 = I2C_WriteBLConfig(pRxData[0]);
   15584:       fc 01           movw    r30, r24
   15586:       80 81           ld      r24, Z
   15588:       87 d9           rcall   .-3314          ; 0x14898 <I2C_WriteBLConfig>
   1558a:       8a 83           std     Y+2, r24        ; 0x02
                                        if(tempchar2 == BLCONFIG_SUCCESS) tempchar1 = 1;
   1558c:       81 11           cpse    r24, r1
   1558e:       03 c0           rjmp    .+6             ; 0x15596 <BearbeiteRxDaten+0x4d8>
   15590:       81 e0           ldi     r24, 0x01       ; 1
   15592:       89 83           std     Y+1, r24        ; 0x01
   15594:       01 c0           rjmp    .+2             ; 0x15598 <BearbeiteRxDaten+0x4da>
                                        else tempchar1 = 0; // indicate error
   15596:       19 82           std     Y+1, r1 ; 0x01
                                        while(!UebertragungAbgeschlossen); // wait for previous frame to be sent
   15598:       80 91 b7 02     lds     r24, 0x02B7
   1559c:       88 23           and     r24, r24
   1559e:       e1 f3           breq    .-8             ; 0x15598 <BearbeiteRxDaten+0x4da>
                                        SendOutData('W', FC_ADDRESS,2, &tempchar1, sizeof(tempchar1), &tempchar2, sizeof(tempchar2));
   155a0:       1f 92           push    r1
   155a2:       21 e0           ldi     r18, 0x01       ; 1
   155a4:       2f 93           push    r18
   155a6:       ce 01           movw    r24, r28
   155a8:       02 96           adiw    r24, 0x02       ; 2
   155aa:       9f 93           push    r25
   155ac:       8f 93           push    r24
   155ae:       1f 92           push    r1
   155b0:       2f 93           push    r18
   155b2:       01 97           sbiw    r24, 0x01       ; 1
   155b4:       9f 93           push    r25
   155b6:       8f 93           push    r24
   155b8:       82 e0           ldi     r24, 0x02       ; 2
   155ba:       8f 93           push    r24
   155bc:       2f 93           push    r18
   155be:       87 e5           ldi     r24, 0x57       ; 87
   155c0:       8f 93           push    r24
   155c2:       41 dc           rcall   .-1918          ; 0x14e46 <SendOutData>
   155c4:       0f b6           in      r0, 0x3f        ; 63
   155c6:       f8 94           cli
   155c8:       de bf           out     0x3e, r29       ; 62
   155ca:       0f be           out     0x3f, r0        ; 63
   155cc:       cd bf           out     0x3d, r28       ; 61
   155ce:       8b c0           rjmp    .+278           ; 0x156e6 <BearbeiteRxDaten+0x628>
                                }
                                break;
                        case 'j':
                                if(MotorenEin) break;
   155d0:       80 91 03 04     lds     r24, 0x0403
   155d4:       81 11           cpse    r24, r1
   155d6:       87 c0           rjmp    .+270           ; 0x156e6 <BearbeiteRxDaten+0x628>
                                tempchar1 = LIBFC_GetCPUType();
   155d8:       0e 94 1f 18     call    0x303e  ; 0x303e <LIBFC_GetCPUType>
   155dc:       89 83           std     Y+1, r24        ; 0x01
                                if((tempchar1 == CPU_ATMEGA644P) || (tempchar1 == CPU_ATMEGA1284P))
   155de:       82 30           cpi     r24, 0x02       ; 2
   155e0:       19 f0           breq    .+6             ; 0x155e8 <BearbeiteRxDaten+0x52a>
   155e2:       84 30           cpi     r24, 0x04       ; 4
   155e4:       09 f0           breq    .+2             ; 0x155e8 <BearbeiteRxDaten+0x52a>
   155e6:       7f c0           rjmp    .+254           ; 0x156e6 <BearbeiteRxDaten+0x628>
                                {
                                        uint16_t ubrr = (uint16_t) ((uint32_t) F_CPU/ (8 * 38400L) - 1);

                                        cli();
   155e8:       f8 94           cli

                                        // UART0 & UART1 disable RX and TX-Interrupt
                                        UCSR0B &= ~((1 << RXCIE0)|(1 << TXCIE0));
   155ea:       a1 ec           ldi     r26, 0xC1       ; 193
   155ec:       b0 e0           ldi     r27, 0x00       ; 0
   155ee:       8c 91           ld      r24, X
   155f0:       8f 73           andi    r24, 0x3F       ; 63
   155f2:       8c 93           st      X, r24
                                        UCSR1B &= ~((1 << RXCIE1)|(1 << TXCIE1));
   155f4:       e9 ec           ldi     r30, 0xC9       ; 201
   155f6:       f0 e0           ldi     r31, 0x00       ; 0
   155f8:       80 81           ld      r24, Z
   155fa:       8f 73           andi    r24, 0x3F       ; 63
   155fc:       80 83           st      Z, r24

                                        // UART0 & UART1 disable receiver and transmitter
                                        UCSR0B &= ~((1 << TXEN0) | (1 << RXEN0));
   155fe:       8c 91           ld      r24, X
   15600:       87 7e           andi    r24, 0xE7       ; 231
   15602:       8c 93           st      X, r24
                                        UCSR1B &= ~((1 << TXEN1) | (1 << RXEN1));
   15604:       80 81           ld      r24, Z
   15606:       87 7e           andi    r24, 0xE7       ; 231
   15608:       80 83           st      Z, r24

                                        // UART0 & UART1 flush receive buffer explicit
                                        while ( UCSR1A & (1<<RXC1) ) UDR1;
   1560a:       80 91 c8 00     lds     r24, 0x00C8
   1560e:       88 23           and     r24, r24
   15610:       44 f4           brge    .+16            ; 0x15622 <BearbeiteRxDaten+0x564>
   15612:       ae ec           ldi     r26, 0xCE       ; 206
   15614:       b0 e0           ldi     r27, 0x00       ; 0
   15616:       e8 ec           ldi     r30, 0xC8       ; 200
   15618:       f0 e0           ldi     r31, 0x00       ; 0
   1561a:       8c 91           ld      r24, X
   1561c:       80 81           ld      r24, Z
   1561e:       88 23           and     r24, r24
   15620:       e4 f3           brlt    .-8             ; 0x1561a <BearbeiteRxDaten+0x55c>
                                        while ( UCSR0A & (1<<RXC0) ) UDR0;
   15622:       80 91 c0 00     lds     r24, 0x00C0
   15626:       88 23           and     r24, r24
   15628:       44 f4           brge    .+16            ; 0x1563a <BearbeiteRxDaten+0x57c>
   1562a:       a6 ec           ldi     r26, 0xC6       ; 198
   1562c:       b0 e0           ldi     r27, 0x00       ; 0
   1562e:       e0 ec           ldi     r30, 0xC0       ; 192
   15630:       f0 e0           ldi     r31, 0x00       ; 0
   15632:       8c 91           ld      r24, X
   15634:       80 81           ld      r24, Z
   15636:       88 23           and     r24, r24
   15638:       e4 f3           brlt    .-8             ; 0x15632 <BearbeiteRxDaten+0x574>


                                        if(pRxData[0] == 1) ReceiverUpdateModeActive = 2;
   1563a:       e0 91 f7 04     lds     r30, 0x04F7
   1563e:       f0 91 f8 04     lds     r31, 0x04F8
   15642:       80 81           ld      r24, Z
   15644:       81 30           cpi     r24, 0x01       ; 1
   15646:       21 f4           brne    .+8             ; 0x15650 <BearbeiteRxDaten+0x592>
   15648:       82 e0           ldi     r24, 0x02       ; 2
   1564a:       80 93 ec 04     sts     0x04EC, r24
   1564e:       27 c0           rjmp    .+78            ; 0x1569e <BearbeiteRxDaten+0x5e0>
                                        else
                                        {           // Jeti or HoTT update
//#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                                if(pRxData[0] == 100)   ubrr = (uint16_t) ((uint32_t) F_CPU/ (8 * 19200L) - 1);  // HoTT
   15650:       84 36           cpi     r24, 0x64       ; 100
   15652:       11 f0           breq    .+4             ; 0x15658 <BearbeiteRxDaten+0x59a>
                        case 'j':
                                if(MotorenEin) break;
                                tempchar1 = LIBFC_GetCPUType();
                                if((tempchar1 == CPU_ATMEGA644P) || (tempchar1 == CPU_ATMEGA1284P))
                                {
                                        uint16_t ubrr = (uint16_t) ((uint32_t) F_CPU/ (8 * 38400L) - 1);
   15654:       80 e4           ldi     r24, 0x40       ; 64
   15656:       01 c0           rjmp    .+2             ; 0x1565a <BearbeiteRxDaten+0x59c>

                                        if(pRxData[0] == 1) ReceiverUpdateModeActive = 2;
                                        else
                                        {           // Jeti or HoTT update
//#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                                if(pRxData[0] == 100)   ubrr = (uint16_t) ((uint32_t) F_CPU/ (8 * 19200L) - 1);  // HoTT
   15658:       81 e8           ldi     r24, 0x81       ; 129
//#endif
                                                ReceiverUpdateModeActive = 1;
   1565a:       91 e0           ldi     r25, 0x01       ; 1
   1565c:       90 93 ec 04     sts     0x04EC, r25
                                                // UART0 & UART1 set baudrate
                                                UBRR1H = (uint8_t)(ubrr>>8);
   15660:       ad ec           ldi     r26, 0xCD       ; 205
   15662:       b0 e0           ldi     r27, 0x00       ; 0
   15664:       1c 92           st      X, r1
                                                UBRR1L = (uint8_t)ubrr;
   15666:       ec ec           ldi     r30, 0xCC       ; 204
   15668:       f0 e0           ldi     r31, 0x00       ; 0
   1566a:       80 83           st      Z, r24
                                                UBRR0H = UBRR1H;
   1566c:       8c 91           ld      r24, X
   1566e:       80 93 c5 00     sts     0x00C5, r24
                                                UBRR0L = UBRR1L;
   15672:       80 81           ld      r24, Z
   15674:       80 93 c4 00     sts     0x00C4, r24
                                                // UART1 no parity
                                                UCSR1C &= ~(1 << UPM11);
   15678:       ea ec           ldi     r30, 0xCA       ; 202
   1567a:       f0 e0           ldi     r31, 0x00       ; 0
   1567c:       80 81           ld      r24, Z
   1567e:       8f 7d           andi    r24, 0xDF       ; 223
   15680:       80 83           st      Z, r24
                                                UCSR1C &= ~(1 << UPM10);
   15682:       80 81           ld      r24, Z
   15684:       8f 7e           andi    r24, 0xEF       ; 239
   15686:       80 83           st      Z, r24
                                                // UART1 8-bit
                                                UCSR1B &= ~(1 << UCSZ12);
   15688:       a9 ec           ldi     r26, 0xC9       ; 201
   1568a:       b0 e0           ldi     r27, 0x00       ; 0
   1568c:       8c 91           ld      r24, X
   1568e:       8b 7f           andi    r24, 0xFB       ; 251
   15690:       8c 93           st      X, r24
                                                UCSR1C |= (1 << UCSZ11);
   15692:       80 81           ld      r24, Z
   15694:       84 60           ori     r24, 0x04       ; 4
   15696:       80 83           st      Z, r24
                                                UCSR1C |= (1 << UCSZ10);
   15698:       80 81           ld      r24, Z
   1569a:       82 60           ori     r24, 0x02       ; 2
   1569c:       80 83           st      Z, r24
                                        }
                                        // UART0 & UART1 1 stop bit
                                        UCSR1C &= ~(1 << USBS1);
   1569e:       ea ec           ldi     r30, 0xCA       ; 202
   156a0:       f0 e0           ldi     r31, 0x00       ; 0
   156a2:       80 81           ld      r24, Z
   156a4:       87 7f           andi    r24, 0xF7       ; 247
   156a6:       80 83           st      Z, r24
                                        UCSR0C &= ~(1 << USBS0);
   156a8:       e2 ec           ldi     r30, 0xC2       ; 194
   156aa:       f0 e0           ldi     r31, 0x00       ; 0
   156ac:       80 81           ld      r24, Z
   156ae:       87 7f           andi    r24, 0xF7       ; 247
   156b0:       80 83           st      Z, r24
                                        // UART1 clear 9th bit
                                        UCSR1B &= ~(1<<TXB81);
   156b2:       e9 ec           ldi     r30, 0xC9       ; 201
   156b4:       f0 e0           ldi     r31, 0x00       ; 0
   156b6:       80 81           ld      r24, Z
   156b8:       8e 7f           andi    r24, 0xFE       ; 254
   156ba:       80 83           st      Z, r24
                                        // enable receiver and transmitter for UART0 and UART1
                                        UCSR0B |= (1 << TXEN0) | (1 << RXEN0);
   156bc:       a1 ec           ldi     r26, 0xC1       ; 193
   156be:       b0 e0           ldi     r27, 0x00       ; 0
   156c0:       8c 91           ld      r24, X
   156c2:       88 61           ori     r24, 0x18       ; 24
   156c4:       8c 93           st      X, r24
                                        UCSR1B |= (1 << TXEN1) | (1 << RXEN1);
   156c6:       80 81           ld      r24, Z
   156c8:       88 61           ori     r24, 0x18       ; 24
   156ca:       80 83           st      Z, r24
                                        // enable RX-Interrupt for UART0 and UART1
                                        UCSR0B |= (1 << RXCIE0);
   156cc:       8c 91           ld      r24, X
   156ce:       80 68           ori     r24, 0x80       ; 128
   156d0:       8c 93           st      X, r24
                                        UCSR1B |= (1 << RXCIE1);
   156d2:       80 81           ld      r24, Z
   156d4:       80 68           ori     r24, 0x80       ; 128
   156d6:       80 83           st      Z, r24
                                        // disable other Interrupts
                                        TIMSK0 = 0;
   156d8:       10 92 6e 00     sts     0x006E, r1
                                        TIMSK1 = 0;
   156dc:       10 92 6f 00     sts     0x006F, r1
                                        TIMSK2 = 0;
   156e0:       10 92 70 00     sts     0x0070, r1

                                        sei();
   156e4:       78 94           sei

                } // case FC_ADDRESS:

                default: // any Slave Address

                switch(RxdBuffer[2])
   156e6:       80 91 8e 0a     lds     r24, 0x0A8E
   156ea:       90 e0           ldi     r25, 0x00       ; 0
   156ec:       fc 01           movw    r30, r24
   156ee:       eb 54           subi    r30, 0x4B       ; 75
   156f0:       f1 09           sbc     r31, r1
   156f2:       ec 32           cpi     r30, 0x2C       ; 44
   156f4:       f1 05           cpc     r31, r1
   156f6:       08 f0           brcs    .+2             ; 0x156fa <BearbeiteRxDaten+0x63c>
   156f8:       2d c1           rjmp    .+602           ; 0x15954 <BearbeiteRxDaten+0x896>
   156fa:       ea 51           subi    r30, 0x1A       ; 26
   156fc:       ff 4f           sbci    r31, 0xFF       ; 255
   156fe:       27 c6           rjmp    .+3150          ; 0x1634e <__tablejump2__>
//DebugOut.Analog[18] = tempchar1;
                                        break;
#endif
                        // 't' comand placed here only for compatibility to BL
                        case 't':// Motortest
                                if(AnzahlEmpfangsBytes >= sizeof(MotorTest)) memcpy(&MotorTest[0], (unsigned char *)pRxData, sizeof(MotorTest));
   15700:       80 91 f9 04     lds     r24, 0x04F9
   15704:       80 31           cpi     r24, 0x10       ; 16
   15706:       60 f0           brcs    .+24            ; 0x15720 <BearbeiteRxDaten+0x662>
   15708:       e0 91 f7 04     lds     r30, 0x04F7
   1570c:       f0 91 f8 04     lds     r31, 0x04F8
   15710:       80 e1           ldi     r24, 0x10       ; 16
   15712:       a7 e6           ldi     r26, 0x67       ; 103
   15714:       ba e0           ldi     r27, 0x0A       ; 10
   15716:       01 90           ld      r0, Z+
   15718:       0d 92           st      X+, r0
   1571a:       8a 95           dec     r24
   1571c:       e1 f7           brne    .-8             ; 0x15716 <BearbeiteRxDaten+0x658>
   1571e:       10 c0           rjmp    .+32            ; 0x15740 <BearbeiteRxDaten+0x682>
                                else memcpy(&MotorTest[0], (unsigned char *)pRxData, 4);
   15720:       e0 91 f7 04     lds     r30, 0x04F7
   15724:       f0 91 f8 04     lds     r31, 0x04F8
   15728:       80 81           ld      r24, Z
   1572a:       91 81           ldd     r25, Z+1        ; 0x01
   1572c:       a2 81           ldd     r26, Z+2        ; 0x02
   1572e:       b3 81           ldd     r27, Z+3        ; 0x03
   15730:       80 93 67 0a     sts     0x0A67, r24
   15734:       90 93 68 0a     sts     0x0A68, r25
   15738:       a0 93 69 0a     sts     0x0A69, r26
   1573c:       b0 93 6a 0a     sts     0x0A6A, r27
                                        while(!UebertragungAbgeschlossen);
   15740:       80 91 b7 02     lds     r24, 0x02B7
   15744:       88 23           and     r24, r24
   15746:       e1 f3           breq    .-8             ; 0x15740 <BearbeiteRxDaten+0x682>
                                        SendOutData('T', MeineSlaveAdresse, 0);
   15748:       1f 92           push    r1
   1574a:       80 91 b4 02     lds     r24, 0x02B4
   1574e:       8f 93           push    r24
   15750:       84 e5           ldi     r24, 0x54       ; 84
   15752:       8f 93           push    r24
   15754:       78 db           rcall   .-2320          ; 0x14e46 <SendOutData>
                                        PC_MotortestActive = 250;
   15756:       8a ef           ldi     r24, 0xFA       ; 250
   15758:       80 93 f5 04     sts     0x04F5, r24
                                        PcZugriff = 255;
   1575c:       8f ef           ldi     r24, 0xFF       ; 255
   1575e:       80 93 b5 02     sts     0x02B5, r24
                                        AboTimeOut = SetDelay(ABO_TIMEOUT);
   15762:       80 ea           ldi     r24, 0xA0       ; 160
   15764:       9f e0           ldi     r25, 0x0F       ; 15
   15766:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   1576a:       90 93 ee 04     sts     0x04EE, r25
   1576e:       80 93 ed 04     sts     0x04ED, r24
                                        break;
   15772:       0f 90           pop     r0
   15774:       0f 90           pop     r0
   15776:       0f 90           pop     r0
   15778:       ed c0           rjmp    .+474           ; 0x15954 <BearbeiteRxDaten+0x896>
                        // 'K' comand placed here only for compatibility to old MK3MAG software, that does not send the right Slave Address
                        case 'K':// Kompasswert
                                        memcpy((unsigned char *)&KompassValue , (unsigned char *)pRxData, sizeof(KompassValue));
   1577a:       e0 91 f7 04     lds     r30, 0x04F7
   1577e:       f0 91 f8 04     lds     r31, 0x04F8
   15782:       80 81           ld      r24, Z
   15784:       91 81           ldd     r25, Z+1        ; 0x01
   15786:       90 93 4f 01     sts     0x014F, r25
   1578a:       80 93 4e 01     sts     0x014E, r24
//                                      KompassRichtung = ((540 + KompassValue - KompassSollWert) % 360) - 180;
                                        break;
   1578e:       e2 c0           rjmp    .+452           ; 0x15954 <BearbeiteRxDaten+0x896>
                        case 'a':// Texte der Analogwerte
                                        DebugTextAnforderung = pRxData[0];
   15790:       e0 91 f7 04     lds     r30, 0x04F7
   15794:       f0 91 f8 04     lds     r31, 0x04F8
   15798:       80 81           ld      r24, Z
                                        if (DebugTextAnforderung > 31) DebugTextAnforderung = 31;
   1579a:       80 32           cpi     r24, 0x20       ; 32
   1579c:       18 f4           brcc    .+6             ; 0x157a4 <BearbeiteRxDaten+0x6e6>
                        case 'K':// Kompasswert
                                        memcpy((unsigned char *)&KompassValue , (unsigned char *)pRxData, sizeof(KompassValue));
//                                      KompassRichtung = ((540 + KompassValue - KompassSollWert) % 360) - 180;
                                        break;
                        case 'a':// Texte der Analogwerte
                                        DebugTextAnforderung = pRxData[0];
   1579e:       80 93 b6 02     sts     0x02B6, r24
   157a2:       03 c0           rjmp    .+6             ; 0x157aa <BearbeiteRxDaten+0x6ec>
                                        if (DebugTextAnforderung > 31) DebugTextAnforderung = 31;
   157a4:       8f e1           ldi     r24, 0x1F       ; 31
   157a6:       80 93 b6 02     sts     0x02B6, r24
                                        PcZugriff = 255;
   157aa:       8f ef           ldi     r24, 0xFF       ; 255
   157ac:       80 93 b5 02     sts     0x02B5, r24
                                        break;
   157b0:       d1 c0           rjmp    .+418           ; 0x15954 <BearbeiteRxDaten+0x896>
                        case 'b':
                                        memcpy((unsigned char *)&ExternControl, (unsigned char *)pRxData, sizeof(ExternControl));
   157b2:       e0 91 f7 04     lds     r30, 0x04F7
   157b6:       f0 91 f8 04     lds     r31, 0x04F8
   157ba:       8b e0           ldi     r24, 0x0B       ; 11
   157bc:       af e7           ldi     r26, 0x7F       ; 127
   157be:       ba e0           ldi     r27, 0x0A       ; 10
   157c0:       01 90           ld      r0, Z+
   157c2:       0d 92           st      X+, r0
   157c4:       8a 95           dec     r24
   157c6:       e1 f7           brne    .-8             ; 0x157c0 <BearbeiteRxDaten+0x702>
                                        ConfirmFrame = ExternControl.Frame;
   157c8:       80 91 88 0a     lds     r24, 0x0A88
   157cc:       80 93 88 0c     sts     0x0C88, r24
                                        PcZugriff = 255;
   157d0:       8f ef           ldi     r24, 0xFF       ; 255
   157d2:       80 93 b5 02     sts     0x02B5, r24
                                        break;
   157d6:       be c0           rjmp    .+380           ; 0x15954 <BearbeiteRxDaten+0x896>
                        case 'c': // Poll the 3D-Data
                    if(!Intervall3D) { if(pRxData[0]) Timer3D = SetDelay(pRxData[0] * 10);}
   157d8:       80 91 f1 04     lds     r24, 0x04F1
   157dc:       90 91 f2 04     lds     r25, 0x04F2
   157e0:       89 2b           or      r24, r25
   157e2:       c9 f4           brne    .+50            ; 0x15816 <BearbeiteRxDaten+0x758>
   157e4:       e0 91 f7 04     lds     r30, 0x04F7
   157e8:       f0 91 f8 04     lds     r31, 0x04F8
   157ec:       20 81           ld      r18, Z
   157ee:       22 23           and     r18, r18
   157f0:       91 f0           breq    .+36            ; 0x15816 <BearbeiteRxDaten+0x758>
   157f2:       30 e0           ldi     r19, 0x00       ; 0
   157f4:       c9 01           movw    r24, r18
   157f6:       88 0f           add     r24, r24
   157f8:       99 1f           adc     r25, r25
   157fa:       22 0f           add     r18, r18
   157fc:       33 1f           adc     r19, r19
   157fe:       22 0f           add     r18, r18
   15800:       33 1f           adc     r19, r19
   15802:       22 0f           add     r18, r18
   15804:       33 1f           adc     r19, r19
   15806:       82 0f           add     r24, r18
   15808:       93 1f           adc     r25, r19
   1580a:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   1580e:       90 93 5a 0a     sts     0x0A5A, r25
   15812:       80 93 59 0a     sts     0x0A59, r24
                                        Intervall3D = pRxData[0] * 10;
   15816:       e0 91 f7 04     lds     r30, 0x04F7
   1581a:       f0 91 f8 04     lds     r31, 0x04F8
   1581e:       80 81           ld      r24, Z
   15820:       90 e0           ldi     r25, 0x00       ; 0
   15822:       9c 01           movw    r18, r24
   15824:       22 0f           add     r18, r18
   15826:       33 1f           adc     r19, r19
   15828:       88 0f           add     r24, r24
   1582a:       99 1f           adc     r25, r25
   1582c:       88 0f           add     r24, r24
   1582e:       99 1f           adc     r25, r25
   15830:       88 0f           add     r24, r24
   15832:       99 1f           adc     r25, r25
   15834:       82 0f           add     r24, r18
   15836:       93 1f           adc     r25, r19
   15838:       90 93 f2 04     sts     0x04F2, r25
   1583c:       80 93 f1 04     sts     0x04F1, r24
                                        AboTimeOut = SetDelay(ABO_TIMEOUT);
   15840:       80 ea           ldi     r24, 0xA0       ; 160
   15842:       9f e0           ldi     r25, 0x0F       ; 15
   15844:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   15848:       90 93 ee 04     sts     0x04EE, r25
   1584c:       80 93 ed 04     sts     0x04ED, r24
                                        break;
   15850:       81 c0           rjmp    .+258           ; 0x15954 <BearbeiteRxDaten+0x896>
                        case 'd': // Poll the debug data
                                        PcZugriff = 255;
   15852:       8f ef           ldi     r24, 0xFF       ; 255
   15854:       80 93 b5 02     sts     0x02B5, r24
                                        DebugDataIntervall = (unsigned int)pRxData[0] * 10;
   15858:       e0 91 f7 04     lds     r30, 0x04F7
   1585c:       f0 91 f8 04     lds     r31, 0x04F8
   15860:       20 81           ld      r18, Z
   15862:       30 e0           ldi     r19, 0x00       ; 0
   15864:       c9 01           movw    r24, r18
   15866:       88 0f           add     r24, r24
   15868:       99 1f           adc     r25, r25
   1586a:       22 0f           add     r18, r18
   1586c:       33 1f           adc     r19, r19
   1586e:       22 0f           add     r18, r18
   15870:       33 1f           adc     r19, r19
   15872:       22 0f           add     r18, r18
   15874:       33 1f           adc     r19, r19
   15876:       82 0f           add     r24, r18
   15878:       93 1f           adc     r25, r19
   1587a:       90 93 f4 04     sts     0x04F4, r25
   1587e:       80 93 f3 04     sts     0x04F3, r24
                                        if(DebugDataIntervall > 0) DebugDataAnforderung = 1;
   15882:       89 2b           or      r24, r25
   15884:       19 f0           breq    .+6             ; 0x1588c <BearbeiteRxDaten+0x7ce>
   15886:       81 e0           ldi     r24, 0x01       ; 1
   15888:       80 93 00 05     sts     0x0500, r24
                                        AboTimeOut = SetDelay(ABO_TIMEOUT);
   1588c:       80 ea           ldi     r24, 0xA0       ; 160
   1588e:       9f e0           ldi     r25, 0x0F       ; 15
   15890:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   15894:       90 93 ee 04     sts     0x04EE, r25
   15898:       80 93 ed 04     sts     0x04ED, r24
                                        break;
   1589c:       5b c0           rjmp    .+182           ; 0x15954 <BearbeiteRxDaten+0x896>

                        case 'h':// x-1 Displayzeilen
                                PcZugriff = 255;
   1589e:       8f ef           ldi     r24, 0xFF       ; 255
   158a0:       80 93 b5 02     sts     0x02B5, r24
                                if((pRxData[0] & 0x80) == 0x00) // old format
   158a4:       e0 91 f7 04     lds     r30, 0x04F7
   158a8:       f0 91 f8 04     lds     r31, 0x04F8
   158ac:       80 81           ld      r24, Z
   158ae:       88 23           and     r24, r24
   158b0:       44 f0           brlt    .+16            ; 0x158c2 <BearbeiteRxDaten+0x804>
                                        {
                                                DisplayLine = 2;
   158b2:       82 e0           ldi     r24, 0x02       ; 2
   158b4:       80 93 fd 04     sts     0x04FD, r24
                                                Display_Interval = 0;
   158b8:       10 92 f0 04     sts     0x04F0, r1
   158bc:       10 92 ef 04     sts     0x04EF, r1
   158c0:       22 c0           rjmp    .+68            ; 0x15906 <BearbeiteRxDaten+0x848>
                                        }
                                        else // new format
                                        {
                                                RemoteKeys |= ~pRxData[0];
   158c2:       80 95           com     r24
   158c4:       90 91 a2 04     lds     r25, 0x04A2
   158c8:       89 2b           or      r24, r25
   158ca:       80 93 a2 04     sts     0x04A2, r24
                                                Display_Interval = (unsigned int)pRxData[1] * 10;
   158ce:       81 81           ldd     r24, Z+1        ; 0x01
   158d0:       90 e0           ldi     r25, 0x00       ; 0
   158d2:       9c 01           movw    r18, r24
   158d4:       22 0f           add     r18, r18
   158d6:       33 1f           adc     r19, r19
   158d8:       88 0f           add     r24, r24
   158da:       99 1f           adc     r25, r25
   158dc:       88 0f           add     r24, r24
   158de:       99 1f           adc     r25, r25
   158e0:       88 0f           add     r24, r24
   158e2:       99 1f           adc     r25, r25
   158e4:       82 0f           add     r24, r18
   158e6:       93 1f           adc     r25, r19
   158e8:       90 93 f0 04     sts     0x04F0, r25
   158ec:       80 93 ef 04     sts     0x04EF, r24
                                                DisplayLine = 4;
   158f0:       84 e0           ldi     r24, 0x04       ; 4
   158f2:       80 93 fd 04     sts     0x04FD, r24
                                                AboTimeOut = SetDelay(ABO_TIMEOUT);
   158f6:       80 ea           ldi     r24, 0xA0       ; 160
   158f8:       9f e0           ldi     r25, 0x0F       ; 15
   158fa:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   158fe:       90 93 ee 04     sts     0x04EE, r25
   15902:       80 93 ed 04     sts     0x04ED, r24
                                        }
                                        DebugDisplayAnforderung = 1;
   15906:       81 e0           ldi     r24, 0x01       ; 1
   15908:       80 93 01 05     sts     0x0501, r24
                                        break;
   1590c:       23 c0           rjmp    .+70            ; 0x15954 <BearbeiteRxDaten+0x896>

                        case 'l':// x-1 Displayzeilen
                                PcZugriff = 255;
   1590e:       8f ef           ldi     r24, 0xFF       ; 255
   15910:       80 93 b5 02     sts     0x02B5, r24
                                        MenuePunkt = pRxData[0];
   15914:       e0 91 f7 04     lds     r30, 0x04F7
   15918:       f0 91 f8 04     lds     r31, 0x04F8
   1591c:       80 81           ld      r24, Z
   1591e:       80 93 a3 04     sts     0x04A3, r24
                                        DebugDisplayAnforderung1 = 1;
   15922:       81 e0           ldi     r24, 0x01       ; 1
   15924:       80 93 02 05     sts     0x0502, r24
                                        break;
   15928:       15 c0           rjmp    .+42            ; 0x15954 <BearbeiteRxDaten+0x896>
                        case 'v': // Version-Anforderung und Ausbaustufe
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                                        if(RxDataLen > 0 && pRxData[0] == 2) GetVersionAnforderung = 2;
   1592a:       80 91 f6 04     lds     r24, 0x04F6
   1592e:       88 23           and     r24, r24
   15930:       51 f0           breq    .+20            ; 0x15946 <BearbeiteRxDaten+0x888>
   15932:       e0 91 f7 04     lds     r30, 0x04F7
   15936:       f0 91 f8 04     lds     r31, 0x04F8
   1593a:       80 81           ld      r24, Z
   1593c:       82 30           cpi     r24, 0x02       ; 2
   1593e:       19 f4           brne    .+6             ; 0x15946 <BearbeiteRxDaten+0x888>
   15940:       80 93 ff 04     sts     0x04FF, r24
   15944:       07 c0           rjmp    .+14            ; 0x15954 <BearbeiteRxDaten+0x896>
                                        else
#endif
                                        GetVersionAnforderung = 1;
   15946:       81 e0           ldi     r24, 0x01       ; 1
   15948:       80 93 ff 04     sts     0x04FF, r24
   1594c:       03 c0           rjmp    .+6             ; 0x15954 <BearbeiteRxDaten+0x896>
                                        break;
                        case 'g'://
                                        GetExternalControl = 1;
   1594e:       81 e0           ldi     r24, 0x01       ; 1
   15950:       80 93 03 05     sts     0x0503, r24
                                //unsupported command received
                                break;
                }
                break; // default:
        }
        NeuerDatensatzEmpfangen = 0;
   15954:       10 92 fb 04     sts     0x04FB, r1
        pRxData = 0;
   15958:       10 92 f8 04     sts     0x04F8, r1
   1595c:       10 92 f7 04     sts     0x04F7, r1
        RxDataLen = 0;
   15960:       10 92 f6 04     sts     0x04F6, r1
}
   15964:       0f 90           pop     r0
   15966:       0f 90           pop     r0
   15968:       df 91           pop     r29
   1596a:       cf 91           pop     r28
   1596c:       08 95           ret

0001596e <uart_putchar>:
//Routine für die Serielle Ausgabe
void uart_putchar (char c)
//############################################################################
{
        //Warten solange bis Zeichen gesendet wurde
        loop_until_bit_is_set(UCSR0A, UDRE0);
   1596e:       e0 ec           ldi     r30, 0xC0       ; 192
   15970:       f0 e0           ldi     r31, 0x00       ; 0
   15972:       90 81           ld      r25, Z
   15974:       95 ff           sbrs    r25, 5
   15976:       fd cf           rjmp    .-6             ; 0x15972 <uart_putchar+0x4>
        //Ausgabe des Zeichens
        UDR0 = c;
   15978:       80 93 c6 00     sts     0x00C6, r24
   1597c:       08 95           ret

0001597e <UART_Init>:
//############################################################################
{
        unsigned int ubrr = (unsigned int) ((unsigned long) F_CPU/(8 * USART0_BAUD) - 1);

        //Enable TXEN im Register UCR TX-Data Enable & RX Enable
        UCSR0B = (1 << TXEN0) | (1 << RXEN0);
   1597e:       e1 ec           ldi     r30, 0xC1       ; 193
   15980:       f0 e0           ldi     r31, 0x00       ; 0
   15982:       88 e1           ldi     r24, 0x18       ; 24
   15984:       80 83           st      Z, r24
    // UART Double Speed (U2X)
        UCSR0A |= (1 << U2X0);
   15986:       a0 ec           ldi     r26, 0xC0       ; 192
   15988:       b0 e0           ldi     r27, 0x00       ; 0
   1598a:       8c 91           ld      r24, X
   1598c:       82 60           ori     r24, 0x02       ; 2
   1598e:       8c 93           st      X, r24
        // RX-Interrupt Freigabe
        UCSR0B |= (1 << RXCIE0);
   15990:       80 81           ld      r24, Z
   15992:       80 68           ori     r24, 0x80       ; 128
   15994:       80 83           st      Z, r24
        // TX-Interrupt Freigabe
        UCSR0B |= (1 << TXCIE0);
   15996:       80 81           ld      r24, Z
   15998:       80 64           ori     r24, 0x40       ; 64
   1599a:       80 83           st      Z, r24
        // USART0 Baud Rate Register
        // set clock divider
        UBRR0H = (uint8_t)(ubrr >> 8);
   1599c:       10 92 c5 00     sts     0x00C5, r1
        UBRR0L = (uint8_t)ubrr;
   159a0:       8a e2           ldi     r24, 0x2A       ; 42
   159a2:       80 93 c4 00     sts     0x00C4, r24

        Debug_Timer = SetDelay(DebugDataIntervall);
   159a6:       80 91 f3 04     lds     r24, 0x04F3
   159aa:       90 91 f4 04     lds     r25, 0x04F4
   159ae:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   159b2:       90 93 5c 0a     sts     0x0A5C, r25
   159b6:       80 93 5b 0a     sts     0x0A5B, r24
        Kompass_Timer = SetDelay(220);
   159ba:       8c ed           ldi     r24, 0xDC       ; 220
   159bc:       90 e0           ldi     r25, 0x00       ; 0
   159be:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   159c2:       90 93 8b 0a     sts     0x0A8B, r25
   159c6:       80 93 8a 0a     sts     0x0A8A, r24

        VersionInfo.SWMajor = VERSION_MAJOR;
   159ca:       82 e0           ldi     r24, 0x02       ; 2
   159cc:       80 93 5d 0a     sts     0x0A5D, r24
        VersionInfo.SWMinor = VERSION_MINOR;
   159d0:       88 e0           ldi     r24, 0x08       ; 8
   159d2:       80 93 5e 0a     sts     0x0A5E, r24
        VersionInfo.SWPatch = VERSION_PATCH;
   159d6:       10 92 61 0a     sts     0x0A61, r1
        VersionInfo.ProtoMajor  = VERSION_SERIAL_MAJOR;
   159da:       8b e0           ldi     r24, 0x0B       ; 11
   159dc:       80 93 5f 0a     sts     0x0A5F, r24
        VersionInfo.reserved1  = 0;
   159e0:       10 92 60 0a     sts     0x0A60, r1
        VersionInfo.BL_Firmware  = 255;
   159e4:       8f ef           ldi     r24, 0xFF       ; 255
   159e6:       80 93 65 0a     sts     0x0A65, r24
    VersionInfo.HWMajor = PlatinenVersion;
   159ea:       80 91 54 01     lds     r24, 0x0154
   159ee:       80 93 64 0a     sts     0x0A64, r24
        pRxData = 0;
   159f2:       10 92 f8 04     sts     0x04F8, r1
   159f6:       10 92 f7 04     sts     0x04F7, r1
        RxDataLen = 0;
   159fa:       10 92 f6 04     sts     0x04F6, r1
   159fe:       08 95           ret

00015a00 <DatenUebertragung>:
}

//---------------------------------------------------------------------------------------------
void DatenUebertragung(void)
{
   15a00:       cf 92           push    r12
   15a02:       df 92           push    r13
   15a04:       ef 92           push    r14
   15a06:       ff 92           push    r15
   15a08:       0f 93           push    r16
   15a0a:       1f 93           push    r17
   15a0c:       cf 93           push    r28
   15a0e:       df 93           push    r29
   15a10:       cd b7           in      r28, 0x3d       ; 61
   15a12:       de b7           in      r29, 0x3e       ; 62
   15a14:       60 97           sbiw    r28, 0x10       ; 16
   15a16:       0f b6           in      r0, 0x3f        ; 63
   15a18:       f8 94           cli
   15a1a:       de bf           out     0x3e, r29       ; 62
   15a1c:       0f be           out     0x3f, r0        ; 63
   15a1e:       cd bf           out     0x3d, r28       ; 61
        
        if(!UebertragungAbgeschlossen) return;
   15a20:       80 91 b7 02     lds     r24, 0x02B7
   15a24:       88 23           and     r24, r24
   15a26:       09 f4           brne    .+2             ; 0x15a2a <DatenUebertragung+0x2a>
   15a28:       e2 c2           rjmp    .+1476          ; 0x15fee <DatenUebertragung+0x5ee>

        if(CheckDelay(AboTimeOut))
   15a2a:       80 91 ed 04     lds     r24, 0x04ED
   15a2e:       90 91 ee 04     lds     r25, 0x04EE
   15a32:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
   15a36:       88 23           and     r24, r24
   15a38:       61 f0           breq    .+24            ; 0x15a52 <DatenUebertragung+0x52>
        {
                Display_Interval = 0;
   15a3a:       10 92 f0 04     sts     0x04F0, r1
   15a3e:       10 92 ef 04     sts     0x04EF, r1
                DebugDataIntervall = 0;
   15a42:       10 92 f4 04     sts     0x04F4, r1
   15a46:       10 92 f3 04     sts     0x04F3, r1
                Intervall3D = 0;
   15a4a:       10 92 f2 04     sts     0x04F2, r1
   15a4e:       10 92 f1 04     sts     0x04F1, r1
        }

        if(((Display_Interval>0 && CheckDelay(Display_Timer)) || DebugDisplayAnforderung) && UebertragungAbgeschlossen)
   15a52:       80 91 ef 04     lds     r24, 0x04EF
   15a56:       90 91 f0 04     lds     r25, 0x04F0
   15a5a:       89 2b           or      r24, r25
   15a5c:       41 f0           breq    .+16            ; 0x15a6e <DatenUebertragung+0x6e>
   15a5e:       80 91 68 0b     lds     r24, 0x0B68
   15a62:       90 91 69 0b     lds     r25, 0x0B69
   15a66:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
   15a6a:       81 11           cpse    r24, r1
   15a6c:       05 c0           rjmp    .+10            ; 0x15a78 <DatenUebertragung+0x78>
   15a6e:       80 91 01 05     lds     r24, 0x0501
   15a72:       88 23           and     r24, r24
   15a74:       09 f4           brne    .+2             ; 0x15a78 <DatenUebertragung+0x78>
   15a76:       5c c0           rjmp    .+184           ; 0x15b30 <DatenUebertragung+0x130>
   15a78:       80 91 b7 02     lds     r24, 0x02B7
   15a7c:       88 23           and     r24, r24
   15a7e:       09 f4           brne    .+2             ; 0x15a82 <DatenUebertragung+0x82>
   15a80:       57 c0           rjmp    .+174           ; 0x15b30 <DatenUebertragung+0x130>
        {
                if(DisplayLine > 3)// new format
   15a82:       80 91 fd 04     lds     r24, 0x04FD
   15a86:       84 30           cpi     r24, 0x04       ; 4
   15a88:       a8 f0           brcs    .+42            ; 0x15ab4 <DatenUebertragung+0xb4>
                {
                        Menu();
   15a8a:       0e 94 27 87     call    0x10e4e ; 0x10e4e <Menu>
                        SendOutData('H', FC_ADDRESS, 1, (uint8_t *)DisplayBuff, 80);
   15a8e:       1f 92           push    r1
   15a90:       80 e5           ldi     r24, 0x50       ; 80
   15a92:       8f 93           push    r24
   15a94:       80 ee           ldi     r24, 0xE0       ; 224
   15a96:       97 e0           ldi     r25, 0x07       ; 7
   15a98:       9f 93           push    r25
   15a9a:       8f 93           push    r24
   15a9c:       81 e0           ldi     r24, 0x01       ; 1
   15a9e:       8f 93           push    r24
   15aa0:       8f 93           push    r24
   15aa2:       88 e4           ldi     r24, 0x48       ; 72
   15aa4:       8f 93           push    r24
   15aa6:       cf d9           rcall   .-3170          ; 0x14e46 <SendOutData>
   15aa8:       0f b6           in      r0, 0x3f        ; 63
   15aaa:       f8 94           cli
   15aac:       de bf           out     0x3e, r29       ; 62
   15aae:       0f be           out     0x3f, r0        ; 63
   15ab0:       cd bf           out     0x3d, r28       ; 61
   15ab2:       32 c0           rjmp    .+100           ; 0x15b18 <DatenUebertragung+0x118>
                }
                else // old format
                {
                        LCD_printfxy(0,0,"!!! INCOMPATIBLE !!!");
   15ab4:       10 92 a4 04     sts     0x04A4, r1
   15ab8:       82 e2           ldi     r24, 0x22       ; 34
   15aba:       96 e1           ldi     r25, 0x16       ; 22
   15abc:       9f 93           push    r25
   15abe:       8f 93           push    r24
   15ac0:       80 e1           ldi     r24, 0x10       ; 16
   15ac2:       97 e8           ldi     r25, 0x87       ; 135
   15ac4:       9f 93           push    r25
   15ac6:       8f 93           push    r24
   15ac8:       e0 91 78 06     lds     r30, 0x0678
   15acc:       f0 91 79 06     lds     r31, 0x0679
   15ad0:       09 95           icall
                        SendOutData('H', FC_ADDRESS, 2, &DisplayLine, sizeof(DisplayLine), (uint8_t *)DisplayBuff, 20);
   15ad2:       1f 92           push    r1
   15ad4:       84 e1           ldi     r24, 0x14       ; 20
   15ad6:       8f 93           push    r24
   15ad8:       80 ee           ldi     r24, 0xE0       ; 224
   15ada:       97 e0           ldi     r25, 0x07       ; 7
   15adc:       9f 93           push    r25
   15ade:       8f 93           push    r24
   15ae0:       1f 92           push    r1
   15ae2:       21 e0           ldi     r18, 0x01       ; 1
   15ae4:       2f 93           push    r18
   15ae6:       8d ef           ldi     r24, 0xFD       ; 253
   15ae8:       94 e0           ldi     r25, 0x04       ; 4
   15aea:       9f 93           push    r25
   15aec:       8f 93           push    r24
   15aee:       82 e0           ldi     r24, 0x02       ; 2
   15af0:       8f 93           push    r24
   15af2:       2f 93           push    r18
   15af4:       88 e4           ldi     r24, 0x48       ; 72
   15af6:       8f 93           push    r24
   15af8:       a6 d9           rcall   .-3252          ; 0x14e46 <SendOutData>
                        if(DisplayLine++ > 3) DisplayLine = 0;
   15afa:       80 91 fd 04     lds     r24, 0x04FD
   15afe:       0f b6           in      r0, 0x3f        ; 63
   15b00:       f8 94           cli
   15b02:       de bf           out     0x3e, r29       ; 62
   15b04:       0f be           out     0x3f, r0        ; 63
   15b06:       cd bf           out     0x3d, r28       ; 61
   15b08:       84 30           cpi     r24, 0x04       ; 4
   15b0a:       20 f4           brcc    .+8             ; 0x15b14 <DatenUebertragung+0x114>
   15b0c:       8f 5f           subi    r24, 0xFF       ; 255
   15b0e:       80 93 fd 04     sts     0x04FD, r24
   15b12:       02 c0           rjmp    .+4             ; 0x15b18 <DatenUebertragung+0x118>
   15b14:       10 92 fd 04     sts     0x04FD, r1
                }
                Display_Timer = SetDelay(Display_Interval);
   15b18:       80 91 ef 04     lds     r24, 0x04EF
   15b1c:       90 91 f0 04     lds     r25, 0x04F0
   15b20:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   15b24:       90 93 69 0b     sts     0x0B69, r25
   15b28:       80 93 68 0b     sts     0x0B68, r24
                DebugDisplayAnforderung = 0;
   15b2c:       10 92 01 05     sts     0x0501, r1
        }
        if(DebugDisplayAnforderung1 && UebertragungAbgeschlossen)
   15b30:       80 91 02 05     lds     r24, 0x0502
   15b34:       88 23           and     r24, r24
   15b36:       39 f1           breq    .+78            ; 0x15b86 <DatenUebertragung+0x186>
   15b38:       80 91 b7 02     lds     r24, 0x02B7
   15b3c:       88 23           and     r24, r24
   15b3e:       19 f1           breq    .+70            ; 0x15b86 <DatenUebertragung+0x186>
        {
                Menu();
   15b40:       0e 94 27 87     call    0x10e4e ; 0x10e4e <Menu>
                SendOutData('L', FC_ADDRESS, 3, &MenuePunkt, sizeof(MenuePunkt), &MaxMenue, sizeof(MaxMenue), DisplayBuff, sizeof(DisplayBuff));
   15b44:       1f 92           push    r1
   15b46:       80 e5           ldi     r24, 0x50       ; 80
   15b48:       8f 93           push    r24
   15b4a:       80 ee           ldi     r24, 0xE0       ; 224
   15b4c:       97 e0           ldi     r25, 0x07       ; 7
   15b4e:       9f 93           push    r25
   15b50:       8f 93           push    r24
   15b52:       1f 92           push    r1
   15b54:       21 e0           ldi     r18, 0x01       ; 1
   15b56:       2f 93           push    r18
   15b58:       80 e9           ldi     r24, 0x90       ; 144
   15b5a:       92 e0           ldi     r25, 0x02       ; 2
   15b5c:       9f 93           push    r25
   15b5e:       8f 93           push    r24
   15b60:       1f 92           push    r1
   15b62:       2f 93           push    r18
   15b64:       83 ea           ldi     r24, 0xA3       ; 163
   15b66:       94 e0           ldi     r25, 0x04       ; 4
   15b68:       9f 93           push    r25
   15b6a:       8f 93           push    r24
   15b6c:       83 e0           ldi     r24, 0x03       ; 3
   15b6e:       8f 93           push    r24
   15b70:       2f 93           push    r18
   15b72:       8c e4           ldi     r24, 0x4C       ; 76
   15b74:       8f 93           push    r24
   15b76:       67 d9           rcall   .-3378          ; 0x14e46 <SendOutData>
                DebugDisplayAnforderung1 = 0;
   15b78:       10 92 02 05     sts     0x0502, r1
   15b7c:       0f b6           in      r0, 0x3f        ; 63
   15b7e:       f8 94           cli
   15b80:       de bf           out     0x3e, r29       ; 62
   15b82:       0f be           out     0x3f, r0        ; 63
   15b84:       cd bf           out     0x3d, r28       ; 61
        }
        if(GetVersionAnforderung && UebertragungAbgeschlossen)
   15b86:       80 91 ff 04     lds     r24, 0x04FF
   15b8a:       88 23           and     r24, r24
   15b8c:       09 f4           brne    .+2             ; 0x15b90 <DatenUebertragung+0x190>
   15b8e:       5b c0           rjmp    .+182           ; 0x15c46 <DatenUebertragung+0x246>
   15b90:       90 91 b7 02     lds     r25, 0x02B7
   15b94:       99 23           and     r25, r25
   15b96:       09 f4           brne    .+2             ; 0x15b9a <DatenUebertragung+0x19a>
   15b98:       56 c0           rjmp    .+172           ; 0x15c46 <DatenUebertragung+0x246>
        {
#if (defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__))
                if(GetVersionAnforderung == 2) // poll version of NC
   15b9a:       82 30           cpi     r24, 0x02       ; 2
   15b9c:       61 f5           brne    .+88            ; 0x15bf6 <DatenUebertragung+0x1f6>
                {
                 struct str_VersionInfo nc;
                 nc.SWMajor = NC_Version.Major;
   15b9e:       80 91 e1 08     lds     r24, 0x08E1
   15ba2:       89 83           std     Y+1, r24        ; 0x01
                 nc.SWMinor = NC_Version.Minor;
   15ba4:       80 91 e2 08     lds     r24, 0x08E2
   15ba8:       8a 83           std     Y+2, r24        ; 0x02
                 nc.SWPatch = NC_Version.Patch;
   15baa:       80 91 e3 08     lds     r24, 0x08E3
   15bae:       8d 83           std     Y+5, r24        ; 0x05
                 nc.HWMajor = NC_Version.Hardware;
   15bb0:       80 91 e5 08     lds     r24, 0x08E5
   15bb4:       88 87           std     Y+8, r24        ; 0x08
                 nc.HardwareError[0] = 0xff;
   15bb6:       8f ef           ldi     r24, 0xFF       ; 255
   15bb8:       8e 83           std     Y+6, r24        ; 0x06
                 nc.HardwareError[1] = 0xff;
   15bba:       8f 83           std     Y+7, r24        ; 0x07
                 nc.ProtoMajor = VersionInfo.ProtoMajor;
   15bbc:       80 91 5f 0a     lds     r24, 0x0A5F
   15bc0:       8b 83           std     Y+3, r24        ; 0x03
                 nc.BL_Firmware = VersionInfo.BL_Firmware;
   15bc2:       80 91 65 0a     lds     r24, 0x0A65
   15bc6:       89 87           std     Y+9, r24        ; 0x09
                 nc.Flags = VersionInfo.Flags;
   15bc8:       80 91 66 0a     lds     r24, 0x0A66
   15bcc:       8a 87           std     Y+10, r24       ; 0x0a
                 nc.reserved1 = 0;
   15bce:       1c 82           std     Y+4, r1 ; 0x04
                 SendOutData('V', FC_ADDRESS, 1, (unsigned char *) &nc, sizeof(nc));
   15bd0:       1f 92           push    r1
   15bd2:       8a e0           ldi     r24, 0x0A       ; 10
   15bd4:       8f 93           push    r24
   15bd6:       ce 01           movw    r24, r28
   15bd8:       01 96           adiw    r24, 0x01       ; 1
   15bda:       9f 93           push    r25
   15bdc:       8f 93           push    r24
   15bde:       81 e0           ldi     r24, 0x01       ; 1
   15be0:       8f 93           push    r24
   15be2:       8f 93           push    r24
   15be4:       86 e5           ldi     r24, 0x56       ; 86
   15be6:       8f 93           push    r24
   15be8:       2e d9           rcall   .-3492          ; 0x14e46 <SendOutData>
   15bea:       0f b6           in      r0, 0x3f        ; 63
   15bec:       f8 94           cli
   15bee:       de bf           out     0x3e, r29       ; 62
   15bf0:       0f be           out     0x3f, r0        ; 63
   15bf2:       cd bf           out     0x3d, r28       ; 61
   15bf4:       12 c0           rjmp    .+36            ; 0x15c1a <DatenUebertragung+0x21a>
                }
                else 
#endif
                {
                 SendOutData('V', FC_ADDRESS, 1, (unsigned char *) &VersionInfo, sizeof(VersionInfo));
   15bf6:       1f 92           push    r1
   15bf8:       8a e0           ldi     r24, 0x0A       ; 10
   15bfa:       8f 93           push    r24
   15bfc:       8d e5           ldi     r24, 0x5D       ; 93
   15bfe:       9a e0           ldi     r25, 0x0A       ; 10
   15c00:       9f 93           push    r25
   15c02:       8f 93           push    r24
   15c04:       81 e0           ldi     r24, 0x01       ; 1
   15c06:       8f 93           push    r24
   15c08:       8f 93           push    r24
   15c0a:       86 e5           ldi     r24, 0x56       ; 86
   15c0c:       8f 93           push    r24
   15c0e:       1b d9           rcall   .-3530          ; 0x14e46 <SendOutData>
   15c10:       0f b6           in      r0, 0x3f        ; 63
   15c12:       f8 94           cli
   15c14:       de bf           out     0x3e, r29       ; 62
   15c16:       0f be           out     0x3f, r0        ; 63
   15c18:       cd bf           out     0x3d, r28       ; 61
                } 
                GetVersionAnforderung = 0;
   15c1a:       10 92 ff 04     sts     0x04FF, r1
                Debug_OK("Version gesendet");
   15c1e:       81 e1           ldi     r24, 0x11       ; 17
   15c20:       96 e1           ldi     r25, 0x16       ; 22
   15c22:       9f 93           push    r25
   15c24:       8f 93           push    r24
   15c26:       88 e1           ldi     r24, 0x18       ; 24
   15c28:       93 e2           ldi     r25, 0x23       ; 35
   15c2a:       9f 93           push    r25
   15c2c:       8f 93           push    r24
   15c2e:       e0 91 78 06     lds     r30, 0x0678
   15c32:       f0 91 79 06     lds     r31, 0x0679
   15c36:       09 95           icall
   15c38:       88 e0           ldi     r24, 0x08       ; 8
   15c3a:       0e 94 2c 23     call    0x4658  ; 0x4658 <DebugSend>
   15c3e:       0f 90           pop     r0
   15c40:       0f 90           pop     r0
   15c42:       0f 90           pop     r0
   15c44:       0f 90           pop     r0
        }

        if(GetExternalControl && UebertragungAbgeschlossen)           // Bei Get werden die vom PC einstellbaren Werte vom PC zurückgelesen
   15c46:       80 91 03 05     lds     r24, 0x0503
   15c4a:       88 23           and     r24, r24
   15c4c:       d1 f0           breq    .+52            ; 0x15c82 <DatenUebertragung+0x282>
   15c4e:       80 91 b7 02     lds     r24, 0x02B7
   15c52:       88 23           and     r24, r24
   15c54:       b1 f0           breq    .+44            ; 0x15c82 <DatenUebertragung+0x282>
        {
                SendOutData('G',MeineSlaveAdresse, 1, (unsigned char *) &ExternControl, sizeof(ExternControl));
   15c56:       1f 92           push    r1
   15c58:       8b e0           ldi     r24, 0x0B       ; 11
   15c5a:       8f 93           push    r24
   15c5c:       8f e7           ldi     r24, 0x7F       ; 127
   15c5e:       9a e0           ldi     r25, 0x0A       ; 10
   15c60:       9f 93           push    r25
   15c62:       8f 93           push    r24
   15c64:       81 e0           ldi     r24, 0x01       ; 1
   15c66:       8f 93           push    r24
   15c68:       80 91 b4 02     lds     r24, 0x02B4
   15c6c:       8f 93           push    r24
   15c6e:       87 e4           ldi     r24, 0x47       ; 71
   15c70:       8f 93           push    r24
   15c72:       e9 d8           rcall   .-3630          ; 0x14e46 <SendOutData>
                GetExternalControl = 0;
   15c74:       10 92 03 05     sts     0x0503, r1
   15c78:       0f b6           in      r0, 0x3f        ; 63
   15c7a:       f8 94           cli
   15c7c:       de bf           out     0x3e, r29       ; 62
   15c7e:       0f be           out     0x3f, r0        ; 63
   15c80:       cd bf           out     0x3d, r28       ; 61
        }
    if(((DebugDataIntervall>0 && CheckDelay(Debug_Timer)) || DebugDataAnforderung) && UebertragungAbgeschlossen)
   15c82:       80 91 f3 04     lds     r24, 0x04F3
   15c86:       90 91 f4 04     lds     r25, 0x04F4
   15c8a:       89 2b           or      r24, r25
   15c8c:       41 f0           breq    .+16            ; 0x15c9e <DatenUebertragung+0x29e>
   15c8e:       80 91 5b 0a     lds     r24, 0x0A5B
   15c92:       90 91 5c 0a     lds     r25, 0x0A5C
   15c96:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
   15c9a:       81 11           cpse    r24, r1
   15c9c:       04 c0           rjmp    .+8             ; 0x15ca6 <DatenUebertragung+0x2a6>
   15c9e:       80 91 00 05     lds     r24, 0x0500
   15ca2:       88 23           and     r24, r24
   15ca4:       31 f1           breq    .+76            ; 0x15cf2 <DatenUebertragung+0x2f2>
   15ca6:       80 91 b7 02     lds     r24, 0x02B7
   15caa:       88 23           and     r24, r24
   15cac:       11 f1           breq    .+68            ; 0x15cf2 <DatenUebertragung+0x2f2>
         {
                  CopyDebugValues();
   15cae:       0e 94 c1 27     call    0x4f82  ; 0x4f82 <CopyDebugValues>
          SendOutData('D', FC_ADDRESS, 1, (unsigned char *) &DebugOut,sizeof(DebugOut));
   15cb2:       1f 92           push    r1
   15cb4:       82 e4           ldi     r24, 0x42       ; 66
   15cb6:       8f 93           push    r24
   15cb8:       86 e4           ldi     r24, 0x46       ; 70
   15cba:       9c e0           ldi     r25, 0x0C       ; 12
   15cbc:       9f 93           push    r25
   15cbe:       8f 93           push    r24
   15cc0:       81 e0           ldi     r24, 0x01       ; 1
   15cc2:       8f 93           push    r24
   15cc4:       8f 93           push    r24
   15cc6:       84 e4           ldi     r24, 0x44       ; 68
   15cc8:       8f 93           push    r24
   15cca:       bd d8           rcall   .-3718          ; 0x14e46 <SendOutData>
          DebugDataAnforderung = 0;
   15ccc:       10 92 00 05     sts     0x0500, r1
          if(DebugDataIntervall>0) Debug_Timer = SetDelay(DebugDataIntervall);
   15cd0:       80 91 f3 04     lds     r24, 0x04F3
   15cd4:       90 91 f4 04     lds     r25, 0x04F4
   15cd8:       0f b6           in      r0, 0x3f        ; 63
   15cda:       f8 94           cli
   15cdc:       de bf           out     0x3e, r29       ; 62
   15cde:       0f be           out     0x3f, r0        ; 63
   15ce0:       cd bf           out     0x3d, r28       ; 61
   15ce2:       00 97           sbiw    r24, 0x00       ; 0
   15ce4:       31 f0           breq    .+12            ; 0x15cf2 <DatenUebertragung+0x2f2>
   15ce6:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   15cea:       90 93 5c 0a     sts     0x0A5C, r25
   15cee:       80 93 5b 0a     sts     0x0A5B, r24
         }
    if(Intervall3D > 0 && CheckDelay(Timer3D) && UebertragungAbgeschlossen)
   15cf2:       80 91 f1 04     lds     r24, 0x04F1
   15cf6:       90 91 f2 04     lds     r25, 0x04F2
   15cfa:       89 2b           or      r24, r25
   15cfc:       09 f4           brne    .+2             ; 0x15d00 <DatenUebertragung+0x300>
   15cfe:       9d c0           rjmp    .+314           ; 0x15e3a <DatenUebertragung+0x43a>
   15d00:       80 91 59 0a     lds     r24, 0x0A59
   15d04:       90 91 5a 0a     lds     r25, 0x0A5A
   15d08:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
   15d0c:       88 23           and     r24, r24
   15d0e:       09 f4           brne    .+2             ; 0x15d12 <DatenUebertragung+0x312>
   15d10:       94 c0           rjmp    .+296           ; 0x15e3a <DatenUebertragung+0x43a>
   15d12:       80 91 b7 02     lds     r24, 0x02B7
   15d16:       88 23           and     r24, r24
   15d18:       09 f4           brne    .+2             ; 0x15d1c <DatenUebertragung+0x31c>
   15d1a:       8f c0           rjmp    .+286           ; 0x15e3a <DatenUebertragung+0x43a>
         {
                  Data3D.Winkel[0] = ToNaviCtrl.IntegralNick;//(int) (IntegralNick / (EE_Parameter.GyroAccFaktor * 4));  // etwa in 0.1 Grad
   15d1c:       0b e4           ldi     r16, 0x4B       ; 75
   15d1e:       1a e0           ldi     r17, 0x0A       ; 10
   15d20:       80 91 ea 08     lds     r24, 0x08EA
   15d24:       90 91 eb 08     lds     r25, 0x08EB
   15d28:       f8 01           movw    r30, r16
   15d2a:       91 83           std     Z+1, r25        ; 0x01
   15d2c:       80 83           st      Z, r24
                  Data3D.Winkel[1] = ToNaviCtrl.IntegralRoll;//(int) (IntegralRoll / (EE_Parameter.GyroAccFaktor * 4));  // etwa in 0.1 Grad
   15d2e:       80 91 ec 08     lds     r24, 0x08EC
   15d32:       90 91 ed 08     lds     r25, 0x08ED
   15d36:       90 93 4e 0a     sts     0x0A4E, r25
   15d3a:       80 93 4d 0a     sts     0x0A4D, r24
          Data3D.Winkel[2] = (int) ((10 * ErsatzKompass) / GIER_GRAD_FAKTOR);
   15d3e:       80 91 6e 06     lds     r24, 0x066E
   15d42:       90 91 6f 06     lds     r25, 0x066F
   15d46:       a0 91 70 06     lds     r26, 0x0670
   15d4a:       b0 91 71 06     lds     r27, 0x0671
   15d4e:       88 0f           add     r24, r24
   15d50:       99 1f           adc     r25, r25
   15d52:       aa 1f           adc     r26, r26
   15d54:       bb 1f           adc     r27, r27
   15d56:       ac 01           movw    r20, r24
   15d58:       bd 01           movw    r22, r26
   15d5a:       44 0f           add     r20, r20
   15d5c:       55 1f           adc     r21, r21
   15d5e:       66 1f           adc     r22, r22
   15d60:       77 1f           adc     r23, r23
   15d62:       44 0f           add     r20, r20
   15d64:       55 1f           adc     r21, r21
   15d66:       66 1f           adc     r22, r22
   15d68:       77 1f           adc     r23, r23
   15d6a:       6c 01           movw    r12, r24
   15d6c:       7d 01           movw    r14, r26
   15d6e:       c4 0e           add     r12, r20
   15d70:       d5 1e           adc     r13, r21
   15d72:       e6 1e           adc     r14, r22
   15d74:       f7 1e           adc     r15, r23
   15d76:       c7 01           movw    r24, r14
   15d78:       b6 01           movw    r22, r12
   15d7a:       20 91 21 01     lds     r18, 0x0121
   15d7e:       30 91 22 01     lds     r19, 0x0122
   15d82:       40 91 23 01     lds     r20, 0x0123
   15d86:       50 91 24 01     lds     r21, 0x0124
   15d8a:       c5 d2           rcall   .+1418          ; 0x16316 <__divmodsi4>
   15d8c:       30 93 50 0a     sts     0x0A50, r19
   15d90:       20 93 4f 0a     sts     0x0A4F, r18
                  Data3D.Centroid[0] = SummeNick >> 9;
   15d94:       80 91 26 04     lds     r24, 0x0426
   15d98:       90 91 27 04     lds     r25, 0x0427
   15d9c:       a0 91 28 04     lds     r26, 0x0428
   15da0:       b0 91 29 04     lds     r27, 0x0429
   15da4:       07 2e           mov     r0, r23
   15da6:       79 e0           ldi     r23, 0x09       ; 9
   15da8:       b5 95           asr     r27
   15daa:       a7 95           ror     r26
   15dac:       97 95           ror     r25
   15dae:       87 95           ror     r24
   15db0:       7a 95           dec     r23
   15db2:       d1 f7           brne    .-12            ; 0x15da8 <DatenUebertragung+0x3a8>
   15db4:       70 2d           mov     r23, r0
   15db6:       80 93 51 0a     sts     0x0A51, r24
                  Data3D.Centroid[1] = SummeRoll >> 9;
   15dba:       80 91 22 04     lds     r24, 0x0422
   15dbe:       90 91 23 04     lds     r25, 0x0423
   15dc2:       a0 91 24 04     lds     r26, 0x0424
   15dc6:       b0 91 25 04     lds     r27, 0x0425
   15dca:       07 2e           mov     r0, r23
   15dcc:       79 e0           ldi     r23, 0x09       ; 9
   15dce:       b5 95           asr     r27
   15dd0:       a7 95           ror     r26
   15dd2:       97 95           ror     r25
   15dd4:       87 95           ror     r24
   15dd6:       7a 95           dec     r23
   15dd8:       d1 f7           brne    .-12            ; 0x15dce <DatenUebertragung+0x3ce>
   15dda:       70 2d           mov     r23, r0
   15ddc:       80 93 52 0a     sts     0x0A52, r24
                  Data3D.Centroid[2] = Mess_Integral_Gier >> 9;
   15de0:       80 91 2e 04     lds     r24, 0x042E
   15de4:       90 91 2f 04     lds     r25, 0x042F
   15de8:       a0 91 30 04     lds     r26, 0x0430
   15dec:       b0 91 31 04     lds     r27, 0x0431
   15df0:       07 2e           mov     r0, r23
   15df2:       79 e0           ldi     r23, 0x09       ; 9
   15df4:       b5 95           asr     r27
   15df6:       a7 95           ror     r26
   15df8:       97 95           ror     r25
   15dfa:       87 95           ror     r24
   15dfc:       7a 95           dec     r23
   15dfe:       d1 f7           brne    .-12            ; 0x15df4 <DatenUebertragung+0x3f4>
   15e00:       70 2d           mov     r23, r0
   15e02:       80 93 53 0a     sts     0x0A53, r24
          SendOutData('C', FC_ADDRESS, 1, (unsigned char *) &Data3D,sizeof(Data3D));
   15e06:       1f 92           push    r1
   15e08:       8e e0           ldi     r24, 0x0E       ; 14
   15e0a:       8f 93           push    r24
   15e0c:       1f 93           push    r17
   15e0e:       0f 93           push    r16
   15e10:       81 e0           ldi     r24, 0x01       ; 1
   15e12:       8f 93           push    r24
   15e14:       8f 93           push    r24
   15e16:       83 e4           ldi     r24, 0x43       ; 67
   15e18:       8f 93           push    r24
   15e1a:       15 d8           rcall   .-4054          ; 0x14e46 <SendOutData>
          Timer3D = SetDelay(Intervall3D);
   15e1c:       80 91 f1 04     lds     r24, 0x04F1
   15e20:       90 91 f2 04     lds     r25, 0x04F2
   15e24:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   15e28:       90 93 5a 0a     sts     0x0A5A, r25
   15e2c:       80 93 59 0a     sts     0x0A59, r24
   15e30:       0f b6           in      r0, 0x3f        ; 63
   15e32:       f8 94           cli
   15e34:       de bf           out     0x3e, r29       ; 62
   15e36:       0f be           out     0x3f, r0        ; 63
   15e38:       cd bf           out     0x3d, r28       ; 61
         }
    if(DebugTextAnforderung != 255) // Texte für die Analogdaten
   15e3a:       60 91 b6 02     lds     r22, 0x02B6
   15e3e:       6f 3f           cpi     r22, 0xFF       ; 255
   15e40:       41 f1           breq    .+80            ; 0x15e92 <DatenUebertragung+0x492>
     {
                unsigned char label[16]; // local sram buffer
                memcpy_P(label, ANALOG_TEXT[DebugTextAnforderung], 16); // read lable from flash to sra
   15e42:       30 e1           ldi     r19, 0x10       ; 16
   15e44:       63 9f           mul     r22, r19
   15e46:       b0 01           movw    r22, r0
   15e48:       11 24           eor     r1, r1
   15e4a:       61 59           subi    r22, 0x91       ; 145
   15e4c:       79 4e           sbci    r23, 0xE9       ; 233
   15e4e:       40 e1           ldi     r20, 0x10       ; 16
   15e50:       50 e0           ldi     r21, 0x00       ; 0
   15e52:       8e 01           movw    r16, r28
   15e54:       0f 5f           subi    r16, 0xFF       ; 255
   15e56:       1f 4f           sbci    r17, 0xFF       ; 255
   15e58:       c8 01           movw    r24, r16
   15e5a:       e1 d2           rcall   .+1474          ; 0x1641e <memcpy_P>
      SendOutData('A', FC_ADDRESS, 2, (unsigned char *)&DebugTextAnforderung, sizeof(DebugTextAnforderung),label, 16);
   15e5c:       1f 92           push    r1
   15e5e:       80 e1           ldi     r24, 0x10       ; 16
   15e60:       8f 93           push    r24
   15e62:       1f 93           push    r17
   15e64:       0f 93           push    r16
   15e66:       1f 92           push    r1
   15e68:       21 e0           ldi     r18, 0x01       ; 1
   15e6a:       2f 93           push    r18
   15e6c:       86 eb           ldi     r24, 0xB6       ; 182
   15e6e:       92 e0           ldi     r25, 0x02       ; 2
   15e70:       9f 93           push    r25
   15e72:       8f 93           push    r24
   15e74:       82 e0           ldi     r24, 0x02       ; 2
   15e76:       8f 93           push    r24
   15e78:       2f 93           push    r18
   15e7a:       81 e4           ldi     r24, 0x41       ; 65
   15e7c:       8f 93           push    r24
   15e7e:       0e 94 23 a7     call    0x14e46 ; 0x14e46 <SendOutData>
      DebugTextAnforderung = 255;
   15e82:       8f ef           ldi     r24, 0xFF       ; 255
   15e84:       80 93 b6 02     sts     0x02B6, r24
   15e88:       0f b6           in      r0, 0x3f        ; 63
   15e8a:       f8 94           cli
   15e8c:       de bf           out     0x3e, r29       ; 62
   15e8e:       0f be           out     0x3f, r0        ; 63
   15e90:       cd bf           out     0x3d, r28       ; 61
         }
     if(ConfirmFrame && UebertragungAbgeschlossen)   // Datensatz bestätigen
   15e92:       80 91 88 0c     lds     r24, 0x0C88
   15e96:       88 23           and     r24, r24
   15e98:       c1 f0           breq    .+48            ; 0x15eca <DatenUebertragung+0x4ca>
   15e9a:       80 91 b7 02     lds     r24, 0x02B7
   15e9e:       88 23           and     r24, r24
   15ea0:       a1 f0           breq    .+40            ; 0x15eca <DatenUebertragung+0x4ca>
         {
                SendOutData('B', FC_ADDRESS, 1, (uint8_t*)&ConfirmFrame, sizeof(ConfirmFrame));
   15ea2:       1f 92           push    r1
   15ea4:       21 e0           ldi     r18, 0x01       ; 1
   15ea6:       2f 93           push    r18
   15ea8:       88 e8           ldi     r24, 0x88       ; 136
   15eaa:       9c e0           ldi     r25, 0x0C       ; 12
   15eac:       9f 93           push    r25
   15eae:       8f 93           push    r24
   15eb0:       2f 93           push    r18
   15eb2:       2f 93           push    r18
   15eb4:       82 e4           ldi     r24, 0x42       ; 66
   15eb6:       8f 93           push    r24
   15eb8:       0e 94 23 a7     call    0x14e46 ; 0x14e46 <SendOutData>
        ConfirmFrame = 0;
   15ebc:       10 92 88 0c     sts     0x0C88, r1
   15ec0:       0f b6           in      r0, 0x3f        ; 63
   15ec2:       f8 94           cli
   15ec4:       de bf           out     0x3e, r29       ; 62
   15ec6:       0f be           out     0x3f, r0        ; 63
   15ec8:       cd bf           out     0x3d, r28       ; 61
     }
     if(GetPPMChannelAnforderung && UebertragungAbgeschlossen)
   15eca:       80 91 fe 04     lds     r24, 0x04FE
   15ece:       88 23           and     r24, r24
   15ed0:       c9 f0           breq    .+50            ; 0x15f04 <DatenUebertragung+0x504>
   15ed2:       80 91 b7 02     lds     r24, 0x02B7
   15ed6:       88 23           and     r24, r24
   15ed8:       a9 f0           breq    .+42            ; 0x15f04 <DatenUebertragung+0x504>
     {
                 SendOutData('P', FC_ADDRESS, 1, (unsigned char *) &PPM_in, sizeof(PPM_in));
   15eda:       1f 92           push    r1
   15edc:       86 e4           ldi     r24, 0x46       ; 70
   15ede:       8f 93           push    r24
   15ee0:       81 e3           ldi     r24, 0x31       ; 49
   15ee2:       98 e0           ldi     r25, 0x08       ; 8
   15ee4:       9f 93           push    r25
   15ee6:       8f 93           push    r24
   15ee8:       81 e0           ldi     r24, 0x01       ; 1
   15eea:       8f 93           push    r24
   15eec:       8f 93           push    r24
   15eee:       80 e5           ldi     r24, 0x50       ; 80
   15ef0:       8f 93           push    r24
   15ef2:       0e 94 23 a7     call    0x14e46 ; 0x14e46 <SendOutData>
                 GetPPMChannelAnforderung = 0;
   15ef6:       10 92 fe 04     sts     0x04FE, r1
   15efa:       0f b6           in      r0, 0x3f        ; 63
   15efc:       f8 94           cli
   15efe:       de bf           out     0x3e, r29       ; 62
   15f00:       0f be           out     0x3f, r0        ; 63
   15f02:       cd bf           out     0x3d, r28       ; 61
         }
#ifndef REDUNDANT_FC_SLAVE
    if((CheckDelay(Kompass_Timer)) && UebertragungAbgeschlossen)
   15f04:       80 91 8a 0a     lds     r24, 0x0A8A
   15f08:       90 91 8b 0a     lds     r25, 0x0A8B
   15f0c:       0e 94 63 9c     call    0x138c6 ; 0x138c6 <CheckDelay>
   15f10:       88 23           and     r24, r24
   15f12:       09 f4           brne    .+2             ; 0x15f16 <DatenUebertragung+0x516>
   15f14:       4f c0           rjmp    .+158           ; 0x15fb4 <DatenUebertragung+0x5b4>
   15f16:       80 91 b7 02     lds     r24, 0x02B7
   15f1a:       88 23           and     r24, r24
   15f1c:       09 f4           brne    .+2             ; 0x15f20 <DatenUebertragung+0x520>
   15f1e:       4a c0           rjmp    .+148           ; 0x15fb4 <DatenUebertragung+0x5b4>
         {
          if(!NaviDataOkay)  // no external compass needed
   15f20:       80 91 a4 02     lds     r24, 0x02A4
   15f24:       81 11           cpse    r24, r1
   15f26:       2a c0           rjmp    .+84            ; 0x15f7c <DatenUebertragung+0x57c>
                   {
                    WinkelOut.Winkel[0] = ToNaviCtrl.IntegralNick;//(int) (IntegralNick / (EE_Parameter.GyroAccFaktor * 4));  // etwa in 0.1 Grad
   15f28:       e7 e7           ldi     r30, 0x77       ; 119
   15f2a:       fa e0           ldi     r31, 0x0A       ; 10
   15f2c:       80 91 ea 08     lds     r24, 0x08EA
   15f30:       90 91 eb 08     lds     r25, 0x08EB
   15f34:       91 83           std     Z+1, r25        ; 0x01
   15f36:       80 83           st      Z, r24
                    WinkelOut.Winkel[1] = ToNaviCtrl.IntegralRoll;//(int) (IntegralRoll / (EE_Parameter.GyroAccFaktor * 4));  // etwa in 0.1 Grad
   15f38:       80 91 ec 08     lds     r24, 0x08EC
   15f3c:       90 91 ed 08     lds     r25, 0x08ED
   15f40:       90 93 7a 0a     sts     0x0A7A, r25
   15f44:       80 93 79 0a     sts     0x0A79, r24
                    WinkelOut.UserParameter[0] = Parameter_UserParam1;
   15f48:       80 91 e0 03     lds     r24, 0x03E0
   15f4c:       80 93 7b 0a     sts     0x0A7B, r24
                    WinkelOut.UserParameter[1] = Parameter_UserParam2;
   15f50:       80 91 df 03     lds     r24, 0x03DF
   15f54:       80 93 7c 0a     sts     0x0A7C, r24
                    SendOutData('k', MK3MAG_ADDRESS, 1, (unsigned char *) &WinkelOut,sizeof(WinkelOut));
   15f58:       1f 92           push    r1
   15f5a:       88 e0           ldi     r24, 0x08       ; 8
   15f5c:       8f 93           push    r24
   15f5e:       ff 93           push    r31
   15f60:       ef 93           push    r30
   15f62:       81 e0           ldi     r24, 0x01       ; 1
   15f64:       8f 93           push    r24
   15f66:       83 e0           ldi     r24, 0x03       ; 3
   15f68:       8f 93           push    r24
   15f6a:       8b e6           ldi     r24, 0x6B       ; 107
   15f6c:       8f 93           push    r24
   15f6e:       0e 94 23 a7     call    0x14e46 ; 0x14e46 <SendOutData>
   15f72:       0f b6           in      r0, 0x3f        ; 63
   15f74:       f8 94           cli
   15f76:       de bf           out     0x3e, r29       ; 62
   15f78:       0f be           out     0x3f, r0        ; 63
   15f7a:       cd bf           out     0x3d, r28       ; 61
                   }    
          if(WinkelOut.CalcState > 4)  WinkelOut.CalcState = 6; // wird dann in SPI auf Null gesetzt
   15f7c:       80 91 7d 0a     lds     r24, 0x0A7D
   15f80:       85 30           cpi     r24, 0x05       ; 5
   15f82:       18 f0           brcs    .+6             ; 0x15f8a <DatenUebertragung+0x58a>
   15f84:       86 e0           ldi     r24, 0x06       ; 6
   15f86:       80 93 7d 0a     sts     0x0A7D, r24
          if(JustMK3MagConnected) Kompass_Timer = SetDelay(99);
   15f8a:       80 91 ca 04     lds     r24, 0x04CA
   15f8e:       88 23           and     r24, r24
   15f90:       49 f0           breq    .+18            ; 0x15fa4 <DatenUebertragung+0x5a4>
   15f92:       83 e6           ldi     r24, 0x63       ; 99
   15f94:       90 e0           ldi     r25, 0x00       ; 0
   15f96:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   15f9a:       90 93 8b 0a     sts     0x0A8B, r25
   15f9e:       80 93 8a 0a     sts     0x0A8A, r24
   15fa2:       08 c0           rjmp    .+16            ; 0x15fb4 <DatenUebertragung+0x5b4>
                  else Kompass_Timer = SetDelay(999);
   15fa4:       87 ee           ldi     r24, 0xE7       ; 231
   15fa6:       93 e0           ldi     r25, 0x03       ; 3
   15fa8:       0e 94 5a 9c     call    0x138b4 ; 0x138b4 <SetDelay>
   15fac:       90 93 8b 0a     sts     0x0A8B, r25
   15fb0:       80 93 8a 0a     sts     0x0A8A, r24
         SendOutData('!', FC_ADDRESS, 1, (unsigned char *) &SendRedundantMotor, RequiredMotors+1);
  }     
#endif

#ifdef DEBUG                                                                                                                    // only include functions if DEBUG is defined
     if(SendDebugOutput && UebertragungAbgeschlossen)
   15fb4:       80 91 76 03     lds     r24, 0x0376
   15fb8:       88 23           and     r24, r24
   15fba:       c9 f0           breq    .+50            ; 0x15fee <DatenUebertragung+0x5ee>
   15fbc:       80 91 b7 02     lds     r24, 0x02B7
   15fc0:       88 23           and     r24, r24
   15fc2:       a9 f0           breq    .+42            ; 0x15fee <DatenUebertragung+0x5ee>
     {
                 SendOutData('0', FC_ADDRESS, 1, (unsigned char *) &tDebug, sizeof(tDebug));
   15fc4:       1f 92           push    r1
   15fc6:       81 e2           ldi     r24, 0x21       ; 33
   15fc8:       8f 93           push    r24
   15fca:       8c e1           ldi     r24, 0x1C       ; 28
   15fcc:       95 e0           ldi     r25, 0x05       ; 5
   15fce:       9f 93           push    r25
   15fd0:       8f 93           push    r24
   15fd2:       81 e0           ldi     r24, 0x01       ; 1
   15fd4:       8f 93           push    r24
   15fd6:       8f 93           push    r24
   15fd8:       80 e3           ldi     r24, 0x30       ; 48
   15fda:       8f 93           push    r24
   15fdc:       0e 94 23 a7     call    0x14e46 ; 0x14e46 <SendOutData>
                 SendDebugOutput = 0;
   15fe0:       10 92 76 03     sts     0x0376, r1
   15fe4:       0f b6           in      r0, 0x3f        ; 63
   15fe6:       f8 94           cli
   15fe8:       de bf           out     0x3e, r29       ; 62
   15fea:       0f be           out     0x3f, r0        ; 63
   15fec:       cd bf           out     0x3d, r28       ; 61
         }
#endif
}
   15fee:       60 96           adiw    r28, 0x10       ; 16
   15ff0:       0f b6           in      r0, 0x3f        ; 63
   15ff2:       f8 94           cli
   15ff4:       de bf           out     0x3e, r29       ; 62
   15ff6:       0f be           out     0x3f, r0        ; 63
   15ff8:       cd bf           out     0x3d, r28       ; 61
   15ffa:       df 91           pop     r29
   15ffc:       cf 91           pop     r28
   15ffe:       1f 91           pop     r17
   16000:       0f 91           pop     r16
   16002:       ff 90           pop     r15
   16004:       ef 90           pop     r14
   16006:       df 90           pop     r13
   16008:       cf 90           pop     r12
   1600a:       08 95           ret

0001600c <User_Receiver_Init>:

//############################################################################
// Initialize the UART here
//############################################################################
void User_Receiver_Init(void)
{
   1600c:       08 95           ret

0001600e <User_RX_Parser>:
//############################################################################
// Is called by the uart RX interrupt
// UDR contains the received byte
//############################################################################
void User_RX_Parser(unsigned char udr)
{
   1600e:       08 95           ret

00016010 <__subsf3>:
   16010:       50 58           subi    r21, 0x80       ; 128

00016012 <__addsf3>:
   16012:       bb 27           eor     r27, r27
   16014:       aa 27           eor     r26, r26
   16016:       0e d0           rcall   .+28            ; 0x16034 <__addsf3x>
   16018:       e0 c0           rjmp    .+448           ; 0x161da <__fp_round>
   1601a:       d1 d0           rcall   .+418           ; 0x161be <__fp_pscA>
   1601c:       30 f0           brcs    .+12            ; 0x1602a <__addsf3+0x18>
   1601e:       d6 d0           rcall   .+428           ; 0x161cc <__fp_pscB>
   16020:       20 f0           brcs    .+8             ; 0x1602a <__addsf3+0x18>
   16022:       31 f4           brne    .+12            ; 0x16030 <__addsf3+0x1e>
   16024:       9f 3f           cpi     r25, 0xFF       ; 255
   16026:       11 f4           brne    .+4             ; 0x1602c <__addsf3+0x1a>
   16028:       1e f4           brtc    .+6             ; 0x16030 <__addsf3+0x1e>
   1602a:       c6 c0           rjmp    .+396           ; 0x161b8 <__fp_nan>
   1602c:       0e f4           brtc    .+2             ; 0x16030 <__addsf3+0x1e>
   1602e:       e0 95           com     r30
   16030:       e7 fb           bst     r30, 7
   16032:       bc c0           rjmp    .+376           ; 0x161ac <__fp_inf>

00016034 <__addsf3x>:
   16034:       e9 2f           mov     r30, r25
   16036:       e2 d0           rcall   .+452           ; 0x161fc <__fp_split3>
   16038:       80 f3           brcs    .-32            ; 0x1601a <__addsf3+0x8>
   1603a:       ba 17           cp      r27, r26
   1603c:       62 07           cpc     r22, r18
   1603e:       73 07           cpc     r23, r19
   16040:       84 07           cpc     r24, r20
   16042:       95 07           cpc     r25, r21
   16044:       18 f0           brcs    .+6             ; 0x1604c <__addsf3x+0x18>
   16046:       71 f4           brne    .+28            ; 0x16064 <__addsf3x+0x30>
   16048:       9e f5           brtc    .+102           ; 0x160b0 <__addsf3x+0x7c>
   1604a:       fa c0           rjmp    .+500           ; 0x16240 <__fp_zero>
   1604c:       0e f4           brtc    .+2             ; 0x16050 <__addsf3x+0x1c>
   1604e:       e0 95           com     r30
   16050:       0b 2e           mov     r0, r27
   16052:       ba 2f           mov     r27, r26
   16054:       a0 2d           mov     r26, r0
   16056:       0b 01           movw    r0, r22
   16058:       b9 01           movw    r22, r18
   1605a:       90 01           movw    r18, r0
   1605c:       0c 01           movw    r0, r24
   1605e:       ca 01           movw    r24, r20
   16060:       a0 01           movw    r20, r0
   16062:       11 24           eor     r1, r1
   16064:       ff 27           eor     r31, r31
   16066:       59 1b           sub     r21, r25
   16068:       99 f0           breq    .+38            ; 0x16090 <__addsf3x+0x5c>
   1606a:       59 3f           cpi     r21, 0xF9       ; 249
   1606c:       50 f4           brcc    .+20            ; 0x16082 <__addsf3x+0x4e>
   1606e:       50 3e           cpi     r21, 0xE0       ; 224
   16070:       68 f1           brcs    .+90            ; 0x160cc <__addsf3x+0x98>
   16072:       1a 16           cp      r1, r26
   16074:       f0 40           sbci    r31, 0x00       ; 0
   16076:       a2 2f           mov     r26, r18
   16078:       23 2f           mov     r18, r19
   1607a:       34 2f           mov     r19, r20
   1607c:       44 27           eor     r20, r20
   1607e:       58 5f           subi    r21, 0xF8       ; 248
   16080:       f3 cf           rjmp    .-26            ; 0x16068 <__addsf3x+0x34>
   16082:       46 95           lsr     r20
   16084:       37 95           ror     r19
   16086:       27 95           ror     r18
   16088:       a7 95           ror     r26
   1608a:       f0 40           sbci    r31, 0x00       ; 0
   1608c:       53 95           inc     r21
   1608e:       c9 f7           brne    .-14            ; 0x16082 <__addsf3x+0x4e>
   16090:       7e f4           brtc    .+30            ; 0x160b0 <__addsf3x+0x7c>
   16092:       1f 16           cp      r1, r31
   16094:       ba 0b           sbc     r27, r26
   16096:       62 0b           sbc     r22, r18
   16098:       73 0b           sbc     r23, r19
   1609a:       84 0b           sbc     r24, r20
   1609c:       ba f0           brmi    .+46            ; 0x160cc <__addsf3x+0x98>
   1609e:       91 50           subi    r25, 0x01       ; 1
   160a0:       a1 f0           breq    .+40            ; 0x160ca <__addsf3x+0x96>
   160a2:       ff 0f           add     r31, r31
   160a4:       bb 1f           adc     r27, r27
   160a6:       66 1f           adc     r22, r22
   160a8:       77 1f           adc     r23, r23
   160aa:       88 1f           adc     r24, r24
   160ac:       c2 f7           brpl    .-16            ; 0x1609e <__addsf3x+0x6a>
   160ae:       0e c0           rjmp    .+28            ; 0x160cc <__addsf3x+0x98>
   160b0:       ba 0f           add     r27, r26
   160b2:       62 1f           adc     r22, r18
   160b4:       73 1f           adc     r23, r19
   160b6:       84 1f           adc     r24, r20
   160b8:       48 f4           brcc    .+18            ; 0x160cc <__addsf3x+0x98>
   160ba:       87 95           ror     r24
   160bc:       77 95           ror     r23
   160be:       67 95           ror     r22
   160c0:       b7 95           ror     r27
   160c2:       f7 95           ror     r31
   160c4:       9e 3f           cpi     r25, 0xFE       ; 254
   160c6:       08 f0           brcs    .+2             ; 0x160ca <__addsf3x+0x96>
   160c8:       b3 cf           rjmp    .-154           ; 0x16030 <__addsf3+0x1e>
   160ca:       93 95           inc     r25
   160cc:       88 0f           add     r24, r24
   160ce:       08 f0           brcs    .+2             ; 0x160d2 <__addsf3x+0x9e>
   160d0:       99 27           eor     r25, r25
   160d2:       ee 0f           add     r30, r30
   160d4:       97 95           ror     r25
   160d6:       87 95           ror     r24
   160d8:       08 95           ret

000160da <__fixunssfsi>:
   160da:       98 d0           rcall   .+304           ; 0x1620c <__fp_splitA>
   160dc:       88 f0           brcs    .+34            ; 0x16100 <__fixunssfsi+0x26>
   160de:       9f 57           subi    r25, 0x7F       ; 127
   160e0:       90 f0           brcs    .+36            ; 0x16106 <__fixunssfsi+0x2c>
   160e2:       b9 2f           mov     r27, r25
   160e4:       99 27           eor     r25, r25
   160e6:       b7 51           subi    r27, 0x17       ; 23
   160e8:       a0 f0           brcs    .+40            ; 0x16112 <__fixunssfsi+0x38>
   160ea:       d1 f0           breq    .+52            ; 0x16120 <__fixunssfsi+0x46>
   160ec:       66 0f           add     r22, r22
   160ee:       77 1f           adc     r23, r23
   160f0:       88 1f           adc     r24, r24
   160f2:       99 1f           adc     r25, r25
   160f4:       1a f0           brmi    .+6             ; 0x160fc <__fixunssfsi+0x22>
   160f6:       ba 95           dec     r27
   160f8:       c9 f7           brne    .-14            ; 0x160ec <__fixunssfsi+0x12>
   160fa:       12 c0           rjmp    .+36            ; 0x16120 <__fixunssfsi+0x46>
   160fc:       b1 30           cpi     r27, 0x01       ; 1
   160fe:       81 f0           breq    .+32            ; 0x16120 <__fixunssfsi+0x46>
   16100:       9f d0           rcall   .+318           ; 0x16240 <__fp_zero>
   16102:       b1 e0           ldi     r27, 0x01       ; 1
   16104:       08 95           ret
   16106:       9c c0           rjmp    .+312           ; 0x16240 <__fp_zero>
   16108:       67 2f           mov     r22, r23
   1610a:       78 2f           mov     r23, r24
   1610c:       88 27           eor     r24, r24
   1610e:       b8 5f           subi    r27, 0xF8       ; 248
   16110:       39 f0           breq    .+14            ; 0x16120 <__fixunssfsi+0x46>
   16112:       b9 3f           cpi     r27, 0xF9       ; 249
   16114:       cc f3           brlt    .-14            ; 0x16108 <__fixunssfsi+0x2e>
   16116:       86 95           lsr     r24
   16118:       77 95           ror     r23
   1611a:       67 95           ror     r22
   1611c:       b3 95           inc     r27
   1611e:       d9 f7           brne    .-10            ; 0x16116 <__fixunssfsi+0x3c>
   16120:       3e f4           brtc    .+14            ; 0x16130 <__fixunssfsi+0x56>
   16122:       90 95           com     r25
   16124:       80 95           com     r24
   16126:       70 95           com     r23
   16128:       61 95           neg     r22
   1612a:       7f 4f           sbci    r23, 0xFF       ; 255
   1612c:       8f 4f           sbci    r24, 0xFF       ; 255
   1612e:       9f 4f           sbci    r25, 0xFF       ; 255
   16130:       08 95           ret

00016132 <__floatunsisf>:
   16132:       e8 94           clt
   16134:       09 c0           rjmp    .+18            ; 0x16148 <__floatsisf+0x12>

00016136 <__floatsisf>:
   16136:       97 fb           bst     r25, 7
   16138:       3e f4           brtc    .+14            ; 0x16148 <__floatsisf+0x12>
   1613a:       90 95           com     r25
   1613c:       80 95           com     r24
   1613e:       70 95           com     r23
   16140:       61 95           neg     r22
   16142:       7f 4f           sbci    r23, 0xFF       ; 255
   16144:       8f 4f           sbci    r24, 0xFF       ; 255
   16146:       9f 4f           sbci    r25, 0xFF       ; 255
   16148:       99 23           and     r25, r25
   1614a:       a9 f0           breq    .+42            ; 0x16176 <__floatsisf+0x40>
   1614c:       f9 2f           mov     r31, r25
   1614e:       96 e9           ldi     r25, 0x96       ; 150
   16150:       bb 27           eor     r27, r27
   16152:       93 95           inc     r25
   16154:       f6 95           lsr     r31
   16156:       87 95           ror     r24
   16158:       77 95           ror     r23
   1615a:       67 95           ror     r22
   1615c:       b7 95           ror     r27
   1615e:       f1 11           cpse    r31, r1
   16160:       f8 cf           rjmp    .-16            ; 0x16152 <__floatsisf+0x1c>
   16162:       fa f4           brpl    .+62            ; 0x161a2 <__floatsisf+0x6c>
   16164:       bb 0f           add     r27, r27
   16166:       11 f4           brne    .+4             ; 0x1616c <__floatsisf+0x36>
   16168:       60 ff           sbrs    r22, 0
   1616a:       1b c0           rjmp    .+54            ; 0x161a2 <__floatsisf+0x6c>
   1616c:       6f 5f           subi    r22, 0xFF       ; 255
   1616e:       7f 4f           sbci    r23, 0xFF       ; 255
   16170:       8f 4f           sbci    r24, 0xFF       ; 255
   16172:       9f 4f           sbci    r25, 0xFF       ; 255
   16174:       16 c0           rjmp    .+44            ; 0x161a2 <__floatsisf+0x6c>
   16176:       88 23           and     r24, r24
   16178:       11 f0           breq    .+4             ; 0x1617e <__floatsisf+0x48>
   1617a:       96 e9           ldi     r25, 0x96       ; 150
   1617c:       11 c0           rjmp    .+34            ; 0x161a0 <__floatsisf+0x6a>
   1617e:       77 23           and     r23, r23
   16180:       21 f0           breq    .+8             ; 0x1618a <__floatsisf+0x54>
   16182:       9e e8           ldi     r25, 0x8E       ; 142
   16184:       87 2f           mov     r24, r23
   16186:       76 2f           mov     r23, r22
   16188:       05 c0           rjmp    .+10            ; 0x16194 <__floatsisf+0x5e>
   1618a:       66 23           and     r22, r22
   1618c:       71 f0           breq    .+28            ; 0x161aa <__floatsisf+0x74>
   1618e:       96 e8           ldi     r25, 0x86       ; 134
   16190:       86 2f           mov     r24, r22
   16192:       70 e0           ldi     r23, 0x00       ; 0
   16194:       60 e0           ldi     r22, 0x00       ; 0
   16196:       2a f0           brmi    .+10            ; 0x161a2 <__floatsisf+0x6c>
   16198:       9a 95           dec     r25
   1619a:       66 0f           add     r22, r22
   1619c:       77 1f           adc     r23, r23
   1619e:       88 1f           adc     r24, r24
   161a0:       da f7           brpl    .-10            ; 0x16198 <__floatsisf+0x62>
   161a2:       88 0f           add     r24, r24
   161a4:       96 95           lsr     r25
   161a6:       87 95           ror     r24
   161a8:       97 f9           bld     r25, 7
   161aa:       08 95           ret

000161ac <__fp_inf>:
   161ac:       97 f9           bld     r25, 7
   161ae:       9f 67           ori     r25, 0x7F       ; 127
   161b0:       80 e8           ldi     r24, 0x80       ; 128
   161b2:       70 e0           ldi     r23, 0x00       ; 0
   161b4:       60 e0           ldi     r22, 0x00       ; 0
   161b6:       08 95           ret

000161b8 <__fp_nan>:
   161b8:       9f ef           ldi     r25, 0xFF       ; 255
   161ba:       80 ec           ldi     r24, 0xC0       ; 192
   161bc:       08 95           ret

000161be <__fp_pscA>:
   161be:       00 24           eor     r0, r0
   161c0:       0a 94           dec     r0
   161c2:       16 16           cp      r1, r22
   161c4:       17 06           cpc     r1, r23
   161c6:       18 06           cpc     r1, r24
   161c8:       09 06           cpc     r0, r25
   161ca:       08 95           ret

000161cc <__fp_pscB>:
   161cc:       00 24           eor     r0, r0
   161ce:       0a 94           dec     r0
   161d0:       12 16           cp      r1, r18
   161d2:       13 06           cpc     r1, r19
   161d4:       14 06           cpc     r1, r20
   161d6:       05 06           cpc     r0, r21
   161d8:       08 95           ret

000161da <__fp_round>:
   161da:       09 2e           mov     r0, r25
   161dc:       03 94           inc     r0
   161de:       00 0c           add     r0, r0
   161e0:       11 f4           brne    .+4             ; 0x161e6 <__fp_round+0xc>
   161e2:       88 23           and     r24, r24
   161e4:       52 f0           brmi    .+20            ; 0x161fa <__fp_round+0x20>
   161e6:       bb 0f           add     r27, r27
   161e8:       40 f4           brcc    .+16            ; 0x161fa <__fp_round+0x20>
   161ea:       bf 2b           or      r27, r31
   161ec:       11 f4           brne    .+4             ; 0x161f2 <__fp_round+0x18>
   161ee:       60 ff           sbrs    r22, 0
   161f0:       04 c0           rjmp    .+8             ; 0x161fa <__fp_round+0x20>
   161f2:       6f 5f           subi    r22, 0xFF       ; 255
   161f4:       7f 4f           sbci    r23, 0xFF       ; 255
   161f6:       8f 4f           sbci    r24, 0xFF       ; 255
   161f8:       9f 4f           sbci    r25, 0xFF       ; 255
   161fa:       08 95           ret

000161fc <__fp_split3>:
   161fc:       57 fd           sbrc    r21, 7
   161fe:       90 58           subi    r25, 0x80       ; 128
   16200:       44 0f           add     r20, r20
   16202:       55 1f           adc     r21, r21
   16204:       59 f0           breq    .+22            ; 0x1621c <__fp_splitA+0x10>
   16206:       5f 3f           cpi     r21, 0xFF       ; 255
   16208:       71 f0           breq    .+28            ; 0x16226 <__fp_splitA+0x1a>
   1620a:       47 95           ror     r20

0001620c <__fp_splitA>:
   1620c:       88 0f           add     r24, r24
   1620e:       97 fb           bst     r25, 7
   16210:       99 1f           adc     r25, r25
   16212:       61 f0           breq    .+24            ; 0x1622c <__fp_splitA+0x20>
   16214:       9f 3f           cpi     r25, 0xFF       ; 255
   16216:       79 f0           breq    .+30            ; 0x16236 <__fp_splitA+0x2a>
   16218:       87 95           ror     r24
   1621a:       08 95           ret
   1621c:       12 16           cp      r1, r18
   1621e:       13 06           cpc     r1, r19
   16220:       14 06           cpc     r1, r20
   16222:       55 1f           adc     r21, r21
   16224:       f2 cf           rjmp    .-28            ; 0x1620a <__fp_split3+0xe>
   16226:       46 95           lsr     r20
   16228:       f1 df           rcall   .-30            ; 0x1620c <__fp_splitA>
   1622a:       08 c0           rjmp    .+16            ; 0x1623c <__fp_splitA+0x30>
   1622c:       16 16           cp      r1, r22
   1622e:       17 06           cpc     r1, r23
   16230:       18 06           cpc     r1, r24
   16232:       99 1f           adc     r25, r25
   16234:       f1 cf           rjmp    .-30            ; 0x16218 <__fp_splitA+0xc>
   16236:       86 95           lsr     r24
   16238:       71 05           cpc     r23, r1
   1623a:       61 05           cpc     r22, r1
   1623c:       08 94           sec
   1623e:       08 95           ret

00016240 <__fp_zero>:
   16240:       e8 94           clt

00016242 <__fp_szero>:
   16242:       bb 27           eor     r27, r27
   16244:       66 27           eor     r22, r22
   16246:       77 27           eor     r23, r23
   16248:       cb 01           movw    r24, r22
   1624a:       97 f9           bld     r25, 7
   1624c:       08 95           ret

0001624e <__mulsi3>:
   1624e:       db 01           movw    r26, r22
   16250:       8f 93           push    r24
   16252:       9f 93           push    r25
   16254:       9d d0           rcall   .+314           ; 0x16390 <__muluhisi3>
   16256:       bf 91           pop     r27
   16258:       af 91           pop     r26
   1625a:       a2 9f           mul     r26, r18
   1625c:       80 0d           add     r24, r0
   1625e:       91 1d           adc     r25, r1
   16260:       a3 9f           mul     r26, r19
   16262:       90 0d           add     r25, r0
   16264:       b2 9f           mul     r27, r18
   16266:       90 0d           add     r25, r0
   16268:       11 24           eor     r1, r1
   1626a:       08 95           ret

0001626c <__udivmodqi4>:
   1626c:       99 1b           sub     r25, r25
   1626e:       79 e0           ldi     r23, 0x09       ; 9
   16270:       04 c0           rjmp    .+8             ; 0x1627a <__udivmodqi4_ep>

00016272 <__udivmodqi4_loop>:
   16272:       99 1f           adc     r25, r25
   16274:       96 17           cp      r25, r22
   16276:       08 f0           brcs    .+2             ; 0x1627a <__udivmodqi4_ep>
   16278:       96 1b           sub     r25, r22

0001627a <__udivmodqi4_ep>:
   1627a:       88 1f           adc     r24, r24
   1627c:       7a 95           dec     r23
   1627e:       c9 f7           brne    .-14            ; 0x16272 <__udivmodqi4_loop>
   16280:       80 95           com     r24
   16282:       08 95           ret

00016284 <__udivmodhi4>:
   16284:       aa 1b           sub     r26, r26
   16286:       bb 1b           sub     r27, r27
   16288:       51 e1           ldi     r21, 0x11       ; 17
   1628a:       07 c0           rjmp    .+14            ; 0x1629a <__udivmodhi4_ep>

0001628c <__udivmodhi4_loop>:
   1628c:       aa 1f           adc     r26, r26
   1628e:       bb 1f           adc     r27, r27
   16290:       a6 17           cp      r26, r22
   16292:       b7 07           cpc     r27, r23
   16294:       10 f0           brcs    .+4             ; 0x1629a <__udivmodhi4_ep>
   16296:       a6 1b           sub     r26, r22
   16298:       b7 0b           sbc     r27, r23

0001629a <__udivmodhi4_ep>:
   1629a:       88 1f           adc     r24, r24
   1629c:       99 1f           adc     r25, r25
   1629e:       5a 95           dec     r21
   162a0:       a9 f7           brne    .-22            ; 0x1628c <__udivmodhi4_loop>
   162a2:       80 95           com     r24
   162a4:       90 95           com     r25
   162a6:       bc 01           movw    r22, r24
   162a8:       cd 01           movw    r24, r26
   162aa:       08 95           ret

000162ac <__divmodhi4>:
   162ac:       97 fb           bst     r25, 7
   162ae:       07 2e           mov     r0, r23
   162b0:       16 f4           brtc    .+4             ; 0x162b6 <__divmodhi4+0xa>
   162b2:       00 94           com     r0
   162b4:       06 d0           rcall   .+12            ; 0x162c2 <__divmodhi4_neg1>
   162b6:       77 fd           sbrc    r23, 7
   162b8:       08 d0           rcall   .+16            ; 0x162ca <__divmodhi4_neg2>
   162ba:       e4 df           rcall   .-56            ; 0x16284 <__udivmodhi4>
   162bc:       07 fc           sbrc    r0, 7
   162be:       05 d0           rcall   .+10            ; 0x162ca <__divmodhi4_neg2>
   162c0:       3e f4           brtc    .+14            ; 0x162d0 <__divmodhi4_exit>

000162c2 <__divmodhi4_neg1>:
   162c2:       90 95           com     r25
   162c4:       81 95           neg     r24
   162c6:       9f 4f           sbci    r25, 0xFF       ; 255
   162c8:       08 95           ret

000162ca <__divmodhi4_neg2>:
   162ca:       70 95           com     r23
   162cc:       61 95           neg     r22
   162ce:       7f 4f           sbci    r23, 0xFF       ; 255

000162d0 <__divmodhi4_exit>:
   162d0:       08 95           ret

000162d2 <__udivmodsi4>:
   162d2:       a1 e2           ldi     r26, 0x21       ; 33
   162d4:       1a 2e           mov     r1, r26
   162d6:       aa 1b           sub     r26, r26
   162d8:       bb 1b           sub     r27, r27
   162da:       fd 01           movw    r30, r26
   162dc:       0d c0           rjmp    .+26            ; 0x162f8 <__udivmodsi4_ep>

000162de <__udivmodsi4_loop>:
   162de:       aa 1f           adc     r26, r26
   162e0:       bb 1f           adc     r27, r27
   162e2:       ee 1f           adc     r30, r30
   162e4:       ff 1f           adc     r31, r31
   162e6:       a2 17           cp      r26, r18
   162e8:       b3 07           cpc     r27, r19
   162ea:       e4 07           cpc     r30, r20
   162ec:       f5 07           cpc     r31, r21
   162ee:       20 f0           brcs    .+8             ; 0x162f8 <__udivmodsi4_ep>
   162f0:       a2 1b           sub     r26, r18
   162f2:       b3 0b           sbc     r27, r19
   162f4:       e4 0b           sbc     r30, r20
   162f6:       f5 0b           sbc     r31, r21

000162f8 <__udivmodsi4_ep>:
   162f8:       66 1f           adc     r22, r22
   162fa:       77 1f           adc     r23, r23
   162fc:       88 1f           adc     r24, r24
   162fe:       99 1f           adc     r25, r25
   16300:       1a 94           dec     r1
   16302:       69 f7           brne    .-38            ; 0x162de <__udivmodsi4_loop>
   16304:       60 95           com     r22
   16306:       70 95           com     r23
   16308:       80 95           com     r24
   1630a:       90 95           com     r25
   1630c:       9b 01           movw    r18, r22
   1630e:       ac 01           movw    r20, r24
   16310:       bd 01           movw    r22, r26
   16312:       cf 01           movw    r24, r30
   16314:       08 95           ret

00016316 <__divmodsi4>:
   16316:       05 2e           mov     r0, r21
   16318:       97 fb           bst     r25, 7
   1631a:       16 f4           brtc    .+4             ; 0x16320 <__divmodsi4+0xa>
   1631c:       00 94           com     r0
   1631e:       0f d0           rcall   .+30            ; 0x1633e <__negsi2>
   16320:       57 fd           sbrc    r21, 7
   16322:       05 d0           rcall   .+10            ; 0x1632e <__divmodsi4_neg2>
   16324:       d6 df           rcall   .-84            ; 0x162d2 <__udivmodsi4>
   16326:       07 fc           sbrc    r0, 7
   16328:       02 d0           rcall   .+4             ; 0x1632e <__divmodsi4_neg2>
   1632a:       46 f4           brtc    .+16            ; 0x1633c <__divmodsi4_exit>
   1632c:       08 c0           rjmp    .+16            ; 0x1633e <__negsi2>

0001632e <__divmodsi4_neg2>:
   1632e:       50 95           com     r21
   16330:       40 95           com     r20
   16332:       30 95           com     r19
   16334:       21 95           neg     r18
   16336:       3f 4f           sbci    r19, 0xFF       ; 255
   16338:       4f 4f           sbci    r20, 0xFF       ; 255
   1633a:       5f 4f           sbci    r21, 0xFF       ; 255

0001633c <__divmodsi4_exit>:
   1633c:       08 95           ret

0001633e <__negsi2>:
   1633e:       90 95           com     r25
   16340:       80 95           com     r24
   16342:       70 95           com     r23
   16344:       61 95           neg     r22
   16346:       7f 4f           sbci    r23, 0xFF       ; 255
   16348:       8f 4f           sbci    r24, 0xFF       ; 255
   1634a:       9f 4f           sbci    r25, 0xFF       ; 255
   1634c:       08 95           ret

0001634e <__tablejump2__>:
   1634e:       ee 0f           add     r30, r30
   16350:       ff 1f           adc     r31, r31

00016352 <__tablejump__>:
   16352:       05 90           lpm     r0, Z+
   16354:       f4 91           lpm     r31, Z
   16356:       e0 2d           mov     r30, r0
   16358:       09 94           ijmp

0001635a <__mulhisi3>:
   1635a:       05 d0           rcall   .+10            ; 0x16366 <__umulhisi3>
   1635c:       33 23           and     r19, r19
   1635e:       12 f4           brpl    .+4             ; 0x16364 <__mulhisi3+0xa>
   16360:       8a 1b           sub     r24, r26
   16362:       9b 0b           sbc     r25, r27
   16364:       10 c0           rjmp    .+32            ; 0x16386 <__usmulhisi3_tail>

00016366 <__umulhisi3>:
   16366:       a2 9f           mul     r26, r18
   16368:       b0 01           movw    r22, r0
   1636a:       b3 9f           mul     r27, r19
   1636c:       c0 01           movw    r24, r0
   1636e:       a3 9f           mul     r26, r19
   16370:       70 0d           add     r23, r0
   16372:       81 1d           adc     r24, r1
   16374:       11 24           eor     r1, r1
   16376:       91 1d           adc     r25, r1
   16378:       b2 9f           mul     r27, r18
   1637a:       70 0d           add     r23, r0
   1637c:       81 1d           adc     r24, r1
   1637e:       11 24           eor     r1, r1
   16380:       91 1d           adc     r25, r1
   16382:       08 95           ret

00016384 <__usmulhisi3>:
   16384:       f0 df           rcall   .-32            ; 0x16366 <__umulhisi3>

00016386 <__usmulhisi3_tail>:
   16386:       b7 ff           sbrs    r27, 7
   16388:       08 95           ret
   1638a:       82 1b           sub     r24, r18
   1638c:       93 0b           sbc     r25, r19
   1638e:       08 95           ret

00016390 <__muluhisi3>:
   16390:       ea df           rcall   .-44            ; 0x16366 <__umulhisi3>
   16392:       a5 9f           mul     r26, r21
   16394:       90 0d           add     r25, r0
   16396:       b4 9f           mul     r27, r20
   16398:       90 0d           add     r25, r0
   1639a:       a4 9f           mul     r26, r20
   1639c:       80 0d           add     r24, r0
   1639e:       91 1d           adc     r25, r1
   163a0:       11 24           eor     r1, r1
   163a2:       08 95           ret

000163a4 <__mulshisi3>:
   163a4:       b7 ff           sbrs    r27, 7
   163a6:       f4 cf           rjmp    .-24            ; 0x16390 <__muluhisi3>

000163a8 <__mulohisi3>:
   163a8:       f3 df           rcall   .-26            ; 0x16390 <__muluhisi3>
   163aa:       82 1b           sub     r24, r18
   163ac:       93 0b           sbc     r25, r19
   163ae:       08 95           ret

000163b0 <__prologue_saves__>:
   163b0:       2f 92           push    r2
   163b2:       3f 92           push    r3
   163b4:       4f 92           push    r4
   163b6:       5f 92           push    r5
   163b8:       6f 92           push    r6
   163ba:       7f 92           push    r7
   163bc:       8f 92           push    r8
   163be:       9f 92           push    r9
   163c0:       af 92           push    r10
   163c2:       bf 92           push    r11
   163c4:       cf 92           push    r12
   163c6:       df 92           push    r13
   163c8:       ef 92           push    r14
   163ca:       ff 92           push    r15
   163cc:       0f 93           push    r16
   163ce:       1f 93           push    r17
   163d0:       cf 93           push    r28
   163d2:       df 93           push    r29
   163d4:       cd b7           in      r28, 0x3d       ; 61
   163d6:       de b7           in      r29, 0x3e       ; 62
   163d8:       ca 1b           sub     r28, r26
   163da:       db 0b           sbc     r29, r27
   163dc:       0f b6           in      r0, 0x3f        ; 63
   163de:       f8 94           cli
   163e0:       de bf           out     0x3e, r29       ; 62
   163e2:       0f be           out     0x3f, r0        ; 63
   163e4:       cd bf           out     0x3d, r28       ; 61
   163e6:       09 94           ijmp

000163e8 <__epilogue_restores__>:
   163e8:       2a 88           ldd     r2, Y+18        ; 0x12
   163ea:       39 88           ldd     r3, Y+17        ; 0x11
   163ec:       48 88           ldd     r4, Y+16        ; 0x10
   163ee:       5f 84           ldd     r5, Y+15        ; 0x0f
   163f0:       6e 84           ldd     r6, Y+14        ; 0x0e
   163f2:       7d 84           ldd     r7, Y+13        ; 0x0d
   163f4:       8c 84           ldd     r8, Y+12        ; 0x0c
   163f6:       9b 84           ldd     r9, Y+11        ; 0x0b
   163f8:       aa 84           ldd     r10, Y+10       ; 0x0a
   163fa:       b9 84           ldd     r11, Y+9        ; 0x09
   163fc:       c8 84           ldd     r12, Y+8        ; 0x08
   163fe:       df 80           ldd     r13, Y+7        ; 0x07
   16400:       ee 80           ldd     r14, Y+6        ; 0x06
   16402:       fd 80           ldd     r15, Y+5        ; 0x05
   16404:       0c 81           ldd     r16, Y+4        ; 0x04
   16406:       1b 81           ldd     r17, Y+3        ; 0x03
   16408:       aa 81           ldd     r26, Y+2        ; 0x02
   1640a:       b9 81           ldd     r27, Y+1        ; 0x01
   1640c:       ce 0f           add     r28, r30
   1640e:       d1 1d           adc     r29, r1
   16410:       0f b6           in      r0, 0x3f        ; 63
   16412:       f8 94           cli
   16414:       de bf           out     0x3e, r29       ; 62
   16416:       0f be           out     0x3f, r0        ; 63
   16418:       cd bf           out     0x3d, r28       ; 61
   1641a:       ed 01           movw    r28, r26
   1641c:       08 95           ret

0001641e <memcpy_P>:
   1641e:       fb 01           movw    r30, r22
   16420:       dc 01           movw    r26, r24
   16422:       02 c0           rjmp    .+4             ; 0x16428 <memcpy_P+0xa>
   16424:       05 90           lpm     r0, Z+
   16426:       0d 92           st      X+, r0
   16428:       41 50           subi    r20, 0x01       ; 1
   1642a:       50 40           sbci    r21, 0x00       ; 0
   1642c:       d8 f7           brcc    .-10            ; 0x16424 <memcpy_P+0x6>
   1642e:       08 95           ret

00016430 <memchr>:
   16430:       fc 01           movw    r30, r24
   16432:       41 50           subi    r20, 0x01       ; 1
   16434:       50 40           sbci    r21, 0x00       ; 0
   16436:       30 f0           brcs    .+12            ; 0x16444 <memchr+0x14>
   16438:       01 90           ld      r0, Z+
   1643a:       06 16           cp      r0, r22
   1643c:       d1 f7           brne    .-12            ; 0x16432 <memchr+0x2>
   1643e:       31 97           sbiw    r30, 0x01       ; 1
   16440:       cf 01           movw    r24, r30
   16442:       08 95           ret
   16444:       88 27           eor     r24, r24
   16446:       99 27           eor     r25, r25
   16448:       08 95           ret

0001644a <memcpy>:
   1644a:       fb 01           movw    r30, r22
   1644c:       dc 01           movw    r26, r24
   1644e:       02 c0           rjmp    .+4             ; 0x16454 <memcpy+0xa>
   16450:       01 90           ld      r0, Z+
   16452:       0d 92           st      X+, r0
   16454:       41 50           subi    r20, 0x01       ; 1
   16456:       50 40           sbci    r21, 0x00       ; 0
   16458:       d8 f7           brcc    .-10            ; 0x16450 <memcpy+0x6>
   1645a:       08 95           ret

0001645c <__eerd_block_m1284>:
   1645c:       dc 01           movw    r26, r24
   1645e:       cb 01           movw    r24, r22

00016460 <__eerd_blraw_m1284>:
   16460:       fc 01           movw    r30, r24
   16462:       f9 99           sbic    0x1f, 1 ; 31
   16464:       fe cf           rjmp    .-4             ; 0x16462 <__eerd_blraw_m1284+0x2>
   16466:       06 c0           rjmp    .+12            ; 0x16474 <__eerd_blraw_m1284+0x14>
   16468:       f2 bd           out     0x22, r31       ; 34
   1646a:       e1 bd           out     0x21, r30       ; 33
   1646c:       f8 9a           sbi     0x1f, 0 ; 31
   1646e:       31 96           adiw    r30, 0x01       ; 1
   16470:       00 b4           in      r0, 0x20        ; 32
   16472:       0d 92           st      X+, r0
   16474:       41 50           subi    r20, 0x01       ; 1
   16476:       50 40           sbci    r21, 0x00       ; 0
   16478:       b8 f7           brcc    .-18            ; 0x16468 <__eerd_blraw_m1284+0x8>
   1647a:       08 95           ret

0001647c <__eerd_byte_m1284>:
   1647c:       f9 99           sbic    0x1f, 1 ; 31
   1647e:       fe cf           rjmp    .-4             ; 0x1647c <__eerd_byte_m1284>
   16480:       92 bd           out     0x22, r25       ; 34
   16482:       81 bd           out     0x21, r24       ; 33
   16484:       f8 9a           sbi     0x1f, 0 ; 31
   16486:       99 27           eor     r25, r25
   16488:       80 b5           in      r24, 0x20       ; 32
   1648a:       08 95           ret

0001648c <__eerd_word_m1284>:
   1648c:       a8 e1           ldi     r26, 0x18       ; 24
   1648e:       b0 e0           ldi     r27, 0x00       ; 0
   16490:       42 e0           ldi     r20, 0x02       ; 2
   16492:       50 e0           ldi     r21, 0x00       ; 0
   16494:       e5 cf           rjmp    .-54            ; 0x16460 <__eerd_blraw_m1284>

00016496 <__eewr_block_m1284>:
   16496:       dc 01           movw    r26, r24
   16498:       cb 01           movw    r24, r22
   1649a:       02 c0           rjmp    .+4             ; 0x164a0 <__eewr_block_m1284+0xa>
   1649c:       2d 91           ld      r18, X+
   1649e:       05 d0           rcall   .+10            ; 0x164aa <__eewr_r18_m1284>
   164a0:       41 50           subi    r20, 0x01       ; 1
   164a2:       50 40           sbci    r21, 0x00       ; 0
   164a4:       d8 f7           brcc    .-10            ; 0x1649c <__eewr_block_m1284+0x6>
   164a6:       08 95           ret

000164a8 <__eewr_byte_m1284>:
   164a8:       26 2f           mov     r18, r22

000164aa <__eewr_r18_m1284>:
   164aa:       f9 99           sbic    0x1f, 1 ; 31
   164ac:       fe cf           rjmp    .-4             ; 0x164aa <__eewr_r18_m1284>
   164ae:       1f ba           out     0x1f, r1        ; 31
   164b0:       92 bd           out     0x22, r25       ; 34
   164b2:       81 bd           out     0x21, r24       ; 33
   164b4:       20 bd           out     0x20, r18       ; 32
   164b6:       0f b6           in      r0, 0x3f        ; 63
   164b8:       f8 94           cli
   164ba:       fa 9a           sbi     0x1f, 2 ; 31
   164bc:       f9 9a           sbi     0x1f, 1 ; 31
   164be:       0f be           out     0x3f, r0        ; 63
   164c0:       01 96           adiw    r24, 0x01       ; 1
   164c2:       08 95           ret

000164c4 <__eewr_word_m1284>:
   164c4:       f1 df           rcall   .-30            ; 0x164a8 <__eewr_byte_m1284>
   164c6:       27 2f           mov     r18, r23
   164c8:       f0 cf           rjmp    .-32            ; 0x164aa <__eewr_r18_m1284>

000164ca <_exit>:
   164ca:       f8 94           cli

000164cc <__stop_program>:
   164cc:       ff cf           rjmp    .-2             ; 0x164cc <__stop_program>