MobiFlight Community Support

Welcome to the forum for MobiFlight! Feel free to reach out to the community in case you have questions, issues or just want to share great ideas or details about your latest home cockpit project.

You like MobiFlight? Donate via PayPal and support the MobiFlight development. Thanks! 

05/03/2024 - This forum is read-only

The community support for MobiFlight has moved exclusively over to our Discord server. Register for free and enjoy more interactive functions like image and video upload, voice chat. More than 7,000 registered users around the world make it a great experience!

See you on our MobiFlight Community Discord server.

A HUGE Thank You to everyone who participated in the forum, especially obviously to Pizman and Stephan who did an outstanding job over so many years providing an incredible service to the MobiFlight community.

The forum is still providing a lot of good content, hence we keep this information accessible.

icon
Avatar
aeromax
Posts: 252
Supporter
Transform / Interpolation

Preset Radios - NAV1 GS Needle
Offset 0x0C49 Int 1, 0xFF
Transform $

Vertikaler Einbau, im Instrument, d.h. Needle / Bar, von oben = 0 nach, Mitte= Center, nach unten, max.
Gleitpfad ILS.

Ohne Änderung des Transform; wie o.a. im Preset, ergeben sich jedoch folgende Ausgabewerte:

Wert: 138, in diesem Fall 0 (Oben)

nach „unten“

Wert: 245, in diesem Fall —Center—

0 folgt sogleich at next, d.h. die Nadel verschwindet nach oben null

Wert: 251 und kommt wieder runter (ist natürlich irreführend und auch nicht „real“)

bis

Wert: 119 full down

und umgekehrt.

Die Zwischenschritte sind für eine Interpolation ungeeignet, da nahezu alle Steps z.B. 2, 5, 10, 20, 186, 179, 41, 36, 221 usw. gänzlich aufgeführt/ eingetragen werden müssten.

Beim VOR, Needle, z.B. wurden Werte von -127 up to +127 verwendet, welche horizontal, von über nach funktionieren. (L,C,R and Return)

Nun die Frage:

Lässt sich dieses oben angeführte GlideSlope Needle Preset mittels Transform auf „vernünftige Werte“ von z.B.:

0 bis 255

(0=0; 127=Center; 255 Full down)

„umbauen“, um es dann, wenn nötig, mittels Interpolation auf exakte Ausgabewerte (Anzeiger) zu modifizieren?

:)
Life is Good When You Find What You are Looking For!
2021-02-21 19:05
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
Signed/Unsigned Problem wie immer bei den alten FSUIPC Systemen.

1 Byte Unsigned = 0 bis 255 1 Byte Signed= -128 bis +127

Einfach den Swap umrechnen.... Wenn Wert >127 DANN Wert - 255
Transform: if($>127,$-255,$)

Das Ergebnis solte jetzt -119 bis +119 sein wie im Offset beschrieben.


Nun stellt sich die Frage ob der Servo das packt.... Also mit Minus Werten zu arbeiten ( Stepper können es wohl.... Bei Servos bin ich nicht sicher. )

Falls es geht.... Servo Settings: MIN -119 MAX +119

Falls es nicht geht musst du einen Compare dazu machen oder den Transform umbauen.
Compare Wenn Wert =1 Dann $+119 Sonst $+119
Oder eben im Transform if($>127,$-136,$+119)

Dadurch wird der Wert aus -119 bis +119 zu 0 bis 238
Also Dann Servo Setting MIN 0 MAX 238
Good Luck !
2021-02-22 17:51
Avatar
aeromax
Posts: 252
Supporter
Hawedehre..

Danke P... , hatte das mit dem signed unsigned auf dem Radar aber die Ausgaben waren mir „völlig neu“ und das auf einmal unmittelbar zu 245 zumindest was ich auf die schnelle , da nur im „Live-Flug“ feststellen konnte, die 0 auftauchte machte mich stutzig,..hatte mir hierzu bez. compare auch schon etwas rausgeschrieben..leider aktuell nicht vor Ort...aber hilft mir weiter...muss hier mehr Zeit investieren...aber der Umbau frisst schon Zeit ohne Ende...

