diff options
-rw-r--r-- | src/avr/ao_arch.h | 3 | ||||
-rw-r--r-- | src/cc1111/ao_arch.h | 5 |
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; \ |