altos: Force u-blox to 9600 baud for now
authorKeith Packard <keithp@keithp.com>
Thu, 29 Aug 2013 04:04:18 +0000 (22:04 -0600)
committerKeith Packard <keithp@keithp.com>
Thu, 29 Aug 2013 04:04:18 +0000 (22:04 -0600)
The Max-7 parts just aren't happy switching baud rates, managing only
about half the time. Someday I'll figure out why, but until then, make
things work by just leaving the chips at 9600 baud

Signed-off-by: Keith Packard <keithp@keithp.com>
src/drivers/ao_gps_ublox.c

index a11ca3f731657f7351b3759ac85bdd09d7a4f32b..1bc2a68fdb6a66616bdecc1d8a6bd041a8f55897 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;