herzlichen Glückwunsch zu dieser geilen Software. Das hatte ich gesucht.
Ich habe mir überlegt einen Steuerstand mit einem Raspberry Pi und fest eingebauten Reglern und Knöpfen zu bauen und das dann über LAN mit dem srcpd zu verbinden. Dafür wollte ich einen billigen Gamecontroller ausschlachten. Dabei hatte ich daran gedacht mit dem Steuerhebel die Geschwindigkeit zu steuern und nicht wie in Electrip (als Standard?) die Beschleunigung. Das ist vor allen Dingen für meine Kinder leichter zu verstehen. Gibt es eine Möglichkeit das umzuschalten? Ich habe es weder in der Software noch in dem Handbuch gefunden.
Grüße
der Leif
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Zu deiner Frage: Nein, momentan unterstützt Electrip diese Funktion leider nicht.
Wie das "Kombihebel-Prinzip" in Electrip funktionieren soll habe ich mir gründlich überlegt. Es gibt diese drei Möglichkeiten:
AUSLENKUNG = GESCHWINDIGKEIT
Die von dir beschriebene direkte Regelung kann einen Kombihebel nur bedingt simulieren, weil dieser ja eigentlich eine "Gaspedalstellung" angibt. Die tatsächliche Geschwindigkeit hängt dann von vielen Faktoren (Steigung etc.) ab. Weiteres Problem: Beim Loslassen des Hebels eines klassischen Gamepads, würde die Geschwindigkeit dann sofort auf 0 "zurückschnappen". Außerdem müsste geklärt werden, was bei einem Hebelausschlag nach hinten passiert (Fahrtrichtungswechsel?).
AUSLENKUNG = BESCHLEUNIGUNG
Die jetzige Implementierung ist zwar auch nicht perfekt, weil es in der Realität eigentlich eine Grenzgeschwindigkeit für jede Kombihebelstellung gibt. Allerdings ist sie recht intuitiv, weil sie sich mehr wie ein Kombihebel verhält (Mittelstellung in der der Zug rollt).
AUSLENKUNG = BEIDES
Eine andere Möglichkeit wäre, die Gamepadstellung als Zielgeschwindigkeit zu interpretieren und die Lok dann ebenfalls abhängig vom Gamepadausschlag schneller oder langsamer in Richtung dieser Geschwindigkeit beschleunigen zu lassen. Das Verhalten wäre einem Kombihebel noch näher, ist aber mathematisch am kompliziertesten. Ob sowas praktisch ist, muss ich erst ausprobieren.
Alle drei Varianten haben ihre Vor- und Nachteile, ich finde die Zweite am Besten. Ich werde aber nochmal drüber nachdenken und die versch. Möglichkeiten evtl. als globale Gamepad-Einstellung einbauen, wenn ich Zeit habe.
Ich hoffe du verstehst, dass diese Frage ziemlich schwierig ist :)
Bis dahin schon mal viel Spaß beim Fahren,
Moritz
Last edit: Moritz Renftle 2013-04-30
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2013-05-01
Hallo Moritz,
wow, du antwortest schnell...
Ich hatte an Möglichkeit 1 gedacht. So, dass man die Einstellung für jedes Gamepad separat einstellen kann. Dann kann man ein Gamepad normal benutzen (wie jetzt implementiert) und eines mit Auslenkung = Geschwindigkeit. Da ich vorhabe ein Gamepad zu "schlachten", wird der Hebel nicht selbständig auf 0 zurückrutschen sondern dort bleiben wo man sie loslässt. Wahrscheinlich steckt da ein siples Poti hinter.
Es gibt außerdem ja auch Schubregler am/ oder zusätzlich zum Joystick. Der wäre dann ähnlich zu benutzen.
Die Stellung 0 kann dann halbe Geschwindigkeit sein und ganz zurück wäre statt dessen 0. Beim kalibrieren zeigt das Pad die Werte: -32??? 0 +32???. Die könnte man verschieben nach 0 +32??? +64??? (ggf. /2 Teilen).
Die Richtung könnte man damit bestimmen, würde ich aber nicht als sinnvoll ansehen. Da Zuge in Realität auch stoppen, warten und dann die Richtung wechseln.
Es wäre für mich ebenso OK, wenn die Geschwindigkeit nur die Vorgabe ist. Bei Auf- und Abfahrten weicht sie dann eben ab. Ich bin noch sehr neu in der digitalen Eisenbahnwelt, aber ich glaube ich habe auch schon gesehen, dass es Decoder gibt, die das lastgeregelt kompensieren können.
Wenn Du mal Langeweile haben solltest, fände ich das ein cooles Feature...
Ich denke, dass ich mich beim Bau der Hardware möglichst flexibel darauf einstelle ;-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
habe nochmal über deinen Vorschlag nachgedacht und bin zu dem Schluss gekommen, dass er wirklich nicht in das Bedienkonzept von Electrip passt. Weil ich zurzeit sowieso wenig freie Zeit habe, werde ich das nicht einbauen,
Du kannst aber gerne versuchen, eine solche Funktion in Electrip zu integrieren. Die Gamepadlogik ist im Modul "Pygame/JoystickAndSound.py" enthalten.
Ich glaube jedoch, dass du auf große Probleme stoßen wirst. Hier ein paar meiner Gedanken:
Die komplette Gamepad-Anbindung müsste neu geschrieben werden, wenn unterschiedliche Gamepads verschiedene Konfigurationen erhalten sollen. Das hätte zur Folge, dass...
Die Konfiguration sehr unübersichtlich wird, weil verschiedene Loks ja auch verschiedene Tastenbelegungen zugewiesen bekommen können. D.h., jede Lok müsste für jedes Gamepad anders programmiert werden. Außerdem müssten dort Gamepads einzeln eingestellt werden können, Das wäre der Tod der benutzerfreundlichen Oberfläche.
Was passiert wenn ein nicht konfiguriertes Gamepad angeschlossen wird? Wie macht man das einem Benutzer verständlich?
Die Möglichkeit, mit Gamepads zwischen Lokomotiven zu wechseln müsste dann zwangsweise entfallen. Denn: Die Loks müssten dann beim Lokwechsel abrupt die Geschwindigkeit der Gamepadstellung annehmen. Es wäre überhaupt nicht mehr intuitiv verständlich, wie sich die Geschwindigkeit einer Lok verhält, wenn mit dem Gamepad die Lok gewechselt wird.
Wozu überhaupt eine Direktsteuerung? Es ist aus meiner Sicht deutlich intuitiver, mit dem Kombihebel Gas zu geben und zu bremsen.
Aus meiner Sicht passt eine direkt proportionale Steuerung einfach nicht in Electrips Gamepadkonzept. Mit der Maus kann dieses Verhalten natürlich erreicht werden. Aber das ist eigentlich nicht der Sinn der Sache :)
Grüße,
Moritz
Last edit: Moritz Renftle 2013-05-03
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2013-09-13
Hallo Moritz,
deine Software ist eine tolle Idee!
Ich habe zur Zeit zwei Fragen:
1. Wenn kein Game-Controller angeschlosen ist (und auch noch überhaupt nicht war, frisch installiertes Ubuntu) und ich bereits Loks konfiguriert habe, wird mir, wenn ich auf "Steuerung" umschalte, auch nichts (gar nichts) angezeigt, ist das richtig?
2. Weist du zufällig ob dieser Controller (http://www.ebay.de/itm/400537859396?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649#ht_2517wt_1285) funktionieren würde?
Jochen
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo Moritz,
herzlichen Glückwunsch zu dieser geilen Software. Das hatte ich gesucht.
Ich habe mir überlegt einen Steuerstand mit einem Raspberry Pi und fest eingebauten Reglern und Knöpfen zu bauen und das dann über LAN mit dem srcpd zu verbinden. Dafür wollte ich einen billigen Gamecontroller ausschlachten. Dabei hatte ich daran gedacht mit dem Steuerhebel die Geschwindigkeit zu steuern und nicht wie in Electrip (als Standard?) die Beschleunigung. Das ist vor allen Dingen für meine Kinder leichter zu verstehen. Gibt es eine Möglichkeit das umzuschalten? Ich habe es weder in der Software noch in dem Handbuch gefunden.
Grüße
der Leif
Hallo Leif,
danke für dein positives Feedback!
Zu deiner Frage: Nein, momentan unterstützt Electrip diese Funktion leider nicht.
Wie das "Kombihebel-Prinzip" in Electrip funktionieren soll habe ich mir gründlich überlegt. Es gibt diese drei Möglichkeiten:
AUSLENKUNG = GESCHWINDIGKEIT
Die von dir beschriebene direkte Regelung kann einen Kombihebel nur bedingt simulieren, weil dieser ja eigentlich eine "Gaspedalstellung" angibt. Die tatsächliche Geschwindigkeit hängt dann von vielen Faktoren (Steigung etc.) ab. Weiteres Problem: Beim Loslassen des Hebels eines klassischen Gamepads, würde die Geschwindigkeit dann sofort auf 0 "zurückschnappen". Außerdem müsste geklärt werden, was bei einem Hebelausschlag nach hinten passiert (Fahrtrichtungswechsel?).
AUSLENKUNG = BESCHLEUNIGUNG
Die jetzige Implementierung ist zwar auch nicht perfekt, weil es in der Realität eigentlich eine Grenzgeschwindigkeit für jede Kombihebelstellung gibt. Allerdings ist sie recht intuitiv, weil sie sich mehr wie ein Kombihebel verhält (Mittelstellung in der der Zug rollt).
AUSLENKUNG = BEIDES
Eine andere Möglichkeit wäre, die Gamepadstellung als Zielgeschwindigkeit zu interpretieren und die Lok dann ebenfalls abhängig vom Gamepadausschlag schneller oder langsamer in Richtung dieser Geschwindigkeit beschleunigen zu lassen. Das Verhalten wäre einem Kombihebel noch näher, ist aber mathematisch am kompliziertesten. Ob sowas praktisch ist, muss ich erst ausprobieren.
Alle drei Varianten haben ihre Vor- und Nachteile, ich finde die Zweite am Besten. Ich werde aber nochmal drüber nachdenken und die versch. Möglichkeiten evtl. als globale Gamepad-Einstellung einbauen, wenn ich Zeit habe.
Ich hoffe du verstehst, dass diese Frage ziemlich schwierig ist :)
Bis dahin schon mal viel Spaß beim Fahren,
Moritz
Last edit: Moritz Renftle 2013-04-30
Hallo Moritz,
wow, du antwortest schnell...
Ich hatte an Möglichkeit 1 gedacht. So, dass man die Einstellung für jedes Gamepad separat einstellen kann. Dann kann man ein Gamepad normal benutzen (wie jetzt implementiert) und eines mit Auslenkung = Geschwindigkeit. Da ich vorhabe ein Gamepad zu "schlachten", wird der Hebel nicht selbständig auf 0 zurückrutschen sondern dort bleiben wo man sie loslässt. Wahrscheinlich steckt da ein siples Poti hinter.
Es gibt außerdem ja auch Schubregler am/ oder zusätzlich zum Joystick. Der wäre dann ähnlich zu benutzen.
Die Stellung 0 kann dann halbe Geschwindigkeit sein und ganz zurück wäre statt dessen 0. Beim kalibrieren zeigt das Pad die Werte: -32??? 0 +32???. Die könnte man verschieben nach 0 +32??? +64??? (ggf. /2 Teilen).
Die Richtung könnte man damit bestimmen, würde ich aber nicht als sinnvoll ansehen. Da Zuge in Realität auch stoppen, warten und dann die Richtung wechseln.
Es wäre für mich ebenso OK, wenn die Geschwindigkeit nur die Vorgabe ist. Bei Auf- und Abfahrten weicht sie dann eben ab. Ich bin noch sehr neu in der digitalen Eisenbahnwelt, aber ich glaube ich habe auch schon gesehen, dass es Decoder gibt, die das lastgeregelt kompensieren können.
Wenn Du mal Langeweile haben solltest, fände ich das ein cooles Feature...
Ich denke, dass ich mich beim Bau der Hardware möglichst flexibel darauf einstelle ;-)
Hallo Leif,
habe nochmal über deinen Vorschlag nachgedacht und bin zu dem Schluss gekommen, dass er wirklich nicht in das Bedienkonzept von Electrip passt. Weil ich zurzeit sowieso wenig freie Zeit habe, werde ich das nicht einbauen,
Du kannst aber gerne versuchen, eine solche Funktion in Electrip zu integrieren. Die Gamepadlogik ist im Modul "Pygame/JoystickAndSound.py" enthalten.
Ich glaube jedoch, dass du auf große Probleme stoßen wirst. Hier ein paar meiner Gedanken:
Aus meiner Sicht passt eine direkt proportionale Steuerung einfach nicht in Electrips Gamepadkonzept. Mit der Maus kann dieses Verhalten natürlich erreicht werden. Aber das ist eigentlich nicht der Sinn der Sache :)
Grüße,
Moritz
Last edit: Moritz Renftle 2013-05-03
Hallo Moritz,
deine Software ist eine tolle Idee!
Ich habe zur Zeit zwei Fragen:
1. Wenn kein Game-Controller angeschlosen ist (und auch noch überhaupt nicht war, frisch installiertes Ubuntu) und ich bereits Loks konfiguriert habe, wird mir, wenn ich auf "Steuerung" umschalte, auch nichts (gar nichts) angezeigt, ist das richtig?
2. Weist du zufällig ob dieser Controller (http://www.ebay.de/itm/400537859396?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649#ht_2517wt_1285) funktionieren würde?
Jochen
Hi Jochen,
habe deine zwei Fragen und meine Antworten an diese zwei Stellen verschoben:
1. https://sourceforge.net/p/electrip/discussion/help/thread/f7169da7/
2. https://sourceforge.net/p/electrip/discussion/help/thread/7e850812/
Sonst wird das zu unübersichtlich :)