# ══════════════════════════════════════════════════════════════ # BETAFLIGHT 2025.12 CLI-SKRIPT v6.0 — VOLLSTÄNDIGER DUMP # Flywoo Flylens 75 HD O4 2S — GOKU F405 BGA · ROBO 1003 (~1960KV) # TBS Crossfire Empfänger · DJI O4 Air Unit # Stand: Juni 2026 # Datenquelle: Vollständiger CLI-Diff-Dump (OK-AI-TEST-v0_3-latest_dump_all), # bestätigt identisch zur Konfiguration der 5 analysierten Chirp-Testflüge # (CLI-Dump + Blackbox-Log + CSV-Telemetrie aus vorherigen Analysen) # ══════════════════════════════════════════════════════════════ # # WICHTIGSTE ÄNDERUNG GEGENÜBER v5.0: VOLLSTÄNDIGER DUMP STATT DIFF # # v1.0 bis v5.0 enthielten nur die GEÄNDERTEN Werte (CLI-Diff). Das # funktioniert in der Praxis, setzt aber voraus, dass alle nicht # genannten Parameter bereits korrekt sind. Dieses v6.0-Skript enthält # ALLE tuning-relevanten Parameter explizit - sicher einspielbar auch # ohne Vorwissen über die Ausgangskonfiguration. # # RICHTIGGESTELLTE WERTE (Fehler aus früheren Versionen entdeckt durch # den Abgleich mit dem vollständigen Dump): # # - mixer_type: war fälschlich als QUADX angenommen (v1.0-v5.0), # tatsächlich LEGACY (Betaflight-interner Mixer-Modus-Name, technisch # identisch zu QUADX für eine X-Konfiguration - reine Namenskorrektur) # - dyn_notch_q: war in v1.0-v3.0-Dokumenten fälschlich als 350 # dokumentiert, korrekt ist 300 (jetzt durch ZWEI unabhängige Dumps # bestätigt) # - vbat_min_cell_voltage: war als 300 angenommen, real eingestellt # war 320 (etwas konservativerer Wert, näher am Original beibehalten) # - motor_idle: 2025.12 nutzt einen Rohwert (550), nicht mehr den # Prozentwert (5.5) aus älteren Betaflight-Versionen # - Raten-Konfiguration komplett anders als angenommen: tatsächlich # roll/pitch/yaw_rc_rate=5, roll/pitch_expo=55, yaw_expo=10, # roll/pitch/yaw_srate=25 (nicht die in v1.0-v5.0 empfohlenen 7/15/67) # # ══════════════════════════════════════════════════════════════ # 1. BOARD-AUSRICHTUNG (bestätigt korrekt, unverändert) # ══════════════════════════════════════════════════════════════ set align_board_roll = 0 set align_board_pitch = 0 set align_board_yaw = 0 # ══════════════════════════════════════════════════════════════ # 2. MIXER & EMPFÄNGER # ══════════════════════════════════════════════════════════════ set mixer_type = LEGACY set serialrx_provider = CRSF set rssi_channel = 0 # Korrektur: war OFF in der geflogenen Config, sollte für stabilere # Telemetrie ON sein (unverändert aus v4.0/v5.0-Empfehlung) set crsf_use_negotiated_baud = ON # ══════════════════════════════════════════════════════════════ # 3. PID-LOOP-GESCHWINDIGKEIT # ══════════════════════════════════════════════════════════════ # Korrektur: war 2 (effektiv nur ~2kHz statt möglicher 8kHz, durch # echte Zeitstempel-Analyse in der Telemetrie-Auswertung bestätigt) set pid_process_denom = 1 # ══════════════════════════════════════════════════════════════ # 4. MOTOR & ESC # ══════════════════════════════════════════════════════════════ set motor_pwm_protocol = DSHOT300 set dshot_bidir = ON set dshot_burst = AUTO set motor_poles = 12 set motor_idle = 550 # Korrektur: war 0 (deaktiviert), wichtig für 2S-Whoop-Stabilität set dyn_idle_min_rpm = 30 set dyn_idle_p_gain = 50 set dyn_idle_i_gain = 50 set dyn_idle_d_gain = 50 # ══════════════════════════════════════════════════════════════ # 5. RPM-FILTER (unverändert, bereits korrekt) # ══════════════════════════════════════════════════════════════ set rpm_filter_harmonics = 3 set rpm_filter_weights = 100,100,100 set rpm_filter_q = 450 set rpm_filter_min_hz = 100 set rpm_filter_fade_range_hz = 50 set rpm_filter_lpf_hz = 150 # ══════════════════════════════════════════════════════════════ # 6. DYNAMIC NOTCH (Korrektur: dyn_notch_q war fälschlich dokumentiert) # ══════════════════════════════════════════════════════════════ set dyn_notch_count = 1 set dyn_notch_q = 300 set dyn_notch_min_hz = 100 set dyn_notch_max_hz = 600 # ══════════════════════════════════════════════════════════════ # 7. GYRO-FILTER — Kernkorrektur aus v5.0 (FFT-Befund: 530Hz-Rauschpeak) # ══════════════════════════════════════════════════════════════ set gyro_lpf2_type = PT2 set gyro_lpf2_static_hz = 450 set gyro_lpf1_type = PT1 set gyro_lpf1_static_hz = 200 set gyro_lpf1_dyn_min_hz = 200 set gyro_lpf1_dyn_max_hz = 450 set gyro_lpf1_dyn_expo = 5 # ══════════════════════════════════════════════════════════════ # 8. D-TERM-FILTER (unverändert seit v5.0-Analyse — FFT zeigte # Chirp-Test-Artefakt statt echtes Filterproblem, keine Änderung) # ══════════════════════════════════════════════════════════════ set dterm_lpf1_type = PT1 set dterm_lpf1_static_hz = 105 set dterm_lpf1_dyn_min_hz = 85 set dterm_lpf1_dyn_max_hz = 150 set dterm_lpf1_dyn_expo = 5 set dterm_lpf2_type = PT1 set dterm_lpf2_static_hz = 150 # ══════════════════════════════════════════════════════════════ # 9. YAW-FILTERUNG (Korrektur aus v5.0: schwächste Achse in FFT) # ══════════════════════════════════════════════════════════════ set yaw_lpf_hz = 90 # ══════════════════════════════════════════════════════════════ # 10. PID-WERTE (unverändert seit v4.0/v5.0-Korrektur) # ══════════════════════════════════════════════════════════════ # # Tatsächlich geflogen war: P 45/47/45, FF 120/125/120 (extrem hoch # für diese Quad-Klasse). Korrigiert basierend auf echten Werks-CLI- # Dumps vergleichbarer 65-75mm-2S-Whoops (v3.0-Analyse). set p_pitch = 40 set i_pitch = 70 set d_pitch = 30 set f_pitch = 70 set p_roll = 38 set i_roll = 68 set d_roll = 27 set f_roll = 65 set p_yaw = 38 set i_yaw = 68 set d_yaw = 0 set f_yaw = 60 # ══════════════════════════════════════════════════════════════ # 11. D_MAX # ══════════════════════════════════════════════════════════════ set d_max_roll = 33 set d_max_pitch = 38 set d_max_yaw = 0 set d_max_gain = 30 set d_max_advance = 20 # ══════════════════════════════════════════════════════════════ # 12. FEEDFORWARD (größte PID-Korrektur seit v3.0) # ══════════════════════════════════════════════════════════════ set feedforward_transition = 0 set feedforward_averaging = 2_POINT set feedforward_smooth_factor = 35 set feedforward_jitter_factor = 7 set feedforward_boost = 12 set feedforward_max_rate_limit = 90 set feedforward_yaw_hold_gain = 15 set feedforward_yaw_hold_time = 100 # ══════════════════════════════════════════════════════════════ # 13. ANTI-GRAVITY & ITERM # ══════════════════════════════════════════════════════════════ set anti_gravity_gain = 80 set anti_gravity_cutoff_hz = 5 set anti_gravity_p_gain = 100 set iterm_relax = RP set iterm_relax_type = SETPOINT set iterm_relax_cutoff = 15 set iterm_windup = 80 # ══════════════════════════════════════════════════════════════ # 14. TPA (unverändert, bereits plausibel) # ══════════════════════════════════════════════════════════════ set tpa_mode = D set tpa_rate = 65 set tpa_breakpoint = 1350 set tpa_low_rate = 20 set tpa_low_breakpoint = 1050 set tpa_low_always = OFF # ══════════════════════════════════════════════════════════════ # 15. SIMPLIFIED TUNING (respektiert aktiven Modus, wie in v4.0 etabliert) # ══════════════════════════════════════════════════════════════ set simplified_pids_mode = RPY set simplified_master_multiplier = 90 set simplified_i_gain = 100 set simplified_d_gain = 100 set simplified_pi_gain = 100 set simplified_d_max_gain = 90 set simplified_feedforward_gain = 80 set simplified_pitch_d_gain = 100 set simplified_pitch_pi_gain = 100 set simplified_dterm_filter = ON set simplified_dterm_filter_multiplier = 100 set simplified_gyro_filter = ON set simplified_gyro_filter_multiplier = 100 # ══════════════════════════════════════════════════════════════ # 16. RATEN — KORRIGIERT (echte Werte stark abweichend von v1.0-v5.0!) # ══════════════════════════════════════════════════════════════ # # Die tatsächlich geflogenen Raten unterschieden sich deutlich von # allen bisherigen Empfehlungen in diesem Projekt. Da die Telemetrie # keine Hinweise auf Steuerungsprobleme zeigte (siehe v5.0-Analyse), # werden diese bewährten, tatsächlich geflogenen Werte übernommen: set rates_type = ACTUAL set roll_rc_rate = 5 set pitch_rc_rate = 5 set yaw_rc_rate = 5 set roll_expo = 55 set pitch_expo = 55 set yaw_expo = 10 set roll_srate = 25 set pitch_srate = 25 set yaw_srate = 25 set roll_rate_limit = 1998 set pitch_rate_limit = 1998 set yaw_rate_limit = 1998 set throttle_limit_type = SCALE set throttle_limit_percent = 85 set thr_mid = 25 set thr_expo = 100 # ══════════════════════════════════════════════════════════════ # 17. AKKU (2S) — Korrektur: realer Wert war 320, nicht 300 # ══════════════════════════════════════════════════════════════ set vbat_min_cell_voltage = 320 set vbat_warning_cell_voltage = 350 set vbat_max_cell_voltage = 440 save # ══════════════════════════════════════════════════════════════ # ZUSAMMENFASSUNG: WAS WURDE GEÄNDERT, WAS BLEIBT WIE GEFLOGEN? # # GEÄNDERT (gegenüber dem tatsächlich geflogenen Zustand): # - PID/Feedforward deutlich reduziert (P -7..-9, FF -50..-65) # - Gyro-Filter verstärkt (530Hz-Peak-Korrektur aus FFT-Analyse) # - Yaw-Filter verstärkt (schwächste Achse laut FFT) # - pid_process_denom auf volle Geschwindigkeit (1 statt 2) # - dyn_idle aktiviert (war komplett aus) # - crsf_use_negotiated_baud aktiviert (war aus) # - Simplified-Tuning-Multiplikatoren leicht reduziert # # BEWUSST UNVERÄNDERT (tatsächlich geflogene Werte übernommen, da # Telemetrie keine Probleme zeigte): # - Alle Raten (rc_rate, expo, srate) - exakt wie geflogen # - D-Term-Filter - FFT zeigte kein eigenständiges Problem # - RPM-Filter, Dynamic Notch - bereits sinnvoll konfiguriert # - TPA-Werte - bereits plausibel # ══════════════════════════════════════════════════════════════