Der Betaflight Configurator bietet ab der Firmwareversion 4.3 Presets, aber was verbirgt sich nun genau hinter diesen Voreinstellungen? Schon in den Vorgängerversionen von Betaflight 4.3 wurden für die Grundeinstellungen Vorschläge für ein Grundsetup empfohlen. Ob Racing-Pilot, Freestyler, Cinematic-Pilot oder auch für Whoops wurden auf dem Github-Server (leider etwas versteckt) CLI-Befehle für ein Setup bereitgestellt. Snippets wurden in Foren verteilt oder per PDF weitergereicht. Leider etwas umständlich, leider nur eine begrenzte Auswahl.
In der aktuellen Version des Betaflight Configurators kann der Anwender über einen neuen Tab aus einer Vielzahl von Presets auswählen und sich die Konfiguration direkt auf seinen FC downloaden. Presets zu nutzen ist aber kein Selbstläufer, ihr solltet immer überlegen ob das gewählte Preset tatsächlich auch das ist was ihr euch vorstellt. Einfach irgendwas zu installieren ohne sich Gedanken darüber zu machen, was eigentlich konfiguriert wird, kann nach hinten losgehen.
Was ist ein Preset genau? #
Presets werden von erfahrenen Piloten erstellt und von den Entwicklern geprüft. Sie sind im Prinzip eine Reihe von CLI-Befehlen und je nachdem was der Entwickler des Presets beabsichtigt, werden verschiedene Einstellungen vorgenommen. Einige Presets passen die Einstellungen an eure verwendete Hardware an, andere stellen das OSD ein, die nächsten Rates… Die Möglichkeiten sind endlos.
Hier ein Beispiel (gekürzt) für ein Preset (=> ExpressLRS auf diverse RC-Link Frequenzen gesetzt werden kann):
---snip---
#$ INCLUDE: presets/4.3/rc_link/defaults.txt
# basic requirements for ExpressLRS
feature RX_SERIAL
set serialrx_provider = CRSF
# 250hz default settings in case no-one selects a tuning option
set feedforward_averaging = 2_POINT
set feedforward_smooth_factor = 45
set feedforward_jitter_factor = 6
#$ OPTION_GROUP BEGIN: Fine-tuning...
# sharp handling for racing:
#$ OPTION BEGIN (UNCHECKED): Racing (25 of auto RC smoothing = 140hz RC smoothing)
set feedforward_smooth_factor = 35
set feedforward_jitter_factor = 4
set feedforward_boost = 18
set rc_smoothing_auto_factor = 25
set rc_smoothing_auto_factor_throttle = 25
#$ OPTION END
---snap -----------
Mehrere Dinge die einem auffallen
- Es sind nicht einfach nur CLI-Befehle, sondern für Preset-Entwickler gibt es neue Möglichkeiten ein Preset zu konfigurieren (
$INCLUDE; $OPTION, ...)
und um dem Anwender Optionen zu ermöglichen. - Der Preset-Entwickler setzt hier exakt die notwendigen CLI-Befehele die für das angedachte Preset notwendig sind. Hier z.B.
feedforward_xxxx
Einstellungen die für ein ExpressLRS sinnvoll sind
Hier ein Beispiel (gekürzt) was Pflichtbestandteile für ein Preset sind. Daran erkennt man, dass es sich hier nicht um einfach aneinander gereihte CLI-Befehle handelt. Die mit $DESCRIPTION
angegebenen Informationen werden uns als User auch angezeigt. Die ersten 6 Angaben dienen auch für die Kategorisierung und für die Suche. Mit einer $INCLUDE
Anweisung können andere Presets inzugefügt werden. (Häufig ein Rücksitzen auf Default-Werte). (Bitte beachten die ...
sind von mir eingefügt worden um das Ganze auf wesentliche Teile zu kürzen!
#$ TITLE: UAV Tech - 5in (~630g AUW)
#$ FIRMWARE_VERSION: 4.3
#$ CATEGORY: TUNE
#$ STATUS: EXPERIMENTAL
#$ KEYWORDS: 4S, 6S, 5in, 5", freestyle
#$ AUTHOR: UAV Tech (Mark Spatz)
#$ PARSER: MARKED
#$ DESCRIPTION: I am a Betaflight contributor, Youtube content creator, and professional tuner [www.theuavtech.com](https://www.theuavtech.com)
#$ DESCRIPTION:
...
#$ DESCRIPTION: Information:
#$ DESCRIPTION: -----------
#$ DESCRIPTION: Base tune for a 5in quad with HD camera, approximate weight 630 grams. This tune is good for 4S or 6S batteries.
#$ DESCRIPTION: The base preset assume you have your ESC set to 24K PWM (default). If you are on 48K+, click the option above.
...
#$ DESCRIPTION:
#$ DESCRIPTION: Options (click for video):
#$ DESCRIPTION: -----------
#$ DESCRIPTION: - [48K ESC PWM](https://youtu.be/v3806Incpvo)
#$ DESCRIPTION: - [RPM Filter](https://youtu.be/ve_TNB0D87U)
#$ DESCRIPTION: - [Dynamic Idle](https://youtu.be/2Mr-AP7K8YE)
#$ DESCRIPTION:
#$ WARNING: **DO NOT** select the RPM Filter option unless your ESCs support DSHOT and Bi-Directional Communication. If you are unsure, HIT CANCEL and de-select that option, OTHERWISE it can spin up motors even before you arm your quad!!!
#$ DISCUSSION: https://github.com/betaflight/firmware-presets/pull/201
#$ INCLUDE: presets/4.3/tune/defaults.txt
#$ INCLUDE: presets/4.3/filters/defaults.txt
.
Wie nutzt man ein Preset? #
Öffne den Betaflight Configurator und wechsle in den Tab „Presets“
Starten wir mit den Buttons oben rechts.
Backup speichern / Backup laden #
Die ersten beiden sind selbsterklärend – ABER in der aktuellen Version des Konfiurators (RC3) kann sporadisch ein Fehler auftreten, der dazu führt, das leider keine vollständige Backupdaten erstellt werden. Ihr solltet bis auf Weiteres grundsätzlich prüfen ob Eure Backup-Datei auch vollständig sind. Man kann auch wie früher den CLI Befehl diff all
nutzen. (Nachtrag 06.04: wir konnten den Fehler fixen, mit RC4 wird er ausgeliefert.)
Bevor ihr ein Preset installiert – IMMER ein Backup durchführen. Installierte Presets können nicht deinstalliert werden.
Ein altes Backup wieder zurückspielen kann über den Button Backup laden
in den FC geladen werden.
Preset Quellen #
Hier sind die Quellen erfasst, die für ein Download der Presets vordefiniert wurden. Es besteht die Möglichkeit auch eigene Quellen hinzufügen. Seid vorsichtig hier unbekannte Quellen die irgendwie im Internet bereitgestellt werden zu nutzen, dies kann zu schwerwiegenden Fehlfunktionen führen. Bei Presets muss man dem Autor vertrauen.
Nehmen wir an, ihr nutzt auf mehreren eurer Copter grundsätzlich immer die gleichen OSD-Einstellungen, den gleichen vTX und wollt alle Copter auf dem gleichen vTX-Band und Channel einstellen. Schon heute machbar aber in den älteren Versionen aber etwas mühsam. Mit Presets könnt ihr Euch das Leben etwas vereinfachen. Speichert euch eure wichtigen Konfigurationsparameter in einer separaten Datei, speichert die in der Cloud und richtet anschließend im Konfigurator eine neue Quelle – und zack seid ihr zu einem Preset-Developer geworden 🙂 <– Naja, fast.
Ich nutze diese Funktion um die Basiseinrichtung an meinen Coptern durchzuführen. Hierunter fallen folgende Bereiche: OSD, RATES, AUX, ADIRANGE, MAP, BEACON, BEEPER, FEATURE.
Lade ich diese, ist mein Copter binnen einer Minute grundkonfiguriert. Alle Schalterbelegungen, das OSD Display usw. ist erst einmal überall gleich.
Sämtliche PID & Filter & sonstige Tuning-Einstellungen stehen auf Stock und werden individuell pro Copter eingestellt.
Wichtig ist, man kann NICHT auf sein lokales Laufwerk auf seinem Rechner zugreifen – ausschließlich eine URL (Webadresse) ist möglich. Der Aktivieren Button signalisiert, das nun Presets NUR von dieser Quelle angezeigt und geladen werden können.
Definitiv kann das eine Erleichterung für Euch sein.
Installation eines Presets #
Die Installation eines Presets sind kinderleicht. Der Konfigurator stellt dir Filter zur Verfügung die die Suche nach geeigneten Presets deutlich erleichtern.
Die Filter-Auswahlmöglichkeiten sind selbsterklärend.
Zusätzlich kann man auch per Suchbegriff bestimmte Presets suchen. Nachfolgend ein Beispiel zur Suche nach „Default“ Presets
Zum Thema Auswahl von Presets nach Status.
Official-Presets: sind von Betaflight Developers entwickelte und geprüfte Presets, sicher und zu empfehlen
Community: Von erfahrenen Piloten, die aber keine Entwickler sind. Sicher.
Experimental: diese Presets funktionieren nicht auf jedem Quadcopter. Vorsicht.
Bedenkt, das z.B. ein Tuning-Preset nicht nur Tuning-Parameter (aus dem PID-Tab) anpassen kann sondern auch Filter oder andere Parameter. Klickt nun auf das entsprechende Preset, welches euch interessiert und dann öffnet sich nachfolgendes Fenster
In der Regel beschreibt der Preset-Developer, was er mit diesem Preset beabsichtigt (in der Regel immer in Englisch). Im Auswahlfeld Optionen
kann es durchaus sein, das der Preset-Developer unterschiedliche Konfigurationsarten definiert hat. Hier bitte prüfen, was für euch relevant ist.
Ein sehr nützliches Preset ist dieses hier
Mit diesem Preset kann man bis zu 40 diverse Einstellungen entweder komplett oder einzeln zurück setzen. Das ist sehr geschickt und hilfreich.
Über die Button am unteren Rand kann man nun sich über CLI anzeigen
alle Befehle anzeigen lassen die dieses Preset verändert wird. Mit Auswählen
wird nun das Preset markiert und das Fenster wird geschlossen und erscheint (ggf. erscheint eine Warnung/Hinweis).
Sobald man nun Akzeptieren
klickt wird das Preset markiert, das Fenster geschlossen und das Preset erhält einen grünen Rahmen. Ist man sich unsicher mit Abbrechen
den Dialog verlassen. Sobald ihr nun Speichern und Neustarten
wird nun das Preset geladen und der FC neu gestartet.
Kann man mehrere Presets laden? #
Das kommt darauf an, welche Presets man nun miteinander kombinieren möchte. Tuning & OSD – das sollte kein Problem sein. Gleiches für Tuning & vTX, usw. Problematisch kann es z.B. bei Tuning & Tuning geben – hier werden nun zwei unterschiedliche Tunig-Presets kombiniert. Jedoch können sich Einstellungen im Tuning und im RC-Links gegenseitig überschreiben. Meist gilt: Presets unterschiedlicher Kategorie sollten keine Probleme bereiten – Vorsichtig ist die „Mutter der Porzellan-Kiste“ schaut Euch definitiv die Presets vorher an.
Presets gleicher Kategorie sollte man nur bedingt kombinieren – hier gilt du solltest genau wissen was du tust und prüfen was das jeweilige Preset tatsächlich einstellt. Die meisten Presets setzen im ersten Schritte alle Werte auf Default und beginnen dann die Werte zu verändern, die eingestellt werden sollen. Presets sind additiv und ersetzend/überschreibend, das heißt der zweite gespeicherte Preset überschreibt gegebenfalls den Wert des ersten Presets.
Presets folgen vier fundamentalen Regeln:
- Ersetzen und direktes überschreiben mehrere Werte. PID-Values, Parameter die von den defaults abweichen
- Werte OFF schalten, so können z.B. Filter komplett auf OFF geschaltet werden.
- Werte ignorieren, die für das Preset irrelevant sind
- Auswahlmöglichkeiten (Checkbox), einige Presets bieten die Möglichkeit unterschiedliche Konfigurationen durchzuführen. Z.B. Freestyle-Setup mit und ohne HD-Cam oder 4S oder 6S
Was passiert wenn ich inkompatible Presets nutze? #
Um darzustellen was passiert, wenn nun zwei Tuning-Presets versucht werden zu laden, nachfolgend ein Beispiel. Hier wird versucht das SupaflyFPV Freestyle Preset mit einem RacingPreset zu laden. Idee ich möchte einen sehr agilen Freestyl-Copter haben. Im Anschluß zeige ich Euch wie sich die unterschiedlichen Dumps unterscheiden und was passiert ist.
Nach dem dieses Preset geladen wurde, wird versucht dieses Tuning-Preset zu laden
Vergleich meines Stock-Presets mit SupaFly:
Vergleich StockPreset & ctzsnooze:
Auf den ersten Blick sieht man schon Differenzen im Vergleich zum vorherigen Preset. Insbesondere betrachten wir mal den PID Controller (also alles mit xxxx_pitch, yyyy_roll, zzzz_yaw. Alleine hier sieht man große Differenzen. Wir betrachten aber auch die simplified_xxxxx Werte.
Nun der Vergleich supafly vs MIX
links SupaFly – rechts der Mix
Ups, plötzlich ist feedforward_averaging
als 2-Punkt Mittelung gesetzt und der feedforwarding_smooth_factor
ist von 25 auf 40 – das ist sicherlich nicht im Sinne des SupaFly Tuning-Ansatzes.
Schauen wir den Vergleich ctzsnos vs Mix uns an: Und dieser Vergleich ist jetzt schon krass. Für ein Race-Tune könnte dies in einer Katastrophe enden.
Fazit – PresetMix bei gleicher Kategorie: Für mich persönlich ein NoGo – und wenn schauen ich mir vorher exakt an, was die jeweiligen Presets eigentlich machen.
Mit Presets tunen #
Wird im Tuning-Guide an entsprechender Stelle abgehandelt.
Autor: LunaX