thx
pfüagod
Life is Good When You Find What You are Looking For!
2021-02-22 19:55
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
Servus Max.

Hier war dein Fehler.... Du hast "gepfuscht" .
iconaeromax:


und das auf einmal unmittelbar zu 245 zumindest was ich auf die schnelle , da nur im „Live-Flug“ feststellen konnte, die 0 auftauchte machte mich stutzig,..



Ich hab jetzt mal schnell ein Mega angesteckt und das im P3D probiert.... Denn "245" ergibt tatsächlich keinerlei Sinn und wäre ein echtes Rätsel gewesen das ich selber ergründen hätte müssen.

Mein Test war "sauber". Standardflugzeug in EDDM München. ILS eingestellt auf NAV1 .... Deinen Preset verwendet Ohne irgendwelche Transforms.
Dann aber nicht einfach geflogen sondern mit der "Y" Verstellung das Flugzeug auf ein ca. 300 Ft über Grund gestellt ( F3) und im anschluss mit Vor/Zurück (NUM 8 NUM 2 ) das Flugzeug so von der Runway entfernt das es Perfekt im Glidescope ist. ( Ausgabewert "0" )

Und siehe da.... Deine 245 stimmen nicht.... Es sind wie zu erwarten 255 ( Entweder hattest du einen Zahlendreher oder aufgrund des Live Flugs schlicht eine zu schnelle Änderung gemacht)

Wenn du nun in dieser Situation mit Vor/Zurück das Flugzeug ganz langsam bewegst (Meterweise) wirst du sehen......
Der Offset geht von 0 aufwärts bis zu 119 .... Oder er geht von 0 abwärts ( wie zu erwarten) auf 255 und dann eben 254,253,252,251 bis er schließlich bei 138 ankommt.

********
Dieser Test hat mir aber auch gezeigt, das ich selber bei der Formel die ich dir gab gepfuscht habe.... Und lustigerweise das auch Pete Dowson in FSUIPC gepfuscht hat !

Mein Fehler: HAtte einen Rechenfehler... Man darf nicht mit 255 rechnen sondern man braucht natürlch 256.
Somit:
Transform für -118 bis +119 = if($>128,$-256,$)
Tranform für positive Werte : if($>127,$-138,$+119) Dadurch ergibt sich ein Wert von 0 ( Full Up) zu 119 (Center) zu 238 (Full Down)

Pete Dowsons Fehler:
iconQuote:

0C49 1 NAV1 Glideslope Needle: –119 up to +119 down


Stimmt nicht.... Der Wert geht tatsächlich nur von -118 bis +119 !

*******

Die Moral von der Geschicht... Sauber Testen schadet nicht :thumbup: :P
Good Luck !
2021-02-23 07:19
Avatar
aeromax
Posts: 252
Supporter
Griaßdi

Thx

Ja läuft „soweit“...aber,...

...ja hatte das schon gesehen mit der 255/ 256. Kein Problem. Hatte das zeitl. bedingt den ILS noch kurz getestet. Muss bezogen auf den ILS Anzeiger (ist eine „Wippe“ up/dwn) hier eine Interpolation einfügen.

Kurz:

Kein Signal also OFF = FSUIPC 119, muss den aber auf null setzen. Das Problem, dass genau die 119 im weiteren Verlauf im Centerbereich folgt, sprich die Wippe saust rauf auf 0 ist klar und wieder in die Mitte. Lass ich dieses weg und das Signal ist OFF, bleibt die Wippe folglich in der Mitte hängen. (da zugl. 119 bzw 120 = 15 = Center ist)

Benötigte Werte des Motors:

0 = OFF No Signal Full Up

6 = Mark. ganz oben Signal

15 = Center

24 = Full Down

