iNav Custom Build und Mixer

Jenny

Well-known member
Beiträge
103
Hallo,

gibt es irgendwo eine Anleitung zum Erstellen und vor allem zum Konfigurieren eigener Builds von iNav? Die Links, die ich gefunden habe, landen alle im Nirvana.

Ist es möglich, den Mixer etwas aufzubohren? Mir reichen die 16 Mixerregeln im Stable Release bei weitem nicht aus. Auch logische Bedingungen hätte ich gerne noch ein paar mehr.

Oder ist das vielleicht gar nicht nötig? Kann der Mixer mittlerweile mehr, in den Nicht-Stable-Versionen?

Schöne Grüße
Jenny
 

Jenny

Well-known member
Beiträge
103
Ich habe den Ehrgeiz, den kompletten Setup für meinen Full House Segler ausschließlich in iNav zu machen. Das heißt, von OTX sollen idealerweise nur Kanäle für die fünf Funktionen des Seglers gesendet werden, sowie ein Kanal für den iNav-Flugmodus und ein weiterer Kanal für meine eigenen Flugmodi. In letzterem packe ich auch noch den Zustand für Arm/Disarm dazu, denn wenn Disarm, dann kein Flug.

In OTX findet dann keinerlei Prozessierung jedweder Art statt, kein Mixing, keine Kurven, etc.

Mein Segler mit einem Motor, jeweils einem Servo für Höhenruder und Seitenruder und jeweils zwei Servos für Querruder und zwei Servos für Flaps wird also über nur sieben Kanäle gesteuert:

iNav Flight Mode
User Flight Mode + Disarm
A
E
T
R
F

Die User Flight Modes sind:
0 DISARMED
1 FullCrow
2 Flaps->Crow+FullWingAileron
3 Camber
4 Reflex

1 ist gedacht für Extremfälle, wenn einen die Gewitterwolke verschlingt und man einfach nur noch runter will. Die Flaps fahren per Slider bis ganz herunter, die Querruder bis komplett nach oben. Ob die Fluglage dadurch instabil wird oder das Flugzeug unsteuerbar, das ist mir dann erst mal egal, Hauptsache, es gibt eine Menge Turbulenz und Reibung. :giggle:
2 fährt mit einem Slider bis zur Hälfte die Flaps halb runter und geht dann weiter in ein immer noch per Querruder steuerbares, zunehmendes Crow-Breaking über, wobei die Flaps über den vollen Weg des Sliders beim quer Rudern mithelfen (FullWingAileron). 2 ist auch der normale Flugmodus, denn wenn der Slider ganz oben ist, dann sind auch die Flaps und die Querruder level und das Flugzeug verhält sich wie sonst auch, wenn es unvermixt ist.

Auch für 3 und 4 möchte ich die Auslenkung gerne per Slider einstellen können. Gehoben oder gesenkt werden jeweils sowohl die Flaps als auch die Querruder. 3 und 4 ist fertig gebaut und funktioniert hervorragend, allerdings verbrauche ich dazu bereits 18 von 16 verfügbaren Mixerregeln. Ein Teil der 18 Regeln wird auch für 1 und 2 benötigt werden, ein anderer Teil ist unumgänglich, beispielsweise die Regeln für Höhen- und Seitenruder im Normalbetrieb und das auf-null-Stellen der Flaps.

Wie 1 und 2 gebaut werden muss, weiß ich bereits. Andere Regeln kommen vermutlich noch hinzu, beispielsweise etwa Höhenruder runter wenn Flaps bzw. Crow gesetzt ist, oder Seitenruder schwach gegenläufig zum Querruder.

Damit sollte man dann in iNav jede Funktionalität uneingeschränkt nutzen können.

Leider stoße ich beim Bau auf eine Wand nach der anderen. Die finale Wand war jetzt die nirgends angezeigte Beschränkung auf 16 Mixer Rules.
 

Reinhard

Administrator
Teammitglied
Beiträge
263
Ich habe den Ehrgeiz, den kompletten Setup für meinen Full House Segler ausschließlich in iNav zu machen.
Ehrgeiz ist immer gut, aber wofür? Davon abgesehen, dass es m.E. so wie gedacht nicht umsetzbar ist, ist es sinnvoller die Hauptfunktionen auf der Funke zu haben und die Mixerregeln in iNav um dafür zu sorgen, dass sich iNav und Funke nichts ins Gehege kommen.

Primäres Ziel sollte es sein, dass der Segler auch nur mit der Funke geflogen werden kann. Sahnehäubchen wäre dann mit der FC RTH-/Waypoint-Funktionalität und Stabilisierung zusätzlich zu haben.
 

Jenny

Well-known member
Beiträge
103
Zuerst mal: Es ist umsetzbar, wenn genug Mixerregeln zur Verfügung stehen. Es hat mich zwar nächtelanges Nachdenken gekostet und war alles andere als trivial zu durchdenken, zumal kaum Informationen dazu zu finden sind und meines Wissens nach noch niemand den kompletten Setup hinbekommen hat (wie auch, mit nur so wenig Mixerregeln und mit so vielen Mauern). Aber jetzt wo es auf dem Papier steht ist es sehr einleuchtend und nachvollziehbar.

