Drehencoder "schneller" machen ?!

    • Offizieller Beitrag

    Hallo Leute,


    ich habe mir in den Ferien endlich mal aus dem wunderbaren LeoBodnar USB HID, ein paar Drehencodern und Potis ein kleines Panel gebaut, das ich je nach Flugzeug mit verschiedenen Funktionen belege. Es funktioniert soweit alles prima. Allerdings habe ich jetzt festgestellt, dass sich vor allem Drehencoder im Sim eigentlich kaum gebrauchen lassen, da sie zu "langsam" sind. Damit meine ich das Problem, das pro rastendem Rechts- oder Linksdrehen nicht für jeden Raster ein Push/Button-Signal gesendet wird. In der Praxis bedeutet das folgendes: Ich benutze einen Drehencoder um z.B. den Speed in der iFly 737 zu regeln. Angenommen ich drehe den Encoder jetzt schnell nach Links und höre 20 Raster, sollte der Speed um 20 reduziert werden. Allerdings wird er dann nur um 2, 3 oder 4 kts reduziert. Das ist sehr ärgerlich, da ich so 10 Minuten am Drehen wäre um nur 20 Knoten weniger zu bekommen.


    Jetzt habe ich beim Stöbern gelesen, dass dies u.a. ein Problem des FS9 ist, da er Button-Befehle eher langsam entgegennimmt bzw. ausliest. Sprich, wenn du in einer Sekunde 10 Mal auf nen HID/Joystick-Button haust, erkennt der FS vielleicht nur 2 oder 3 Eingaben.


    Und hier die Frage: Kann man diesen Zustand irgendwie verbessern. Liegt es am Encoder? Ich habe im FSUIPC Forum schon gelesen, dass man den Poll Intervall des FS in der FSUIPC.ini einstellen kann, allerdings bin hier noch nicht zu gewünschtem Ergebnis gekommen. Daher die Frage an die wenigen Bastler hier, ob ihr schon das "Problem" irgendwie umgangen oder gelöst habt?!

  • Ich habe mit der Kombination FSUIPC und selbstgebauter Panels auch nur schlechte Erfahrung gemacht. Wie du bereits erwähntest, die Entgegennahme der schalterbefehle erfolgt sehr langsam, unter ungünstigen Umständen sogar gar nicht.
    Bessere Erfahrungen habe ich mit LINDA gemacht. Einfach mal nach googlen. Bin mir aber gerade nicht sicher inwiefern das mit FS9 kompatibel ist.

  • Bleibt dir nur basteln Julius.


    Über ein kleines Getriebe z.B. den Drehencoder übersetzen z.B. 10:1, d.H. jeder komplette Dreh am Knopf führt zu 10 Umdrehungen am Encoder. So leierst du nicht so lang.
    Sicher nicht besonders elegant, aber machbar.


    Eventuell solltest du da mal Skino anschreiben, der bastelt seit Jahren und hat da schon mal im anderen Forum ne Lösung gepostet. Glaub ich zumindest.

    • Offizieller Beitrag

    Encoder erzeugt Impuls - Impuls wird in Tastaturbefehl umgewandelt - Tastaturbefehl wird von FSUIPC als Button Push eingelesen - Button Push wird von FSUIPC an den FS gesendet (oder so ähnlich) - das kann nur schief gehen bzw. lange dauern.


    Hat die iFly nicht ein SDK, über das du die einzelnen Parameter direkt ansteuern kannst? Dann ist das mit dem Encoder kein Problem, denn dann fallen die ganzen Umrechnungen und Umwandlungen weg.


    Was ich (allerdings mit SIOC) auch schon mal gemacht habe: die meisten Encoder haben ja auch eine Push-Funktion, und mit der habe ich einen Multiplikator eingebaut. Encoder gedrückt - pro Impuls wird z.B. um 10kts verstellt, Encoder nicht gedrückt - 1kt. Ich weiß aber nicht ob das mit dem Bodnar-Teil auch geht.


    Boris

    • Offizieller Beitrag


    Hat die iFly nicht ein SDK, über das du die einzelnen Parameter direkt ansteuern kannst? Dann ist das mit dem Encoder kein Problem, denn dann fallen die ganzen Umrechnungen und Umwandlungen weg.


    Jo hat sie, die ist auch prima, habe ich für diverse Achsen-Befehle auch im Einsatz. Allerdings ist auch hier die Schnittstelle FSUIPC mit Offset-Befehlen.


    Ich werde das Problem jetzt anders lösen. Ich hole mir einfach einen (1)0(1)-Wippschalter, der immer in die Mitte zurückspringt und hänge ihn ans Bodnar. Dann kann ich so die die Fenster im MCP ansteuern. Und die Drehencoder nutze ich für Dinge, wo keine schnelle Eingabe nötig ist. Evtl. Display-Wechsel, IRS, etc...

  • Kann dir nur nochmal empfehlen, Skino zu fragen. Der hat mit so was sehr viel Erfahrung.

  • Der einfachste Weg, einen Drehcoder schneller zu machen ist die Benutzung des Pushtasters im Encoder (so vorhanden) Den habe ich per kleiner Software abgefragt. Ginge mit einem kleinem Stromstoss-Relais auch per FSUIPC. Das Relais könnte z.b. die "Alt" - Taste belegen. Am Encoder die Drehrichtung mit z.b. "1" und "2" So kannst du "1" und "2" als Verstellung der Einer-Schritte machen und nach drücken des Push-Tasters "Alt 1" und "Alt 2" als Schnellverstellung (100ter-Schritte glaube ich), je nach dem was die jeweilige Maschine an Belegung anbietet. So kommt es weniger zum "verschlucken" von Impulsen wie bei einer mechanischen Übersetzung. Der ganz einfache Weg ist natürlich, einfach auf der Tastatur "Alt" zu halten wenn es schneller gehen soll. Weitere Möglichkeit wäre ein Doppelencoder wie beim Radio, eine Ebene dreht Einer-Schritte, die zweite dreht die Hunderter.