ISIX-RTOS - small operating system for ARM microcontrollers 1.2
|
#include <prv/irqtimers.h>
#include <isix/irqtimers.h>
#include <isix/memory.h>
#include <prv/list.h>
#include <prv/scheduler.h>
#include <string.h>
Go to the source code of this file.
Functions | |
void | isixp_vtimer_init (void) |
static void | add_vtimer_to_list (vtimer_t *timer) |
void | isixp_vtimer_handle_time (tick_t jiffies) |
vtimer_t * | isix_vtimer_create (void(*func)(void *), void *arg) |
int | isix_vtimer_start (vtimer_t *timer, tick_t timeout) |
int | isix_vtimer_destroy (vtimer_t *timer) |
Variables | |
static list_entry_t | vtimer_list [2] |
static list_entry_t * | p_vtimer_list |
static list_entry_t * | pov_vtimer_list |
static void add_vtimer_to_list | ( | vtimer_t * | timer | ) | [static] |
Definition at line 36 of file irqtimers.c.
References isix_get_jiffies(), isixp_enter_critical(), isixp_exit_critical(), list_for_each_entry, and list_insert_before().
Referenced by isix_vtimer_start(), and isixp_vtimer_handle_time().
vtimer_t* isix_vtimer_create | ( | void(*)(void *) | func, |
void * | arg | ||
) |
Create virtual timer called from interrupt context for light events consume much power cyclic tasks
[in] | func | Function to be called in context - cyclic timeout |
[in] | arg | Frgument passed to the function |
Definition at line 88 of file irqtimers.c.
References isix_alloc(), and NULL.
Referenced by isix::virtual_timer::virtual_timer().
int isix_vtimer_destroy | ( | vtimer_t * | timer | ) |
Definition at line 122 of file irqtimers.c.
References isix::ISIX_EBUSY, isix::ISIX_EINVARG, isix::ISIX_EOK, isix_free(), isixp_enter_critical(), isixp_exit_critical(), list_is_elem_assigned(), and NULL.
int isix_vtimer_start | ( | vtimer_t * | timer, |
tick_t | timeout | ||
) |
Definition at line 101 of file irqtimers.c.
References add_vtimer_to_list(), isix::ISIX_EINVARG, isix::ISIX_EOK, isixp_enter_critical(), isixp_exit_critical(), list_delete(), list_is_elem_assigned(), and NULL.
void isixp_vtimer_handle_time | ( | tick_t | jiffies | ) |
Definition at line 67 of file irqtimers.c.
References add_vtimer_to_list(), list_delete(), list_get_first, list_isempty, p_vtimer_list, pov_vtimer_list, and vtimer_struct::timer_handler.
Referenced by isixp_schedule_time().
void isixp_vtimer_init | ( | void | ) |
list_entry_t* p_vtimer_list [static] |
Definition at line 21 of file irqtimers.c.
Referenced by isixp_vtimer_handle_time().
list_entry_t* pov_vtimer_list [static] |
Definition at line 22 of file irqtimers.c.
Referenced by isixp_vtimer_handle_time().
list_entry_t vtimer_list[2] [static] |
Definition at line 19 of file irqtimers.c.