Vielleicht habe ich mich oben nicht klar genug ausgedrückt. Die Hauptfunktionen sind auf der "Funke": Ich habe Sticks für Ail, Ele, Thr und Rud, sowie ein Poti (LS an der Taranis X9D) für meine User Modes. Je nach User Mode regelt das Poti das Ausmaß von Camber bzw. Reflex, oder aber wie weit die Landeklappen heruntergefahren werden und anschließend, wie weit zusätzlich die Querruder hochkommen für Crow Breaking. Im einfachsten Fall wird User Mode 2 gesetzt, und wenn ich dann den LS oben lasse und den iNav Manual Mode wähle, dann fliegt sich das Ding wie wenn kein FC da wäre, aber mit allen Spezialfunktionen (User Modes) bei Bedarf zuschaltbar. Auch in den iNav Assisted Modes habe ich meine User Modes in vollem Umfang zur Verfügung. Dafür werden aber nur zwei Schalterkanäle (User Mode und iNav Mode), ein Reglerkanal (LS für Flaps/Crow von +100 bis -100) und jeweils ein Kanal für jede der vier anderen Stickfunktionen (Ail, Ele, Thr, Rud) übertragen. Die Auswertung und Umsetzung der insgesamt sieben Kanäle in die jeweiligen Funktionen erfolgt vollständig und ausschließlich in iNav's Mixer.

Nur mit der Funke fliegen können wirst Du vermutlich eher nicht, solange die Servos am FC mit iNav hängen. Ich denke das merkst Du beispielsweise dann, wenn es einen Brownout am FC gibt oder iNav sich aus irgendwelchen Gründen aufhängt.

Sinnvoller, die Mixerregeln in iNav zu haben ist es ebenfalls nicht wirklich, denn das ist ja genau das was ich habe. Wie oben beschrieben habe ich keine Mixerregeln in OTX - nicht mal eine einzige. Ich tue also genau das, wozu die Entwickler raten: Benutze nur den iNav Mixer, anstelle denjenigen von OTX. Schicke nur einen Kanal pro Funktion, anstatt einen pro Servo. Spätestens nachdem man alles durchdacht hat ist einem auch vollkommen klar warum. Allerdings ist einem dann auch entnervend klar, dass der iNav Mixer mehr als nur ein Bisschen restriktiv ist.

Ansonsten ist RTH für mich kein Sahnehäubchen, sondern mit Abstand der wichtigste Grund einen FC einzusetzen. Wenn es das nicht gäbe, würde ich darauf verzichten und lieber einen Stabilisator-Empfänger einsetzen. Ich habe sowieso festgestellt dass ich in der Thermik am liebsten im manuellen Mode bleibe, der ja fast wie ein Passthrough funktioniert, abgesehen von etwas Trimmung. Das primäre Ziel für mich ist es also, den Segler trotz (!) iNav und FC so fliegen zu können wie wenn nur die Funke da wäre. OTX ist nämlich eigentlich was wirklich Tolles und Geniales, und ich habe mir bei der Umsetzung tausende Male gedacht, "wenn ich nur OTX verwenden könnte!" :giggle:
 

Jenny

Well-known member
Beiträge
103
P.S. Ein Bisschen geschummelt habe ich noch: Momentan ist es im Mixer nicht möglich, einen Kanal mit einem absoluten Wert zu vergleichen. Um einen festen Wert auf ein Servo zu werfen muss also irgendwo eine Referenzzahl her. Diese übertrage ich derzeit in einem weiteren, achten Kanal als konstante "+100 %" und multipliziere sie dann bei Bedarf über das "Weight". 70 % entstehen also beispielsweise dynamisch aus (Referenzkanal) mal (Weight 70).

Ich hoffe aber, dass die Entwickler bald selbst merken dass noch Dinge fehlen, und vor allem implementieren:
  • Konstanten,
  • Arithmetik,
  • Kanalinhalt als Weight-Factor.
 

Jenny

Well-known member
Beiträge
103
Ich habe jetzt testweise in servos.h MAX_SERVO_RULES von (2 * MAX_SUPPORTED_SERVOS) auf (4 * MAX_SUPPORTED_SERVOS) = 32 erhöht.

Kompilieren tut es einwandfrei, das Flashen klappt prima, ich kann mich mit iNav Configurator mit dem Ding verbinden undauch den Mixer öffnen. Leider passiert aber immer noch nichts, wenn ich mit 16 bereits vorhandenen Rules versuche, eine neue Regel anzulegen. Ich vermute, dass auch beim Container irgendwelche Restriktionen vorliegen, die vielleicht sogar hart kodiert sind.

Ist das hier der richtige Ort, um deswegen nachzufragen?
 
Zuletzt bearbeitet:

Jenny

Well-known member
Beiträge
103
Momentan ist es im Mixer nicht möglich, einen Kanal mit einem absoluten Wert zu vergleichen.
Ist es doch. Als "Input" wählt man einfach "ONE" aus. In "Weight (%)" kann dann ein Wert in % eingegeben werden, der direkt als Konstante auf das Servo geworfen wird.

Damit kommt der 6-Klappen-1-Motorsegler wieder mit nur 7 Kanälen aus (AETRF, Schalter 1, Schalter 2).

Mit genau 32 Rules habe ich mittlerweile den Setup der User Flight Modes fertig. Leider reicht die Anzahl Regeln immer noch nicht, um weitere Regeln zu definieren, durch die das Leitwerk unterstützend wirksam werden kann, z.B. Höhenruder runter wenn Flaps runter, oder Seitenruder gegenläufig zum Querruder.

Paweł hatte geschrieben, dass im nächsten Milestone 16 Servos und 32 Regeln vorhanden sein werden. Ich werde ihn mal bitten, ob auch 64 Regeln möglich wären. Vielleicht lässt sich der Speicherplatz auch dynamisch allozieren.
 
Zuletzt bearbeitet:
Oben