git.droids-corp.org
/
fpv.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
8922822
)
gps: fix global position
author
Olivier Matz
<zer0@droids-corp.org>
Tue, 9 Sep 2014 17:07:54 +0000
(19:07 +0200)
committer
Olivier Matz
<zer0@droids-corp.org>
Tue, 9 Sep 2014 17:49:31 +0000
(19:49 +0200)
imuboard/gps_venus.c
patch
|
blob
|
history
diff --git
a/imuboard/gps_venus.c
b/imuboard/gps_venus.c
index
82f6525
..
860a0b9
100644
(file)
--- a/
imuboard/gps_venus.c
+++ b/
imuboard/gps_venus.c
@@
-426,27
+426,28
@@
static int decode_gps_pos(uint8_t *buf, uint16_t len)
if (len != sizeof(*pos))
return -1;
if (len != sizeof(*pos))
return -1;
- if (pos->msg_id != 0xA8)
/* XXX not tested */
+ if (pos->msg_id != 0xA8)
return -1;
return -1;
- gps_pos.gps_week = ntohs(pos->gps_week);
- gps_pos.tow = ntohl(pos->tow);
+ /* fix endianness inside the frame */
+ pos->gps_week = ntohs(pos->gps_week);
+ pos->tow = ntohl(pos->tow);
-
gps_pos.
latitude = ntohl(pos->latitude);
-
gps_pos.
longitude = ntohl(pos->longitude);
-
gps_pos.
altitude = ntohl(pos->altitude);
+
pos->
latitude = ntohl(pos->latitude);
+
pos->
longitude = ntohl(pos->longitude);
+
pos->
altitude = ntohl(pos->altitude);
-
gps_pos.
sea_altitude = ntohl(pos->sea_altitude);
+
pos->
sea_altitude = ntohl(pos->sea_altitude);
-
gps_pos.
gdop = ntohs(pos->gdop);
-
gps_pos.
pdop = ntohs(pos->pdop);
-
gps_pos.
hdop = ntohs(pos->hdop);
-
gps_pos.
vdop = ntohs(pos->vdop);
-
gps_pos.
tdop = ntohs(pos->tdop);
+
pos->
gdop = ntohs(pos->gdop);
+
pos->
pdop = ntohs(pos->pdop);
+
pos->
hdop = ntohs(pos->hdop);
+
pos->
vdop = ntohs(pos->vdop);
+
pos->
tdop = ntohs(pos->tdop);
-
gps_pos.
ecef_vx = ntohl(pos->ecef_vx);
-
gps_pos.
ecef_vy = ntohl(pos->ecef_vy);
-
gps_pos.
ecef_vz = ntohl(pos->ecef_vz);
+
pos->
ecef_vx = ntohl(pos->ecef_vx);
+
pos->
ecef_vy = ntohl(pos->ecef_vy);
+
pos->
ecef_vz = ntohl(pos->ecef_vz);
/* update global structure */
IRQ_LOCK(irq_flags);
/* update global structure */
IRQ_LOCK(irq_flags);