Use ao_radio_done to wait for TX to completely finish with packet
authorKeith Packard <keithp@keithp.com>
Sat, 31 Oct 2009 06:51:38 +0000 (23:51 -0700)
committerKeith Packard <keithp@keithp.com>
Sat, 31 Oct 2009 06:51:38 +0000 (23:51 -0700)
src/ao_packet.c

index 7d277d70594e9f3cbfa6471f43995216ad9e950f..da33bb4c6dfc8d4e92cf59ec4f94af46ab2f27e4 100644 (file)
@@ -34,6 +34,7 @@ ao_packet_send(void)
        ao_config_get();
        ao_mutex_get(&ao_radio_mutex);
        ao_radio_idle();
+       ao_radio_done = 0;
        RF_CHANNR = ao_config.radio_channel;
        ao_dma_set_transfer(ao_radio_dma,
                            &tx_packet,
@@ -47,8 +48,8 @@ ao_packet_send(void)
                            DMA_CFG1_PRIORITY_HIGH);
        ao_dma_start(ao_radio_dma);
        RFST = RFST_STX;
-       __critical while (!ao_radio_dma_done)
-               ao_sleep(&ao_radio_dma_done);
+       __critical while (!ao_radio_done)
+               ao_sleep(&ao_radio_done);
        ao_mutex_put(&ao_radio_mutex);
 }