summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/avr/ao_arch.h3
-rw-r--r--src/cc1111/ao_arch.h5
2 files changed, 8 insertions, 0 deletions
diff --git a/src/avr/ao_arch.h b/src/avr/ao_arch.h
index 96659aaf..c82612a8 100644
--- a/src/avr/ao_arch.h
+++ b/src/avr/ao_arch.h
@@ -150,6 +150,9 @@ extern uint8_t ao_cpu_sleep_disable;
#define ao_arch_critical(b) do { cli(); do { b } while (0); sei(); } while (0)
+#define ao_arch_block_interrupts() cli()
+#define ao_arch_release_interrupts() sei()
+
#define AO_TELESCIENCE_NUM_ADC 12
#endif /* _AO_ARCH_H_ */
diff --git a/src/cc1111/ao_arch.h b/src/cc1111/ao_arch.h
index 7fdfad80..f2442eb6 100644
--- a/src/cc1111/ao_arch.h
+++ b/src/cc1111/ao_arch.h
@@ -153,6 +153,11 @@ extern AO_ROMCONFIG_SYMBOL(0x00a6) uint32_t ao_radio_cal;
#define ao_arch_cpu_idle() (PCON = PCON_IDLE)
+#define ao_arch_block_interrupts() __asm clr ea __endasm
+#define ao_arch_release_interrupts() __asm setb ea __endasm
+#define cli() ao_arch_block_interrupts()
+#define sei() ao_arch_release_interrupts()
+
#define ao_arch_restore_stack() { \
uint8_t stack_len; \
__data uint8_t *stack_ptr; \