Time (seconds) counter based on TimerSubscriber

Committer:
Waldek
Date:
Wed Jun 04 22:36:51 2014 +0000
Revision:
0:b72c7c2ee5f3
Child:
1:49c28e93d358
.

Who changed what in which revision?

UserRevisionLine numberNew 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 0:b72c7c2ee5f3 9 -------------------------------------------------------------*/
Waldek 0:b72c7c2ee5f3 10
Waldek 0:b72c7c2ee5f3 11 /* ------ sample usage------
Waldek 0:b72c7c2ee5f3 12 */
Waldek 0:b72c7c2ee5f3 13 #define SAMPLES_TO_DEBOUNCE 64
Waldek 0:b72c7c2ee5f3 14
Waldek 0:b72c7c2ee5f3 15 extern TimerSubscriber timer_user;
Waldek 0:b72c7c2ee5f3 16
Waldek 0:b72c7c2ee5f3 17 class TimeCounter : TimerDependent
Waldek 0:b72c7c2ee5f3 18 {
Waldek 0:b72c7c2ee5f3 19 public:
Waldek 0:b72c7c2ee5f3 20 TimeCounter();
Waldek 0:b72c7c2ee5f3 21 virtual ~TimeCounter();
Waldek 0:b72c7c2ee5f3 22 inline long int ReadSeconds(void){return ticks / TicksPerSecond;};
Waldek 0:b72c7c2ee5f3 23 inline long int ReadTicks(void){return ticks;};
Waldek 0:b72c7c2ee5f3 24 inline void SetSeconds(long int InSeconds){this->ticks = InSeconds * TicksPerSecond;};
Waldek 0:b72c7c2ee5f3 25 virtual void TimerEvent(void);
Waldek 0:b72c7c2ee5f3 26 private:
Waldek 0:b72c7c2ee5f3 27 long long int ticks;
Waldek 0:b72c7c2ee5f3 28 int TicksPerSecond;
Waldek 0:b72c7c2ee5f3 29 };
Waldek 0:b72c7c2ee5f3 30