X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fdrivers%2Fao_cc1120.c;h=f27958f96ae397776248f17a64f1f687da780b0b;hb=defd5d0784a754be30e3295067fbc85a108ad172;hp=7428bead1131bc31bfafc3de6d6c12c2de214bdc;hpb=282f0451dd141db3304ab73e4020a849e59721eb;p=fw%2Faltos diff --git a/src/drivers/ao_cc1120.c b/src/drivers/ao_cc1120.c index 7428bead..f27958f9 100644 --- a/src/drivers/ao_cc1120.c +++ b/src/drivers/ao_cc1120.c @@ -469,10 +469,10 @@ ao_rdf_run(void) { 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(); @@ -521,7 +521,7 @@ static void ao_radio_test_cmd(void) { uint8_t mode = 2; - uint8_t radio_on; + static uint8_t radio_on; ao_cmd_white(); if (ao_cmd_lex_c != '\n') { ao_cmd_decimal(); @@ -603,10 +603,10 @@ ao_radio_send(const void *d, uint8_t size) 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(); @@ -660,14 +660,14 @@ ao_radio_rx_isr(void) 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;