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>
-static __xdata ao_radio_test_on;
+static __xdata radio_test_on;
void
ao_radio_test(uint8_t on)
{
if (on) {
void
ao_radio_test(uint8_t on)
{
if (on) {
- if (!ao_radio_test_on) {
#if HAS_MONITOR
ao_monitor_disable();
#endif
#if HAS_MONITOR
ao_monitor_disable();
#endif
#endif
ao_radio_get(0xff);
RFST = RFST_STX;
#endif
ao_radio_get(0xff);
RFST = RFST_STX;
- if (ao_radio_test_on) {
ao_radio_idle();
ao_radio_put();
ao_radio_idle();
ao_radio_put();
#if HAS_MONITOR
ao_monitor_enable();
#endif
#if HAS_MONITOR
ao_monitor_enable();
#endif
ao_wakeup(&ao_radio_wake);
}
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 HAS_MONITOR
ao_monitor_disable();
#endif
#if HAS_MONITOR
ao_monitor_disable();
#endif
- 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;
ao_radio_idle();
ao_radio_put();
radio_on = 0;
+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)
{
void
ao_radio_send(const void *d, uint8_t size)
{
void
ao_radio_rdf_abort(void);
void
ao_radio_rdf_abort(void);
+void
+ao_radio_test_on(void);
+
+void
+ao_radio_test_off(void);
+
void
ao_radio_init(void);
void
ao_radio_init(void);