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.
RunTimer.h@3:9efa965d2111, 2016-07-11 (annotated)
- Committer:
- jebradshaw
- Date:
- Mon Jul 11 18:26:47 2016 +0000
- Revision:
- 3:9efa965d2111
- Parent:
- 2:67e16d628edc
20160711;
Who changed what in which revision?
User | Revision | Line number | New 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 | 3:9efa965d2111 | 36 | float ms_total; |
jebradshaw | 0:21dc6ad1a795 | 37 | unsigned int ms; |
jebradshaw | 0:21dc6ad1a795 | 38 | unsigned int sec; |
jebradshaw | 0:21dc6ad1a795 | 39 | unsigned int min; |
jebradshaw | 0:21dc6ad1a795 | 40 | unsigned int hour; |
jebradshaw | 2:67e16d628edc | 41 | unsigned int day; |
jebradshaw | 0:21dc6ad1a795 | 42 | }; |
jebradshaw | 0:21dc6ad1a795 | 43 | |
jebradshaw | 0:21dc6ad1a795 | 44 | #endif |