Fahrgastinformation - Plugin Vorschau

Für Fragen zu Plugins und zur Plugin-Entwicklung.

Moderatoren: Stellwerk-Admin, Moderatoren

Benutzeravatar
matej
R-Admin [Tschechien West]Erbauer
Beiträge: 1383
Registriert: Mo Mär 05, 2007 7:46 pm
StiTz: 704347

Fahrgastinformation - Plugin Vorschau

Beitrag von matej »

Hoffe mir ist keiner böse, wenn ich hier mal kurz hinschreibe an was ich bastle.
Nur damit es das nachher nicht zweimal gibt.

Bin dabei eine Fahrgastinformation im Style dieser neuen Anzeigen auf den kleinen Regiobahnhöfen.
Habe mich, bis jetzt, noch nicht genau mit dem Daten auslesen beschäftigt, sondern erstmal die Anzeige gebastelt.
Wird wohl auch noch lange dauern bis ich mich damit genauer befassen kann, da es ja noch so was wie Schule gibt.

Hier gibt es mal nur die Anzeige zum bestaunen und testen:
http://www.file-upload.net/download-321 ... n.jar.html

Anleitung:
"Neu" = Zur Eingabe eines neuen Textes
"Löschen" = Zum löschen einer vorherigen Eingabe
"Start" = Lässt das Band laufen
"Stop" = Hält das Band an

Vorgefertigte Beispieleingaben (Leerzeichen nötig, da sonst Text an Text):

Code: Alles auswählen

"RE29729 nach Köln-Deutz (tief) Abfahrt 17:32 Uhr fährt heute etwa 5 Minuten später ab      ***      "
"RB42569 nach Bonn-Mehlem Abfahrt 17:42 Uhr fährt heute etwa 10 Minuten später ab      ***      "
Soll später so sein, dass man auswählen kann, für welche Simgleise die Anzeige ansprechen soll und dann automatisch, wenn es Verspätungen gibt, diese dort anzeigt bekommt.

Bin dankbar für Resonanzen die sich auf die Idee, den Sytle oder auch Probleme, wenn es jetzt schon welche gibt, beziehen.
Euer Matthias ♂

R-Admin:
Fernverkehrsteam: Niederlande
Benutzeravatar
SEW
Beiträge: 353
Registriert: Sa Jun 23, 2007 2:23 pm
StiTz: 705111

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von SEW »

matej hat geschrieben:Bin dankbar für Resonanzen die sich auf die Idee, den Sytle oder auch Probleme, wenn es jetzt schon welche gibt, beziehen.
Na gut, wenn du darauf bestehst ;) :

Wenn man mehrmals auf Start klickt, läuft der Text jedesmal schneller. Leider geht das umgekehrt nicht mit der Stop-Taste.
Wenn man noch keinen Text eingegeben hat, hängt sich das Tool auf und läßt sich nur über den Task-Manager schließen.

Insgesamt finde ich, das es zu schnell läuft.
Aber abgesehen davon: Für kleinere / ruhige Stellwerke, wo man die Zeit hat, das von Hand einzugeben, ist das Tool schon jetzt geeignet.
MfG, SEW
--------------------------------
Moderator, aber trotzdem lieb
Benutzeravatar
matej
R-Admin [Tschechien West]Erbauer
Beiträge: 1383
Registriert: Mo Mär 05, 2007 7:46 pm
StiTz: 704347

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von matej »

Zum Tempo kann ich sagen, dass es dem originalem der Bahn entspricht(wenn man nur einmal klickt).
Was übrigens auch für die Ausmaße gilt.

Das mit dem schneller laufen sollte nicht so sein.
Kümmere mich darum, wenn ich wieder zuhause bin.
Gerade wegen solcher Meldungen freue ich mich besonders über Resonanzen.

Stelle dann auch mal ein Beweisvideo zum Tempo hier rein.
Euer Matthias ♂

