@ -1137,15 +1137,19 @@ static void update_current_flight_mode(void)
@@ -1137,15 +1137,19 @@ static void update_current_flight_mode(void)
// Thanks to Yury MonZon for the altitude limit code!
nav_roll_cd = g.channel_roll.norm_input() * g.roll_limit_cd;
altitude_error_cm = g.channel_pitch.norm_input() * g.pitch_limit_min_cd;
float elevator_input;
elevator_input = g.channel_pitch.norm_input();
if (g.flybywire_elev_reverse) {
elevator_input = -elevator_input;
}
if ((current_loc.alt >= home.alt+g.FBWB_min_altitude_cm) || (g.FBWB_min_altitude_cm == 0)) {
altitude_error_cm = g.channel_pitch.norm_input() * g.pitch_limit_min_cd;
altitude_error_cm = elevator_input * g.pitch_limit_min_cd;
} else {
if (g.channel_pitch.norm_input()<0) {
altitude_error_cm =( (home.alt + g.FBWB_min_altitude_cm) - current_loc.alt) + g.channel_pitch.norm_input() * g.pitch_limit_min_cd;
} else {
altitude_error_cm =( (home.alt + g.FBWB_min_altitude_cm) - current_loc.alt);
altitude_error_cm = (home.alt + g.FBWB_min_altitude_cm) - current_loc.alt;
if (elevator_input < 0) {
altitude_error_cm += elevator_input * g.pitch_limit_min_cd;
}
}
calc_throttle();