Mein erster OOP versuch

aber ganz bestimmt ändert der Formatter mit STRG-T etwas:

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

  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 start() {                                      // Timer starten
      activ = true;
      startTime = millis();
    }

    void stop() {                                       // Timer Stoppen
      activ = false;
    }

    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;
const byte ledPin = 7;

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

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

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

oberste Klammerebene ist jetzt auf 0.
blanks vor {
...

und weil ich es gerade sehe:

warum hast du activ und func in Klammern gesetzt?