summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2016-07-27 13:24:57 -0700
committerKeith Packard <keithp@keithp.com>2016-07-27 13:24:57 -0700
commit71ddb973ff75680e78fbbef7978ab3893c367629 (patch)
treeaffd5d51d22d94a3879b43a48c576753284ce5fe /src/drivers
parent59874a062543c61d164089e8b31f55a9b860c0b1 (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')
-rw-r--r--src/drivers/ao_cc1200.c49
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)
{