projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add comments, clean up white space, etc.
[fw/altos]
/
ao_task.c
diff --git
a/ao_task.c
b/ao_task.c
index 0af5043cd67738ea33c1976ce8b569f761c3f1de..24bd319ac563b69d33dd77999a0a532763eaa592 100644
(file)
--- a/
ao_task.c
+++ b/
ao_task.c
@@
-29,7
+29,7
@@
ao_add_task(__xdata struct ao_task * task, void (*start)(void))
{
uint8_t __xdata *stack;
if (ao_num_tasks == AO_NUM_TASKS)
{
uint8_t __xdata *stack;
if (ao_num_tasks == AO_NUM_TASKS)
- ao_panic(AO_
ERROR
_NO_TASK);
+ ao_panic(AO_
PANIC
_NO_TASK);
ao_tasks[ao_num_tasks++] = task;
/*
* Construct a stack frame so that it will 'return'
ao_tasks[ao_num_tasks++] = task;
/*
* Construct a stack frame so that it will 'return'
@@
-162,7
+162,9
@@
ao_yield(void) _naked
int
ao_sleep(__xdata void *wchan)
{
int
ao_sleep(__xdata void *wchan)
{
+ ao_interrupt_disable();
ao_cur_task->wchan = wchan;
ao_cur_task->wchan = wchan;
+ ao_interrupt_enable();
ao_yield();
}
ao_yield();
}
@@
-179,6
+181,12
@@
ao_wakeup(__xdata void *wchan)
void
ao_start_scheduler(void)
{
void
ao_start_scheduler(void)
{
+ ao_timer_init();
+ ao_adc_init();
+ ao_beep_init();
+ ao_led_init();
+ ao_usb_init();
+
ao_cur_task_id = AO_NO_TASK;
ao_cur_task = NULL;
ao_yield();
ao_cur_task_id = AO_NO_TASK;
ao_cur_task = NULL;
ao_yield();