Time (seconds) counter based on TimerSubscriber
TimeCounter.h@1:49c28e93d358, 2014-06-06 (annotated)
- Committer:
- Waldek
- Date:
- Fri Jun 06 09:04:55 2014 +0000
- Revision:
- 1:49c28e93d358
- Parent:
- 0:b72c7c2ee5f3
Time dependent on TimerSubscriber
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Waldek | 0:b72c7c2ee5f3 | 1 | #pragma once |
Waldek | 0:b72c7c2ee5f3 | 2 | #include "mbed.h" |
Waldek | 0:b72c7c2ee5f3 | 3 | #include "TimerSubscriber.h" |
Waldek | 0:b72c7c2ee5f3 | 4 | |
Waldek | 0:b72c7c2ee5f3 | 5 | /*------------------------------------------------------------- |
Waldek | 0:b72c7c2ee5f3 | 6 | |
Waldek | 0:b72c7c2ee5f3 | 7 | (c) W.D. 2014 |
Waldek | 0:b72c7c2ee5f3 | 8 | |
Waldek | 1:49c28e93d358 | 9 | Usage example |
Waldek | 1:49c28e93d358 | 10 | |
Waldek | 1:49c28e93d358 | 11 | #include "TimeCounter.h" |
Waldek | 1:49c28e93d358 | 12 | |
Waldek | 1:49c28e93d358 | 13 | TimerSubscriber timer_user(10, 1000); // 10 in table, 1ms period |
Waldek | 1:49c28e93d358 | 14 | TimeCounter time_counter; |
Waldek | 1:49c28e93d358 | 15 | |
Waldek | 1:49c28e93d358 | 16 | main() |
Waldek | 1:49c28e93d358 | 17 | { |
Waldek | 1:49c28e93d358 | 18 | long int Second = time_counter.ReadSeconds(); |
Waldek | 1:49c28e93d358 | 19 | } |
Waldek | 0:b72c7c2ee5f3 | 20 | -------------------------------------------------------------*/ |
Waldek | 0:b72c7c2ee5f3 | 21 | |
Waldek | 0:b72c7c2ee5f3 | 22 | /* ------ sample usage------ |
Waldek | 0:b72c7c2ee5f3 | 23 | */ |
Waldek | 0:b72c7c2ee5f3 | 24 | |
Waldek | 0:b72c7c2ee5f3 | 25 | extern TimerSubscriber timer_user; |
Waldek | 0:b72c7c2ee5f3 | 26 | |
Waldek | 0:b72c7c2ee5f3 | 27 | class TimeCounter : TimerDependent |
Waldek | 0:b72c7c2ee5f3 | 28 | { |
Waldek | 0:b72c7c2ee5f3 | 29 | public: |
Waldek | 0:b72c7c2ee5f3 | 30 | TimeCounter(); |
Waldek | 0:b72c7c2ee5f3 | 31 | virtual ~TimeCounter(); |
Waldek | 1:49c28e93d358 | 32 | inline long int ReadSeconds(void){return this->ticks / this->TicksPerSecond;}; |
Waldek | 0:b72c7c2ee5f3 | 33 | inline long int ReadTicks(void){return ticks;}; |
Waldek | 1:49c28e93d358 | 34 | inline void SetSeconds(long int InSeconds){this->ticks = InSeconds * this->TicksPerSecond;}; |
Waldek | 0:b72c7c2ee5f3 | 35 | virtual void TimerEvent(void); |
Waldek | 0:b72c7c2ee5f3 | 36 | private: |
Waldek | 0:b72c7c2ee5f3 | 37 | long long int ticks; |
Waldek | 0:b72c7c2ee5f3 | 38 | int TicksPerSecond; |
Waldek | 0:b72c7c2ee5f3 | 39 | }; |
Waldek | 0:b72c7c2ee5f3 | 40 |