Add comments, clean up white space, etc.
[fw/altos] / 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)
-               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'
@@ -162,7 +162,9 @@ ao_yield(void) _naked
 int
 ao_sleep(__xdata void *wchan)
 {
+       ao_interrupt_disable();
        ao_cur_task->wchan = wchan;
+       ao_interrupt_enable();
        ao_yield();
 }
 
@@ -179,6 +181,12 @@ ao_wakeup(__xdata void *wchan)
 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();