X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/eb251af8672e033f29322253f136e09c76f2b0a3..35a7d633d3f16c1e0539af6ca5d8e7482926cd93:/lunaix-os/includes/lunaix/timer.h diff --git a/lunaix-os/includes/lunaix/timer.h b/lunaix-os/includes/lunaix/timer.h index b499f3f..fbbe2b7 100644 --- a/lunaix-os/includes/lunaix/timer.h +++ b/lunaix-os/includes/lunaix/timer.h @@ -2,34 +2,13 @@ #define __LUNAIX_TIMER_H #include -#include +#include +#include -#define SYS_TIMER_FREQUENCY_HZ 1024 +#define SYS_TIMER_FREQUENCY_HZ 1000 #define TIMER_MODE_PERIODIC 0x1 -typedef uint32_t ticks_t; - -struct lx_timer_context -{ - struct lx_timer* active_timers; - /** - * @brief APIC timer base frequency (ticks per seconds) - * - */ - ticks_t base_frequency; - /** - * @brief Desired system running frequency - * - */ - uint32_t running_frequency; - /** - * @brief Ticks per hertz - * - */ - ticks_t tphz; -}; - struct lx_timer { struct llist_header link; @@ -37,7 +16,7 @@ struct lx_timer ticks_t counter; void* payload; void (*callback)(void*); - uint8_t flags; + u8_t flags; }; /** @@ -46,24 +25,21 @@ struct lx_timer * @param frequency The frequency that timer should run in Hz. */ void -timer_init(uint32_t frequency); +timer_init(); struct lx_timer* -timer_run_second(uint32_t second, +timer_run_second(u32_t second, void (*callback)(void*), void* payload, - uint8_t flags); + u8_t flags); struct lx_timer* -timer_run_ms(uint32_t millisecond, +timer_run_ms(u32_t millisecond, void (*callback)(void*), void* payload, - uint8_t flags); + u8_t flags); struct lx_timer* -timer_run(ticks_t ticks, void (*callback)(void*), void* payload, uint8_t flags); - -struct lx_timer_context* -timer_context(); +timer_run(ticks_t ticks, void (*callback)(void*), void* payload, u8_t flags); #endif /* __LUNAIX_TIMER_H */