Timer for accumulating 10 ms intervals that does not overflow after ~30 min

This class simply creates a timer that accumulates 10 millisecond intervals which does not overflow after about 30 min.

Committer:
jebradshaw
Date:
Thu May 19 16:45:31 2016 +0000
Revision:
2:67e16d628edc
Parent:
0:21dc6ad1a795
Child:
3:9efa965d2111
RunTimer library for 10 millisecond timer day,hour,min,sec,ms

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jebradshaw 0:21dc6ad1a795 1 /** RunTimer class.
jebradshaw 0:21dc6ad1a795 2 * J. Bradshaw 20160519
jebradshaw 0:21dc6ad1a795 3 * library for building a 10 millisecond running timer
jebradshaw 0:21dc6ad1a795 4 *
jebradshaw 0:21dc6ad1a795 5 * Example:
jebradshaw 0:21dc6ad1a795 6 * @code
jebradshaw 0:21dc6ad1a795 7 * #include "mbed.h"
jebradshaw 0:21dc6ad1a795 8 * #include "RunTimer.h"
jebradshaw 0:21dc6ad1a795 9 *
jebradshaw 0:21dc6ad1a795 10 * Serial pc(USBTX,USBRX);
jebradshaw 0:21dc6ad1a795 11 * RunTimer runTime;
jebradshaw 0:21dc6ad1a795 12 *
jebradshaw 0:21dc6ad1a795 13 * int main() {
jebradshaw 0:21dc6ad1a795 14 * while(1){
jebradshaw 0:21dc6ad1a795 15 * pc.printf("Time=day=%02d hour=%02d min=%02d sec=%02d ms=%02d \r\n", runTime.day,runTime.hour,runTime.min,runTime.sec,runTime.ms)
jebradshaw 0:21dc6ad1a795 16 * wait(.02);
jebradshaw 0:21dc6ad1a795 17 * }
jebradshaw 0:21dc6ad1a795 18 * }
jebradshaw 0:21dc6ad1a795 19 * @endcode
jebradshaw 0:21dc6ad1a795 20 */
jebradshaw 0:21dc6ad1a795 21 #ifndef MBED_RUNTIMER_H
jebradshaw 0:21dc6ad1a795 22 #define MBED_RUNTIMER_H
jebradshaw 0:21dc6ad1a795 23
jebradshaw 0:21dc6ad1a795 24 #include "mbed.h"
jebradshaw 0:21dc6ad1a795 25
jebradshaw 0:21dc6ad1a795 26 class RunTimer{
jebradshaw 0:21dc6ad1a795 27
jebradshaw 0:21dc6ad1a795 28 public:
jebradshaw 0:21dc6ad1a795 29 RunTimer();
jebradshaw 0:21dc6ad1a795 30
jebradshaw 0:21dc6ad1a795 31 void timeAcc(void);
jebradshaw 0:21dc6ad1a795 32 void Reset(void);
jebradshaw 0:21dc6ad1a795 33
jebradshaw 0:21dc6ad1a795 34 Ticker timer_10ms; //Ticker for adding 10ms
jebradshaw 0:21dc6ad1a795 35
jebradshaw 0:21dc6ad1a795 36 unsigned int ms;
jebradshaw 0:21dc6ad1a795 37 unsigned int sec;
jebradshaw 0:21dc6ad1a795 38 unsigned int min;
jebradshaw 0:21dc6ad1a795 39 unsigned int hour;
jebradshaw 2:67e16d628edc 40 unsigned int day;
jebradshaw 0:21dc6ad1a795 41 };
jebradshaw 0:21dc6ad1a795 42
jebradshaw 0:21dc6ad1a795 43 #endif