ICE: small cosmetic changes and make message definition clearer

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
This commit is contained in:
Silvan Fuhrer
2025-05-19 13:23:01 +02:00
parent 99f974e82e
commit ed15258abb
2 changed files with 9 additions and 10 deletions

View File

@@ -1,8 +1,8 @@
uint64 timestamp # time since system start (microseconds)
bool ignition_on # activate/deactivate ignition (Spark Plug)
float32 throttle_control # [0,1] - Motor should idle with 0. Includes slew rate if enabled.
float32 choke_control # [0,1] - 1 fully closes the air inlet.
float32 starter_engine_control # [0,1] - control value for electric starter motor.
bool ignition_on # activate/deactivate ignition (spark plug)
float32 throttle_control # setpoint for throttle actuator, with slew rate if enabled, idles with 0 [norm] [@range 0,1]
float32 choke_control # setpoint for choke actuator, 1: fully closed [norm] [@range 0,1]
float32 starter_engine_control # setpoint for (electric) starter motor [norm] [@range 0,1]
uint8 user_request # user intent for the ICE being on/off

View File

@@ -217,7 +217,6 @@ void InternalCombustionEngineControl::Run()
case State::Fault: {
// do nothing
if (user_request == UserOnOffRequest::Off) {
_state = State::Stopped;
_starting_retry_cycle = 0;
@@ -355,7 +354,7 @@ int InternalCombustionEngineControl::print_usage(const char *reason)
PRINT_MODULE_DESCRIPTION(
R"DESCR_STR(
### Description
The module controls internal combustion engine (ICE) features including:
ignition (on/off), throttle and choke level, starter engine delay, and user request.
@@ -389,18 +388,18 @@ The ICE is implemented with a (4) state machine:
![Architecture](../../assets/hardware/ice/ice_control_state_machine.png)
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:
- AUX{N}
- Manual control AUX
- 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>
)DESCR_STR");