summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/ao_btm.c30
-rw-r--r--src/drivers/ao_gps_sirf.c36
-rw-r--r--src/drivers/ao_gps_skytraq.c6
-rw-r--r--src/drivers/ao_science_slave.c1
4 files changed, 43 insertions, 30 deletions
diff --git a/src/drivers/ao_btm.c b/src/drivers/ao_btm.c
index 5eb78815..f193ac8e 100644
--- a/src/drivers/ao_btm.c
+++ b/src/drivers/ao_btm.c
@@ -17,6 +17,13 @@
#include "ao.h"
+#ifndef ao_serial_btm_getchar
+#define ao_serial_btm_putchar ao_serial1_putchar
+#define ao_serial_btm_pollchar ao_serial1_pollchar
+#define ao_serial_btm_set_speed ao_serial1_set_speed
+#define ao_serial_btm_drain ao_serial1_drain
+#endif
+
int8_t ao_btm_stdio;
__xdata uint8_t ao_btm_connected;
@@ -80,9 +87,9 @@ ao_btm_speed(void)
{
ao_cmd_decimal();
if (ao_cmd_lex_u32 == 57600)
- ao_serial_set_speed(AO_SERIAL_SPEED_57600);
+ ao_serial_btm_set_speed(AO_SERIAL_SPEED_57600);
else if (ao_cmd_lex_u32 == 19200)
- ao_serial_set_speed(AO_SERIAL_SPEED_19200);
+ ao_serial_btm_set_speed(AO_SERIAL_SPEED_19200);
else
ao_cmd_status = ao_cmd_syntax_error;
}
@@ -104,8 +111,6 @@ __code struct ao_cmds ao_btm_cmds[] = {
#define AO_BTM_MAX_REPLY 16
__xdata char ao_btm_reply[AO_BTM_MAX_REPLY];
-extern volatile __xdata struct ao_fifo ao_usart1_rx_fifo;
-
/*
* Read a line of data from the serial port, truncating
* it after a few characters.
@@ -119,7 +124,7 @@ ao_btm_get_line(void)
for (;;) {
- while ((c = ao_serial_pollchar()) != AO_READ_AGAIN) {
+ while ((c = ao_serial_btm_pollchar()) != AO_READ_AGAIN) {
ao_btm_log_in_char(c);
if (ao_btm_reply_len < sizeof (ao_btm_reply))
ao_btm_reply[ao_btm_reply_len++] = c;
@@ -128,7 +133,7 @@ ao_btm_get_line(void)
}
for (c = 0; c < 10; c++) {
ao_delay(AO_MS_TO_TICKS(10));
- if (!ao_fifo_empty(ao_usart1_rx_fifo))
+ if (!ao_fifo_empty(ao_serial1_rx_fifo))
break;
}
if (c == 10)
@@ -168,7 +173,7 @@ void
ao_btm_putchar(char c)
{
ao_btm_log_out_char(c);
- ao_serial_putchar(c);
+ ao_serial_btm_putchar(c);
ao_delay(1);
}
@@ -229,8 +234,8 @@ ao_btm_set_name(void)
uint8_t
ao_btm_try_speed(uint8_t speed)
{
- ao_serial_set_speed(speed);
- ao_btm_drain();
+ ao_serial_btm_set_speed(speed);
+ ao_serial_btm_drain();
(void) ao_btm_cmd("\rATE0\rATQ0\r");
if (ao_btm_cmd("AT\r") == 1)
return 1;
@@ -274,8 +279,8 @@ ao_btm(void)
/* Turn off status reporting */
ao_btm_cmd("ATQ1\r");
- ao_btm_stdio = ao_add_stdio(ao_serial_pollchar,
- ao_serial_putchar,
+ ao_btm_stdio = ao_add_stdio(ao_serial_btm_pollchar,
+ ao_serial_btm_putchar,
NULL);
ao_btm_echo(0);
@@ -341,7 +346,8 @@ void
ao_btm_init (void)
{
ao_serial_init();
- ao_serial_set_speed(AO_SERIAL_SPEED_19200);
+
+ ao_serial_btm_set_speed(AO_SERIAL_SPEED_19200);
#if BT_LINK_ON_P1
/*
diff --git a/src/drivers/ao_gps_sirf.c b/src/drivers/ao_gps_sirf.c
index f2abbf84..91fc948b 100644
--- a/src/drivers/ao_gps_sirf.c
+++ b/src/drivers/ao_gps_sirf.c
@@ -124,7 +124,13 @@ static __xdata struct sirf_measured_tracker_data ao_sirf_tracker_data;
static __pdata uint16_t ao_sirf_cksum;
static __pdata uint16_t ao_sirf_len;
-#define ao_sirf_byte() ((uint8_t) ao_serial_getchar())
+#ifndef ao_sirf_getchar
+#define ao_sirf_getchar ao_serial1_getchar
+#define ao_sirf_putchar ao_serial1_putchar
+#define ao_sirf_set_speed ao_serial1_set_speed
+#endif
+
+#define ao_sirf_byte() ((uint8_t) ao_sirf_getchar())
static uint8_t data_byte(void)
{
@@ -283,15 +289,15 @@ static void
ao_gps_setup(void) __reentrant
{
uint8_t i, k;
- ao_serial_set_speed(AO_SERIAL_SPEED_4800);
+ ao_sirf_set_speed(AO_SERIAL_SPEED_4800);
for (i = 0; i < 64; i++)
- ao_serial_putchar(0x00);
+ ao_sirf_putchar(0x00);
for (k = 0; k < 3; k++)
for (i = 0; i < sizeof (ao_gps_set_nmea); i++)
- ao_serial_putchar(ao_gps_set_nmea[i]);
- ao_serial_set_speed(AO_SERIAL_SPEED_57600);
+ ao_sirf_putchar(ao_gps_set_nmea[i]);
+ ao_sirf_set_speed(AO_SERIAL_SPEED_57600);
for (i = 0; i < 64; i++)
- ao_serial_putchar(0x00);
+ ao_sirf_putchar(0x00);
}
static const char ao_gps_set_message_rate[] = {
@@ -307,16 +313,16 @@ ao_sirf_set_message_rate(uint8_t msg, uint8_t rate) __reentrant
uint8_t i;
for (i = 0; i < sizeof (ao_gps_set_message_rate); i++)
- ao_serial_putchar(ao_gps_set_message_rate[i]);
- ao_serial_putchar(msg);
- ao_serial_putchar(rate);
+ ao_sirf_putchar(ao_gps_set_message_rate[i]);
+ ao_sirf_putchar(msg);
+ ao_sirf_putchar(rate);
cksum = 0xa6 + msg + rate;
for (i = 0; i < 4; i++)
- ao_serial_putchar(0);
- ao_serial_putchar((cksum >> 8) & 0x7f);
- ao_serial_putchar(cksum & 0xff);
- ao_serial_putchar(0xb0);
- ao_serial_putchar(0xb3);
+ ao_sirf_putchar(0);
+ ao_sirf_putchar((cksum >> 8) & 0x7f);
+ ao_sirf_putchar(cksum & 0xff);
+ ao_sirf_putchar(0xb0);
+ ao_sirf_putchar(0xb3);
}
static const uint8_t sirf_disable[] = {
@@ -338,7 +344,7 @@ ao_gps(void) __reentrant
for (k = 0; k < 5; k++)
{
for (i = 0; i < sizeof (ao_gps_config); i++)
- ao_serial_putchar(ao_gps_config[i]);
+ ao_sirf_putchar(ao_gps_config[i]);
for (i = 0; i < sizeof (sirf_disable); i++)
ao_sirf_set_message_rate(sirf_disable[i], 0);
ao_sirf_set_message_rate(41, 1);
diff --git a/src/drivers/ao_gps_skytraq.c b/src/drivers/ao_gps_skytraq.c
index 39e36cc8..84616a05 100644
--- a/src/drivers/ao_gps_skytraq.c
+++ b/src/drivers/ao_gps_skytraq.c
@@ -20,15 +20,15 @@
#endif
#ifndef ao_gps_getchar
-#define ao_gps_getchar ao_serial_getchar
+#define ao_gps_getchar ao_serial1_getchar
#endif
#ifndef ao_gps_putchar
-#define ao_gps_putchar ao_serial_putchar
+#define ao_gps_putchar ao_serial1_putchar
#endif
#ifndef ao_gps_set_speed
-#define ao_gps_set_speed ao_serial_set_speed
+#define ao_gps_set_speed ao_serial1_set_speed
#endif
__xdata uint8_t ao_gps_mutex;
diff --git a/src/drivers/ao_science_slave.c b/src/drivers/ao_science_slave.c
index 1ebb1480..fa9db98b 100644
--- a/src/drivers/ao_science_slave.c
+++ b/src/drivers/ao_science_slave.c
@@ -17,6 +17,7 @@
#include "ao.h"
#include "ao_product.h"
+#include "ao_flight.h"
struct ao_companion_command ao_companion_command;