Der Transform bzw Precondition bzw Interpolation führt dazu, dass ich beim BAT/OFF zgl No SIGNAL z.B. 119 habe, welcher nochmals im Bereich Center auftaucht. Mit Erreichen des Wertes donnert die Wippe rauf und runter.

Schaue mir morgen deine geniale Ausführung mit LiveTestung an.

Des ois wird scho
Servus

Ob ich es noch aus dem Kopf hinbekomme:

iconQuote:

Tranform für positive Werte : if($>127,$-138,$+119) Dadurch ergibt sich ein Wert von 0 ( Full Up) zu 119 (Center) zu 238 (Full Down)



Der Transform ohne Precond, ohne Interpolation,
- FSUIPC Wert = 0, Output/Wert = 119,

- FSUIPC Wert = 119, Output/Wert = 238 (ILS full dwn)

Interpolation 119 = 0, Output-Wert = 0 (119)

Funktioniert, bis auf das mich die 119 im Centerbereich erneut erwartet und folglich die ILS bar nach oben (119=0) abhaut und wieder runter fährt... (da 120 = 15)


Werte von“0-255“ mit 128 = Center
im Transform: if($>127,$-128,$+128)
Up = 0 ; Center = 128 ; Down = 255

Folgt auch die Doppelbelegung insofern ich die Interpolation mache...so mal ausm Kopf...

...das ist eigentlich das, was mir beim „Schnelldurchlauf“ noch aufgefallen war....ja die liebe Zeit.... „Manchmal hilft auch Augen auf beim Eierkauf“
:P :lol:
[Last edited by aeromax, 2021-02-24 20:40]
Life is Good When You Find What You are Looking For!
2021-02-24 19:25
Avatar
aeromax
Posts: 252
Supporter
Habe es nochmal live getestet mit folgendem Ergebnis:

- nach wie vor das Problem mit OFF / no Signal wenn der Transform wie folgt gesetzt wird:

Transform: if($>127,$-138,$+119)
Werte mit o.a. Transform: 0 bis 238
Funktioniert nicht, weil 0 nicht 0, sondern Wert „1“ ist.
Funktion BAT/OFF noSignal nicht realisierbar.

Mit Interpolation und if($>128,$-256,$) funktioniert es. Feinabstimmung nötig aber läuft.

ABER auch hier der Wert 0 zweimal vorhanden! OFF und von Center -6 Übergang nach dwn unmittelbar folgend ....also das Problem besteht nach wie vor.

Heißt, lässt man es so, verschwindet die ILS unmittelbar nach erreichen Center nach oben 0 = OFF und saust sogleich wieder runter. Einen derartigen stabilen Anflug zu halten ohne das die Bar (mit Erreichen 0) nicht ewig hoch und mittig fährt, schier unmöglich. Was geht, durch 0 setzen, hieße aber bei OFF noSignal, Bar saust in die Mitte oder man hat sie am ersten Dot. Mit Realität wenig zu tun.
[Last edited by aeromax, 2021-02-28 16:38]
Life is Good When You Find What You are Looking For!
2021-02-28 14:42
Avatar
aeromax
Posts: 252
Supporter
Also scheint tatsächlich so NICHT zu funktionieren!!

Ständig DOPPELTE AUSGABE.

Ganz egal welchen Transform man auch nutzt, mit BAT OFF oder NoSignal = OFF

Kollidiert dieser Wert immer mit dem gleichen Wert im Center-Bereich!!

Wenn BAT OFF; Ausgabe = 0 oder 127, 119, 138
ganz egal... (unabhängig ob man es per Interpolation auf die Anzeige konfiguriert)

Kommt dieser Wert unweigerlich im
Center-Bereich erneut!!

Heißt, taucht hier wieder auf = 0 oder 127, 119, 138

Heißt auch, wenn BAT OFF = 0
donnert die Bar des ILS GS in der Mitte und verschwindet folglich nicht nach oben wo sie eigentlich hingehört, nämlich aus dem Sichtbereich. Bzw. während des Anflugs (mit Erreichen 0) hoch und runter!

