summaryrefslogtreecommitdiff
path: root/src
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 /src
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>
Diffstat (limited to 'src')
-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)
{