#include "ao.h"
#endif
+#ifndef ao_gps_getchar
+#define ao_gps_getchar ao_serial_getchar
+#endif
+
+#ifndef ao_gps_putchar
+#define ao_gps_putchar ao_serial_putchar
+#endif
+
+#ifndef ao_gps_set_speed
+#define ao_gps_set_speed ao_serial_set_speed
+#endif
+
__xdata uint8_t ao_gps_mutex;
static __data char ao_gps_char;
static __data uint8_t ao_gps_cksum;
if (ao_gps_error)
c = '\n';
else
- c = ao_serial_getchar();
+ c = ao_gps_getchar();
ao_gps_cksum ^= c;
ao_gps_char = c;
}
uint8_t c = *b++;
if (c == 0xa0)
ao_delay(AO_MS_TO_TICKS(500));
- ao_serial_putchar(c);
+ ao_gps_putchar(c);
}
}
void
ao_gps(void) __reentrant
{
- ao_serial_set_speed(AO_SERIAL_SPEED_9600);
+ ao_gps_set_speed(AO_SERIAL_SPEED_9600);
/* give skytraq time to boot in case of cold start */
ao_delay(AO_MS_TO_TICKS(2000));
for (;;) {
/* Locate the begining of the next record */
- if (ao_serial_getchar() == '$') {
+ if (ao_gps_getchar() == '$') {
ao_gps_nmea_parse();
}
}