projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: 8051 64 * 16 multiply function was broken for negative 64-bit
[fw/altos]
/
src
/
test
/
ao_gps_test.c
diff --git
a/src/test/ao_gps_test.c
b/src/test/ao_gps_test.c
index d75a12ecbfad77bf5a4f75d65a02a4200fd217f0..e799ab0fc8f0a70e612c72bcbbe6c8c724842a31 100644
(file)
--- a/
src/test/ao_gps_test.c
+++ b/
src/test/ao_gps_test.c
@@
-26,6
+26,9
@@
#define AO_GPS_NUM_SAT_MASK (0xf << 0)
#define AO_GPS_NUM_SAT_SHIFT (0)
#define AO_GPS_NUM_SAT_MASK (0xf << 0)
#define AO_GPS_NUM_SAT_SHIFT (0)
+#define AO_GPS_NEW_DATA 1
+#define AO_GPS_NEW_TRACKING 2
+
#define AO_GPS_VALID (1 << 4)
#define AO_GPS_RUNNING (1 << 5)
#define AO_GPS_DATE_VALID (1 << 6)
#define AO_GPS_VALID (1 << 4)
#define AO_GPS_RUNNING (1 << 5)
#define AO_GPS_DATE_VALID (1 << 6)
@@
-88,6
+91,7
@@
ao_mutex_put(uint8_t *mutex)
static int
ao_gps_fd;
static int
ao_gps_fd;
+#if 0
static void
ao_dbg_char(char c)
{
static void
ao_dbg_char(char c)
{
@@
-103,6
+107,7
@@
ao_dbg_char(char c)
}
write(1, line, strlen(line));
}
}
write(1, line, strlen(line));
}
+#endif
#define QUEUE_LEN 4096
#define QUEUE_LEN 4096
@@
-391,6
+396,7
@@
ao_serial1_putchar(char c)
#define AO_SERIAL_SPEED_4800 0
#define AO_SERIAL_SPEED_57600 1
#define AO_SERIAL_SPEED_4800 0
#define AO_SERIAL_SPEED_57600 1
+#define AO_SERIAL_SPEED_115200 2
static void
ao_serial1_set_speed(uint8_t speed)
static void
ao_serial1_set_speed(uint8_t speed)
@@
-407,6
+413,9
@@
ao_serial1_set_speed(uint8_t speed)
case AO_SERIAL_SPEED_57600:
cfsetspeed(&termios, B57600);
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);
}
tcsetattr(fd, TCSAFLUSH, &termios);
tcflush(fd, TCIFLUSH);
@@
-420,13
+429,19
@@
ao_serial1_set_speed(uint8_t speed)
void
ao_dump_state(void *wchan)
{
void
ao_dump_state(void *wchan)
{
- double lat, lon;
int i;
int i;
- if (wchan == &ao_gps_data)
+
+ if (wchan != &ao_gps_new)
+ return;
+
+ if (ao_gps_new & AO_GPS_NEW_DATA) {
ao_gps_print(&ao_gps_data);
ao_gps_print(&ao_gps_data);
- else
+ putchar('\n');
+ }
+ if (ao_gps_new & AO_GPS_NEW_TRACKING) {
ao_gps_tracking_print(&ao_gps_tracking_data);
ao_gps_tracking_print(&ao_gps_tracking_data);
- putchar('\n');
+ putchar('\n');
+ }
return;
printf ("%02d:%02d:%02d",
ao_gps_data.hour, ao_gps_data.minute,
return;
printf ("%02d:%02d:%02d",
ao_gps_data.hour, ao_gps_data.minute,
@@
-510,4
+525,5
@@
main (int argc, char **argv)
}
ao_gps_setup();
ao_gps();
}
ao_gps_setup();
ao_gps();
+ return 0;
}
}