Ohne BAT OFF / NoSIGNAL würde es gehen..was aber ...ist.

Das ist so natürlich überhaupt nix!
[Last edited by aeromax, 2021-03-01 17:08]
Life is Good When You Find What You are Looking For!
2021-03-01 16:56
Avatar
aeromax
Posts: 252
Supporter
Einfach erklärt:

————————
0 = BAT OFF / oder NoSignal = Full Up

138 Up
.
.
245 Center
0 Center / Full Up
.
.
119 Full Down
———-

0 = Full Up und Center zugleich (doppelt)

———————-

Keine Ahnung, ob man hier das Full Up anders „belegen kann“ ein anderer Transform ändert zzt das Problem leider nicht.
Life is Good When You Find What You are Looking For!
2021-03-02 13:15
Avatar
aeromax
Posts: 252
Supporter
Hab’s aufgegeben, :scared:

habe das 1 Byte unsigned Offset- das entsprechende Offset 0x0C49 Int 1, 0xFF rausgeschmissen.

Und :P

das 4 Byte FLOAT32 0xFFFFFFFF mit dem Offset 0x2AB0 hergenommen und über einen Transform und der Interpolation exakt eingestellt.

Also läuft. Das andere war mir dann doch zu aufwändig!
Life is Good When You Find What You are Looking For!
2021-03-02 17:50
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
Nimms mir nicht übel.... Aber obwohl ich mich seit jahren mit MF beschäftige und schon behaupten kann das ich weis was ich tue.....
Ich hab mir die 3 Posdtings jetzt mehrmals durchgelesen und keinen millimeter verstanden was du da für einen Stuss zusammenbaust.

Du denkst massiv zu kompliziert.... Machst dann einen Fehler.... Aber anstatt zurück zu gehen und es anders zu lösen baust du was neues um den Fehler zu beheben. Das verursachat dadurch den nächsten Fehler und und und.

Warum sollte man heir eine Interpolation benutzen. Lineare Gauge. Völliger Unsinn !

****************

Ganz einfach erklärt:

Die Gauge wie ich es getestet habe funktioniert perfekt solange ein ILS aktiv ist bzw Battery ON ist.
Wenn du nun eine andere Situation hast und der Motor etwas tun soll was nicht dieser "norm" entspricht dann nutzt man nicht interpolation und pfuscht nicht an den Werten rum die ja bereits funktionieren..... Sondern man verändert den Wert SO das er das tut was man braucht. Man gaukelt der Gauge also vor das sie einen Aktiven Gleitpfad "hätte" damit sie in Center Pos bleibt.

Angenommen du willst das die Nadel in Center Position ist ( Mit meiner Formel wäre das 119.)

iconQuote:

Tranform für positive Werte : if($>127,$-138,$+119) Dadurch ergibt sich ein Wert von 0 ( Full Up) zu 119 (Center) zu 238 (Full Down)



*****
In dem Fall verwendet man den Indicator in die Formel (Placeholder) ODER man benutzt 2 Configs und macht eine Precondition.

Lösung mit 2 Configs:
Du liest zuerst den Batteryswitch bzw die ILS Allive Offsets damit du die Indikation hast.... Also WANN soll deine Gauge den Gleitpfad zeigen und wann soll sie Stur auf Center sein.
Mit 2 Configs arbeitet EINE so wie erklärt.... die Andere benutzt die selben Servo Settings und hat als Transform schlicht "119" was CENTER entspricht .
Also die 2 Config wenn aktiv hat immer den Wert 119.... Also die Nadel ist immer auf Center.
Preconditions..... Config 1 arbeitet Wenn Bat Switch =1 AND ILS ist Active..... Config 2 Arbeitet wennn Bat Switch =0 OR ILS=0

