7#include "Besetztmelder.h"
8#include "WeichenControl.h"
12 :
Actor(registerPin[0], registerPin[1], registerPin[2], registerPin[3])
17 _weichenbesetztmelder = weichenbesetztmelder;
18 pinMode(_gleisPin, INPUT_PULLUP);
19 pinMode(_ledGelb, OUTPUT);
20 pinMode(_ledRot, OUTPUT);
25 _besetztmelderLicht = besetztmelderBeleuchtung;
26 _besetztmelderstatus = digitalRead(_gleisPin);
27 if (_weichenbesetztmelder != 0)
29 WeichenControl.setWeicheBesetzt(_weichenbesetztmelder - 1, _besetztmelderstatus);
33 if (_besetztmelderstatus ==
false && (_besetztmelderLicht || _fahrstrassenelement))
38 else if (!_besetztmelderstatus && !_besetztmelderLicht && !_fahrstrassenelement)
49 return _besetztmelderstatus;
55 _besetztmelderLicht = besetztmelderBeleuchtung;
56 _besetztmelderstatus = digitalRead(_gleisPin);
61 weiche->setWeichebesetzt(_besetztmelderstatus);
65 if (_besetztmelderstatus ==
false && (_besetztmelderLicht || _fahrstrassenelement))
70 else if (!_besetztmelderstatus && !_besetztmelderLicht && !_fahrstrassenelement)
81 return _besetztmelderstatus;
86 _besetztmelderLicht = newbesetztmelderLicht;
91 if (_fahrstrasse == 0)
93 _fahrstrassenelement = fahrstrassenelement;
94 _fahrstrasse = fahrstrassennr;
96 else if (fahrstrassennr == _fahrstrasse)
98 _fahrstrassenelement = fahrstrassenelement;
99 if (_fahrstrassenelement == 0)
106 return _fahrstrassenelement;
void digitalSchalten(int PinNr, boolean newPinStatus)
void setBesetztmelderLicht(boolean newBesetztmelderStatus)
Besetztmelder(int gleisPin, int ledGelb, int ledRot, int Weichenbesetztmelder, int registerPin[4])
boolean getFahrstrassenelement()
void setFahrstrassenelement(int fahrstrassennr, boolean Fahrstrassenelement)
boolean besetztmelderAuslesen(boolean besetztmelderBeleuchtung, class WeichenControl WeichenControl)