public interface ISensor
Modifier and Type | Method and Description |
---|---|
float |
holeAenderungsrate()
• Liefert die zeitliche Änderungsrate der Messwerte.
|
float |
holeFiltertoleranzAenderungsrate()
• Liefert die aktuelle Toleranzeinstellung
für die Filterung nach Änderungsraten bei der Ereignisverarbeitung von Sensordaten.
|
float |
holeFiltertoleranzMesswert()
• Liefert die aktuelle Toleranzeinstellung
für die Filterung nach Messwerten bei der Ereignisverarbeitung von Sensordaten.
|
float |
holeMesswert()
• Liefert einen einzelnen Messwert des Sensors.
|
int |
holeTraegheit()
• Liefert die Zeiteinstellung für die Trägheit des Sensors.
|
void |
loescheBeobachter()
• Abmelden des registrierten Sensorbeobachters.
|
boolean |
pruefeAufEreignisueberlauf()
• Überprüfung auf Überlauf bei der Ereignisverarbeitung.
|
void |
setzeBeobachter(ISensorbeobachter beobachter)
• Anmelden eines Sensorbeobachters.
|
void |
setzeFiltertoleranzen(float toleranz_messwert,
float toleranz_aenderungsrate)
• Setzt die Toleranzen für die Ereignisfilterung von Sensordaten.
|
void |
setzeTraegheit(int zeit)
• Setzt die Trägheitseinstellung des Sensors.
|
void |
warteBisGrenzwertUeberschritten(float grenzwert)
• Unterbricht die weitere Programmausführung, bis der vorgegebene Grenzwert überschritten wird.
|
boolean |
warteBisGrenzwertUeberschritten(float grenzwert,
int maximale_wartezeit)
• Unterbricht die weitere Programmausführung, bis der vorgegebene Grenzwert oder die maximale Wartezeit überschritten wird.
|
void |
warteBisGrenzwertUnterschritten(float grenzwert)
• Unterbricht die weitere Programmausführung, bis der vorgegebene Grenzwert unterschritten wird.
|
boolean |
warteBisGrenzwertUnterschritten(float grenzwert,
int maximale_wartezeit)
• Unterbricht die weitere Programmausführung, bis der vorgegebene Grenzwert unterschritten oder die maximale Wartezeit überschritten wird.
|
float holeAenderungsrate()
float holeFiltertoleranzAenderungsrate()
setzeBeobachter(ISensorbeobachter)
und
ISensorbeobachter.registriereEreignis(ISensor,float,float,float,float)
).
Standardmäßig ist für die Toleranz der Änderungsrate der Wert 0 eingestellt,
d.h. die Filterung nach der Änderungsrate ist deaktiviert. Ist ein Wert größer
als 0 eingestellt, werden neue Messdaten nur dann an einen angemeldeten Beobachter
geschickt, wenn sich die Änderungsrate seit der letzten Ereignismeldung um
mindestens den Toleranzwert verändert hat. Neben der Filterung nach der Änderungsrate
ist allerdings auch die Filterung nach Messwerten zu beachten
(siehe holeFiltertoleranzMesswert()
).holeFiltertoleranzMesswert()
,
setzeFiltertoleranzen(float,float)
,
setzeBeobachter(ISensorbeobachter)
,
loescheBeobachter()
,
ISensorbeobachter
float holeFiltertoleranzMesswert()
setzeBeobachter(ISensorbeobachter)
und
ISensorbeobachter.registriereEreignis(ISensor,float,float,float,float)
).
Standardmäßig ist für die Toleranz der Messwerte der Wert 1 eingestellt.
Für die meisten Sensoren entspricht dies der tatsächlichen Auflösung der Sensorrohdaten.
Der sinnvolle Toleranzbereich wird nach oben durch den Messwertebereich eines Sensors begrenzt
(siehe holeMesswert()
). Ist der Toleranzwert für Messwerte zu groß eingegestellt,
werden keine Sensorereignisse gemeldet. Ein Toleranzwert von 0 deaktiviert die Ereignisfilterung,
so dass jeder neue Messwert an den Beobachter gemeldet wird. Neben der Filterung nach Messwerten
ist allerdings auch die Filterung nach der Änderungsrate zu beachten
(siehe holeFiltertoleranzAenderungsrate()
).
Der Tastsensor bildet bei der Filterung nach Messwerten einen Sonderfall, da dieser
nur die möglichen Messwerte 0 und 1 liefert. Hier besitzt die Änderungstoleranz immer
den Wert 1 und ist nicht veränderbar.holeFiltertoleranzAenderungsrate()
,
setzeFiltertoleranzen(float,float)
,
setzeBeobachter(ISensorbeobachter)
,
loescheBeobachter()
,
ISensorbeobachter
float holeMesswert()
int holeTraegheit()
holeMesswert()
einen Messwert beim Sensor abfragt, erhält man diesen Mittelwert. Die Trägheitseinstellung
bestimmt, über welchen Zeitraum (in ms) die intern ermittelten Messwerte gemittelt werden,
um den Ausgabewert zu berechnen. Ein großer Mittelungszeitraum entspricht einer
großen Sensorträgheit. Die Ausgangseinstellung für die Trägheit ist 0 (ms), d.h. es wird
keine Zeitmittelung der Messwerte durchgeführt. Der Wert der Trägheit beeinflusst auch
die ermittelte Änderungsrate für den Sensor (siehe holeAenderungsrate()
).void loescheBeobachter()
setzeBeobachter(ISensorbeobachter)
.setzeBeobachter(ISensorbeobachter)
boolean pruefeAufEreignisueberlauf()
ISensorbeobachter
void setzeBeobachter(ISensorbeobachter beobachter)
beobachter
- der Sensorbeobachter, der die Ereignismeldungen erhalten sollsetzeFiltertoleranzen(float,float)
,
loescheBeobachter()
void setzeFiltertoleranzen(float toleranz_messwert, float toleranz_aenderungsrate)
toleranz_messwert
- die neue Toleranz für die Ereignisfilterung nach Messwertentoleranz_aenderungsrate
- die neue Toleranz für die Ereignisfilterung nach der ÄnderungsrateholeFiltertoleranzMesswert()
,
holeFiltertoleranzAenderungsrate()
,
setzeBeobachter(ISensorbeobachter)
,
loescheBeobachter()
,
ISensorbeobachter
void setzeTraegheit(int zeit)
zeit
- die neue Zeitdauer für die Messwertmittelung in msholeTraegheit()
void warteBisGrenzwertUeberschritten(float grenzwert)
grenzwert
- der Grenzwert, der überschritten werden muss, damit die Methode zurückkehrtboolean warteBisGrenzwertUeberschritten(float grenzwert, int maximale_wartezeit)
grenzwert
- der Grenzwert, der überschritten werden muss, damit die Methode zurückkehrtmaximale_wartezeit
- die maximale Wartezeit, in der auf die Überschreitung des Grenzwerts gewartet wirdvoid warteBisGrenzwertUnterschritten(float grenzwert)
grenzwert
- der Grenzwert, der unterschritten werden muss, damit die Methode zurückkehrtboolean warteBisGrenzwertUnterschritten(float grenzwert, int maximale_wartezeit)
grenzwert
- der Grenzwert, der unterschritten werden muss, damit die Methode zurückkehrtmaximale_wartezeit
- die maximale Wartezeit, in der auf die Unterschreitung des Grenzwerts gewartet wird