SpDrS60 Stellwerkssimulation Stellwerkssimulation zu Verwendung in bliebigen Schienensystemen
|
#include <WeichenControl.h>
Öffentliche Methoden | |
WeichenControl (int anzahlweichen, int weichenPinGerade[], int weichenPinKurve[], int weichenLedGerade[], int weichenLedGeradeRot[], int weichenLedKurve[], int weichenLedKurveRot[], int adressWeichenposition[], int weichentimeout, int wt[], int wgt, int registerPins[4]) | |
Weiche * | getWeiche (int weichenNr) |
void | weichenWechseln () |
void | weichenStellen (int weichenNr, boolean weichenlage) |
void | weichenGerade (int weichenNr) |
void | weichenKurve (int weichenNr) |
void | weichenRelaisHIGH () |
void | weichenRelaisLOW () |
void | weichenpositionenEEPROM () |
void | weichenSchalten () |
void | setWeichenfestlegung (int weichenNr, int fahrstrassenNr, boolean festlegestatus) |
boolean | getWeichenfestlegung (int weichenNr) |
boolean | getWeichenposition (int weichenNr) |
Freundbeziehungen | |
class | Besetztmelder |
Über diese Klasse werden die Weichen gesteuert. Die Klasse erstellt Weichen und verwaltet diese, über diese Klasse werden die einzelen weichen geschaltet und abgefragt werden. Die Besetztmelder sind von 0 an nummeriert
Definiert in Zeile 21 der Datei WeichenControl.h.
WeichenControl::WeichenControl | ( | int | anzahlweichen, |
int | weichenPinGerade[], | ||
int | weichenPinKurve[], | ||
int | weichenLedGerade[], | ||
int | weichenLedGeradeRot[], | ||
int | weichenLedKurve[], | ||
int | weichenLedKurveRot[], | ||
int | adressWeichenposition[], | ||
int | weichentimeout, | ||
int | wt[], | ||
int | wgt, | ||
int | registerPins[4] | ||
) |
Diese Klasse erstellt nach der angegebenen Menge Objekte der Klasse Weiche und initialisiert diese.
[in] | anzahlWeichen | Speichert in einem Array die Anzhal der Weichen die erstellt werden sollen. |
[in] | weichenPinGerade | Das Array speichert die Anschlüsse des Relais, das die Weiche gerade stellt. |
[in] | weichenPinKurve | Das Array speichert die Anschlüsse des Relais, das die Weiche in Kurvenlage stellt. |
[in] | weichenLedPinGerade | Das Array speichert den Anschluss der Led, die die Gerade Lage der Weiche anzeigt. |
[in] | weichenLedPinKurve | Das Array speichert den Anschluss der Led, die die Gerade Lage der Weiche anzeigt. |
[in] | adressWeichenposition | Das Array bestimmt den speicherort an dem die Weichenposition gespeichert werden soll. |
[in] | weichentimeout | Bestimmt wie lange die Weiche geschaltet wird. |
[in] | wt | Das Array deklariert den Eingang an dem die Weichentaste angeschlossen ist. |
[in] | wgt | Übergibt den AnschlussPin der Weichengruppentaste. |
[in] | registerPins | Die Pins aus dem Array werden an die Klasse Weiche und von dieser an die Oberklasse Actor ü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 WeichenControl.cpp.
Weiche * WeichenControl::getWeiche | ( | int | weichenNr | ) |
Definiert in Zeile 20 der Datei WeichenControl.cpp.
boolean WeichenControl::getWeichenfestlegung | ( | int | weichenNr | ) |
Es wird ausgegeben, ob die Weiche festgelegt ist, oder nicht
Definiert in Zeile 77 der Datei WeichenControl.cpp.
boolean WeichenControl::getWeichenposition | ( | int | weichenNr | ) |
Es wird der akuelle Status der angegebenen Weiche ausgegeben. (true = gerade, false = kurve)
Definiert in Zeile 82 der Datei WeichenControl.cpp.
void WeichenControl::setWeichenfestlegung | ( | int | weichenNr, |
int | fahrstrassenNr, | ||
boolean | festlegestatus | ||
) |
Kann die Festlegung der Weichen aktivieren. Die Weichenlage kann nicht mehr verändert werden, bis die Festlegung durch die Fahrstraße ausfgelöst wird.
Definiert in Zeile 72 der Datei WeichenControl.cpp.
void WeichenControl::weichenGerade | ( | int | weichenNr | ) |
Funktion um die Weiche in Geradeweichenlage zu versetzen. Dies ist nur möglich wenn die Weiche nicht von einer Fahrstraße beansprucht wird.
Definiert in Zeile 38 der Datei WeichenControl.cpp.
void WeichenControl::weichenKurve | ( | int | weichenNr | ) |
Funktion um die Weiche in Kurvenlage zu versetzten. Dies ist nur möglich wenn die Weiche nicht von einer Fahrstraße beansprucht wird.
Definiert in Zeile 43 der Datei WeichenControl.cpp.
void WeichenControl::weichenpositionenEEPROM | ( | ) |
Die Weichenposition wird dauerhaft im EEPROM gespeichert. Dafür wird sie geupdatet, wenn eine Weiche geschaltet wurde
Definiert in Zeile 60 der Datei WeichenControl.cpp.
void WeichenControl::weichenRelaisHIGH | ( | ) |
Alle Weichenrelais werden auf HIGH gesetzt. Die Relais sind alle inaktiv.
Definiert in Zeile 48 der Datei WeichenControl.cpp.
void WeichenControl::weichenRelaisLOW | ( | ) |
Alle Weichenrelais werden auf LOW gesetzt. Die Relais sind alle aktiv.
Definiert in Zeile 54 der Datei WeichenControl.cpp.
void WeichenControl::weichenSchalten | ( | ) |
Beendet nach der zuvor im Konstruktor definierten Zeit das Schalten des Relais.(je nach Weichenantrieb und Schaltdauer) Methode muss für jedes Objekt der Klasse einmal im Loop vorhanden sein.
Definiert in Zeile 66 der Datei WeichenControl.cpp.
void WeichenControl::weichenStellen | ( | int | weichenNr, |
boolean | weichenlage | ||
) |
Stellt die angegebene Weiche. true = gerade, false = kurve
Definiert in Zeile 30 der Datei WeichenControl.cpp.
void WeichenControl::weichenWechseln | ( | ) |
Funktion zum Wechseln der Weiche mit Weichengruppentaste und Weichentaste in Kombination. Dies ist nur möglich wenn die Weiche nicht von einer Fahrstraße beansprucht wird.
Definiert in Zeile 24 der Datei WeichenControl.cpp.
|
friend |
veränder den Status der Weiche und läasst die roten Leds die Stellung anzeigen
Definiert in Zeile 55 der Datei WeichenControl.h.