TS-Fireman -TCP Client für den TS (0.9.9.5 - 19.05.2019)

Discord Einladung
Trete unserem Discord-Server bei (klicke hier zum Beitreten).
  • Im ersten Posting habe ich die neue Version hinzugefügt.


    Changelog

    • Wishlist: nach dem Ändern der JoystickID mit "Increase DeviceID" kann diese nun mit "Save DeviceID" in der settings.ini abgespeichert werden
    • bei den Joystick-Buttons kann nun ein Offset eingestellt werden (z.Bsp. beim Licht eine Offset 1 für die Ausgabe einer 2)
    • das Ausführen des TS-Fireman ist nun parallel möglich und mit verschiedenen Einstellungen. Dem entsprechend ist das Limit an Achsen und Buttons auf das 9-fache angestiegen 8o
    • zum Starten der weiteren Instanzen kann das Programm nummerierte Verknüpfungen auf dem Desktop anlegen. Beim Start der zweiten Instanz werden die zweiten Einstellungen anhand der ersten erstellt. Es ist eine Kopie ohne den Bereich [Main], dieser ist nur der settings.ini vorbehalten. Nur die zweite Instanz kann die Verknüpfung für eine dritte anlegen, die dritte für die vierte und so weiter ... Ist die folgende Verknüpfung schon auf dem Desktop vorhanden, kann diese nicht erneut erstellt werden.
    • es bleibt bei einer locomotives.ini. Sollen zwei Instanzen an eine Lok senden, so muss man diese Lok nun zweimal mit verschiedenen Namen anlegen und dann entsprechend auswählen
    • ein Programm-Icon hinzugefügt und kleinere Änderungen vorgenommen, z-Bsp. wird nach dem Ausgewählten einer Lok die "Select"-Taste zu einer "Change"-Taste
    • Bugfix: ein Gebietsschema mit Punkt als Dezimaltrenner wird nun automatisch erkannt und die Ausgabe entsprechend angepasst

    Wishlist

    • Daten an "Irregular Notched Lever" senden, also mit unregelmäßig verteilten Raststufen
    • bei "Modify a Locomotive" das Löschen von Einträgen in der locomotive.ini ermöglichen, beim einfachen Weg würde die modifizierte Lok ans Ende der locomotives.ini rutschen - find ich nicht gut
    • Tacho- und Druckluftanzeige auf zweiten Bildschirm - gestrichen, @Sillo hat mit seinem TS-MFD-Modulares-Führerraumdisplay-MFD-inkl-EbuLa-für-Train-Sim gut Fortschritte gemacht :)

    Bei einem Update sollte in die vorhandene settings.ini folgendes hinzugefügt werden, wenn das Ausführen mehrerer Instanzen vom TS-Fireman gewünscht ist oder verschiedene Einstellungen genutzt werden sollen (z.Bsp. einmal der Joystick und ein anderes Mal das Lenkrad). Einfach als die ersten Zeilen hinein kopieren.



    Vielen Dank an @BigBenjy, @marvinbart429 und @Lorhat für das Beta-Testen der neuen Funktionen!

  • Hallo Mirko,


    vielen Dank fuer das tolle Programm! Bisher habe ich den Trainsim-Helper genutzt, aber Dein Programm ist schon komfortabler zu bedienen, und es entfaellt das ewige Patchen der Loks nach Steam-Updates.


    Leider habe ich nicht verstanden, wie mehrere Instanzen eingerichtet werden.
    Ich nutzte einen MS Sidewinder Joystick und ein G27 Lenkrad. In die settings.ini habe ich Multiple = 2 eingetragen. Dann starte ich zwei Instanzen und erhoehe die ID der zweiten ID um 1 . Beide Geraete werden erkannt und laufen einwandfrei.
    Allerdings ist es dann so, dass die Joysticks und Buttons beider Geraete die gleichen Achsen und Button-IDs benutzen, dh. die Y-Achse des Joysticks ist auch dem Lenkrad zugeordnet. Lok-Funktionen lassen sich sowohl ueber die Buttons des Joysticks und des G27 steuern, da sie dieselben Button-IDs haben.


    Ich moechte die RhB GE 4/4 einrichten. Das G27-Lenkrad soll das Steuerrad fuer Sollwertgeber und DynBremse steuern, der Joystick die Druckluftbremse. In meinem bisherigen Setup funktioniert das aber nicht, denn Joystick Y-Achse und Lenkrad belegen beide die Y-Achse im TS-Fireman, haben also dieselbe Bedienfunktion in der Lok.
    Ich hatte nersuchsweise eine settings2.ini erstellt, die eine Kopie der settings.ini ist. Allerdings wird greifen beide Instanzen nur auf die settings.ini zurueck, ich habe also nur 6 Achsen.


    Vielleicht koenntest Du etwas ausfuehrlicher erklaeren, wie mehrere settings.ini eingerichtet werden, um so die zusaetzlichen Achsen und Buttons zu erhalten, die Du oben erwaehnt hast.


    Vielen Dank
    Peter



    PS: TSW-Steuerung
    Bisher habe ich noch keinen Emulator gefunden, der eine Joystick-Achse korrekt an den TSW weitergibt (evtl. funktioniert es ueber Distance-Assignments im xpadder). Die Achsen-Steuerung des TSW scheint dieselbe zu sein wie im TS. Demnach muesste der TS-Fireman auch fuer den TSW ohne Software-Aenderungen funktionieren. Ich denke, das Problem liegt da aber im TS-Conductor, der die TSW-Daten korrekt auslesen muss, oder?

  • Wie hast Du die zweite Instanz gestartet und trägt sie im Fenstertitel auch "TS-Fireman 2"?


    Eine settings2.ini sollte auch erstellt und vorhanden sein. Dort muss ja für den zweiten Joystick die Zuordnung der Achsen erfolgen. Die locomotives.ini ist für beide gleich. Also musst Du mit TS-Fireman, oder händisch in der locomotives.ini, die Lok doppelt anlegen. Die jeweiligen Controller IDs ordnest Du Deinen Joysticks (Instanzen) zu. Die beiden "Loks" kannst Du dann zum Beispiel "RhB GE 4/4 Sidewinder" und "RhB GE 4/4 G27" benennen. Wenn eine ControllerID bei beiden drin steht, können auch beide Joysticks einen Befehl an TS senden.


    Bei TSW gibt es noch keine Schnittstelle, auch nicht für den Raildriver. Wenn es mal eine gibt, wäre es natürlich super, wenn die dem TS gleich käme. Warten wir es mal ab.

  • Also, ich habe eine settings.ini, eine Lokomotive.ini und eine TS-Firman.exe.
    Ich starte den Fireman einmal, um die Lokomotive.ini zu erstellen. Das Feld mit der Instanz-ID ist ausgeblendet, daher laesst sich die Lokomotive.ini nur fuer den Joystick definieren. In die Settings.ini habe ich bei Multiple = 2 eingetragen.
    Ich speichere alles und schliesse den TS-Fireman.


    Dann starte ich den TS-Fireman zwei Mal. In der erstes Instanz aendere ich die Instanz ID um 1. Die erste Instanz-ID lautet dann 1, die ID der zweiten Instanz ist leer.


    Damit fahre ich dann den TS, wobei sich der Joystick und G27 Achsen und Buttons tw ueberlagern.

  • So klappt das nicht. Der Anfang ist in Ordnung. Nach der Multiple = 2 startest Du TS-Fireman und klickst dort auf "Create an additional desktop shortcut". Auf dem Desktop liegt dann eine Verknüpfung mit dem Namen "TS-Fireman 2". Damit kannst Du die zweite Instanz starten. Diese legt eine settings2.ini an (aus einer Kopie der settings.ini). Dann klickst Du in TS-Fireman 2 auf "Open settings folder" und ordnest die Achsen vom zweiten Joystick zu. Bisher steht da ja noch die Zuordnung vom ersten Joystick drin. Wenn dies geschehen ist, kannst Du die zweite Instanz erneut starten. Nun dürften sich nur in einem TS-Fireman die Schieberegler bewegen, wenn Du nur einen Joystick bewegst. Bewegst Du den anderen, bewegen sie sich in der anderen Instanz mit. ;)


    Edit: die "Joystick Device ID" für den zweiten Joystick muss natürlich eingetragen werden. Eine Instanz ID gibt es nicht, Du meinst wohl die Joystick Device ID. Bei Dir dann wohl "JoyID = 1" in der settings.ini und "JoyID = 0" (oder "JoyID =") in der settings2.ini

    Grüße Mirko


    TS-Fireman - mit 6 Joystickachsen und 32 -tasten, oder mehr, die TS-Lok steuern
    TS-Verbindung zu Arduino - Ausgabe von Daten mit LED und Rundinstrumenten

    2 Mal editiert, zuletzt von MacG () aus folgendem Grund: Ergänzung

  • Ok, das werde ich morgen mal ausprobieren.
    Ich meinte natuerlich Device-ID, aber habe den TS-Fireman nicht vor mir und schreibe aus dem Gedaechnis...
    Danke fuer die ausfuehrliche Erklaerung!

  • Ok, das werde ich morgen mal ausprobieren.
    Ich meinte natuerlich Device-ID, aber habe den TS-Fireman nicht vor mir und schreibe aus dem Gedaechnis...
    Danke fuer die ausfuehrliche Erklaerung!


    Edit: jetzt funktioniert alles. Danke nochmal.


    Eine Frage: funktionieren die Buttons nur als Toggle (d.h. Button gedrueckt > Wert = 1, button losgelassen > Wert = 0) oder gibt es eine Moeglickeit, einen Button als Schalter zu definieren d.h. (Button einmal druecken und loslassen > Wert = 1, Button nochmal druecken und loslassen > Wert = 0)?

  • Ja die Buttons funktionieren nur als Toggle (Taster). Die meisten haben einen Schalter dort am Pult, wo er auch benötigt wird. Deshalb habe ich es so programmiert. Ansonsten könnte man da auch weiterhin mit der Tastatur schalten.


    Du kannst JoyToKey oder das JoystickCursorTool nutzen, um beim Druck eines Joystick-Buttons einen Tastaturbefehl an den TS zu senden.

  • Im ersten Posting habe ich die neue Version hinzugefügt. Dieses Mal nur die exe-Datei, weil der Bugfix doch recht speziell war. Wer will kann damit die Version 0.9.9.0 im Programmverzeichnis ersetzen.


    Changelog

    • Bugfix: die Joystick-Button Auswertung bei "Add/Modify a locomotive" funktioniert nun auch mit Drehschaltern und ein Dauerimpuls von einem Schalter blockiert nun nicht mehr die Eingabe von ID, Beschreibung und Offset
    • kleinere Anpassungen vom Layout bei "Add/Modify a locomotive"

    Wishlist

    • Daten an "Irregular Notched Lever" senden, also mit unregelmäßig verteilten Raststufen
    • bei "Modify a Locomotive" das Löschen von Einträgen in der locomotive.ini ermöglichen, beim einfachen Weg würde die modifizierte Lok ans Ende der locomotives.ini rutschen - find ich nicht gut
    • eine Tacho-, Druckluft- und Kontrollanzeige auf zweiten Bildschirm (für amerikanische Lokomotiven) - wird eventuell doch umgesetzt, oder eine Schnittstelle für ein Arduino geschaffen, welcher zumindest Kontrollleuchten am Fahrpult aufleuchten lassen kann
  • Im ersten Posting gibt es wieder ein kleines Update. Wieder nur die exe-Datei, weil es nur kosmetischer Art ist. Wer will kann damit die Version 0.9.9.0 bzw. 0.9.9.1 im Programmverzeichnis ersetzen.


    Changelog

    • die Liste der Controller vom TS ist nun formatiert und somit etwas übersichtlicher :)
    • kleinere Anpassungen, falls mal einer von "Modify a locomotive" über das Hauptfenster zu "Add a locomotive" wechselt

    Wishlist

    • die Auswertung der Achsen anpassen, damit das "Zittern" der Potentiometer abgefangen wird. Dies wird aber bei stufenlosen Fahrhebeln (100 Steps) kaum eine Verbesserung bewirken.
    • Daten an "Irregular Notched Lever" senden, also mit unregelmäßig verteilten Raststufen
    • bei "Modify a Locomotive" das Löschen von Einträgen in der locomotive.ini ermöglichen, beim einfachen Weg würde die modifizierte Lok ans Ende der locomotives.ini rutschen - find ich nicht gut
    • eine Tacho-, Druckluft- und Kontrollanzeige auf zweiten Bildschirm (für amerikanische Lokomotiven) - wird umgesetzt. Eventuell wird eine Schnittstelle für Arduino oder zum Arcaze geschaffen, um Kontrollleuchten am Fahrpult aufleuchten zu lassen


    Ansonsten scheint TS-Fireman ab Version 0.9.9.0 zur Zufriedenheit aller zu funktionieren. :thumbsup:

  • Muss mich heute mal mit einer vielleicht doofen Frage an Euch alle wenden.
    Nutze seit neuestem den TS Conductor mit Fireman, im Zusammenspiel mit einem Saitek Throttle Quadrant. Das Programm ist echt ne coole Lösung. Danke dafür!
    Einige Loks, bzw. Züge mit Kombihebel konnte ich mir schon programmieren, das funktioniert prima.
    Bei der BR 101 z.B. habe ich die Zugbremse in der Z-Achse liegen (ganz rechter Hebel). Diese reagiert allerdings, egal was ich an Werten eingebe, nicht feinfühlig, sondern entweder 0 (gelöst), oder 100% um die mittlere Einstellung (also 50% des Hebelweges).
    Das ist auch bei ICE, oder anderen BR mit getrenntem Throttle und Bremshebeln so. Der Throttle oder Kombihebel liegt auf der X-Achse und lässt sich hingegen im 1%-Bereich feinfühlig steuern. Die beiden anderen schlagen direkt von 0 auf 100, egal welche Werte ich zuweise. Also auch wenn ich die ID vom Throttle dorthin lege, habe ich entweder 0 oder „Vollschub“... 8|
    Wenn ich in den Systemeinstellungen von Windows den Gamecontroller anschaue, dann steuert es auch da feinfühlig auf und ab auf allen 3 Hebeln. Auch die Deadzones sind bei allen gleich eingestellt.
    Nutze auf dem Rechner Windows 7.


    Irgendwie sitze ich auf der Leitung....
    Könnt Ihr mir da irgendeinen einen Tip geben?
    Die Saitek Treiber Software habe ich schon probiert...bringt keine Lösung, selbes Ergebnis.
    Nutze aktuell die Standard-Logitech-Treiber.



    Entschuldigt den ausschweifenden Post, aber kürzer wusste ich nicht, wie ich das Problem anders beschreiben könnte.


    Danke schon einmal im voraus für Eure Hilfe...

    ____________________________________________________________________________________________________________
    Gruß Martin

    Einmal editiert, zuletzt von Martin Z ()

  • Hallo Martin Z,


    die Anzahl der STEPS hast Du bestimmt angegeben.
    Klingt fast wie der Bug mit dem Gebietsschema, aber den hatte ich doch eigentlich behoben *denk* Anbei ein kleines Tool, was das dezimale Trennzeichen anzeigt.


    Ansonsten: Bewegen sich im TS-Fireman auch der Schieberegler ruckartig, wenn Du den Hebel bewegst? Und welche Werte tauchen dahinter bei TCP auf?

  • Hallo MacG,


    ja ich hatte z.B. versuchsweise die Steps auf 60 gestellt. Den min und max jeweils auf -100 und 100.... war ja nur Testweise....
    Habe auch schon mehrfach verschieden hohe Werte bei min/max oder Steps eingegeben...Ergebnis bleibt immer gleich.
    Wenn ich den Hebel bewege, dann reagiert er nur um die 50% herum, auf einem Weg von etwa 1 cm direkt von 100 auf -100 bei den TCP-Werten. Kurz erscheint der Wert 0. Also alles im TS Fireman. Es gibt keine Zwischenstufen, quasi nur 3. Auf einem Hebelweg von max. 1 cm.
    Die entsprechende Lok habe ich vorher ausgewählt, Szenario ist gestartet.

    ____________________________________________________________________________________________________________
    Gruß Martin

    2 Mal editiert, zuletzt von Martin Z ()

  • Zum Testen reich auch eine Verbindung zum TSConductor.


    Also wenn er das Verhalten auch bei 60 Steps zeigt bin ich ratlos. Das Gebietsschema fällt dann wieder raus. Mein Tool hat Dir bestimmt ein Komma angezeigt.


    Ich bin jetzt per cChat (hier im Forum) erreichbar.

  • Habe es noch nicht ausprobiert.
    Durch meine Schichtarbeit komme ich immer nur sporadisch zum basteln und fahren.
    Ja ich bin auch ihne Idee...deshalb dachte ich, ich frage mal nach.
    Gibt es denn im TS noch irgendeine Datei, in der irgendwelche Werte für den Joystick abgelegt werden?
    Habe vorher den Trainsimhelper benutzt.

    ____________________________________________________________________________________________________________
    Gruß Martin

  • Nein. Es gibt nur die settings.ini und locomotives.ini, wo die Daten hinterlegt sind.


    Haben die Anwender vom Saitek Throttle Quadrant ein spezielles Profil angelegt bzw. nutzt ihr die Software von Saitek bzw. Logitech. Dem Martin kann ich nämlich nicht helfen. Unter den Eigenschaften vom Controller bewegt sich jede Achse feinfühlig und im TS-Fireman nur X. Die Achsen Y und Z nur sprunghaft. Sie übermitteln eigentlich auf einer sehr kurzen Strecke in der Mitte nur 0, 37267 und 65353. Ich bin ratlos :(

  • Could this be adapted to use the TSBridge connection used for TS_MFD? would be nice to have an all in one connection that sends the data out to the android tablet screens with MFA/MFD data, and sends back the joystick controller data.

  • Former there was only one server necessary.TS-MFD has switched from TSConductor to his own TSBridge.


    I don't see a ground that I should change it. My two contra points are:

    • There isn't a TS-Fireman application for Android.
    • TS-MFD and TSConductor works parallel without problems.