Robot Agent  1.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
scheduler.h
Go to the documentation of this file.
1 
11 #ifndef __SCHEDULER_H
12 #define __SCHEDULER_H
13 
14 /* -- Includes -- */
15 
16 /* -- Enumurations -- */
17 
18 /* -- Types -- */
19 
23 typedef struct s_SCHEDULER_STRUCT
24 {
25  unsigned int minor; // Minor cycle in miliseconds (ms)
26 
27  struct timeval tv_started; // Timer that registers when scheduler started
28  struct timeval tv_cycle; // Timer for cycle sleeps/interrupts
29 
30 } scheduler_t;
31 
32 /* -- Constants -- */
33 
34 /* -- Function Prototypes -- */
35 scheduler_t *scheduler_init(void); // Initialize cyclic executive scheduler
36 void scheduler_destroy(scheduler_t *ces); // Deinitialize cyclic executive scheduler
37 void scheduler_start(scheduler_t *ces); // Start scheduler
38 void scheduler_wait_for_timer(scheduler_t *ces); // Wait (sleep) till end of minor cycle
39 void scheduler_exec_task(scheduler_t *ces, int task_id); // Execute task
40 void scheduler_run(scheduler_t *ces); // Run scheduler
41 
42 #endif /* __SCHEDULER_H */
void scheduler_exec_task(scheduler_t *ces, int task_id)
Definition: scheduler.c:91
unsigned int minor
Definition: scheduler.h:25
struct s_SCHEDULER_STRUCT scheduler_t
Scheduler structure.
struct timeval tv_started
Definition: scheduler.h:27
scheduler_t * scheduler_init(void)
Definition: scheduler.c:31
void scheduler_destroy(scheduler_t *ces)
Definition: scheduler.c:44
Scheduler structure.
Definition: scheduler.h:23
struct timeval tv_cycle
Definition: scheduler.h:28
void scheduler_wait_for_timer(scheduler_t *ces)
Definition: scheduler.c:67
void scheduler_run(scheduler_t *ces)
Definition: scheduler.c:135
void scheduler_start(scheduler_t *ces)
Definition: scheduler.c:55