diff --git a/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c b/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c index dc247acc1f..e94ac41b18 100644 --- a/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c +++ b/sw/airborne/firmwares/rotorcraft/guidance/guidance_h.c @@ -139,32 +139,35 @@ void guidance_h_mode_changed(uint8_t new_mode) { stabilization_attitude_reset_care_free_heading(); case GUIDANCE_H_MODE_FORWARD: case GUIDANCE_H_MODE_ATTITUDE: +#if NO_ATTITUDE_RESET_ON_MODE_CHANGE /* reset attitude stabilization if previous mode was not using it */ if (guidance_h_mode == GUIDANCE_H_MODE_KILL || guidance_h_mode == GUIDANCE_H_MODE_RATE || - guidance_h_mode == GUIDANCE_H_MODE_RC_DIRECT) { + guidance_h_mode == GUIDANCE_H_MODE_RC_DIRECT) +#endif stabilization_attitude_enter(); - } break; case GUIDANCE_H_MODE_HOVER: guidance_h_hover_enter(); +#if NO_ATTITUDE_RESET_ON_MODE_CHANGE /* reset attitude stabilization if previous mode was not using it */ if (guidance_h_mode == GUIDANCE_H_MODE_KILL || guidance_h_mode == GUIDANCE_H_MODE_RATE || - guidance_h_mode == GUIDANCE_H_MODE_RC_DIRECT) { + guidance_h_mode == GUIDANCE_H_MODE_RC_DIRECT) stabilization_attitude_enter(); - } +#endif break; case GUIDANCE_H_MODE_NAV: guidance_h_nav_enter(); +#if NO_ATTITUDE_RESET_ON_MODE_CHANGE /* reset attitude stabilization if previous mode was not using it */ if (guidance_h_mode == GUIDANCE_H_MODE_KILL || guidance_h_mode == GUIDANCE_H_MODE_RATE || - guidance_h_mode == GUIDANCE_H_MODE_RC_DIRECT) { + guidance_h_mode == GUIDANCE_H_MODE_RC_DIRECT) stabilization_attitude_enter(); - } +#endif break; default: