diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/kernel.c | 13 | ||||
-rw-r--r-- | firmware/kernel.h | 2 |
2 files changed, 12 insertions, 3 deletions
diff --git a/firmware/kernel.c b/firmware/kernel.c index 639b73def5..12b6eea781 100644 --- a/firmware/kernel.c +++ b/firmware/kernel.c | |||
@@ -25,6 +25,8 @@ | |||
25 | 25 | ||
26 | long current_tick = 0; | 26 | long current_tick = 0; |
27 | 27 | ||
28 | void (*tick_funcs[NUM_TICK_TASKS])(void); | ||
29 | |||
28 | static void tick_start(unsigned int interval_in_ms); | 30 | static void tick_start(unsigned int interval_in_ms); |
29 | 31 | ||
30 | /**************************************************************************** | 32 | /**************************************************************************** |
@@ -32,6 +34,14 @@ static void tick_start(unsigned int interval_in_ms); | |||
32 | ****************************************************************************/ | 34 | ****************************************************************************/ |
33 | void kernel_init(void) | 35 | void kernel_init(void) |
34 | { | 36 | { |
37 | int i; | ||
38 | |||
39 | /* Clear the tick task array */ | ||
40 | for(i = 0;i < NUM_TICK_TASKS;i++) | ||
41 | { | ||
42 | tick_funcs[i] = NULL; | ||
43 | } | ||
44 | |||
35 | tick_start(1000/HZ); | 45 | tick_start(1000/HZ); |
36 | } | 46 | } |
37 | 47 | ||
@@ -103,9 +113,6 @@ bool queue_empty(struct event_queue* q) | |||
103 | /**************************************************************************** | 113 | /**************************************************************************** |
104 | * Timer tick | 114 | * Timer tick |
105 | ****************************************************************************/ | 115 | ****************************************************************************/ |
106 | #define NUM_TICK_TASKS 4 | ||
107 | void (*tick_funcs[NUM_TICK_TASKS])(void) = {NULL, NULL, NULL, NULL}; | ||
108 | |||
109 | static void tick_start(unsigned int interval_in_ms) | 116 | static void tick_start(unsigned int interval_in_ms) |
110 | { | 117 | { |
111 | unsigned int count; | 118 | unsigned int count; |
diff --git a/firmware/kernel.h b/firmware/kernel.h index 8f981b3753..f79bc42b80 100644 --- a/firmware/kernel.h +++ b/firmware/kernel.h | |||
@@ -27,6 +27,8 @@ | |||
27 | 27 | ||
28 | #define HZ 100 /* number of ticks per second */ | 28 | #define HZ 100 /* number of ticks per second */ |
29 | 29 | ||
30 | #define NUM_TICK_TASKS 4 | ||
31 | |||
30 | #define QUEUE_LENGTH 16 /* MUST be a power of 2 */ | 32 | #define QUEUE_LENGTH 16 /* MUST be a power of 2 */ |
31 | #define QUEUE_LENGTH_MASK (QUEUE_LENGTH - 1) | 33 | #define QUEUE_LENGTH_MASK (QUEUE_LENGTH - 1) |
32 | 34 | ||