projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/lisp: Overflow int computations to float
[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..7c1ecc15f50607a20ee3cbcd1d0a7c688aea8ba6 100644
(file)
--- a/
src/test/ao_gps_test.c
+++ b/
src/test/ao_gps_test.c
@@
-3,7
+3,8
@@
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-26,6
+27,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)
@@
-50,6
+54,9
@@
struct ao_gps_orig {
uint16_t v_error; /* m */
};
uint16_t v_error; /* m */
};
+#define AO_TELEMETRY_LOCATION_ALTITUDE(l) ((l)->altitude)
+#define AO_TELEMETRY_LOCATION_SET_ALTITUDE(l,a) ((l)->altitude = (a))
+
#define SIRF_SAT_STATE_ACQUIRED (1 << 0)
#define SIRF_SAT_STATE_CARRIER_PHASE_VALID (1 << 1)
#define SIRF_SAT_BIT_SYNC_COMPLETE (1 << 2)
#define SIRF_SAT_STATE_ACQUIRED (1 << 0)
#define SIRF_SAT_STATE_CARRIER_PHASE_VALID (1 << 1)
#define SIRF_SAT_BIT_SYNC_COMPLETE (1 << 2)
@@
-88,6
+95,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
+111,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
+400,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
+417,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
+433,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
+529,5
@@
main (int argc, char **argv)
}
ao_gps_setup();
ao_gps();
}
ao_gps_setup();
ao_gps();
+ return 0;
}
}