diff --git a/ArduCopter/mode.cpp b/ArduCopter/mode.cpp index b0dc674e426..7fda97e79cf 100644 --- a/ArduCopter/mode.cpp +++ b/ArduCopter/mode.cpp @@ -989,12 +989,12 @@ float Mode::get_pilot_desired_yaw_rate_rads() const // pass-through functions to reduce code churn on conversion; // these are candidates for moving into the Mode base // class. -float Mode::get_pilot_desired_climb_rate_cms() +float Mode::get_pilot_desired_climb_rate_cms() const { return copter.get_pilot_desired_climb_rate_cms(); } -float Mode::get_non_takeoff_throttle() +float Mode::get_non_takeoff_throttle() const { return copter.get_non_takeoff_throttle(); } @@ -1013,22 +1013,22 @@ void Mode::set_land_complete(bool b) return copter.set_land_complete(b); } -GCS_Copter &Mode::gcs() +GCS_Copter &Mode::gcs() const { return copter.gcs(); } -float Mode::get_pilot_speed_up_ms() +float Mode::get_pilot_speed_up_ms() const { return g.pilot_speed_up * 0.01; } -float Mode::get_pilot_speed_dn_ms() +float Mode::get_pilot_speed_dn_ms() const { return copter.get_pilot_speed_dn() * 0.01; } -float Mode::get_pilot_accel_mss() +float Mode::get_pilot_accel_U_mss() const { return g.pilot_accel_z * 0.01; } diff --git a/ArduCopter/mode.h b/ArduCopter/mode.h index 94b6c3a5049..b4b613ef289 100644 --- a/ArduCopter/mode.h +++ b/ArduCopter/mode.h @@ -393,15 +393,15 @@ public: // pass-through functions to reduce code churn on conversion; // these are candidates for moving into the Mode base // class. - float get_pilot_desired_climb_rate_cms(); - float get_non_takeoff_throttle(void); - void update_simple_mode(void); + float get_pilot_desired_climb_rate_cms() const; + float get_non_takeoff_throttle() const; + void update_simple_mode(); bool set_mode(Mode::Number mode, ModeReason reason); void set_land_complete(bool b); - GCS_Copter &gcs(); - float get_pilot_speed_up_ms(void); - float get_pilot_speed_dn_ms(void); - float get_pilot_accel_mss(void); + GCS_Copter &gcs() const; + float get_pilot_speed_up_ms() const; + float get_pilot_speed_dn_ms() const; + float get_pilot_accel_U_mss() const; // end pass-through functions }; diff --git a/ArduCopter/mode_althold.cpp b/ArduCopter/mode_althold.cpp index 567b14556ab..81fcc43d684 100644 --- a/ArduCopter/mode_althold.cpp +++ b/ArduCopter/mode_althold.cpp @@ -15,8 +15,8 @@ bool ModeAltHold::init(bool ignore_checks) } // set vertical speed and acceleration limits - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); - pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); + pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); return true; } @@ -26,7 +26,7 @@ bool ModeAltHold::init(bool ignore_checks) void ModeAltHold::run() { // set vertical speed and acceleration limits - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); // apply SIMPLE mode transform to pilot inputs update_simple_mode(); diff --git a/ArduCopter/mode_autotune.cpp b/ArduCopter/mode_autotune.cpp index c25f48f1a60..c9e0a0d4b9d 100644 --- a/ArduCopter/mode_autotune.cpp +++ b/ArduCopter/mode_autotune.cpp @@ -82,8 +82,8 @@ void AutoTune::get_pilot_desired_rp_yrate_rad(float &des_roll_rad, float &des_pi void AutoTune::init_z_limits() { // set vertical speed and acceleration limits - copter.pos_control->set_max_speed_accel_U_m(-copter.flightmode->get_pilot_speed_dn_ms(), copter.flightmode->get_pilot_speed_up_ms(), copter.flightmode->get_pilot_accel_mss()); - copter.pos_control->set_correction_speed_accel_U_m(-copter.flightmode->get_pilot_speed_dn_ms(), copter.flightmode->get_pilot_speed_up_ms(), copter.flightmode->get_pilot_accel_mss()); + copter.pos_control->set_max_speed_accel_U_m(-copter.flightmode->get_pilot_speed_dn_ms(), copter.flightmode->get_pilot_speed_up_ms(), copter.flightmode->get_pilot_accel_U_mss()); + copter.pos_control->set_correction_speed_accel_U_m(-copter.flightmode->get_pilot_speed_dn_ms(), copter.flightmode->get_pilot_speed_up_ms(), copter.flightmode->get_pilot_accel_U_mss()); } #if HAL_LOGGING_ENABLED diff --git a/ArduCopter/mode_circle.cpp b/ArduCopter/mode_circle.cpp index d3e5d055b67..3ad6dd2990c 100644 --- a/ArduCopter/mode_circle.cpp +++ b/ArduCopter/mode_circle.cpp @@ -15,8 +15,8 @@ bool ModeCircle::init(bool ignore_checks) // set speed and acceleration limits pos_control->set_max_speed_accel_NE_m(wp_nav->get_default_speed_NE_ms(), wp_nav->get_wp_acceleration_mss()); pos_control->set_correction_speed_accel_NE_m(wp_nav->get_default_speed_NE_ms(), wp_nav->get_wp_acceleration_mss()); - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); - pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); + pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); // initialise circle controller including setting the circle center based on vehicle speed copter.circle_nav->init(); @@ -48,7 +48,7 @@ void ModeCircle::run() { // set speed and acceleration limits pos_control->set_max_speed_accel_NE_m(wp_nav->get_default_speed_NE_ms(), wp_nav->get_wp_acceleration_mss()); - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); // Check for any change in params and update in real time copter.circle_nav->check_param_change(); diff --git a/ArduCopter/mode_flowhold.cpp b/ArduCopter/mode_flowhold.cpp index c33c9682cb9..66da2687439 100644 --- a/ArduCopter/mode_flowhold.cpp +++ b/ArduCopter/mode_flowhold.cpp @@ -89,8 +89,8 @@ bool ModeFlowHold::init(bool ignore_checks) } // set vertical speed and acceleration limits - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); - pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); + pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); // initialise the vertical position controller if (!copter.pos_control->is_active_U()) { @@ -233,7 +233,7 @@ void ModeFlowHold::run() update_height_estimate(); // set vertical speed and acceleration limits - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); // apply SIMPLE mode transform to pilot inputs update_simple_mode(); diff --git a/ArduCopter/mode_loiter.cpp b/ArduCopter/mode_loiter.cpp index 4df2dbd37b7..d50c20d52d2 100644 --- a/ArduCopter/mode_loiter.cpp +++ b/ArduCopter/mode_loiter.cpp @@ -27,8 +27,8 @@ bool ModeLoiter::init(bool ignore_checks) } // set vertical speed and acceleration limits - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); - pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); + pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); #if AC_PRECLAND_ENABLED _precision_loiter_active = false; @@ -84,7 +84,7 @@ void ModeLoiter::run() float target_climb_rate_cms = 0.0f; // set vertical speed and acceleration limits - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); // apply SIMPLE mode transform to pilot inputs update_simple_mode(); diff --git a/ArduCopter/mode_poshold.cpp b/ArduCopter/mode_poshold.cpp index 4dadff8064e..07a2df0fa0f 100644 --- a/ArduCopter/mode_poshold.cpp +++ b/ArduCopter/mode_poshold.cpp @@ -25,8 +25,8 @@ bool ModePosHold::init(bool ignore_checks) { // set vertical speed and acceleration limits - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); - pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); + pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); // initialise the vertical position controller if (!pos_control->is_active_U()) { @@ -75,7 +75,7 @@ void ModePosHold::run() } // set vertical speed and acceleration limits - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); loiter_nav->clear_pilot_desired_acceleration(); // apply SIMPLE mode transform to pilot inputs diff --git a/ArduCopter/mode_sport.cpp b/ArduCopter/mode_sport.cpp index 50e900de4f3..8f79bedc91b 100644 --- a/ArduCopter/mode_sport.cpp +++ b/ArduCopter/mode_sport.cpp @@ -10,8 +10,8 @@ bool ModeSport::init(bool ignore_checks) { // set vertical speed and acceleration limits - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); - pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); + pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); // initialise the vertical position controller if (!pos_control->is_active_U()) { @@ -26,7 +26,7 @@ bool ModeSport::init(bool ignore_checks) void ModeSport::run() { // set vertical speed and acceleration limits - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); // apply SIMPLE mode transform update_simple_mode(); diff --git a/ArduCopter/mode_zigzag.cpp b/ArduCopter/mode_zigzag.cpp index 4a19b7148ad..7233c574cc6 100644 --- a/ArduCopter/mode_zigzag.cpp +++ b/ArduCopter/mode_zigzag.cpp @@ -80,8 +80,8 @@ bool ModeZigZag::init(bool ignore_checks) loiter_nav->init_target(); // set vertical speed and acceleration limits - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); - pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); + pos_control->set_correction_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); // initialise the vertical position controller if (!pos_control->is_active_U()) { @@ -111,7 +111,7 @@ void ModeZigZag::exit() void ModeZigZag::run() { // set vertical speed and acceleration limits - pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_mss()); + pos_control->set_max_speed_accel_U_m(-get_pilot_speed_dn_ms(), get_pilot_speed_up_ms(), get_pilot_accel_U_mss()); // set the direction and the total number of lines zigzag_direction = (Direction)constrain_int16(_direction, 0, 3);