mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-30 04:28:30 -04:00
Plane: Parameterize the home altitude reset conditions
This commit is contained in:
parent
e492c733d8
commit
8630037fd7
@ -1176,6 +1176,15 @@ const AP_Param::GroupInfo ParametersG2::var_info[] = {
|
||||
// @User: Advanced
|
||||
AP_GROUPINFO("MANUAL_RCMASK", 10, ParametersG2, manual_rc_mask, 0),
|
||||
|
||||
// @Param: HOME_RESET_ALT
|
||||
// @DisplayName: Home reset altitude threshold
|
||||
// @Description: When the aircraft is within this altitude of the home waypoint, while disarmed it will automatically update the home position. Set to 0 to continously reset it.
|
||||
// @Values: -1:Never reset,0:Always reset
|
||||
// @Range: -1 127
|
||||
// @Units: m
|
||||
// @User: Advanced
|
||||
AP_GROUPINFO("HOME_RESET_ALT", 11, ParametersG2, home_reset_threshold, 0),
|
||||
|
||||
AP_GROUPEND
|
||||
};
|
||||
|
||||
|
@ -541,6 +541,10 @@ public:
|
||||
|
||||
// mask of channels to do manual pass-thru for
|
||||
AP_Int32 manual_rc_mask;
|
||||
|
||||
// home reset altitude threshold
|
||||
AP_Int8 home_reset_threshold;
|
||||
|
||||
};
|
||||
|
||||
extern const AP_Param::Info var_info[];
|
||||
|
@ -126,7 +126,9 @@ void Plane::init_home()
|
||||
*/
|
||||
void Plane::update_home()
|
||||
{
|
||||
if (fabsf(barometer.get_altitude()) > 2) {
|
||||
if ((g2.home_reset_threshold == -1) ||
|
||||
((g2.home_reset_threshold > 0) &&
|
||||
(fabsf(barometer.get_altitude()) > g2.home_reset_threshold))) {
|
||||
// don't auto-update if we have changed barometer altitude
|
||||
// significantly. This allows us to cope with slow baro drift
|
||||
// but not re-do home and the baro if we have changed height
|
||||
|
Loading…
Reference in New Issue
Block a user