3333class Thread {
3434protected:
3535 // Desired interval between runs
36- long interval;
36+ unsigned long interval;
3737
3838 // Last runned time in Ms
39- long last_run;
39+ unsigned long last_run;
4040
4141 // Scheduled run in Ms (MUST BE CACHED)
42- long _cached_next_run;
42+ unsigned long _cached_next_run;
4343
4444 /*
4545 IMPORTANT! Run after all calls to run()
4646 Updates last_run and cache next run.
4747 NOTE: This MUST be called if extending
4848 this class and implementing run() method
4949 */
50- void runned (long time=-1 );
50+ void runned (unsigned long time);
51+
52+ // Default is to mark it runned "now"
53+ void runned () { runned (millis ()); }
5154
5255 // Callback for run() if not implemented
5356 void (*_onRun)(void );
@@ -65,13 +68,16 @@ class Thread{
6568 String ThreadName;
6669 #endif
6770
68- Thread (void (*callback)(void ) = NULL , long _interval = 0 );
71+ Thread (void (*callback)(void ) = NULL , unsigned long _interval = 0 );
6972
7073 // Set the desired interval for calls, and update _cached_next_run
71- virtual void setInterval (long _interval);
74+ virtual void setInterval (unsigned long _interval);
7275
7376 // Return if the Thread should be runned or not
74- virtual bool shouldRun (long time = -1 );
77+ virtual bool shouldRun (unsigned long time);
78+
79+ // Default is to check whether it should run "now"
80+ bool shouldRun () { return shouldRun (millis ()); }
7581
7682 // Callback set
7783 void onRun (void (*callback)(void ));
0 commit comments