Beiträge von MathiasR

    Design/Layout der Hardware soll gar nicht Bestandteil des Projekts sein. Das kann jeder nach seinen Vorlieben gestalten, ich glaube auch das es nicht Möglich ist jeden glücklich zu machen wenn man das schon vorgibt. Deshalb ja die einheitlichen Kanäle pro Funktion im Protokoll (Bsp. Kanal ?Regler 0 bis 100% als Integer = 0-255 bei 8-Bit, Kanal ?Licht als Bool = true/false). Das Interface hat digitale, analoge, PWM-Eingänge und später auch digitale schnittstellen zu anderen Systemen die man dann einfach einem Protokoll-Kanal zuweist. Somit ist quasi alles an Hardware Potis/Encodern/Schaltern anschliesbar.


    Die Wandlung und Kommunikation übernimmt ein Arduino über eine serielle Schnittstelle per USB mit der Software auf dem PC. <= daran arbeite ich

    Zum Thema TSConductor, der baut auf der raildriver.dll für den Train Simulator auf, hilft uns also leider nicht weiter. Ich bin mir durchaus bewusst das schon viele Andere (schon seit vielen Jahren) versucht haben dieses Problem zu lösen. Ich könnte jetzt auch so lange warten und hoffen das N3V mal eine richtige Schnittstelle implementiert, jedoch möchte ich gern jetzt anfangen, dann halt auf der Tastendruck-Ebene und später umstellen. Die Kommunikation zwischen Pult und PC ändert sich ja dadurch nicht.


    Es wäre schön wenn wir mal so eine Art Lastenheft aufstellen. Beispielsweise für alle die schon ihr Pult vor dem geistigen Auge haben, welche Hebel/Schalter/Anzeigen werden gebraucht? Es müssen allgemeine "Kanäle" definiert werden die auf jeden Führerstand anwendbar sind.


    Aufgrund der Komplexität von Trainz selbst (mit Script und allem) und der Tatsache das ich erst vor einem Jahr damit angefange habe, bin ich für die Trainz internen Dinge auf Hilfe von euch langjährigen Experten angewiesen (Trainz stellt nun mal nicht unbedingt den Mittelpunkt meines Lebens/meiner Freizeit dar). Jetzt werden einige bestimmt denken: "der soll sich erstmal selber intensivst mit dem Simulator beschäftigen!". Das tue ich, aber die langjährigen Trainzer mit Ihren Erfahrungen einzuholen halte ich für unmöglich und manchmal hat man einfach auch ein Brett vorm Kopf und stellt blöde Fragen:winking_face:. Um nicht das ganze Forum mit Einzelfragen zu verstopfen, wen darf ich anschreiben? Mein Beitrag soll die Hardwareschnittstelle, das Protokoll per USB in den PC und die Software, die für Trainz übersetzt, sein.

    Mika da bleibt wohl für die älteren Versionen nur die Möglichkeit die Tastendrücke mitzuzählen. Sollte aber auch gehen.


    @all oder weis jemand obs bei den älteren auch die Möglichkeit gibt?

    Update zum Link von callavsg, offenbar hat ein deutscher Programmierer "DayJay" genau die gesuchte Brücke über die raildriver.dll erstellt. Respekt!!! Er hat sein Tool "TSConductor" genannt und soll über eine TCP-Verbindung, Trainz fernsteuern können (incl. Dokumentation und alles). Leider laufen inzwischen alle Links die ich gefunden habe in Leere.


    Kennt jemand möglicherweise "DayJay"? Oder hat das Paket schon mal früher heruntergeladen und kann es uns zur Verfügung stellen?

    Der "Umweg" über die Tasten ist aber wirklich nun nicht sehr... ähm, wie sag ich das jetzt, ähm, naja... Für sowas gibts ja eigentlich nicht umsonst Schnittstellen in vielen Programmen und auch anderen Simulatoren. Aber wenn N3V das so will, dann ist es eben so (wobei die ja mit dem TrainzNativeInterface sogar ja mal sowas angefangen hatten)

    Ich könnte mir auch vorstellen das so mancher Modellbahner (ich bin noch keiner) die züge und signale gern mit seinen controller steuern würde. Mal so am rande...:thinking_face:

    Mika, beim dem was mir vorschwebt spielt es keine Rolle was vor dem PC steht. Es soll einfach ein Interface geben, so offen wie möglich, an das jeder anschliessen kann was er möchte. Quasi das Gehirn vom RailDriver ohne Plastebox mit freien Schnittstellen. Microcontroller (speziell der Arduino) kann vom Prinzip her mit entsprechendem code alles lesen egal ob analog oder digital. Die Eingangssignale fasst man in ein definiertes Protokoll zusammen und die PC-Software setzt es für Trainz um. Das Pult selbst baut man sich so wie man es braucht. Wenn das mal steht gebe ich auch gerne Tips für Nicht-Elektroniker wie man etwas anschliessen muss. Der Knackpunkt bleibt aber die Kommunikation mit Trainz. Notfalls eben über die Tasten-Option :)

    @CA Wow, das muss ich mir morgen mal in ruhe reinziehen. Hat der wirklich die RailDriver.dll geknackt? Das wäre echt cool.

    Hallo Jörg, genau so meine ich das. Die Hardwareseite sehe ich auch als das kleinste Problem. Auch der Weg vom Pult in den PC sollte leicht sein (bzw. ist es). Habe sowas schon sehr oft in anderen Projekten umgesetzt. Nur der Weg in Trainz hinein gilt es elegant zu lösen.

    Ok. Ich stimme dir da voll und ganz zu. Das mit den Schaltern ist aber mit deinen Ausführung zum Script und der Logik des Tools lösbar. Ich merke zwar das ich offensichtlich noch nicht mit allen Möglichkeiten/Funktionen von Trainz vertraut bin :) jedoch habe ich mit dem "von extern" weniger Probleme. Wie erwähnt würde ich einen Arduino als Bindeglied zur Hardware verwenden (mit entsprechenden Code und Schaltung versteht der fast alles, von analogen Signalen bis zu irgendwelchen Protokollen. Das ganze als HID-Tastatur über USB an den PC oder eine kleine Software die die Tasten setzt. Für die Funktionen in Trainz bräuchte ich wohl ein paar Tips von euch...

    Danke mika für deine Ausführungen. Leider ist das auch der Stand auf dem ich festhänge. Ich programmiere schon viele jahre in VisualBasic und C#. Ein Emulator der was auch immer in Tastatureingaben umsetzt ist kein Problem. Auch die externe Verbindung ist mit einem Arduino sehr leicht umzusetzen. Jedoch fehlt eben immer der Rückkanal von Trainz. Zum fahren selbst müsste man also immer mit einer stehenden Lok anfangen. Alle Bedienteile in vorbestimmter Position. Ist das immer so? Oder man setzt die Regler beim bewegen immer kurz auf null und dann in die gewünschte Stufe. Das abzweigen von Tachosignalen über Pixel der Anzeige ist ne interessante Idee. Irgendwie sehr schade das bei so viel Nachfrage seit so vielen Jahren der Hersteller keine Schnittstelle implementiert. Oder zumindest keine Infos über die Kommunikation mit dem Raildriver veröffentlicht.

    Wo kann man denn das eigentlich einstellen das eine Taste direkt eine bestimmte Fahrstufe anwählt?

    Zum einen ist es schön zu lesen das TRS2019 jetzt diese Möglichkeit besitzt. Das ist definitiv ein guter Ansatz und werde mir das einmal anschauen. Ich besitze leider aber nur eine ältere Version und verfüge auch nicht über die entsprechend fähige Hardware um TRS2019 in Betrieb zu nehmen. Eine Neuanschaffung nur wegen Trainz kommt vorerst nicht in Frage (andere Prioritäten wo das Geld hin soll :winking_face: ) Hat jemand noch eine Idee zu den älteren Versionen? Und für diejenigen die TRS2019 besitzen, welche Art von Controllern werden denn bereits unterstützt?

    Hallo liebe Trainz-Experten. Auch nach langer Recherche hat sich dazu leider noch nicht viel ergeben, weder auf deutschsprachigen noch auf englischsprachigen Seiten. Da sich hier ja wohl die Trainzer tummeln die am tiefsten in der Materie stecken möchte ich dazu mal eine Diskussion anregen. Kann mir vorstellen das so einige von ihrem eigenen Führerstand träumen.


    1. ich weiß das es den RailDriver-Controller gibt, den lasse aber ich bewusst aussen vor

    2. da es diesen Controller gibt scheint es ja eine virtuelle serielle Schnittstelle zu geben (hat möglicherweiße jemand so einen Controller und kann den Datenverkehr mitschneiden)?

    3. was ist aus der TrainzNativeInterface.dll geworden, gibt es da inzwischen eine richtige Dokumentation?

    4. bis jetzt gäbe wohl nur die Möglichkeit ein 2. HID (Tastatur) zu erstellen, jedoch sehe ich da die Probleme bei Hebeln (Fahrstufen, Bremsen) woher weis der Controller wo die Hebel gerade stehen?


    Als Ziel würde ich gern in der Gemeinschaft ein Zwischenprogramm entwickeln, das einseits das Protokoll zu Trainz bedient ohne in dessen Code einzugreifen und welches andererseits mit mehreren verschieden Schnittstellen ausgestattet ist (bspw. Joystick, MIDI, Modellbahn-Protokolle, ja sogar DMX wäre vorstellbar). Jedoch wird dazu etwas Insider-Wissen notwendig sein.


    Bin gespannt...


    Mathias