summaryrefslogtreecommitdiffstats
path: root/app/gps.c
diff options
context:
space:
mode:
Diffstat (limited to 'app/gps.c')
-rw-r--r--app/gps.c53
1 files changed, 28 insertions, 25 deletions
diff --git a/app/gps.c b/app/gps.c
index a8b8099..e87167d 100644
--- a/app/gps.c
+++ b/app/gps.c
@@ -120,25 +120,25 @@ static int ubx_recv_aid_eph (uint8_t *ptr, unsigned len)
ptr += ubx_get_u32 (ptr, &sv);
len -= 4;
- if ((sv<1) ||( sv>32)) return 0;
+ if ((sv < 1) || (sv > 32)) return 0;
+
+ i = sv - 1;
- i=sv-1;
-
ptr += ubx_get_u32 (ptr, &ephemeris[i].how);
len -= 4;
- printf("Received %d bytes of ephemeris for SV%d\r\n",len,(int) sv);
+ printf ("Received %d bytes of ephemeris for SV%d\r\n", len, (int) sv);
- if ((!len) ||( !ephemeris[i].how)) return 0 ;
+ if ((!len) || (!ephemeris[i].how)) return 0 ;
- memcpy(&ephemeris[i].sf1,ptr,32);
- len-=32;
- ptr+=32;
- memcpy(&ephemeris[i].sf2,ptr,32);
- len-=32;
- ptr+=32;
- memcpy(&ephemeris[i].sf3,ptr,32);
+ memcpy (&ephemeris[i].sf1, ptr, 32);
+ len -= 32;
+ ptr += 32;
+ memcpy (&ephemeris[i].sf2, ptr, 32);
+ len -= 32;
+ ptr += 32;
+ memcpy (&ephemeris[i].sf3, ptr, 32);
return 0;
}
@@ -170,9 +170,9 @@ ubx_recv_nav_posllh (uint8_t *ptr, unsigned len)
gps_lon = 1.e-7 * (double) ilon;
- printf ("POS: %.4f %.4f\r\n", gps_lat, gps_lon);
+ printf ("POS: %s %s\r\n", fd1 (gps_lat, 0, 1, 4), fd2 (gps_lon, 0, 1, 4));
- snprintf (gps_pos, sizeof (gps_pos) - 1, "location: %.4f %.4f", gps_lat, gps_lon);
+ snprintf (gps_pos, sizeof (gps_pos) - 1, "location: %s %s", fd1 (gps_lat, 0, 1, 4), fd2 (gps_lon, 0, 1, 4));
return 0;
}
@@ -636,6 +636,7 @@ ubx_recv (uint8_t class, uint8_t id, uint8_t *payload, unsigned len)
}
break;
+
case 0xd:
switch (id) {
case 0x4:
@@ -669,9 +670,10 @@ ubx_recv (uint8_t class, uint8_t id, uint8_t *payload, unsigned len)
case 0x30:
ubx_recv_almanac (payload, len);
break;
- case 0x31:
- ubx_recv_aid_eph(payload,len);
- break;
+
+ case 0x31:
+ ubx_recv_aid_eph (payload, len);
+ break;
case 0x50:
printf ("xfer ack\r\n");
@@ -900,20 +902,21 @@ ubx_send (uint8_t class, uint8_t id, const void *_payload, unsigned len)
void
gps_dispatch (void)
{
-static uint32_t last_eph;
-uint32_t t ;
+ static uint32_t last_eph;
+ uint32_t t ;
ubx_dispatch_search (-1, -1, NULL);
gps_pps_dispatch();
-t=ticks-last_eph;
-if (t>60000) {
- printf("Requesting ephemeris data\r\n");
- gps_dump_eph();
- last_eph=ticks;
-}
+ t = ticks - last_eph;
+
+ if (t > 60000) {
+ printf ("Requesting ephemeris data\r\n");
+ gps_dump_eph();
+ last_eph = ticks;
+ }
}