SpDrS60 Stellwerkssimulation Stellwerkssimulation zu Verwendung in bliebigen Schienensystemen
|
#include <HauptsignalControl.h>
Öffentliche Methoden | |
HauptsignalControl (int anzahlHauptsignale, int ledPinsRot[], int ledPinsGelb[], int ledPinsGruen[], int signaltasten[], int sperrmelder[], int allgSignaltasten[3], int registerPin[4], boolean richtung[]=nullptr) | |
Hauptsignal * | getHauptsignal (int hauptsignalNr) |
void | hauptsignalSchalten (int hauptsignalNr, int newStatus) |
void | hauptsignaleHp0Manuell () |
void | hauptsignaleSperren () |
boolean | getHauptsignalSperren (int hauptsignalNr) |
Über diese Klasse werden die Hauptsignale gesteuert. Die Klasse erstellt Besetztmelder und verwaltet diese, über diese Klasse werden die einzelen Hauptsignale abgefragt. Die Hauptsignale sind von 0 an nummeriert
Definiert in Zeile 20 der Datei HauptsignalControl.h.
HauptsignalControl::HauptsignalControl | ( | int | anzahlHauptsignale, |
int | ledPinsRot[], | ||
int | ledPinsGelb[], | ||
int | ledPinsGruen[], | ||
int | signaltasten[], | ||
int | sperrmelder[], | ||
int | allgSignaltasten[3], | ||
int | registerPin[4], | ||
boolean | richtung[] = nullptr |
||
) |
Erstellt die angegebene Anzahl an Objekten der Klasse Hauptsignale und initialisiert diese. Die Initialisierung passiert mit Hilfe der drei Übergebenen Array. Aus der Klasse HauptsignalControl werden die entgegengenommenen Befehle auf die einzelnen Hauptsignale verteilt. Zusätzlich werden alle Signale auf Rot gestellt, um Unfällen vorzugbeugen.
[in] | rotPin | Der Pin an dem die Signaltaste, bzw. die zugehörige Zugtaste (beides Identisch) angeschlossen ist. |
[in] | gelbPin | Pin an dem eine Led angeschlossn ist, die anzeigt, ob das Signal gesperrt oder entsperrt ist. |
[in] | gruenPin | Das Array besteht aus Signalsperr- und entsperrtaste und Signalhaltgruppentaste bzw. den dazugehörigen Anschlüssen. |
[in] | signaltaste | Der Pin an dem die Signaltaste, bzw. die zugehörige Zugtaste (beides Identisch) angeschlossen ist. Wird an die Klasse Signale übergeben. |
[in] | sperrmelder | Pin an dem eine Led angeschlossn ist, die anzeigt, ob das Signal gesperrt oder entsperrt ist. Wird an die Klasse Signale übergeben. |
[in] | allgSignaltasten | Dieses Array wird für den Konstruktor der Oberklasse Signale benötigt. Das Array besteht aus Signalsperr- und entsperrtaste und Signalhaltgruppentaste bzw. den dazugehörigen Anschlüssen. |
[in] | registerPin | Die Pins aus dem Array werden an die Oberklasse signale/actors übergeben. Das Array besteht aus der Anzahl der Register, dem Pin SH_CP, ST_CP, DS in dieser Reihenfolge. |
Definiert in Zeile 10 der Datei HauptsignalControl.cpp.
Hauptsignal * HauptsignalControl::getHauptsignal | ( | int | hauptsignalNr | ) |
Definiert in Zeile 23 der Datei HauptsignalControl.cpp.
boolean HauptsignalControl::getHauptsignalSperren | ( | int | hauptsignalNr | ) |
Gibt aus, ob das angegebene Hauptsignal gesperrt ist.
Definiert in Zeile 44 der Datei HauptsignalControl.cpp.
void HauptsignalControl::hauptsignaleHp0Manuell | ( | ) |
Die Hauptsignale wird mit der Signalhalttaste und der dem Signal zugeortneten Zugstraßentaste auf hp0 (rot) gestellt.
Definiert in Zeile 32 der Datei HauptsignalControl.cpp.
void HauptsignalControl::hauptsignaleSperren | ( | ) |
Alle erstellten Hauptsignale können über diese Methode in der main.cpp über Signalsperr/entsperrtaste und Signaltaste, wenn sie in Haltstellung sind gegen umstellen gesperrt werden.
Definiert in Zeile 38 der Datei HauptsignalControl.cpp.
void HauptsignalControl::hauptsignalSchalten | ( | int | hauptsignalNr, |
int | newStatus | ||
) |
Schaltet das angegebene Signal in die angegebene Postion. (newStatus = 0(Halt), 1(Fahrt), 2(Langsamfahrt) Wenn das Signal gesperrt ist, ist kein schalten möglich
Definiert in Zeile 27 der Datei HauptsignalControl.cpp.