Mit Placeholdern.... Bat switch = A , ILS Alive = B
Formel: if(a=0||b=0,119,if($>127,$-138,$+119))
Also wenn Batswitch OFF ist ODER kein ILS da ist DANN setzte Wert auf 119.... SONST ( Also wenn ILS Active ist und Bat an ist) dann verwende besagte Formel für den Gleitpfad.
Good Luck !
2021-03-04 15:48
Avatar
aeromax
Posts: 252
Supporter
Danke für den Stuss!

Gestatte mir noch eine Frage:

Die Ausgaben wären dann definitely, weil linear, für:

Full up = 0
Center = 119
Full Down = 238

Die nach deiner Beschreibung entsprechend so verbleiben, ist das so?
Life is Good When You Find What You are Looking For!
2021-03-04 17:58
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
Der Stuss war nicht böse gemeint.... Ich wollte nur sagen das du einfach so extrem Kompliziert arbeitest.

Mit besagter Formel haben wir eine Gauge Range von 0-238 ( Full Up bis Full down mit Center in der Mitte bei 119 )
*****

Natürlich kann ich anhand deiner erklärung nicht wissen was nun mit den Offset passiert wenn du z.b. Battery Off hast oder wenn du kein ILS hast. Auch weis ich nicht als Boeing737 flieger was deine Nadel machen soll.... Muss diese hinter eine Blende ( unten oder oben) veschwinden..... Oder soll diese schlicht bei "center" stehen wenn kein ILS da ist ??

Ich wollte damit nur sagen das dein ganzer text wenig Sinn ergibt. Sag einfach genau WAS soll die Nadel machen wenn Battery OFF ist bzw was soll sie machen wenn Battery ON ist aber kein ILS da ist..... Was sie am Ende macht bei Battery ON Udn ILS active ist ja bereits geklärt uind sollte klappen.

In deinen mittleren Posting schreibst du ....

iconQuote:

Benötigte Werte des Motors:
0 = OFF No Signal Full Up
6 = Mark. ganz oben Signal
15 = Center
24 = Full Down



Hier ergibt es gar keinen Sinn warum du wieder mit 0-24 arbeitest wenn der Offset schon 0-238 ist. Sicherlich hast du wieder mit interpolation gespielt.

Verstehe ich dich richtig das du willst, das die Nadel bei Battery OFF bzw NO ILS oberhalb der Full UP Position ist ?
Good Luck !
2021-03-04 20:35
Avatar
aeromax
Posts: 252
Supporter
Gebe Dir hier insoweit recht mit der in punkto erwähnten Undurchsichtigkeit und in Unkenntnis des eigentlichen Instruments.

Ferner bin ich insgesamt mehr mit recht vielen Umbauten beschäftigt und weniger mit den individuellen manuellen Einstellungen im MFC (da hier nämlich zu 99 %) alles inkl. SIOC läuft. Zumal aufgrund von Örtlichkeiten es zeitlich dann nur sporadisch passt um es live zu testen.

Nun zur eigentlichen Sache! Reales Instrument.

- HSI mit ILS Wippe welche von oben nach unten fährt und den GS / ILS beidseitig anzeigt.

- Bei BAT/OFF noSignal verschwindet diese nach oben hinter die Blende - nicht mehr zu sehen - somit Wert 0.

- Aufgrund der Einbausituation (da reales Instrument) wurde ein x27 Stepper verbaut.

- Hier sind die Ausgabe-Werte von 0 bis 25 machbar.

- Keinesfalls kann ich die Werte 1:1, sprich schon gar nicht 119 als Ausgabe übernehmen.

- x27 (SIM 1000 Stepper 12000), hatte das schon versucht anzupassen, gelang aber nicht wirklich. Lief mit anderer Setting nicht richtig. Hatte ich dann verworfen und so eben belassen.

Motorwerte / Testwerte zgl. Ausgabewerte:
- Motor-Wert 0 ist BAT/OFF noSignal also FULL UP.
- Motor-Wert 6 ist der 1. Marker ganz oben also UP.
- Motor-Wert 14/15 ist CENTER.
- Motor-Wert 24/25 ist FULL DOWN.

