Bediening - rwmodeltrain/departure-board GitHub Wiki
departure-board
start automatisch op bij het aanzetten van de RPi. Het is hierbij belangrijk dat vooraf
- De Windows PC met Koploper is opgestart
- In Koploper de communicatie met de centrale is gestart
- Het communicatielogging scherm open staat.
Iedere keer als Koploper de communicatielogging start wordt een nieuw logbestand aangemaakt, departure-board
maakt altijd gebruik van het laatst aangemaakte bestand. Sluit op de RPi een toetsenbord aan met een numeriek gedeelte, of gebruik een apart numeriek toetsenbord. Departure-board
werkt vrijwel volledig met het numerieke toetsenbord. Als wordt gewerkt met meerdere RPi's hoeft alleen op de master RPi een toetsenbord te worden aangesloten.
Bij het voor de eerste keer opstarten zal de stationsinformatie nog niet kloppen. Er zullen treinen op stations staan, terwijl dit bij de stations nog niet zichtbaar is. Of er staan op departure-board
treinen op stations die er in werkelijkheid helemaal niet staan. De RPi met het toetsenbord kan worden gebruikt om de huidige situatie aan te passen. Met de *
toets kan worden gewisseld van station, wanneer er meerdere stations zijn. Vervolgens kan met de numerieke toetsen 1-6
een aanpassing worden gedaan op het scherm. Als bijvoorbeeld de 5
wordt ingedrukt, zal de 5e trein in het rijtje aankomen op het station - het zal naar boven schuiven. Ook kan gesimuleerd worden dat een trein vertrekt van het station. Departure-board
werkt nu met maximaal 2 sporen, als de 1
op het numerieke toetsenbord wordt gebruikt zal de eerste trein in de rij vertrekken of aankomen en wanneer de 2
wordt gekozen zal de tweede trein vertrekken of aankomen. Zo kan voor ieder station de huidige situatie ingesteld worden. Bij het afsluiten van het programma met de 0
op het numerieke toetsenbord wordt de baansituatie ook opgeslagen (en is dan ook beschikbaar voor evt. andere RPi's).
De volgende toetsen op het numerieke gedeelte van het toetsenbord hebben een functie:
-
1-6
: Instellen van de baansituatie. Laat een trein arriveren1-6
of vertrekken1-2
. -
*
: Wisselen van station -
+
: Volume voor betreffende station omhoog (alleen op actieve RPi) -
-
: Volume voor betreffende station omlaag (alleen op actieve RPi) -
0
: Afsluiten vandeparture-board
. Bij het afsluiten vandeparture-board
vraagt de master RPi wat te doen met de andere RPi's. Aangezien deze niet weet hoeveel andere RPi's er zijn (is nog te verbeteren) zal de master RPi altijd deze vraag stellen. Kies bij gebruik an 1 RPi voor0
(niets doen) en vervolgens voor het afsluiten de1
. Bij het afsluiten wordt de laatst bekende baansituatie op de master RPi opgeslagen in de INI bestanden op de Windows-share. Sluitdeparture-board
alleen af als Koploper nog actief is, maar geen verkeer meer actief is (F6). Dit is nodig omdatdeparture-board
continu op zoek is naar wijzigingen in het logbestand, als de Windows PC uit staat kandeparture-board
het bestand niet meer lezen en zal een fout optreden.
Wanneer departure-board
is gestopt met gebruik van de 0
, is de command-line weer zichtbaar. Type om de RPi netjes af te sluiten:
sudo shutdown now
Dit hoeft slechts éénmaal, de RPi onthoudt de laatst ingevoerde commando's. Als departure-board
de volgende keer is afgesloten kan het laatst ingevoerde commando met de 8
op het toetsenbord (numlock niet aan) worden opgeroepen. Meestal volstaat dan éénmaal de 8
en een enter op het numerieke toetsenbord.
Zeker in het begin kan er van alles mis gaan. Het opstarten van departure-board
gebeurt in 2 fasen: Eerst wordt het programma 1.py
opgestart, daarna het programma departure-board.py
. Als er een fout optreedt in 1.py
, wordt deze fout weggeschreven in het bestand AppInitErrors.log
, te vinden op de RPi onder de directory /home/pi/
. Als er iets mis gaat in departure-board.py
dan worden fouten weggeschreven in het bestand DevErrors.log
, ook te vinden in /home/pi
. Iedere keer als departure-board
wordt opgestart, worden de .log bestanden verwijderd. In 'DevErrors.log' wordt ook beperkt bijgehouden welke acties departure-board
allemaal uitvoert.
Voorbeeld logbestand
INFO:root:16:36:33: Open /mnt/koploper/Koploper/inifiles/Trackinfo.ini for input
INFO:root:16:36:33: Read 6 trains from: /mnt/koploper/Koploper/inifiles/Epinal.ini
INFO:root:16:36:33: Traininfo read for: Epinal
INFO:root:16:36:33: Read adinfo (7) from: /mnt/koploper/Koploper/inifiles/Epinal.ini
INFO:root:16:36:33: Adinfo read for: Epinal
INFO:root:16:36:33: Read 5 trains from: /mnt/koploper/Koploper/inifiles/Remiremont.ini
INFO:root:16:36:33: Traininfo read for: Remiremont
INFO:root:16:36:33: Read adinfo (7) from: /mnt/koploper/Koploper/inifiles/Remiremont.ini
INFO:root:16:36:33: Adinfo read for: Remiremont
INFO:root:16:36:34: Read 2 trains from: /mnt/koploper/Koploper/inifiles/Freize.ini
INFO:root:16:36:34: Traininfo read for: Freize
INFO:root:16:36:34: Read adinfo (7) from: /mnt/koploper/Koploper/inifiles/Freize.ini
INFO:root:16:36:34: Adinfo read for: Freize
INFO:root:16:36:34: Routeinfo read.
INFO:root:16:36:34: Volume: 0.05
INFO:root:16:36:34: Use TFT: True
INFO:root:16:36:34: ActiveStation: Epinal
INFO:root:16:36:34: ActiveAd: adfiles/Mcdonalds.png
INFO:root:16:36:34: Mixer initiated
INFO:root:16:36:34: First whistle played (audiofiles/Whistle1.ogg) with volume 0.05
INFO:root:logofiles/logo.png
INFO:root:16:36:34: latest koploperfile: /mnt/koploper/Frankrijk1_20170307_235953.txt
Waarschijnlijk treden fouten op omdat een bestand niet voldoet aan de verwachting van departure-board
, zo kan een INI bestand foutief zijn aangepast of is departure-board
op zoek naar een bestand dat niet bestaat. In het logbestand DevErrors.log
is dit waarschijnlijk wel terug te vinden. Er zijn verschillende programma's die vanaf een standaard werkplek een tekstbestand op de RPi kunnen lezen, voor de Mac is dit bijvoorbeeld TextWrangler. Hiervoor moet ingelogd worden op de RPi, standaard is de inlognaam 'pi' en het wachtwoord 'raspberry'.
Voorbeeld foutmelding
ERROR:root:Error in departure-board:
Traceback (most recent call last):
File "/mnt/koploper/appfiles/departure-board.py", line 1475, in <module>
departureboard()
File "/mnt/koploper/appfiles/departure-board.py", line 1284, in departureboard
MyStation.SaveTrainsToIniFile(inipath)
File "/mnt/koploper/appfiles/departure-board.py", line 153, in SaveTrainsToIniFile
with open(inipath+self.name+'.ini', 'w') as configfile:
IOError: [Errno 13] Permission denied: '/mnt/koploper/inifiles/Epinal.ini'
In dit geval heeft de gebruiker op de Windows Share te weinig rechten, de huidige baanstand kan niet worden opgeslagen.
Het kan nodig zijn om departure-board
handmatig op te starten, bijvoorbeeld na het oplossen van een foutmelding. De RPi kan dan opnieuw opgestart worden, daarmee wordt departure-board
ook opnieuw opgestart - dit kost echter veel tijd. Opstarten van departure-board
via de command-line:
Op de master RPi:
sudo python 1.py
Op de overige RPi's:
python 1.py