@ Holzi: Der Gleitende Mittelwert ist hier überflüssig da wir nur ganz kurz messen. Aber der Hinweis ist natürlich richtig. (Eckernförde? Komm mal rum nach Kiel!!)

@all, natürlich habe ich mich mit der Stickstellung versehen, hier der berichtigte Code mit 3mal kurz Piepen für deaktivieren der Funktion. Könnte man auch über die LED machen.

Code:
'===XY Kalibrierung über Funke==================================================         'Nils-XY Offset
'Durch Bewegen des rechten Sticks nach oben links wird die XY Kalibierung aktiviert
 If State = 0 And Sempf(rollchannel) > 20 And Sempf(nickchannel) > 20 Then
    Sticksup_bo = 1                                         'Setzbit setzen  (Dient dazu zu verhindern das der zustand springt wenn ich dies ticks lange halte
 End If
 'Erst wenn ich die sticks wieder loslasse und das bit gesetzt wurde, dann Kalibrierung übernehmen
 If State = 0 And Sempf(rollchannel) > -10 And Sempf(rollchannel) < 10 And Sempf(nickchannel) > -10 And Sempf(nickchannel) < 10 And Sticksup_bo = 1 Then
    Toggle Xy_calibration_bo                                'Kalibrierung aktivieren/desaktivieren
    Sticksup_bo = 0                                         ' Setzbit zurücksetzen
    Speakeron = 1
    If Xy_calibration_bo = 1 Then                           'Falluntershceidung ob ein oder ausgeschaltet
      Speakerduration = 100                                 'Nils-Speaker   : jeder 100te takt wird gepiept
      Silenceduration = 100                                 'Nils-Speaker: Dauer der Stille
      Speakerbeeps = 2                                      'Nils-Speaker: Anzahl der Pieps 4=unendlich
    Else                                                    'Nils-Speaker: einschaltflag setzen
      Speakerduration = 50                                  'Nils-Speaker   : jeder 50te takt wird gepiept
      Silenceduration = 50                                  'Nils-Speaker: Dauer der Stille
      Speakerbeeps = 3                                      'Nils-Speaker: Anzahl der Pieps 4=unendlich
    End If
 End If

 If State > 0 Then                                          ' Acro oder Hover Mode ausgewählt
   If Sempf(5) > 0 And Sempf(throttlechannel) > 50 Then Switch_validation = 1       'Wenn größer als 0 (Acro) und Gas> 50 dann Kalibrierung scharf schalten   heir muss ich irgendwas einbauen damit ich nicht aus versehen was amche
   If Sempf(5) < -20 And Switch_validation = 1 And Xy_calibration_bo = 1 Then       'Betriebswahl auf Standbay ohne Gas wegzunehmen > Werte werden jetzt übernommen
     Xy_calibration_bo = 0
     Switch_validation = 0
     Modification = 1                                       'Es wurden werte gemessen
     For I = 1 To 19                                        '20 mal messen und Summe bilden
     Xacc_offset = Xacc_offset + Getadc(4)
     Yacc_offset = Yacc_offset + Getadc(5)
     Next
     Xacc_offset = Xacc_offset / 20                         'Mittelwert bilden
     Yacc_offset = Yacc_offset / 20
     Speakeron = 1                                          'Nils-Speaker: einschaltflag setzen
     Speakerduration = 100                                  'Nils-Speaker   : jeder 100te takt wird gepiept
     Silenceduration = 100                                  'Nils-Speaker: Dauer der Stille
     Speakerbeeps = 2                                       'Nils-Speaker: Anzahl der Pieps 4=unendlich
   End If
 End If

 If Modification = 1 Then                                   'Gemessene Werte stehen zur verfügung
  If State = 0 Then                                         'Betriebswahl auf Standby
   If Motors_on = 0 Then                                    'Motoren aus

    Var(23) = Xacc_offset - 384
    Var(24) = Yacc_offset - 384
    For I = 1 To 33
        Writeeeprom Var(i) , I                              'Werte ins EEPROM schreiben
    Next
    Do                                                      'Force RESET. Helps to know when eeprom is modified.
    Loop
   End If
  End If
 End If
'===Ende Offsetübernahme =========
Habe ich getestet und funktioniert. Jetzt gibts kein Versehentliches Neukalibrieren mehr.
Habt ihr Verbesserungsvorschläge?
Wer keinen Pieper hat einfach eine LED Routine einsetzen.

Den Code Lade ich morgen auf meinen Blog

Gruß
Nils