projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
process updates made during 1.6.3 release cycle
[fw/altos]
/
src
/
kernel
/
ao_task.h
diff --git
a/src/kernel/ao_task.h
b/src/kernel/ao_task.h
index 9c56b48021d6dd4ebe83c69f44aa04c5ade023c3..0e353fe83a9998fcebffd52e0eb207d8c9002814 100644
(file)
--- a/
src/kernel/ao_task.h
+++ b/
src/kernel/ao_task.h
@@
-56,6
+56,10
@@
extern __data uint8_t ao_num_tasks;
extern __xdata struct ao_task *__data ao_cur_task;
extern __data uint8_t ao_task_minimize_latency; /* Reduce IRQ latency */
extern __xdata struct ao_task *__data ao_cur_task;
extern __data uint8_t ao_task_minimize_latency; /* Reduce IRQ latency */
+#ifndef HAS_ARCH_VALIDATE_CUR_STACK
+#define ao_validate_cur_stack()
+#endif
+
/*
ao_task.c
*/
/*
ao_task.c
*/
@@
-68,10
+72,19
@@
extern __data uint8_t ao_task_minimize_latency; /* Reduce IRQ latency */
uint8_t
ao_sleep(__xdata void *wchan);
uint8_t
ao_sleep(__xdata void *wchan);
+/* Suspend the current task until wchan is awoken or the timeout
+ * expires. returns:
+ * 0 on normal wake
+ * 1 on alarm
+ */
+uint8_t
+ao_sleep_for(__xdata void *wchan, uint16_t timeout);
+
/* Wake all tasks sleeping on wchan */
void
ao_wakeup(__xdata void *wchan) __reentrant;
/* Wake all tasks sleeping on wchan */
void
ao_wakeup(__xdata void *wchan) __reentrant;
+#if 0
/* set an alarm to go off in 'delay' ticks */
void
ao_alarm(uint16_t delay);
/* set an alarm to go off in 'delay' ticks */
void
ao_alarm(uint16_t delay);
@@
-79,6
+92,7
@@
ao_alarm(uint16_t delay);
/* Clear any pending alarm */
void
ao_clear_alarm(void);
/* Clear any pending alarm */
void
ao_clear_alarm(void);
+#endif
/* Yield the processor to another task */
void
/* Yield the processor to another task */
void