Bediening - rwmodeltrain/departure-board GitHub Wiki

Bediening

Opstarten

departure-board start automatisch op bij het aanzetten van de RPi. Het is hierbij belangrijk dat vooraf

  1. De Windows PC met Koploper is opgestart
  2. In Koploper de communicatie met de centrale is gestart
  3. 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.

Instellen baansituatie

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).

Toetsen

De volgende toetsen op het numerieke gedeelte van het toetsenbord hebben een functie:

  • 1-6: Instellen van de baansituatie. Laat een trein arriveren 1-6 of vertrekken 1-2.
  • *: Wisselen van station
  • +: Volume voor betreffende station omhoog (alleen op actieve RPi)
  • -: Volume voor betreffende station omlaag (alleen op actieve RPi)
  • 0: Afsluiten van departure-board. Bij het afsluiten van departure-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 voor 0 (niets doen) en vervolgens voor het afsluiten de 1. Bij het afsluiten wordt de laatst bekende baansituatie op de master RPi opgeslagen in de INI bestanden op de Windows-share. Sluit departure-board alleen af als Koploper nog actief is, maar geen verkeer meer actief is (F6). Dit is nodig omdat departure-board continu op zoek is naar wijzigingen in het logbestand, als de Windows PC uit staat kan departure-board het bestand niet meer lezen en zal een fout optreden.

Afsluiten master Rpi

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.

Logbestanden

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

Oplossen van fouten

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.

Handmatig opstarten departure-board

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

⚠️ **GitHub.com Fallback** ⚠️