{
ao_radio_start_tx();
- cli();
+ ao_arch_block_interrupts();
while (!ao_radio_wake && !ao_radio_abort)
ao_sleep(&ao_radio_wake);
- sei();
+ ao_arch_release_interrupts();
if (!ao_radio_wake)
ao_radio_idle();
ao_radio_put();
do {
ao_radio_wake = 0;
- cli();
+ ao_arch_block_interrupts();
while (!ao_radio_wake)
ao_sleep(&ao_radio_wake);
- sei();
+ ao_arch_release_interrupts();
if (!encode_len)
break;
fifo_space = ao_radio_tx_fifo_space();
static uint16_t
ao_radio_rx_wait(void)
{
- cli();
+ ao_arch_block_interrupts();
rx_waiting = 1;
while (rx_data_cur - rx_data_consumed < AO_FEC_DECODE_BLOCK &&
!ao_radio_abort) {
ao_sleep(&ao_radio_wake);
}
rx_waiting = 0;
- sei();
+ ao_arch_release_interrupts();
if (ao_radio_abort)
return 0;
rx_data_consumed += AO_FEC_DECODE_BLOCK;