altos: Make sure pa to altitude conversion is done with 32 bits
[fw/altos] / src / drivers / ao_cc1120.c
index 7428bead1131bc31bfafc3de6d6c12c2de214bdc..f27958f96ae397776248f17a64f1f687da780b0b 100644 (file)
@@ -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;