#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
+#include <unistd.h>
#define AO_GPS_NUM_SAT_MASK (0xf << 0)
#define AO_GPS_NUM_SAT_SHIFT (0)
static int
ao_gps_fd;
+#if 0
static void
ao_dbg_char(char c)
{
}
write(1, line, strlen(line));
}
+#endif
#define QUEUE_LEN 4096
get_u16(h_v_error);
+ (void) mag_var;
+ (void) id;
printf ("Geodetic Navigation Data (41):\n");
printf ("\tNav valid %04x\n", nav_valid);
printf ("\tNav type %04x\n", nav_type);
get_u32(gps_tow);
get_u8(channels);
+ (void) id;
printf ("Measured Tracker Data (4):\n");
printf ("GPS week: %d\n", gps_week);
printf ("GPS time of week: %d\n", gps_tow);
i = write(ao_gps_fd, &c, 1);
if (i == 1) {
if ((uint8_t) c == 0xb3 || c == '\r') {
- static const struct timespec delay = {
+/* static const struct timespec delay = {
.tv_sec = 0,
.tv_nsec = 100 * 1000 * 1000
};
+*/
tcdrain(ao_gps_fd);
// nanosleep(&delay, NULL);
}
#define AO_SERIAL_SPEED_4800 0
#define AO_SERIAL_SPEED_9600 1
#define AO_SERIAL_SPEED_57600 2
+#define AO_SERIAL_SPEED_115200 3
static void
ao_serial1_set_speed(uint8_t speed)
cfsetspeed(&termios, B4800);
break;
case AO_SERIAL_SPEED_9600:
- cfsetspeed(&termios, B38400);
+ cfsetspeed(&termios, B9600);
break;
case AO_SERIAL_SPEED_57600:
cfsetspeed(&termios, B57600);
break;
+ case AO_SERIAL_SPEED_115200:
+ cfsetspeed(&termios, B115200);
+ break;
}
tcsetattr(fd, TCSAFLUSH, &termios);
tcflush(fd, TCIFLUSH);
#define ao_time() 0
+uint8_t ao_task_minimize_latency;
+
+#define ao_usb_getchar() 0
+
#include "ao_gps_print.c"
#include "ao_gps_skytraq.c"
void
ao_dump_state(void *wchan)
{
- double lat, lon;
- int i;
if (wchan == &ao_gps_data)
ao_gps_print(&ao_gps_data);
else
exit (1);
}
ao_gps();
+ return 0;
}