Skip to content

Commit 328d871

Browse files
authored
Merge branch 'main' into pr-global_pos_relaxed
2 parents eea9764 + 4ea7de4 commit 328d871

File tree

1 file changed

+33
-12
lines changed

1 file changed

+33
-12
lines changed

src/modules/internal_combustion_engine_control/InternalCombustionEngineControl.cpp

+33-12
Original file line numberDiff line numberDiff line change
@@ -355,31 +355,52 @@ int InternalCombustionEngineControl::print_usage(const char *reason)
355355
PRINT_MODULE_DESCRIPTION(
356356
R"DESCR_STR(
357357
### Description
358+
358359
The 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-
![Architecture](../../assets/diagrams/ice_control_diagram.png)
360+
ignition (on/off), throttle and choke level, starter engine delay, and user request.
363361
364362
### Enabling
363+
365364
This feature is not enabled by default needs to be configured in the
366365
build target for your board together with the rpm capture driver:
366+
367+
```
367368
CONFIG_MODULES_INTERNAL_COMBUSTION_ENGINE_CONTROL=y
368369
CONFIG_DRIVERS_RPM_CAPTURE=y
370+
```
369371
370372
Additionally, 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+
![Actuator setup for ICE](../../assets/hardware/ice/ice_actuator_setup.png)
374384
375385
### Implementation
386+
376387
The ICE is implemented with a (4) state machine:
377-
![Architecture](../../assets/diagrams/ice_control_state_machine.png)
388+
389+
![Architecture](../../assets/hardware/ice/ice_control_state_machine.png)
390+
378391
The 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+
![Architecture](../../assets/hardware/ice/ice_control_diagram.png)
403+
383404
<a id="internal_combustion_engine_control_usage"></a>
384405
)DESCR_STR");
385406

0 commit comments

Comments
 (0)