Mein erster OOP versuch

bin gespannt auf weitere Kritik...


```cpp
/*
Programm	Einfache Timerklasse
Name	    Jörg ter Veen
Kontakt	  joerg.ter.veen@icloud.com
Datum	    13.03.2024
Version	  1.1.0.3

Danke an das Arduino-Forum mit unterstützung von:
  - noiasca
  - Kai-R
  - MicroBahner
  - combie
*/
  class TTimer {		

    private:
      unsigned long period;
      unsigned long startTime;
      bool activ = false;
      using action = void (*)();
      action func{nullptr};

  	public:
      void activate(bool val){                            // timer aktivieren / deaktivieren
        activ = val;
        if (activ){startTime = millis();}
      }

      void setTOcallback(action val){                     // Funktion übergeben die aufgerufen werden soll
        func = val;
      }

      void setInterval(unsigned long val){                // Intervall der Timer
        period = val;
      }

      void update(){
        if ((activ)&&(func)){                             // Nur nach kompletter integration
          if  (millis() - startTime >= period) {
            startTime = millis();
            func();                                       // hier Function aufrufen
          }
        }
      }
  };

bool toggle;
TTimer myTimer;
byte ledPin = 7;

void setup() {
  pinMode(ledPin, OUTPUT);
  myTimer.setInterval(1000);
  myTimer.setTOcallback(blinken);
  myTimer.activate(true); 
}

void loop() {
  myTimer.update();
}

void blinken(){
  toggle = !toggle;
  digitalWrite(ledPin, toggle);
}