X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/0067bc210e621ccda286092d081a7890d65e1c18..eb251af8672e033f29322253f136e09c76f2b0a3:/lunaix-os/includes/lunaix/timer.h diff --git a/lunaix-os/includes/lunaix/timer.h b/lunaix-os/includes/lunaix/timer.h index 567b8d2..b499f3f 100644 --- a/lunaix-os/includes/lunaix/timer.h +++ b/lunaix-os/includes/lunaix/timer.h @@ -4,32 +4,34 @@ #include #include -#define SYS_TIMER_FREQUENCY_HZ 2048 +#define SYS_TIMER_FREQUENCY_HZ 1024 -#define TIMER_MODE_PERIODIC 0x1 +#define TIMER_MODE_PERIODIC 0x1 typedef uint32_t ticks_t; -struct lx_timer_context { - struct lx_timer *active_timers; +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 lx_timer +{ struct llist_header link; ticks_t deadline; ticks_t counter; @@ -38,25 +40,30 @@ struct lx_timer { uint8_t flags; }; - /** * @brief Initialize the system timer that runs at specified frequency - * + * * @param frequency The frequency that timer should run in Hz. */ void timer_init(uint32_t frequency); struct lx_timer* -timer_run_second(uint32_t second, void (*callback)(void*), void* payload, uint8_t flags); +timer_run_second(uint32_t second, + void (*callback)(void*), + void* payload, + uint8_t flags); struct lx_timer* -timer_run_ms(uint32_t millisecond, void (*callback)(void*), void* payload, uint8_t flags); +timer_run_ms(uint32_t millisecond, + void (*callback)(void*), + void* payload, + uint8_t flags); struct lx_timer* timer_run(ticks_t ticks, void (*callback)(void*), void* payload, uint8_t flags); -struct lx_timer_context* +struct lx_timer_context* timer_context(); #endif /* __LUNAIX_TIMER_H */