aboutsummaryrefslogtreecommitdiff
path: root/src/modules/position_estimator_inav/position_estimator_inav_main.c
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2014-01-24 00:06:10 +0100
committerAnton Babushkin <anton.babushkin@me.com>2014-01-24 00:06:10 +0100
commit58792c5ca6e42bc251dd3c92b0e79217ff5d5403 (patch)
treeea46289f1159857c26ea40f71674a3bbb06cec8e /src/modules/position_estimator_inav/position_estimator_inav_main.c
parentb3d98e4a19662af44432a0436a1b5de7fb9649c9 (diff)
downloadpx4-firmware-58792c5ca6e42bc251dd3c92b0e79217ff5d5403.tar.gz
px4-firmware-58792c5ca6e42bc251dd3c92b0e79217ff5d5403.tar.bz2
px4-firmware-58792c5ca6e42bc251dd3c92b0e79217ff5d5403.zip
Use double for lat/lon in vehicle_global_position topic, use filed names lat, lon, alt, vel_n, vel_e, vel_d for global positions
Diffstat (limited to 'src/modules/position_estimator_inav/position_estimator_inav_main.c')
-rw-r--r--src/modules/position_estimator_inav/position_estimator_inav_main.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/modules/position_estimator_inav/position_estimator_inav_main.c b/src/modules/position_estimator_inav/position_estimator_inav_main.c
index 02fa6a8f2..af04bb0bc 100644
--- a/src/modules/position_estimator_inav/position_estimator_inav_main.c
+++ b/src/modules/position_estimator_inav/position_estimator_inav_main.c
@@ -840,19 +840,15 @@ int position_estimator_inav_thread_main(int argc, char *argv[])
if (local_pos.xy_global) {
double est_lat, est_lon;
map_projection_reproject(local_pos.x, local_pos.y, &est_lat, &est_lon);
- global_pos.lat = (int32_t)(est_lat * 1e7d);
- global_pos.lon = (int32_t)(est_lon * 1e7d);
+ global_pos.lat = est_lat;
+ global_pos.lon = est_lon;
global_pos.time_gps_usec = gps.time_gps_usec;
}
/* set valid values even if position is not valid */
if (local_pos.v_xy_valid) {
- global_pos.vx = local_pos.vx;
- global_pos.vy = local_pos.vy;
- }
-
- if (local_pos.z_valid) {
- global_pos.relative_alt = -local_pos.z;
+ global_pos.vel_n = local_pos.vx;
+ global_pos.vel_e = local_pos.vy;
}
if (local_pos.z_global) {
@@ -860,7 +856,7 @@ int position_estimator_inav_thread_main(int argc, char *argv[])
}
if (local_pos.v_z_valid) {
- global_pos.vz = local_pos.vz;
+ global_pos.vel_d = local_pos.vz;
}
global_pos.yaw = local_pos.yaw;