From: Keith Packard Date: Thu, 25 Oct 2012 06:21:38 +0000 (-0700) Subject: altos: Add ao_arch_block/release_interrupts to avr and cc1111 X-Git-Tag: 1.1.9.2~28 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=7d34811ba035367bbf26a8510265754f3fbb5a95;p=fw%2Faltos altos: Add ao_arch_block/release_interrupts to avr and cc1111 Stop using cli/sei for AVR, add replacement to __critical for cc1111 Signed-off-by: Keith Packard --- 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; \