R-Admin:
Fernverkehrsteam: Niederlande
js
Stellwerk-AdminEntwicklerR-Admin [Alternative Stellwerke, München S-Bahn 2004, Test, Zug-Schattenregion]Erbauer
Beiträge: 15436
Registriert: Mi Aug 07, 2002 12:39 pm
StiTz: 700002

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von js »

Bei mir steht da 2x leicht versetzt "Fahrgastinfomation". Danach ließ sich das Programm nicht mehr beenden und kein Knopf hat reagiert.

2. Versuch, der Text rennt affig schnell los und flackert wies Vieh. Mehrmals start macht ihn noch schneller, Stop hält dann nicht mehr an.

Löschen hab ich nicht verstanden.
Hier würde eine Signatur stehen. Beachtet eh keiner, wozu also.
Benutzeravatar
matej
R-Admin [Tschechien West]Erbauer
Beiträge: 1383
Registriert: Mo Mär 05, 2007 7:46 pm
StiTz: 704347

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von matej »

Hier das Beweisvideo:
http://www.file-upload.net/download-321 ... o.MP4.html

Hier mal eine neue Version:
http://www.file-upload.net/download-321 ... n.jar.html

Anleitung:
"Löschen" = Man muss den Index des zu löschenden Eintrags eingeben.
Beispiel:
1.Eintrag "AAA"; 2.Eintrag "BBB"; 3.Eintrag "CCC";
Nach löschen Index "1":
1.Eintrag "AAA"; 2.Eintrag "CCC";
Nach löschen Index "1":
1.Eintrag "AAA";

"Tempo" = Gibt an wie lange es dauert, bis einen Punkt weiter gesprungen wird.


Das mit der Darstellung lag wohl an Swing, habe das mal auf AWT umgestellt.
Würde interessieren welche Fehler immer noch auftreten.
Euer Matthias ♂

R-Admin:
Fernverkehrsteam: Niederlande
DehWeh
Beiträge: 31
Registriert: Do Jul 31, 2008 7:15 pm
StiTz: 707816

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von DehWeh »

Also was mir grad aufgefallen ist: Der erste Eintrag hat den Index "0" und nicht "1" :wink: (dann klappt das Löschen auch so wie gewollt).
Benutzeravatar
xxJohnxx
Beiträge: 271
Registriert: Do Okt 08, 2009 4:51 pm
StiTz: 711506

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von xxJohnxx »

Hi,

Unter MacOS X Version 10.6.6 ist dieses Programm leider nicht verwendbar. Es lässt sich zwar öffnen, auch ein Text lässt sich eingeben und anzeigen. Jedoch läuft die Anzeige extrem langsam (ca. 1 sek bis der Bildpunkt nach Links weiterspringt). Die CPU-Last die dieses Programm erzeugt liegt bei 100%.

Nur mal als kleines Feedback.

Gruß John

EDIT: Solange man nicht auf "Start" klickt liegt die CPU-Last die das Programm erzeugt bei praktisch 0%. Aber sobald man auf den "Start" Knopf drückt schnellt die CPU-Last in die höhe.
Das Programm wird bei mir in dem Dock (Taskleiste) als ' GUI ' angezeigt. Das selbe so in der Aktivitätsanzeige (Taskmanager). Ist das so gewünscht.
A/Z-Designer: Hier und da und dort auch noch.
HD+?
Benutzeravatar
matej
R-Admin [Tschechien West]Erbauer
Beiträge: 1383
Registriert: Mo Mär 05, 2007 7:46 pm
StiTz: 704347

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von matej »

Das mit dem Index beginnend ab 0 ist so gewollt. Gibt dazu jetzt einen Hinweis im Programm.
Nun wird auch unter Mac nicht mehr GUI angezeigt.
Jedoch erst wenn ich hier einen neue Version reinstelle.


Das Problem mit dem 100% muss irgendwo hierran, dem Timer, liegen:

Code: Alles auswählen

