diff --git a/src/modules/internal_combustion_engine_control/InternalCombustionEngineControl.cpp b/src/modules/internal_combustion_engine_control/InternalCombustionEngineControl.cpp index f6d575943e..0320870e08 100644 --- a/src/modules/internal_combustion_engine_control/InternalCombustionEngineControl.cpp +++ b/src/modules/internal_combustion_engine_control/InternalCombustionEngineControl.cpp @@ -134,6 +134,12 @@ void InternalCombustionEngineControl::Run() } } break; + + case ICESource::VtolStatus: { + _user_request = (vehicle_status.vehicle_type == vehicle_status_s::VEHICLE_TYPE_FIXED_WING + || vehicle_status.in_transition_to_fw) ? UserOnOffRequest::On : UserOnOffRequest::Off; + } + break; } switch (_state) { diff --git a/src/modules/internal_combustion_engine_control/InternalCombustionEngineControl.hpp b/src/modules/internal_combustion_engine_control/InternalCombustionEngineControl.hpp index ad9feafec6..4b1cfedeb3 100644 --- a/src/modules/internal_combustion_engine_control/InternalCombustionEngineControl.hpp +++ b/src/modules/internal_combustion_engine_control/InternalCombustionEngineControl.hpp @@ -108,6 +108,7 @@ private: ArmingState, Aux1, Aux2, + VtolStatus, }; hrt_abstime _state_start_time{0}; diff --git a/src/modules/internal_combustion_engine_control/module.yaml b/src/modules/internal_combustion_engine_control/module.yaml index e0e9a69c57..4e3ca311cd 100644 --- a/src/modules/internal_combustion_engine_control/module.yaml +++ b/src/modules/internal_combustion_engine_control/module.yaml @@ -19,6 +19,7 @@ parameters: 0: On arming - disarming 1: Aux1 2: Aux2 + 3: On Vtol Transitions ICE_CHOKE_ST_DUR: description: