aboutsummaryrefslogtreecommitdiff
path: root/apps/commander/commander.c
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-02-18 16:46:05 +0100
committerLorenz Meier <lm@inf.ethz.ch>2013-02-18 16:46:05 +0100
commit663ca58063a281d23dbc92a6fbd19011c3fbde41 (patch)
tree5a2e9f58a8f41db94ef221e12acead09c9828233 /apps/commander/commander.c
parent104d5aa3654545b354f25750d3980181da8f6a0b (diff)
parent520a2b417410bed7db6f08a3a69f3bcccc55910b (diff)
downloadpx4-firmware-663ca58063a281d23dbc92a6fbd19011c3fbde41.tar.gz
px4-firmware-663ca58063a281d23dbc92a6fbd19011c3fbde41.tar.bz2
px4-firmware-663ca58063a281d23dbc92a6fbd19011c3fbde41.zip
Merge branch 'master' of github.com:PX4/Firmware
Diffstat (limited to 'apps/commander/commander.c')
-rw-r--r--apps/commander/commander.c26
1 files changed, 13 insertions, 13 deletions
diff --git a/apps/commander/commander.c b/apps/commander/commander.c
index 333dcca3e..3996572cf 100644
--- a/apps/commander/commander.c
+++ b/apps/commander/commander.c
@@ -1465,9 +1465,6 @@ int commander_thread_main(int argc, char *argv[])
} else {
current_status.flag_external_manual_override_ok = true;
}
-
- } else {
- warnx("ARMED, rejecting sys type change\n");
}
}
@@ -1684,12 +1681,13 @@ int commander_thread_main(int argc, char *argv[])
orb_copy(ORB_ID(vehicle_gps_position), gps_sub, &gps_position);
/* check for first, long-term and valid GPS lock -> set home position */
- float hdop_m = gps_position.eph / 100.0f;
- float vdop_m = gps_position.epv / 100.0f;
+ float hdop_m = gps_position.eph_m;
+ float vdop_m = gps_position.epv_m;
/* check if gps fix is ok */
// XXX magic number
- float dop_threshold_m = 2.0f;
+ float hdop_threshold_m = 4.0f;
+ float vdop_threshold_m = 8.0f;
/*
* If horizontal dilution of precision (hdop / eph)
@@ -1700,10 +1698,12 @@ int commander_thread_main(int argc, char *argv[])
* the system is currently not armed, set home
* position to the current position.
*/
- if (gps_position.fix_type == GPS_FIX_TYPE_3D && (hdop_m < dop_threshold_m)
- && (vdop_m < dop_threshold_m)
+
+ if (gps_position.fix_type == GPS_FIX_TYPE_3D
+ && (hdop_m < hdop_threshold_m)
+ && (vdop_m < vdop_threshold_m)
&& !home_position_set
- && (hrt_absolute_time() - gps_position.timestamp < 2000000)
+ && (hrt_absolute_time() - gps_position.timestamp_position < 2000000)
&& !current_status.flag_system_armed) {
warnx("setting home position");
@@ -1712,11 +1712,11 @@ int commander_thread_main(int argc, char *argv[])
home.lon = gps_position.lon;
home.alt = gps_position.alt;
- home.eph = gps_position.eph;
- home.epv = gps_position.epv;
+ home.eph_m = gps_position.eph_m;
+ home.epv_m = gps_position.epv_m;
- home.s_variance = gps_position.s_variance;
- home.p_variance = gps_position.p_variance;
+ home.s_variance_m_s = gps_position.s_variance_m_s;
+ home.p_variance_m = gps_position.p_variance_m;
/* announce new home position */
if (home_pub > 0) {