altos: Leave USB enabled in flight with -DDEBUG=1
[fw/altos] / src / kernel / ao_task.c
index 47352fc104afde937559c9ee2a31060447c62c95..cf0b58ed8eaa0bf939e0e77bc80635b69f6f52db 100644 (file)
@@ -504,6 +504,8 @@ static __xdata uint8_t ao_forever;
 void
 ao_delay(uint16_t ticks)
 {
+       if (!ticks)
+               ticks = 1;
        ao_sleep_for(&ao_forever, ticks);
 }
 
@@ -535,12 +537,15 @@ ao_task_info(void)
 {
        uint8_t         i;
        __xdata struct ao_task *task;
+       uint16_t        now = ao_time();
 
        for (i = 0; i < ao_num_tasks; i++) {
                task = ao_tasks[i];
-               printf("%12s: wchan %04x\n",
-                      task->name,
-                      (int) task->wchan);
+               printf("%2d: wchan %08x alarm %5d %s\n",
+                      task->task_id,
+                      (int) task->wchan,
+                      task->alarm ? (int16_t) (task->alarm - now) : 9999,
+                      task->name);
        }
 #if HAS_TASK_QUEUE && DEBUG
        ao_task_validate();