44 lines
1.8 KiB
C
Executable File
44 lines
1.8 KiB
C
Executable File
//! \file timer.h
|
|
//! \author tkl
|
|
//! \date Jul 4, 2012
|
|
//! \brief Header file of the architecture independent timer implementation.
|
|
#ifndef TIMER_H_
|
|
#define TIMER_H_
|
|
|
|
typedef int (*timer_fp_open_t)(const void*); //!< callback for the open function of the arch depended timer driver.
|
|
typedef int (*timer_fp_close_t)(const void*); //!< callback for the close function of the arch depended timer driver.
|
|
typedef int (*timer_fp_set_cb_t)(const void*, const void *, const void *); //!< callback for set_callback function of the arch depended timer driver.
|
|
|
|
//! \brief The access function pointer for the timer.
|
|
struct timer_fp {
|
|
const timer_fp_open_t open; //!< Function pointer to the open function.
|
|
const timer_fp_close_t close; //!< Function pointer to the close function.
|
|
const timer_fp_set_cb_t set_cb; //!< Function pointer to the set_callback function.
|
|
};
|
|
|
|
//! \brief Contains the architecture depended device informations.
|
|
struct loki_timer {
|
|
const void *arch_dep_device; //!< Architecture depended timer device (i.e. msp430_timer).
|
|
const struct timer_fp *fp; //!< Function pointer to the architectur depended timer driver access.
|
|
};
|
|
|
|
//! \brief Open a timer timer
|
|
//! \param device The timer device to open.
|
|
//! \retval -1 in error case.
|
|
int timer_open(const struct loki_timer *device);
|
|
|
|
//! \brief Close a timer timer
|
|
//! \param device The timer device to close.
|
|
//! \retval -1 in error case.
|
|
int timer_close(const struct loki_timer *device);
|
|
|
|
//! \brief Set the callback for a sys tick timer
|
|
//! \param device The timer device to set the callback for.
|
|
//! \param callback The function pointer to call back.
|
|
//! \param param The parameter for the call back.
|
|
//! \retval -1 in error case.
|
|
int timer_set_it_callback(const struct loki_timer *device, const void *callback,
|
|
const void *param);
|
|
|
|
#endif /* TIMER_H_ */
|