projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Refactor to use new protocol module and sipo.
[bertos.git]
/
bertos
/
kern
/
rtask.c
diff --git
a/bertos/kern/rtask.c
b/bertos/kern/rtask.c
index dddbd6d75e31c321a63cde0bed308732818d1976..cfe35ce6a38219c83f35cc79a1cd54b5ce0f72eb 100644
(file)
--- a/
bertos/kern/rtask.c
+++ b/
bertos/kern/rtask.c
@@
-45,6
+45,8
@@
#define LOG_FORMAT RTASK_LOG_FORMAT
#include <cfg/log.h>
#define LOG_FORMAT RTASK_LOG_FORMAT
#include <cfg/log.h>
+#include <cpu/types.h>
+
#include <drv/timer.h>
#include <struct/pool.h>
#include <drv/timer.h>
#include <struct/pool.h>
@@
-73,7
+75,7
@@
struct RTask
void *user_data;
};
void *user_data;
};
-DE
CLAR
E_POOL_STATIC(rtask_pool, RTask, CONFIG_RTASK_POOL_SIZE);
+DE
FIN
E_POOL_STATIC(rtask_pool, RTask, CONFIG_RTASK_POOL_SIZE);
static Process *process = NULL;
static List rt_list;
static Semaphore rtask_sem;
static Process *process = NULL;
static List rt_list;
static Semaphore rtask_sem;
@@
-84,7
+86,8
@@
static Semaphore rtask_sem;
sem_release(&rtask_sem); \
} while (0)
sem_release(&rtask_sem); \
} while (0)
-#warning "Remove synctimer_poll and use a list directly"
+
+//TODO: "Remove synctimer_poll and use a list directly"
static NORETURN void rtask_proc(void)
{
while (1)
static NORETURN void rtask_proc(void)
{
while (1)
@@
-143,7
+146,7
@@
RTask *rtask_add(rtask_cb_t cb, mtime_t delay, void *cb_data)
rt->callback = cb;
rt->user_data = cb_data;
timer_setSoftint(&rt->t, rtask_trampoline, rt);
rt->callback = cb;
rt->user_data = cb_data;
timer_setSoftint(&rt->t, rtask_trampoline, rt);
- timer_setDelay(&rt->t,
delay
);
+ timer_setDelay(&rt->t,
ms_to_ticks(delay)
);
RTASK_ATOMIC(synctimer_add(&rt->t, &rt_list));
sig_send(process, NEW_TASK);
}
RTASK_ATOMIC(synctimer_add(&rt->t, &rt_list));
sig_send(process, NEW_TASK);
}