InternalCombustionEngineControl - doc corrections (#24359)

* InternalCombustionEngineControl - doc corrections

* Update InternalCombustionEngineControl.cpp
This commit is contained in:
Hamish Willee
2025-02-21 08:34:08 +11:00
committed by GitHub
parent 24da87db12
commit 4ea7de449a
@@ -355,31 +355,52 @@ int InternalCombustionEngineControl::print_usage(const char *reason)
PRINT_MODULE_DESCRIPTION( PRINT_MODULE_DESCRIPTION(
R"DESCR_STR( R"DESCR_STR(
### Description ### Description
The module controls internal combustion engine (ICE) features including: The module controls internal combustion engine (ICE) features including:
ignition (on/off),throttle and choke level, starter engine delay, and user request. ignition (on/off), throttle and choke level, starter engine delay, and user request.
The module publishes [InternalCombustionEngineControl.msg](../msg_docs/InternalCombustionEngineControl.md).
The architecture is as shown below.:
![Architecture](../../assets/diagrams/ice_control_diagram.png)
### Enabling ### Enabling
This feature is not enabled by default needs to be configured in the This feature is not enabled by default needs to be configured in the
build target for your board together with the rpm capture driver: build target for your board together with the rpm capture driver:
```
CONFIG_MODULES_INTERNAL_COMBUSTION_ENGINE_CONTROL=y CONFIG_MODULES_INTERNAL_COMBUSTION_ENGINE_CONTROL=y
CONFIG_DRIVERS_RPM_CAPTURE=y CONFIG_DRIVERS_RPM_CAPTURE=y
```
Additionally, to enable the module: Additionally, to enable the module:
- set [ICE_EN](https://docs.px4.io/main/en/advanced_config/parameter_reference.html#ICE_EN)
to true and adjust the other module parameters ICE_ according to your needs. - Set [ICE_EN](../advanced_config/parameter_reference.md#ICE_EN)
- set [RPM_CAP_ENABLE](https://docs.px4.io/main/en/advanced_config/parameter_reference.html#RPM_CAP_ENABLE) to true. to true and adjust the other `ICE_` module parameters according to your needs.
- Set [RPM_CAP_ENABLE](../advanced_config/parameter_reference.md#RPM_CAP_ENABLE) to true.
The module outputs control signals for ignition, throttle, and choke,
and takes inputs from an RPM sensor.
These must be mapped to AUX outputs/inputs in the [Actuator configuration](../config/actuators.md),
similar to the setup shown below.
![Actuator setup for ICE](../../assets/hardware/ice/ice_actuator_setup.png)
### Implementation ### Implementation
The ICE is implemented with a (4) state machine: The ICE is implemented with a (4) state machine:
![Architecture](../../assets/diagrams/ice_control_state_machine.png)
![Architecture](../../assets/hardware/ice/ice_control_state_machine.png)
The state machine: The state machine:
- checks if [Rpm.msg](../msg_docs/Rpm.md) is updated to know if the engine is running
- allows for user inputs from - Checks if [Rpm.msg](../msg_docs/Rpm.md) is updated to know if the engine is running
- AUX{N} - Allows for user inputs from:
- Arming state in [VehicleStatus.msg(../msg_docs/VehicleStatus.md) - AUX{N}
- Arming state in [VehicleStatus.msg](../msg_docs/VehicleStatus.md)
The module publishes [InternalCombustionEngineControl.msg](../msg_docs/InternalCombustionEngineControl.md).
The architecture is as shown below:
![Architecture](../../assets/hardware/ice/ice_control_diagram.png)
<a id="internal_combustion_engine_control_usage"></a> <a id="internal_combustion_engine_control_usage"></a>
)DESCR_STR"); )DESCR_STR");