projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Rename telemega-v0.3 to telemega-v1.0
[fw/altos]
/
src
/
drivers
/
ao_gps_ublox.c
diff --git
a/src/drivers/ao_gps_ublox.c
b/src/drivers/ao_gps_ublox.c
index a11ca3f731657f7351b3759ac85bdd09d7a4f32b..4fb907462c43691807e355a21549b63a6dd1658b 100644
(file)
--- a/
src/drivers/ao_gps_ublox.c
+++ b/
src/drivers/ao_gps_ublox.c
@@
-21,30
+21,37
@@
#include "ao_gps_ublox.h"
#include "ao_gps_ublox.h"
-#define AO_UBLOX_DEBUG
1
+#define AO_UBLOX_DEBUG
0
#include <stdarg.h>
#include <stdarg.h>
+__xdata uint8_t ao_gps_new;
__xdata uint8_t ao_gps_mutex;
__pdata uint16_t ao_gps_tick;
__xdata struct ao_telemetry_location ao_gps_data;
__xdata struct ao_telemetry_satellite ao_gps_tracking_data;
__xdata uint8_t ao_gps_mutex;
__pdata uint16_t ao_gps_tick;
__xdata struct ao_telemetry_location ao_gps_data;
__xdata struct ao_telemetry_satellite ao_gps_tracking_data;
+#undef AO_SERIAL_SPEED_UBLOX
+
#ifndef AO_SERIAL_SPEED_UBLOX
#ifndef AO_SERIAL_SPEED_UBLOX
-#define AO_SERIAL_SPEED_UBLOX AO_SERIAL_SPEED_
57
600
+#define AO_SERIAL_SPEED_UBLOX AO_SERIAL_SPEED_
9
600
#endif
#if AO_SERIAL_SPEED_UBLOX == AO_SERIAL_SPEED_57600
#define SERIAL_SPEED_STRING "57600"
#endif
#if AO_SERIAL_SPEED_UBLOX == AO_SERIAL_SPEED_57600
#define SERIAL_SPEED_STRING "57600"
+#define SERIAL_SPEED_CHECKSUM "2d"
#endif
#if AO_SERIAL_SPEED_UBLOX == AO_SERIAL_SPEED_19200
#define SERIAL_SPEED_STRING "19200"
#endif
#if AO_SERIAL_SPEED_UBLOX == AO_SERIAL_SPEED_19200
#define SERIAL_SPEED_STRING "19200"
+#define SERIAL_SPEED_CHECKSUM "23"
#endif
#if AO_SERIAL_SPEED_UBLOX == AO_SERIAL_SPEED_9600
#define SERIAL_SPEED_STRING "9600"
#endif
#if AO_SERIAL_SPEED_UBLOX == AO_SERIAL_SPEED_9600
#define SERIAL_SPEED_STRING "9600"
+#define SERIAL_SPEED_CHECKSUM "16"
#endif
#endif
-static const char ao_gps_set_nmea[] = "\r\n$PUBX,41,1,3,1," SERIAL_SPEED_STRING ",0*2d\r\n";
+static const char ao_gps_set_nmea[] =
+ "\r\n$PUBX,41,1,3,1," SERIAL_SPEED_STRING ",0*" SERIAL_SPEED_CHECKSUM "\r\n";
struct ao_ublox_cksum {
uint8_t a, b;
struct ao_ublox_cksum {
uint8_t a, b;
@@
-696,9
+703,9
@@
ao_gps(void) __reentrant
continue;
switch (class) {
continue;
switch (class) {
- case
0x01
:
+ case
UBLOX_NAV
:
switch (id) {
switch (id) {
- case
0x21
:
+ case
UBLOX_NAV_TIMEUTC
:
ao_mutex_get(&ao_gps_mutex);
ao_gps_tick = ao_time();
ao_mutex_get(&ao_gps_mutex);
ao_gps_tick = ao_time();
@@
-754,8
+761,8
@@
ao_gps(void) __reentrant
}
ao_mutex_put(&ao_gps_mutex);
}
ao_mutex_put(&ao_gps_mutex);
- ao_
wakeup(&ao_gps_data)
;
- ao_wakeup(&ao_gps_
tracking_data
);
+ ao_
gps_new = AO_GPS_NEW_DATA | AO_GPS_NEW_TRACKING
;
+ ao_wakeup(&ao_gps_
new
);
break;
}
break;
break;
}
break;