altos: Use #define values for ublox packet types
[fw/altos] / src / drivers / ao_gps_ublox.c
index a11ca3f731657f7351b3759ac85bdd09d7a4f32b..e91683485a6c5a36166e04d715e816feea66f9ed 100644 (file)
@@ -30,21 +30,27 @@ __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
-#define AO_SERIAL_SPEED_UBLOX AO_SERIAL_SPEED_57600
+#define AO_SERIAL_SPEED_UBLOX AO_SERIAL_SPEED_9600
 #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"
+#define SERIAL_SPEED_CHECKSUM  "23"
 #endif
 #if AO_SERIAL_SPEED_UBLOX == AO_SERIAL_SPEED_9600
 #define SERIAL_SPEED_STRING    "9600"
+#define SERIAL_SPEED_CHECKSUM  "16"
 #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;
@@ -696,9 +702,9 @@ ao_gps(void) __reentrant
                        continue;
 
                switch (class) {
-               case 0x01:
+               case UBLOX_NAV:
                        switch (id) {
-                       case 0x21:
+                       case UBLOX_NAV_TIMEUTC:
                                ao_mutex_get(&ao_gps_mutex);
                                ao_gps_tick = ao_time();