AVR-Projekt coach2.2_05_sensor - Verwendung des Entfernungssensors und eines Zeitgebers
  | 
class SensorBASIS
{
    public:
        virtual void aktualisieren();
    virtual int16_t holeAbstand_mm();
};
Code 0-1: Virtuelle Basisklasse der Klasse Sensor
| Methodenname | Beschreibung | Beispiel | 
|---|---|---|
aktualisieren()  | 
Fügt einem "Ringspeicher" einen neuen Messwert hinzu. | sensor.aktualisieren(); | 
int16_t holeAbstand_mm()  | 
 Bildet aus den letzten 10 durch Aktualisierungen  gewonnenen Meßwerten den Mittelwert und rechnet den Wert auf einfache Weise in einen Abstand um  | 
distanz = sensor.holeAbstand_mm(); | 
Tabelle 0-1: Methoden der Klasse Sensor
class ZyklusBASIS
{
    public:
        virtual void setzeMaxZaehler(uint16_t maxwert=50); //Obergrenze, bei der der Zyklenzaehler wieder von vorn beginnt.
        virtual uint16_t holeZyklusZaehlstand();
        //Einstellbereich: 1ms bis maximal 28ms
        virtual void warteBis_ms(uint8_t dauer_ms=20); //50Hz Zyklus entspricht warten bis 20ms vorbei
};
Code 0-2: Virtuelle Basisklasse der Klasse Zyklus
| Methodenname | Beschreibung | Beispiel | 
|---|---|---|
setzeMaxZaehler(uint16_t maxwert=50)  | 
Setzt die Obergrenze für den Zykluszähler (Erläuterung s.u.) | zyklus.setzeMaxZaehler(50); | 
uint16_t holeZyklusZaehlstand()  | 
Holt die Anzahl der bisher durchlaufenen Endlos-while-Schleifen (Erläuterung s.u.) | switch(holeZyklusZaehlstand()) {...} | 
warteBis_ms(uint8_t dauer_ms=20)  | 
Wartet, bis die angegebenen Millisekunden (1ms bis maximal 28ms) verstrichen sind | while(zyklus.warteBis_ms(20)); | 
Tabelle 0-2: Methoden der Klasse Zyklus
  |