Derzeit läuft er, wenn demnach auch mit atypischer Einstellung.
Life is Good When You Find What You are Looking For!
2021-03-04 21:18
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
tztztz Seit wann reden wir denn von einen Stepper ?..... Ich hab mehrmals Servo gesagt und es kam bisher kein Gegenkommentar.
Aber egal.... Auch bei Stepper ergibt das keinerlei Sinn.

Der Motor ( Egal ob Servo oder Stepper) hat keinerlei Bezug zum Offsetwert. ( Bis auf die Smoothe Laufeigenschaft bei sehr kleinen Werten) .
Wieso sollte dein Motor ein Problem mit einen Wert wie 119 oder 238 haben.... oder andersrum warum sollte nur 0-25 gehen.
Im SIM/STEPPER Setting definiere ich welcher Wert im Sim wieviele Steps auslöst. Hier kann der Simwertt 25 sein oder 100.000. Dein stepper wird immer gehen... Du musst nur die Steps dementsrprechend anpassen.

Aber zurück zum Problem....

Um eine "Box" oberhalb zu erstellen würde man in diesen fall einfach eine Adition in die Formel einbauen.
Sagen wir weiterhin wir verändern den Offset so das er 0-238 ist ( 119=Center) .
0 Würde also dem Obersten Ausschlag der Glidescope Nadel entsprechen.
Jetzt fügst du in die Formel einfach +20 ein. Also.... if($>127,$-138+20,$+119+20) oder einfacher gesagt if($>127,$-118,$+139)
JETZT ist "20" der Oberste Punkt ..... 139 ist Center und 258 ist full Down. Und "0" wäre nun ein Bereich oberhalb von Full UP ( Hinter deiner Abdeckung) .

Somit am Ende eine Logik mit Precondition oder Placeholder.... Die sagt "Wenn Battery oder ILS nicht Aktiv DANN setzte auf "0" ( Nadel oberhalb Full UP hinter Blende) .... Wenn NICHT ( Also Bat und ILS Active) DANN nutze die Formel und bewege Nadel zwischen 20 und 258.


**************
Zum Thema Stepper..... Ich hab im Kopf das du schon mal so ein problem hattest.
Mal ne Einfache Frage....
WAS macht dein Stepper wenn du sagst SIM 1000 Stepper 2040 . TEST 500 Wie weit dreht er in Grad?
Ich kenne zwar deinen Stepper nicht aber ich kann mir einfach nciht vorstellen das du der Erste wärst wo das nicht lösbar ist.
Good Luck !
2021-03-04 23:23
Avatar
aeromax
Posts: 252
Supporter
Habe hier in die selbige Richtung gedacht nur nicht mit diesen Zeilen im Transform und ja ist ein Stepper, einen Servo hatte ich ganz am Anfang lief aber mit der Aufnahme zur „Wippe“ nicht gut und er wurde recht warm, brummte und dieser sich zuweilen auch scheinbar nicht bewegte. Ergo ein Stepper im Einsatz und wenn ich das rückverfolge waren deinerseits auch beide im Gespräch. Das der Offsetwert keine Rolle in Bezug zum Servo oder Stepper darstellt ist mir schon klar, durchaus die Ausgabewerte, die ich dann versuchte (weil vorheriges SIM/STEPPER nicht wirklich griff) auf den Stepper anzupassen. Ging zu Anfang nicht davon aus das hier ein Ausgabewert zweimal auftaucht. Lange Rede kurzer Sinn, ich teste das mit deiner Frage zu den Werten 1000, 2040, 500, wenn ich wieder an dem SIM bin. Wie gesagt in der tieferen Materie dieser Einstellungen bewege ich mich aufgrund Zeitmangels nicht. Ich teste das mal an einem externen „stand-alone“ x27 Stepper und melde mich
Life is Good When You Find What You are Looking For!
2021-03-05 06:37
icon