projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altosui: Prevent voice altitude data from queueing up
[fw/altos]
/
src
/
ao_packet.c
diff --git
a/src/ao_packet.c
b/src/ao_packet.c
index 98fdcb90388c50803eea8b1ab3c965faa49ea98d..d52f2a68b89815ee9f89896dbc874e8eed966cc2 100644
(file)
--- a/
src/ao_packet.c
+++ b/
src/ao_packet.c
@@
-67,7
+67,9
@@
ao_packet_recv(void)
{
uint8_t dma_done;
{
uint8_t dma_done;
+#ifdef AO_LED_GREEN
ao_led_on(AO_LED_GREEN);
ao_led_on(AO_LED_GREEN);
+#endif
ao_radio_get();
ao_dma_set_transfer(ao_radio_dma,
&RFDXADDR,
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();
ao_radio_abort();
dma_done = ao_radio_dma_done;
ao_radio_put();
+#ifdef AO_LED_GREEN
ao_led_off(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))
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;
}
return dma_done;
}
+#ifndef PACKET_HAS_MASTER
+#define PACKET_HAS_MASTER 1
+#endif
+
+#if PACKET_HAS_MASTER
void
ao_packet_flush(void)
{
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);
}
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) {
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();
ao_packet_flush();
+#endif
ao_sleep(&tx_data);
}
ao_sleep(&tx_data);
}