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! 

icon
Avatar
aeromax
Posts: 208
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: 4339
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: 208
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: 4339
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: 208
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
icon