diff --git a/src/modules/commander/Commander.cpp b/src/modules/commander/Commander.cpp index dc23100cf1..835f70ec42 100644 --- a/src/modules/commander/Commander.cpp +++ b/src/modules/commander/Commander.cpp @@ -685,7 +685,7 @@ transition_result_t Commander::disarm(arm_disarm_reason_t calling_reason, bool f { if (!forced) { const bool landed = (_vehicle_land_detected.landed || _vehicle_land_detected.maybe_landed - || is_ground_rover(_vehicle_status)); + || is_ground_vehicle(_vehicle_status)); const bool mc_manual_thrust_mode = _vehicle_status.vehicle_type == vehicle_status_s::VEHICLE_TYPE_ROTARY_WING && _vehicle_control_mode.flag_control_manual_enabled && !_vehicle_control_mode.flag_control_climb_rate_enabled; diff --git a/src/modules/commander/commander_helper.cpp b/src/modules/commander/commander_helper.cpp index 9b41d74ca8..c864fd89d8 100644 --- a/src/modules/commander/commander_helper.cpp +++ b/src/modules/commander/commander_helper.cpp @@ -123,6 +123,16 @@ bool is_ground_rover(const vehicle_status_s ¤t_status) return current_status.system_type == VEHICLE_TYPE_GROUND_ROVER; } +bool is_boat(const vehicle_status_s ¤t_status) +{ + return current_status.system_type == VEHICLE_TYPE_BOAT; +} + +bool is_ground_vehicle(const vehicle_status_s ¤t_status) +{ + return is_ground_rover(current_status) || is_boat(current_status); +} + // End time for currently blinking LED message, 0 if no blink message static hrt_abstime blink_msg_end = 0; static int fd_leds{-1}; diff --git a/src/modules/commander/commander_helper.h b/src/modules/commander/commander_helper.h index 5d4a8df2b9..a7dd82edde 100644 --- a/src/modules/commander/commander_helper.h +++ b/src/modules/commander/commander_helper.h @@ -56,6 +56,8 @@ bool is_vtol(const vehicle_status_s ¤t_status); bool is_vtol_tailsitter(const vehicle_status_s ¤t_status); bool is_fixed_wing(const vehicle_status_s ¤t_status); bool is_ground_rover(const vehicle_status_s ¤t_status); +bool is_boat(const vehicle_status_s ¤t_status); +bool is_ground_vehicle(const vehicle_status_s ¤t_status); int buzzer_init(void); void buzzer_deinit(void);