aboutsummaryrefslogtreecommitdiff
path: root/sdk-modifications/include/ds2_timer.h
blob: 3e5c3bccd6d772a53efd8905135fbc5102316ddc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#ifndef __DS2_TIMER_H__
#define __DS2_TIMER_H__

#ifdef __cplusplus
extern "C" {
#endif

/*
*	Function: register a timer interruptting periodly
*	channel: timer id, from 0 to 1
*	period: interrupt period, unit is us, period < 2.5s
*	handle: interrupt handle, if handle = NULL, the timer will not generate interrupt
*	arg: argument to the interrupt handle
*/
extern int initTimer(unsigned int channel, unsigned int period, void (*handle)(unsigned int), int arg);

/*
*	Function: set the timer run
*/
extern void runTimer(unsigned int channel);

/*
*	Function: stop timer
*/
extern void stopTimer(unsigned int channel);

/*
*	Function: reset timer
*/
extern void resetTimer(unsigned int channel);

/*
*	Function: read value of timer
*/
extern unsigned int readTimer(unsigned int channel);


#define SYSTIME_UNIT	42667
/*
*	Function: get the elapsed time since DS2 started
*		it's uint is 42.667us, it will overflow after 50.9 horus since DS2 started
*/
extern unsigned int getSysTime(void);

#ifdef __cplusplus
}
#endif

#endif //__DS2_TIMER_H__