altosui: Prevent voice altitude data from queueing up
[fw/altos] / src / ao_packet.c
index 98fdcb90388c50803eea8b1ab3c965faa49ea98d..d52f2a68b89815ee9f89896dbc874e8eed966cc2 100644 (file)
@@ -67,7 +67,9 @@ ao_packet_recv(void)
 {
        uint8_t dma_done;
 
+#ifdef AO_LED_GREEN
        ao_led_on(AO_LED_GREEN);
+#endif
        ao_radio_get();
        ao_dma_set_transfer(ao_radio_dma,
                            &RFDXADDR,
@@ -86,7 +88,9 @@ ao_packet_recv(void)
                                   ao_radio_abort();
        dma_done = ao_radio_dma_done;
        ao_radio_put();
+#ifdef AO_LED_GREEN
        ao_led_off(AO_LED_GREEN);
+#endif
 
        if (dma_done & AO_DMA_DONE) {
                if (!(ao_rx_packet.status & PKT_APPEND_STATUS_1_CRC_OK))
@@ -113,6 +117,11 @@ ao_packet_recv(void)
        return dma_done;
 }
 
+#ifndef PACKET_HAS_MASTER
+#define PACKET_HAS_MASTER 1
+#endif
+
+#if PACKET_HAS_MASTER
 void
 ao_packet_flush(void)
 {
@@ -122,12 +131,15 @@ ao_packet_flush(void)
        if (ao_packet_tx_used && ao_packet_master_sleeping)
                ao_wake_task(&ao_packet_task);
 }
+#endif /* PACKET_HAS_MASTER */
 
 void
 ao_packet_putchar(char c) __reentrant
 {
        while (ao_packet_tx_used == AO_PACKET_MAX && ao_packet_enable) {
+#if PACKET_HAS_MASTER
                ao_packet_flush();
+#endif
                ao_sleep(&tx_data);
        }