X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/45e1f8b055043e54be35462852ab6649d634da7c..9eed27f6f2f002145667fb4abfc5e476b53630e5:/lunaix-os/includes/lunaix/timer.h diff --git a/lunaix-os/includes/lunaix/timer.h b/lunaix-os/includes/lunaix/timer.h index 5ab3864..b93941f 100644 --- a/lunaix-os/includes/lunaix/timer.h +++ b/lunaix-os/includes/lunaix/timer.h @@ -2,19 +2,18 @@ #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 u32_t ticks_t; - struct lx_timer_context { struct lx_timer* active_timers; /** - * @brief APIC timer base frequency (ticks per seconds) + * @brief timer hardware base frequency (ticks per seconds) * */ ticks_t base_frequency; @@ -22,7 +21,7 @@ struct lx_timer_context * @brief Desired system running frequency * */ - u32_t running_frequency; + ticks_t running_frequency; /** * @brief Ticks per hertz * @@ -30,6 +29,12 @@ struct lx_timer_context ticks_t tphz; }; +struct timer_init_param +{ + struct lx_timer_context* context; + void* timer_update_isr; +}; + struct lx_timer { struct llist_header link; @@ -46,7 +51,7 @@ struct lx_timer * @param frequency The frequency that timer should run in Hz. */ void -timer_init(u32_t frequency); +timer_init(); struct lx_timer* timer_run_second(u32_t second,