#ifndef __MYTIMER_H__ #define __MYTIMER_H__ // Classe myTimer versione 1.0 del 19/4/24 class myTimer{ private: unsigned long previousMillis; unsigned long interval; public: myTimer(void); myTimer(unsigned long); inline void init(unsigned long); inline void reset(void); inline bool isEOT(void); }; myTimer::myTimer(void){ return; } // la seguenti funzioni fanno partire la temporizzazione con // il valore dato in ingresso in millisecondi myTimer::myTimer(unsigned long milliseconds){ this->interval = milliseconds; this->previousMillis = millis(); return; } inline void myTimer::init(unsigned long milliseconds){ this->interval = milliseconds; this->previousMillis = millis(); return; } // la seguente funzione fa ripartire la temporizzazione // e non prevede alcun dato in ingresso inline void myTimer::reset(void){ this->previousMillis = millis(); return; } // la seguente funzione controlla se il tempo trascorso // è superiore all'intervallo (in questo caso si è raggiunta // la fine del conteggio EOT=end of time). // Se il tempo è trascorso viene restituto 1, altrimenti 0. // Non è previsto alcun valore in ingresso inline bool myTimer::isEOT(void){ if ( millis() >= this->previousMillis+this->interval ){ return true; } else { return false; } } myTimer mainTimer; #endif