IN FUNKTION void start():
t = new javax.swing.Timer( delay , new ActionListener() {
  public void actionPerformed( ActionEvent e ) {
    if(untereGrenze>meinText.size()){
      untereGrenze=0;
    }
    aktAnzeige.clear();
    while(aktAnzeige.size()<(pA-1)){
      for(int k=0; k<meinText.size();k++){
        if(aktAnzeige.size()<pA){
          aktAnzeige.add(meinText.get((untereGrenze+k)%meinText.size()));
        }
      }
    }
    repaint();
    untereGrenze++;
  }
});
t.setCoalesce(true);
t.start();

GLOBAL: 
javax.swing.Timer t;
Unter Windows klappt es wunderbar, mit nur 4% CPU, aber nicht unter MacOS.
Habe ich schon im Netz ungesehen, aber keine Lösung gefunden.

Hat wer eine Idee wie ich das beheben könnte oder anders lösen könnte.
Muss nur global zugreifbar bleiben, weil ich es noch stoppen können muss.
Euer Matthias ♂

R-Admin:
Fernverkehrsteam: Niederlande
js
Stellwerk-AdminEntwicklerR-Admin [Alternative Stellwerke, München S-Bahn 2004, Test, Zug-Schattenregion]Erbauer
Beiträge: 15436
Registriert: Mi Aug 07, 2002 12:39 pm
StiTz: 700002

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von js »

Seh ich das richtig, dass du mit jedem Tick die gesamte Liste komplett neu aufbaust? Das dürfte seh langsam sein: massig Speicheranforderungen, Kopien, usw. pro Durchlauf. Ein Fifo, der nur die Deltas bekommt, ist da in einer ersten Idee um einiges schneller. Und der setCoalesce() macht die Sache bei jedem Durchlauf schlimmer, wenn es mal zu Verzögerungen kam.
Hier würde eine Signatur stehen. Beachtet eh keiner, wozu also.
Benutzeravatar
matej
R-Admin [Tschechien West]Erbauer
Beiträge: 1383
Registriert: Mo Mär 05, 2007 7:46 pm
StiTz: 704347

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von matej »

Ja, dass siehst du richtig.

Nur leider verstehe ich nicht wie man einen solchen Fifo in Java einbaut.
Das ist einfach schon etwas zu hoch für mich.
Ich mache das ja so, dass ich Teile aus der ArrayList "meinText" (welche alle anzuzeigenden Spalten enthält) nehme, die aktuell angezeigt werden sollen, und diese dann in die ArrayList "aktAnzeige" schreibe und das halt jedes mal neu.
Hatte das auch mal so, dass der einen ganzen Teil rauschnitt und den dann in die "aktAnzeige" reinschieb (mittels .sublist()), was aber das selbe ist nur anders.

Weiß nicht ob es zu viel Verlangt ist, aber hat jemand eine Seite auf der beschreiben ist, wie man so was in Java machen kann oder es mal jemand versuchst zu erläutern.

Ist das evtl. so gemeint, dass man keine "aktAnzeige" mehr hat, sondern paint() nur sagt, welchen Bereich, von "meinText" es malen soll?
Das würde zumindest das übertragen ersparen, EDIT was jedoch, nach mehrmaligem testen, bei mir weniger als 3% CPU ist. /EDIT

Glaube, aber auch, dass der swing.Timer unter MacOS nicht so recht will, weil selbst, wenn man die Aktualisierungsrate auf 10 Sekunden stellt, habe ich mir sagen lassen. Kannst du, xxJohnxx, dass bestätigen? Dazu einfach mal bei Tempo 1000 eingeben und starten.
Zuletzt geändert von matej am Di Feb 15, 2011 11:33 pm, insgesamt 2-mal geändert.
Euer Matthias ♂

R-Admin:
Fernverkehrsteam: Niederlande
Benutzeravatar
xxJohnxx
Beiträge: 271
Registriert: Do Okt 08, 2009 4:51 pm
StiTz: 711506

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von xxJohnxx »

