SpDrS60 Stellwerkssimulation Stellwerkssimulation zu Verwendung in bliebigen Schienensystemen
Öffentliche Methoden | Freundbeziehungen | Aufstellung aller Elemente
WeichenControl Klassenreferenz

#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])
 
WeichegetWeiche (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
 

Ausführliche Beschreibung

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

Beschreibung der Konstruktoren und Destruktoren

◆ WeichenControl()

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.

Parameter
[in]anzahlWeichenSpeichert in einem Array die Anzhal der Weichen die erstellt werden sollen.
[in]weichenPinGeradeDas Array speichert die Anschlüsse des Relais, das die Weiche gerade stellt.
[in]weichenPinKurveDas Array speichert die Anschlüsse des Relais, das die Weiche in Kurvenlage stellt.
[in]weichenLedPinGeradeDas Array speichert den Anschluss der Led, die die Gerade Lage der Weiche anzeigt.
[in]weichenLedPinKurveDas Array speichert den Anschluss der Led, die die Gerade Lage der Weiche anzeigt.
[in]adressWeichenpositionDas Array bestimmt den speicherort an dem die Weichenposition gespeichert werden soll.
[in]weichentimeoutBestimmt wie lange die Weiche geschaltet wird.
[in]wtDas Array deklariert den Eingang an dem die Weichentaste angeschlossen ist.
[in]wgtÜbergibt den AnschlussPin der Weichengruppentaste.
[in]registerPinsDie 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.

Dokumentation der Elementfunktionen

◆ getWeiche()

Weiche * WeichenControl::getWeiche ( int  weichenNr)

Definiert in Zeile 20 der Datei WeichenControl.cpp.

◆ getWeichenfestlegung()

boolean WeichenControl::getWeichenfestlegung ( int  weichenNr)

Es wird ausgegeben, ob die Weiche festgelegt ist, oder nicht

Definiert in Zeile 77 der Datei WeichenControl.cpp.

◆ getWeichenposition()

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.

◆ setWeichenfestlegung()

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.

◆ weichenGerade()

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.

◆ weichenKurve()

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.

◆ weichenpositionenEEPROM()

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.

◆ weichenRelaisHIGH()

void WeichenControl::weichenRelaisHIGH ( )

Alle Weichenrelais werden auf HIGH gesetzt. Die Relais sind alle inaktiv.

Definiert in Zeile 48 der Datei WeichenControl.cpp.

◆ weichenRelaisLOW()

void WeichenControl::weichenRelaisLOW ( )

Alle Weichenrelais werden auf LOW gesetzt. Die Relais sind alle aktiv.

Definiert in Zeile 54 der Datei WeichenControl.cpp.

◆ weichenSchalten()

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.

◆ weichenStellen()

void WeichenControl::weichenStellen ( int  weichenNr,
boolean  weichenlage 
)

Stellt die angegebene Weiche. true = gerade, false = kurve

Definiert in Zeile 30 der Datei WeichenControl.cpp.

◆ weichenWechseln()

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.

Freundbeziehungen und Funktionsdokumentation

◆ Besetztmelder

friend class Besetztmelder
friend

veränder den Status der Weiche und läasst die roten Leds die Stellung anzeigen

Definiert in Zeile 55 der Datei WeichenControl.h.