diff options
Diffstat (limited to 'ao.h')
| -rw-r--r-- | ao.h | 17 | 
1 files changed, 16 insertions, 1 deletions
| @@ -22,7 +22,9 @@  #include <stdio.h>  #include "cc1111.h" -#define AO_STACK_START	0x11 +#define DATA_TO_XDATA(a)	((void __xdata *) ((uint8_t) (a) | 0xff00)) + +#define AO_STACK_START	0x21  #define AO_STACK_END	0xfe  #define AO_STACK_SIZE	(AO_STACK_END - AO_STACK_START + 1) @@ -36,6 +38,10 @@ struct ao_task {  #define AO_ERROR_NO_TASK	1 +#define ao_interrupt_disable()	(EA = 0) +#define ao_interrupt_enable()	(EA = 1) + +/* ao_task.c */  int ao_sleep(__xdata void *wchan);  int ao_wakeup(__xdata void *wchan);  void ao_add_task(__xdata struct ao_task * task, void (*start)(void)); @@ -43,4 +49,13 @@ void ao_start_scheduler(void);  void ao_yield(void) _naked;  void ao_panic(uint8_t reason); +/* ao_timer.c */ + +volatile __data uint16_t ao_time; + +void ao_timer_isr(void) interrupt 9; +void ao_timer_init(void); +uint16_t ao_time_atomic(void); +void ao_delay(uint16_t ticks); +  #endif /* _AO_H_ */ | 