Hi
Glaube, aber auch, dass der swing.Timer unter MacOS nicht so recht will, weil selbst, wenn man die Aktualisierungsrate auf 10 Sekunden stellt, habe ich mir sagen lassen. Kannst du, xxJohnxx, dass bestätigen? Dazu einfach mal bei Tempo 1000 eingeben und starten.
Also ich hab das mal so ausprobiert und das ganze zeigt keine merkbare Änderung. Die Bildpunkte bleiben weiterhin ca. 1/2 -1 sek stehen, bevor sie sich weiterbewegen. Also schneller wird das ganze nicht.

Gruß John
A/Z-Designer: Hier und da und dort auch noch.
HD+?
Benutzeravatar
matej
R-Admin [Tschechien West]Erbauer
Beiträge: 1383
Registriert: Mo Mär 05, 2007 7:46 pm
StiTz: 704347

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von matej »

Habe mal was weiter gebastelt:
http://www.file-upload.net/download-322 ... n.jar.html

Wird jetzt nicht mehr immer wo reingeschrieben, sondern nur ausgelesen.

Mich würde es interessieren, was MacOS jetzt dazu sagt.
Wenn es immer noch an die 100% sind, dann liegt es wohl wirklich am Timer.

Bei mir habe ich nichtmal 1% CPU und wenige Speicherzugriffe.
Euer Matthias ♂

R-Admin:
Fernverkehrsteam: Niederlande
Benutzeravatar
xxJohnxx
Beiträge: 271
Registriert: Do Okt 08, 2009 4:51 pm
StiTz: 711506

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von xxJohnxx »

matej hat geschrieben: Mich würde es interessieren, was MacOS jetzt dazu sagt.
Hi, werde ich spätenstens bis Heute Abend prüfen. Hab nur jetzt meinen Lappi nicht dabei. :wink:

Gruß John
A/Z-Designer: Hier und da und dort auch noch.
HD+?
Benutzeravatar
abrixas
Stellwerk-AdminSupport-TeamHandbuch-TeamR-Admin [Test-Manager]Erbauer
Beiträge: 18099
Registriert: Mo Okt 30, 2006 7:46 am
StiTz: 703390

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von abrixas »

Habe es bei mir probiert, egal welches Tempo, die Laufschrift springt im Takt weiter (zwischen 1-2 sec).
Wenn das Tool läuft (Start) ist ein Kern bei 100 %.

Mac OS 10.6.6
DevonFrosch
EntwicklerHandbuch-TeamR-Admin [Bremen-Niedersachsen, Fernverkehr Niederlande, Hamburg - Schleswig-Holstein, Niederlande Ost, Rhein-Main, Rhein-Main 2024, Rheinland-Pfalz, Ruhrgebiet, Zug-Schattenregion]Fernverkehr-Team [NL, SKA]Qualitätssicherung [Anlagen-QS, Zug-QS]Erbauer
Beiträge: 7816
Registriert: Fr Jan 16, 2009 11:15 am
StiTz: 709215

Re: Fahrgastinformation - Plugin Vorschau

Beitrag von DevonFrosch »

Moin,

wenn's am Timer liegt: Ich habe mir vor einiger Zeit selbst einen Timer geschrieben, da meine Programme auch immer zu viel CPU brauchten. Dieser basiert jedoch auf Threads, welche man einschläfern kann (was ja für den normalen Ablauf nicht gilt). Dieser Quelltext funktioniert auf Windows super, evtl. könnte es auch auf dem Mac besser funktionieren.

Den Quelltext habe ich einmal hochgeladen: http://sts.devonfrosch.eu/data/Warte.java

Anwendung: Man erzeugt ein neues Object Warte und gibt dem Konstruktor mit auf den Weg, wie viele Millisekunden er warten soll. Im folgendem kann das Objekt wiederverwendet werden, indem man run(int) aufruft. Die Datei habe ich ein bisschen durchkommentiert :-)

Auch wenn das vielleicht nicht der eleganteste Ansatz ist, hoffe ich, dass das ein bisschen hift :-)

Gruß, Elmar
Querschnittskompetenzträger
Projektübersicht
Antworten