Provide ao_gps_getchar, ao_gps_putchar and ao_gps_set_speed hooks to
let product specify functions for serial access.
Signed-off-by: Keith Packard <keithp@keithp.com>
+#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;
__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
if (ao_gps_error)
c = '\n';
else
- c = ao_serial_getchar();
ao_gps_cksum ^= c;
ao_gps_char = c;
}
ao_gps_cksum ^= c;
ao_gps_char = c;
}
uint8_t c = *b++;
if (c == 0xa0)
ao_delay(AO_MS_TO_TICKS(500));
uint8_t c = *b++;
if (c == 0xa0)
ao_delay(AO_MS_TO_TICKS(500));
void
ao_gps(void) __reentrant
{
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));
/* 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 */
for (;;) {
/* Locate the begining of the next record */
- if (ao_serial_getchar() == '$') {
+ if (ao_gps_getchar() == '$') {