public abstract class MrwController extends java.lang.Object implements CANMessageProcessor
Modifier and Type | Field and Description |
---|---|
protected Connection |
connection
Die Kommunikationsverbindung zur Modelleisenbahnanlage.
|
protected Modell |
model
Die zu steuernde Modelleisenbahnanlage.
|
Modifier | Constructor and Description |
---|---|
protected |
MrwController()
Dieser Konstruktur instanziiert die Modelleisenbahnanlage.
|
Modifier and Type | Method and Description |
---|---|
void |
addSegmentSelection(Abschnitt segment)
Diese Methode fügt einen Gleisabschnitt der Auswahlliste hinzu.
|
void |
addTrigger(Trigger t)
Diese Methode registriert einen
Trigger . |
void |
clearSegmentSelection()
Diese Methode löscht die Auswahl an Gleisabschnitten.
|
void |
clearSignals()
Diese Methode schaltet alle Lämpchen der Lichtsignale der Eisenbahnanlage aus.
|
void |
close()
Diese Methode schließt die aktuelle Verbindung zur Eisenbahn.
|
BatchRunner |
computeRoute(boolean shunting,
boolean direction)
Diese Methode schaltet eine Fahrstraße gemäß der ausgewählten Gleisabschnitte.
|
void |
configMicroController()
Diese Methode fragt den internen Zustannd aller Mikrocontroller ab.
|
CANMessage |
createMsg()
Diese Methode erzeugt eine CAN-Meldung auf Basis einer
MrwMessage . |
abstract void |
deactivateAction(Route route)
Dieser Callback deaktiviert eine bestimmte Action.
|
protected abstract void |
deactivateActions()
Dieser Callback deaktiviert alle aktiven Actions.
|
BatchRunner |
extendRoute(Route route)
Diese Methode verlängert eine bestehende Fahrstraße entlang der ausgewählten Gleisabschnitte.
|
java.util.List<Abschnitt> |
getSegmentSelection()
Diese Methode gibt alle ausgewählten Gleisabschnitte zurück.
|
abstract Route |
getSelectedRoute()
Diese Methode gibt die aktuell ausgewählte Fahrstraße an.
|
BatchRunner |
maintainanceMode()
Diese Methode aktiviert den Wartungsmodus.
|
void |
moveTrigger(Trigger t)
|
void |
pingModelRailWay()
Diese Methode sendet eine PING-Meldung an alle Mikrocontroller.
|
void |
prepare()
Diese Methode initialisiert diesen Controller.
|
void |
prepareSimple()
Diese Methode initialisiert diesen Controller.
|
void |
process(CANMessage msg)
Hier wird eine CAN-Meldung verarbeitet.
|
void |
queryMicroControllerState()
Diese Methode fragt den internen Zustannd aller Mikrocontroller ab.
|
void |
queryModelState()
Diese Methode fragt den Betriebszustand der Eisenbahnanlage komplett ab.
|
void |
removeAllRoutes()
Diese Methode schaltet alle Fahrstraßen aus.
|
void |
removeRoute(Route route)
Diese Methode schaltet eine bestimmte Fahrstraße aus.
|
void |
removeSegmentSelection(Abschnitt segment)
Diese Methode entfernt einen Gleisabschnitt aus der Auswahlliste.
|
void |
removeTrigger(Trigger t)
Diese Methode meldet einen
Trigger ab. |
void |
resetMicroController()
Diese Methode sendet einen Reset an alle Mikrocontroller.
|
void |
resetModelRailWay()
Diese Methode führt die Modelleisenbahn in einen definierten Ausgangszustand.
|
abstract void |
selectRoute(Route route)
Diese Methode wählt eine Fahrstraße aus.
|
void |
send(BatchExecuter executer)
Diese Methode sendet den Inhalt eines
BatchExecuter s. |
void |
send(CANMessage msg)
Diese Methode sendet eine CAN-Meldung.
|
void |
send(CANMessage msg,
java.lang.String comment)
Diese Methode sendet eine CAN-Meldung und loggt diese mit einem Kommentar.
|
abstract void |
setErrorMessage(java.lang.String message)
Dieser Callback setzt eine Fehlermeldung ab.
|
abstract void |
setMessage(java.lang.String message)
Dieser Callback setzt eine Infomeldung ab.
|
void |
testSignals()
Diese Methode schaltet alle Lämpchen der Lichtsignale der Eisenbahnanlage an.
|
void |
turnAllSwitches()
Diese Methode lässt alle Weichen in die jeweils andere Lage umlaufen.
|
abstract void |
updateActions()
Dieser Callback aktualisiert den Status der Actions auf dem Bildschirm.
|
abstract void |
updateClearedSelection()
Dieser Callback aktualisiert den Zustand der Fahrspur- und Abschnittsauswahl.
|
abstract void |
updateCompleteUI()
Dieser Callback aktualisiert den Status auf dem Bildschirm.
|
abstract void |
updateTrackPlan()
Dieser Callback aktualisiert den Zustand des Spurplans.
|
protected void |
waitForReachability(long delay)
Diese Methode wartet auf Erreichbarkeit aller Mikrocontroller mit einem festgelegten Timeout.
|
void |
waitForReachability(long interval,
long base)
Diese Methode wartet auf Erreichbarkeit aller Mikrocontroller mit einem festgelegten Timeout.
|
protected final Modell model
protected Connection connection
RS232Connection
,
DummyConnection
protected MrwController()
public void prepare() throws java.lang.Exception
java.lang.Exception
- Exceptions werden übergeordnet ausgewertet.public void prepareSimple() throws java.lang.Exception
java.lang.Exception
public void process(CANMessage msg)
BatchExecuter
weitergereicht. Desweiteren werden die bekannten Trigger aufgerufen.process
in interface CANMessageProcessor
msg
- Die eingetroffene CAN-MeldungCANMessage
public void send(BatchExecuter executer)
BatchExecuter
s.executer
- Der BatchExecuter
, der die Batch
es versenden soll.public void send(CANMessage msg) throws java.io.IOException
msg
- Die CAN-Meldungjava.io.IOException
- Wird geworfen, falls das Versenden fehlschlug.public final void send(CANMessage msg, java.lang.String comment) throws java.io.IOException
msg
- Die CAN-Meldungcomment
- Der Kommentarjava.io.IOException
- Wird geworfen, falls das Versenden fehlschlug.public final void close()
public final CANMessage createMsg()
MrwMessage
.createMsg
in interface CANMessageProcessor
public final void addTrigger(Trigger t)
Trigger
.t
- Der zu registrierende Trigger
.public final void removeTrigger(Trigger t)
Trigger
ab.t
- Der abzumeldende Trigger
.public final void moveTrigger(Trigger t)
Trigger
an das Ende der Liste aller Trigger
. Die
Ausführung erfolgt asynchron, um eine ConcurrentModificationException
zur vermeiden.t
- Der Trigger
, der an das Ende gehängt werden soll.public final void removeRoute(Route route)
route
- Die auszuschaltende Fahrstraße.public final void removeAllRoutes()
public final void clearSignals()
public final void testSignals()
public void pingModelRailWay()
public void resetMicroController()
public void queryMicroControllerState()
public void configMicroController()
protected void waitForReachability(long delay)
delay
- Abfrageintervalle beim Polling.public void waitForReachability(long interval, long base)
interval
- Abfrageintervalle beim Polling.base
- Mindestwartezeit.public void resetModelRailWay()
public void queryModelState()
public void turnAllSwitches()
public final java.util.List<Abschnitt> getSegmentSelection()
public final void addSegmentSelection(Abschnitt segment)
segment
- Der hinzuzufügende Gleisabschnitt.public final void removeSegmentSelection(Abschnitt segment)
segment
- Der zu entfernende Gleisabschnitt.public final void clearSegmentSelection()
public final BatchRunner computeRoute(boolean shunting, boolean direction)
shunting
- Rangierflagdirection
- Fahrtrichtingpublic final BatchRunner extendRoute(Route route)
route
- Die zu verlängernde Fahrstraße.public BatchRunner maintainanceMode()
BatchRunner
.public abstract void setMessage(java.lang.String message)
message
- Die Infomeldung.public abstract void setErrorMessage(java.lang.String message)
message
- Die Fehlermeldung.public abstract void updateCompleteUI()
public abstract void updateTrackPlan()
public abstract void updateClearedSelection()
public abstract void updateActions()
MrwActionControl
,
BeerMode
,
TourMode
protected abstract void deactivateActions()
MrwActionControl
,
BeerMode
,
TourMode
public abstract void deactivateAction(Route route)
route
- Die zur Action gehörende Fahrstraße.MrwActionControl
,
BeerMode
,
TourMode
public abstract void selectRoute(Route route)
route
- Die auszuwählende Fahrstraße.public abstract Route getSelectedRoute()
Copyright © 2011 all committers of this modelrailway project