summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2009-12-19 14:03:11 -0800
committerKeith Packard <keithp@keithp.com>2009-12-19 14:14:40 -0800
commit598d168bd6552c3756e4b0267de44147eadab9f6 (patch)
treeadf8f22af37c29ebeb1610987b7f1466e85de5b0
parentd4cf1446680d8b47396bcda338e8df7af395d102 (diff)
Disable monitor mode before attempting radio test.
If monitor mode is left active, then the radio lock will not be able to be acquired for the radio test. Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--src/ao_packet_slave.c14
-rw-r--r--src/ao_radio.c1
-rw-r--r--src/ao_telemetrum.c7
3 files changed, 16 insertions, 6 deletions
diff --git a/src/ao_packet_slave.c b/src/ao_packet_slave.c
index ba5ad1c1..122c4da0 100644
--- a/src/ao_packet_slave.c
+++ b/src/ao_packet_slave.c
@@ -40,13 +40,15 @@ ao_packet_slave_start(void)
void
ao_packet_slave_stop(void)
{
- ao_packet_enable = 0;
- ao_radio_abort();
- while (ao_packet_task.wchan) {
- ao_wake_task(&ao_packet_task);
- ao_yield();
+ if (ao_packet_enable) {
+ ao_packet_enable = 0;
+ ao_radio_abort();
+ while (ao_packet_task.wchan) {
+ ao_wake_task(&ao_packet_task);
+ ao_yield();
+ }
+ ao_radio_set_telemetry();
}
- ao_radio_set_telemetry();
}
void
diff --git a/src/ao_radio.c b/src/ao_radio.c
index 1a0cf4fa..bb19c6a9 100644
--- a/src/ao_radio.c
+++ b/src/ao_radio.c
@@ -448,6 +448,7 @@ ao_radio_rdf_abort(void)
void
ao_radio_test(void)
{
+ ao_set_monitor(0);
ao_packet_slave_stop();
ao_radio_get();
printf ("Hit a character to stop..."); flush();
diff --git a/src/ao_telemetrum.c b/src/ao_telemetrum.c
index 5250078e..990b0d77 100644
--- a/src/ao_telemetrum.c
+++ b/src/ao_telemetrum.c
@@ -17,6 +17,13 @@
#include "ao.h"
+/* stub so as telemetrum doesn't have monitor mode */
+void
+ao_set_monitor(uint8_t monitoring)
+{
+ (void) monitoring;
+}
+
void
main(void)
{