SpDrS60 Stellwerkssimulation Stellwerkssimulation zu Verwendung in bliebigen Schienensystemen
|
#include <Weiche.h>
Öffentliche Methoden | |
Weiche (int wnr, int weichenPinGerade, int weichenPinKurve, int weichenLedPinGerade, int weichenLedPinGeradeRot, int weichenLedPinKurve, int weichenLedPinKurveRot, int adressWeichenposition, int weichentimeout, int wt, int wgt, int registerPins[4]) | |
void | weicheWechsel () |
void | weicheGerade () |
void | weicheKurve () |
void | weicheRelaisHIGH () |
void | weicheRelaisLOW () |
void | weichenpositionEEPROM () |
void | weicheSchalten () |
void | setWeichenfestlegung (boolean festlegestatus, int fahrstrassennr) |
boolean | getWeichenfestlegung () |
void | setFlankenschutz (boolean flankenschutzstatus, int fahrstrassennr) |
boolean | getFlankenschutz () |
boolean | getWeichenposition () |
void | setWeichenposition (boolean position) |
void | setWeichebesetzt (boolean besetztmelderstatus) |
int | getNr () |
![]() | |
Actor (int anzahl, int sh, int st, int ds) | |
void | blinken (int LedPin) |
void | digitalSchalten (int PinNr, boolean newPinStatus) |
void | setRegisterPins (int anzahl, int sh, int st, int ds) |
In dieser Klasse werden Weichen gesteuert. Die Klasse kann Weichen schalten und speichert deren Status im EEPROM und kann ihn abrufen, somit vergisst das Programm den Status einer Weiche auch nach dem Reset des Microcontrollers nicht.
Weiche::Weiche | ( | int | wnr, |
int | weichenPinGerade, | ||
int | weichenPinKurve, | ||
int | weichenLedPinGerade, | ||
int | weichenLedPinGeradeRot, | ||
int | weichenLedPinKurve, | ||
int | weichenLedPinKurveRot, | ||
int | adressWeichenposition, | ||
int | weichentimeout, | ||
int | wt, | ||
int | wgt, | ||
int | registerPins[4] | ||
) |
Erstellt Weichen.
[in] | wnr | Nummer der Weiche. |
[in] | weichenPinGerade | Schaltet das Relais, welches einen Wechsel Geradelage auslöst. |
[in] | weichenPinKurve | Schaltet das Relais, welches einen Wechsel in Kurvenlage auslöst. |
[in] | weichenLedPinGerade | Speichert die Ledanschlüsse, über, die die Weiche, wenn sie gerade ist anzeigen kann, das sie nicht besetzt ist. |
[in] | weichenLedPinGeradeRot | Speichert die Anschlüsse, über, die die Weiche, wenn sie gerade ist die Besetztmeldung anzeigen kann. |
[in] | weichenLedPinKurve | Speichert die Anschlüsse, über, die die Weiche, wenn sie in Kurvenlage anzeigen kann, das sie nicht besetzt ist. |
[in] | weichenLedPinKurveRot | Speichert die Anschlüsse, über, die die Weiche, wenn sie in Kurvenlage ist die Besetztmeldung anzeigen kann. |
[in] | adressWeichenposition | An dieser Speicherposition wird die Weichenlage gspeichert |
[in] | wt | Speichert die Anschlüsse, an der die Weichentaste angeschlossen ist. |
[in] | wgt | Speichert die Anschlüsse, an der die Weichengruppentaste angeschlossen ist. |
[in] | registerPins | Die Pins aus dem Array werden an die Oberklasse besetztmeldungControl/actors übergeben. Das Array besteht aus der Anzahl der Register, dem Pin SH_CP, ST_CP, DS in dieser Reihenfolge. |
Definiert in Zeile 14 der Datei Weiche.cpp.
boolean Weiche::getFlankenschutz | ( | ) |
Es wird ausgegeben, ob die Weiche eine Flankenschutzweiche ist, oder nicht
Definiert in Zeile 199 der Datei Weiche.cpp.
int Weiche::getNr | ( | ) |
Definiert in Zeile 281 der Datei Weiche.cpp.
boolean Weiche::getWeichenfestlegung | ( | ) |
Es wird ausgegeben, ob die Weiche festgelegt ist, oder nicht
Definiert in Zeile 180 der Datei Weiche.cpp.
boolean Weiche::getWeichenposition | ( | ) |
Gibt die Weichenposition aus, wenn die Weiche umgelaufen ist.
Definiert in Zeile 204 der Datei Weiche.cpp.
void Weiche::setFlankenschutz | ( | boolean | flankenschutzstatus, |
int | fahrstrassennr | ||
) |
Weichen werden zu Flankenschutzweichen und können bis zur auslösung der Fahrstraße nicht mehr geschaltet werden.
Definiert in Zeile 185 der Datei Weiche.cpp.
void Weiche::setWeichebesetzt | ( | boolean | besetztmelderstatus | ) |
Ändert die Weichenausleuchtung auf die RotenLeds um die Besetztmeldung anzuzeigen. Da die Weichen mit WeichenControl erstellt werden, benötigt es keine Zugriffseinschränkung, diese findet sich in WeichenControl, nur Besetztmelder können von dort auf diese Methode von Weiche zugreifen.
Definiert in Zeile 216 der Datei Weiche.cpp.
void Weiche::setWeichenfestlegung | ( | boolean | festlegestatus, |
int | fahrstrassennr | ||
) |
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 166 der Datei Weiche.cpp.
void Weiche::setWeichenposition | ( | boolean | position | ) |
veränderung der Weichenposition, weiche Kurve und WeicheGerade wird so aufgelöst
Definiert in Zeile 209 der Datei Weiche.cpp.
void Weiche::weicheGerade | ( | ) |
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 59 der Datei Weiche.cpp.
void Weiche::weicheKurve | ( | ) |
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 73 der Datei Weiche.cpp.
void Weiche::weichenpositionEEPROM | ( | ) |
Die Weichenposition wird aus dem EEPROM abgerufen und ausgeführt. Die Methode wird am Anfang benötigt, so wird sicher gestellt, das alle Weichen in der vom Stellpult ange-nommenen Lage sind
Definiert in Zeile 117 der Datei Weiche.cpp.
void Weiche::weicheRelaisHIGH | ( | ) |
Alle Weichenrelais werden auf HIGH gesetzt. Die Relais sind alle inaktiv.
Definiert in Zeile 105 der Datei Weiche.cpp.
void Weiche::weicheRelaisLOW | ( | ) |
Alle Weichenrelais werden auf LOW gesetzt. Die Relais sind alle aktiv.
Definiert in Zeile 111 der Datei Weiche.cpp.
void Weiche::weicheSchalten | ( | ) |
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 132 der Datei Weiche.cpp.
void Weiche::weicheWechsel | ( | ) |
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 41 der Datei Weiche.cpp.