diff options
author | Keith Packard <keithp@keithp.com> | 2016-07-27 13:24:57 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2016-07-27 13:24:57 -0700 |
commit | 71ddb973ff75680e78fbbef7978ab3893c367629 (patch) | |
tree | affd5d51d22d94a3879b43a48c576753284ce5fe /src/drivers/ao_cc1200.c | |
parent | 59874a062543c61d164089e8b31f55a9b860c0b1 (diff) |
altos: Expose cc1200 radio test functions for telemini bringup
This exposes the cc1200 radio test function so we can load special
test firmware in telemini to do the radio cal as it has no USB to
perform that interactively.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/drivers/ao_cc1200.c')
-rw-r--r-- | src/drivers/ao_cc1200.c | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/src/drivers/ao_cc1200.c b/src/drivers/ao_cc1200.c index 1f2a3ba9..2bc99734 100644 --- a/src/drivers/ao_cc1200.c +++ b/src/drivers/ao_cc1200.c @@ -803,18 +803,12 @@ ao_radio_rdf_abort(void) ao_wakeup(&ao_radio_wake); } -static void -ao_radio_test_cmd(void) +static uint8_t radio_on; + +void +ao_radio_test_on(void) { - uint8_t mode = 2; - static uint8_t radio_on; - ao_cmd_white(); - if (ao_cmd_lex_c != '\n') { - ao_cmd_decimal(); - mode = (uint8_t) ao_cmd_lex_u32; - } - mode++; - if ((mode & 2) && !radio_on) { + if (!radio_on) { #if HAS_MONITOR ao_monitor_disable(); #endif @@ -837,12 +831,12 @@ ao_radio_test_cmd(void) #endif radio_on = 1; } - if (mode == 3) { - printf ("Hit a character to stop..."); flush(); - getchar(); - putchar('\n'); - } - if ((mode & 1) && radio_on) { +} + +void +ao_radio_test_off(void) +{ + if (radio_on) { ao_radio_idle(); ao_radio_put(); radio_on = 0; @@ -855,6 +849,27 @@ ao_radio_test_cmd(void) } } +static void +ao_radio_test_cmd(void) +{ + uint8_t mode = 2; + ao_cmd_white(); + if (ao_cmd_lex_c != '\n') { + ao_cmd_decimal(); + mode = (uint8_t) ao_cmd_lex_u32; + } + mode++; + if ((mode & 2)) + ao_radio_test_on(); + if (mode == 3) { + printf ("Hit a character to stop..."); flush(); + getchar(); + putchar('\n'); + } + if ((mode & 1)) + ao_radio_test_off(); +} + void ao_radio_send(const void *d, uint8_t size) { |