Raildriver für LokSim3D

  • Die Schnittstelle, die Jens und ich entwickeln hat das Ziel, mit beliebigen Simulatoren beliebige Fahrpulte ansteuern zu können. Die Kommunikation findet über UDP statt. Das Datenformat, das das Fahrpult erwartet, wird in einer Beschreibungsdatei definiert. Diese Beschreibungsdatei wird dann vom Simulator gelesen und dann die entsprechenden Befehle rausgesendet. Um den Aufwand für Simulatorhersteller gering zu halten, habe ich eine Referenzimplementierung für eine Bibliothek geschrieben, die sehr einfach zu benutzen ist aus Sicht des Simulatorentwicklers. Die Bibliothek ist momentan im Alpha-Stadium. In einem Entwicklungszweig vom Loksim ist die Bibliothek auch schon integriert und es hat schon erste erfolgreiche Tests am Fahrpult gegeben. Ich werde sie in absehbarer Zeit unter einer sehr lockeren Lizenz auf github bereitstellen.


    Die andere Richtung (von Fahrpult zu Simulator) ist, soweit ich weiß, derzeit noch über Joysticks gelöst. Dazu kann Jens sicher mehr sagen.

  • Tach,


    [UDP-Schnittstelle in Entwicklung]
    Die andere Richtung (von Fahrpult zu Simulator) ist, soweit ich weiß, derzeit noch über Joysticks gelöst. Dazu kann Jens sicher mehr sagen.

    das ist soweit richtig, bei Fahrpulten. Die OLE-Schnittstelle ist bidirektional. Damit wir aber zukünftig die OLE-Schnittstelle ersetzen können, soll die UDP-Schnittstelle ebenfalls bidirektional werden.


    Gruss
    Uwe

    --
    Wenn du die Götter zum Lachen bringen willst, mach’ einen Plan.

  • Ich komme nochmal auf die OLE-Schnittstelle zurück - ::)


    Ich habe mir meine damaligen Versuche nochmal zusammengesucht, und das funktioniert auch nach wie vor. Mir ist aufgefallen, dass ich ein "LoksimUtil.cs"- genanntes Programmteil habe, das Daten aus dem Simulator ausliest und andererseits den Simulator steuert. In meiner LoksimUtil fehlen aber die Keys 34 bis 46 und alle über 48 wenn es da noch welche gibt. Oder müsste ich das bei Bedarf selber programmieren ?

  • Hallo Michael,


    ich schaue mal am WE, ob ich Dir eine entsprechende Datei zur Verfügung stellen kann. Ich brauche auch so eine... :)


    Gruss
    Uwe

    --
    Wenn du die Götter zum Lachen bringen willst, mach’ einen Plan.

  • Tach,


    ich hab da mal was vorbereitet, bitte die Datei in LoksimUtil.cs umbenennen. Hat jetzt als *.txt als Dateityp, da die Forensoftware keine *.cs-Dateien zuläst.
    Ich hoffe, das ich keine ';' vergessen habe.


    Gruss
    Uwe

    --
    Wenn du die Götter zum Lachen bringen willst, mach’ einen Plan.

  • Hallo Uwe


    Danke erstmal - ich werde das bei Gelegenheit probieren. :)


    Zum weiteren Verständnis, diese Keys kommen aus dem Loksim-Programm - sind also nicht "frei" bestimmbar ? Und - gibt es irgendwo ein Beschreibung dazu - die meisten sind ja selbsterklärend, aber was ist


    - KEY_MAX



    - Tuer 1_2
    - Tuer 2_2


    oder muß ich jetzt endlich wieder mal die Doku lesen ? ::)


    Gruß
    Miquel

  • Hallo Miquel,


    Zum weiteren Verständnis, diese Keys kommen aus dem Loksim-Programm - sind also nicht "frei" bestimmbar ?

    Ja, die Namen und Werte liegen letztlich fest.

    Beschreibung ist leider nicht und Doku gibt es auch keine...
    Es hilft leider nur das altbekannte Ausprobieren, geht mir letztlich auch nicht anders, nur das ich im Loksimcode nachsehen könnte.
    Wenn's pressiert, würde ich auch versuchen das im Code zu finden und zu berichten.


    Gruss
    Uwe

    --
    Wenn du die Götter zum Lachen bringen willst, mach’ einen Plan.

  • Hallo Uwe


    sorry, ich muss dich doch nochmal bemühen.


    Ich kann die Anzeige Bedarfshalt (oder Haltewunsch) nicht finden, gibt's die nicht oder heißt die nur anders?


    Danke für deine Mühe, Gruß


    Miquel

  • Hallo Miguel,


    diese Information wird so nicht übertragen. Das wirst Du Dir aus den Fahrplandaten und der Information nächster Halt selbst bauen müssen, wenn das geht...


    Gruss
    Uwe

    --
    Wenn du die Götter zum Lachen bringen willst, mach’ einen Plan.

  • Hallo Miguel,


    zwecks der Anzeigen habe ich vor ein paar Wochen schon KlausN gefragt und du kannst die Anleitungen im Beitrag "Daisys von KlausN" unter "Strecken und Objekte" nachlesen. Dort ist auch ein Hinweis, wo genauere Informationen in der Loksim-Doku stehen.


    Viele Grüße


    Dominik

  • Hi Dominik,


    Miguel bearbeitet eine ganz andere Baustelle, wirklich.
    Bei der von Dir genannten Anzeige geht es um ein Objekt in der Simulation. Miguel beschäftigt sich aber mit der OLE-Schnittstelle und die ist für Dinge ausserhalb der Simulation.


    Gruss
    Uwe

    --
    Wenn du die Götter zum Lachen bringen willst, mach’ einen Plan.

    Einmal editiert, zuletzt von taler ()

  • Hallo Uwe,


    danke erstmal ( schon wieder) - like Groundhog day - wahrscheinlich brauche ich das derzeit nicht wirklich, es ging nur um die Volltständigkeit - aber ich werde mal versuchen, die Daten herauszukitzeln …


    Keep you posted


    Gruss
    Miquel


  • Hallo Miguel,
    diese Information wird so nicht übertragen.


    Sorry, ich muss da nochmal nachhaken. (Und zwar unabhängig ob das ganze über OLE- oder UDP-Schnittstelle angehandelt wird.)


    Im Führerstand (zB Öbb Rh 1014 mit der ich mich zur Zeit aus anderen Gründen wieder einmal beschäftige - aber auch anderen) gibt es einen Leuchtmelder "Haltewunsch". Wenn diese Information so nicht übertragen wird, warum leuchtet der im richtigen Moment auf?


    Miguel, neugierig

  • Halo Miguel,


    Im Führerstand (zB Öbb Rh 1014 mit der ich mich zur Zeit aus anderen Gründen wieder einmal beschäftige - aber auch anderen) gibt es einen Leuchtmelder "Haltewunsch". Wenn diese Information so nicht übertragen wird, warum leuchtet der im richtigen Moment auf?

    Hm, im 'normalen' Führerstand oder über OLE? In der normalen Simulation, wenn also der Fst eingeblendet ist, dann funktioniert das natürlich, den da sind programminterne Schnittstellen (in der Regel einfache Funktionsaufrufe) beteiligt. In allen anderen Fällen werden die Werte aus dem Programm herausgeleitet und den externen Schnittstellen übergeben. Da dies aber zwei paar Schuhe sind, gehts bei der einen Variante und bei der anderen Variante nicht.


    HTH


    Gruss
    Uwe, erklärend

    --
    Wenn du die Götter zum Lachen bringen willst, mach’ einen Plan.


  • In der normalen Simulation, wenn also der Fst eingeblendet ist, dann funktioniert das natürlich, den da sind programminterne Schnittstellen (in der Regel einfache Funktionsaufrufe) beteiligt. In allen anderen Fällen werden die Werte aus dem Programm herausgeleitet und den externen Schnittstellen übergeben.



    Hallo Uwe,


    soweit so klar. Es wäre glaube ich aber wünschenswert, wenn in zukünftigen Versionen (also nach OLE) alle Werte die man für irgendwelche Dinge brauchen könnte übergeben werden. Inwieweit ich die notwendigen Daten aus Fahrplan oder sonstigen Informationen herauslesen könnte habe ich mangels Zeit moch nicht versucht, aber einfach stelle ich mir das nicht vor.



    Gruß
    Miguel

  • PatrickR

    Hat das Label Nicht reproduzierbar hinzugefügt