@@ -355,31 +355,52 @@ int InternalCombustionEngineControl::print_usage(const char *reason)
355355 PRINT_MODULE_DESCRIPTION (
356356 R"DESCR_STR(
357357### Description
358+
358359The module controls internal combustion engine (ICE) features including:
359- ignition (on/off),throttle and choke level, starter engine delay, and user request.
360- The module publishes [InternalCombustionEngineControl.msg](../msg_docs/InternalCombustionEngineControl.md).
361- The architecture is as shown below.:
362- 
360+ ignition (on/off), throttle and choke level, starter engine delay, and user request.
363361
364362### Enabling
363+
365364This feature is not enabled by default needs to be configured in the
366365build target for your board together with the rpm capture driver:
366+
367+ ```
367368CONFIG_MODULES_INTERNAL_COMBUSTION_ENGINE_CONTROL=y
368369CONFIG_DRIVERS_RPM_CAPTURE=y
370+ ```
369371
370372Additionally, to enable the module:
371- - set [ICE_EN](https://docs.px4.io/main/en/advanced_config/parameter_reference.html#ICE_EN)
372- to true and adjust the other module parameters ICE_ according to your needs.
373- - set [RPM_CAP_ENABLE](https://docs.px4.io/main/en/advanced_config/parameter_reference.html#RPM_CAP_ENABLE) to true.
373+
374+ - Set [ICE_EN](../advanced_config/parameter_reference.md#ICE_EN)
375+ to true and adjust the other `ICE_` module parameters according to your needs.
376+ - Set [RPM_CAP_ENABLE](../advanced_config/parameter_reference.md#RPM_CAP_ENABLE) to true.
377+
378+ The module outputs control signals for ignition, throttle, and choke,
379+ and takes inputs from an RPM sensor.
380+ These must be mapped to AUX outputs/inputs in the [Actuator configuration](../config/actuators.md),
381+ similar to the setup shown below.
382+
383+ 
374384
375385### Implementation
386+
376387The ICE is implemented with a (4) state machine:
377- 
388+
389+ 
390+
378391The state machine:
379- - checks if [Rpm.msg](../msg_docs/Rpm.md) is updated to know if the engine is running
380- - allows for user inputs from
381- - AUX{N}
382- - Arming state in [VehicleStatus.msg(../msg_docs/VehicleStatus.md)
392+
393+ - Checks if [Rpm.msg](../msg_docs/Rpm.md) is updated to know if the engine is running
394+ - Allows for user inputs from:
395+ - AUX{N}
396+ - Arming state in [VehicleStatus.msg](../msg_docs/VehicleStatus.md)
397+
398+ The module publishes [InternalCombustionEngineControl.msg](../msg_docs/InternalCombustionEngineControl.md).
399+
400+ The architecture is as shown below:
401+
402+ 
403+
383404<a id="internal_combustion_engine_control_usage"></a>
384405)DESCR_STR" );
385406
0 commit comments