Remove relaying of maximum altitude through land detector

This commit is contained in:
Matthias Grob
2022-01-05 14:54:59 +01:00
parent 2445fa8b4c
commit bbb04ab4b8
11 changed files with 15 additions and 40 deletions
+6 -12
View File
@@ -770,12 +770,11 @@ MissionBlock::set_vtol_transition_item(struct mission_item_s *item, const uint8_
void
MissionBlock::mission_apply_limitation(mission_item_s &item)
{
/*
* Limit altitude
*/
// Limit altitude
const float maximum_altitude = _navigator->get_lndmc_alt_max();
/* do nothing if altitude max is negative */
if (_navigator->get_land_detected()->alt_max > 0.0f) {
if (maximum_altitude > 0.0f) {
/* absolute altitude */
float altitude_abs = item.altitude_is_relative
@@ -783,17 +782,12 @@ MissionBlock::mission_apply_limitation(mission_item_s &item)
: item.altitude;
/* limit altitude to maximum allowed altitude */
if ((_navigator->get_land_detected()->alt_max + _navigator->get_home_position()->alt) < altitude_abs) {
if ((maximum_altitude + _navigator->get_home_position()->alt) < altitude_abs) {
item.altitude = item.altitude_is_relative ?
_navigator->get_land_detected()->alt_max :
_navigator->get_land_detected()->alt_max + _navigator->get_home_position()->alt;
maximum_altitude :
maximum_altitude + _navigator->get_home_position()->alt;
}
}
/*
* Add other limitations here
*/
}
float
+5 -1
View File
@@ -299,6 +299,7 @@ public:
bool get_takeoff_required() const { return _param_mis_takeoff_req.get(); }
float get_yaw_timeout() const { return _param_mis_yaw_tmt.get(); }
float get_yaw_threshold() const { return math::radians(_param_mis_yaw_err.get()); }
float get_lndmc_alt_max() const { return _param_lndmc_alt_max.get(); }
float get_vtol_back_trans_deceleration() const { return _param_back_trans_dec_mss; }
float get_vtol_reverse_delay() const { return _param_reverse_delay; }
@@ -329,7 +330,10 @@ private:
(ParamFloat<px4::params::MIS_TAKEOFF_ALT>) _param_mis_takeoff_alt,
(ParamBool<px4::params::MIS_TAKEOFF_REQ>) _param_mis_takeoff_req,
(ParamFloat<px4::params::MIS_YAW_TMT>) _param_mis_yaw_tmt,
(ParamFloat<px4::params::MIS_YAW_ERR>) _param_mis_yaw_err
(ParamFloat<px4::params::MIS_YAW_ERR>) _param_mis_yaw_err,
(ParamFloat<px4::params::LNDMC_ALT_MAX>) _param_lndmc_alt_max
)
struct traffic_buffer_s {