summaryrefslogtreecommitdiff
path: root/src-avr/ao_task.c
diff options
context:
space:
mode:
Diffstat (limited to 'src-avr/ao_task.c')
-rw-r--r--src-avr/ao_task.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src-avr/ao_task.c b/src-avr/ao_task.c
index 51467133..aa3f85c7 100644
--- a/src-avr/ao_task.c
+++ b/src-avr/ao_task.c
@@ -26,6 +26,8 @@ __xdata struct ao_task *__data ao_cur_task;
#ifdef AVR
+uint8_t ao_cpu_sleep_disable;
+
#define PUSH8(stack, val) (*((stack)--) = (val))
static void
@@ -200,7 +202,8 @@ ao_yield(void) __naked
/* Enter lower power mode when there isn't anything to do */
if (ao_next_task_index == ao_cur_task_index)
#ifdef AVR
- sleep_cpu();
+ if (!ao_cpu_sleep_disable)
+ sleep_cpu();
#else
PCON = PCON_IDLE;
#endif