-
Notifications
You must be signed in to change notification settings - Fork 13.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Add IC engine control module #24055
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Silvan Fuhrer <[email protected]>
Signed-off-by: Silvan Fuhrer <[email protected]>
Signed-off-by: Silvan Fuhrer <[email protected]>
FLASH Analysispx4_fmu-v5x
px4_fmu-v6x
|
const float throttle_in = actuator_motors.control[0]; | ||
|
||
switch (_param_ice_on_source.get()) { | ||
case 0: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add enum
|
||
ICE_RETRY_FAULT: | ||
description: | ||
short: Try to re-start engine if it stops |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the difference between setting this to true
vs setting ICE_STRT_RETRY
to a really large value? (maybe set that -1 makes it retry forever)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is to enable the auto re-start of the engine after a failure is detected in the running state.
ICE_STRT_RETRY is about how many startup tries it will make until declaring a fault.
src/modules/internal_combustion_engine_control/InternalCombustionEngineControl.cpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Silvan Fuhrer <[email protected]>
The RPM based functionality requires #24041
Solved Problem
Adding fuel engine support to PX4, including:
Solution
Adding now module to handle ICE acutators. It gets fed by user inputs (for now manual control) and actuator_motors (TODO: add identifier which actuator_motor instances are fuel engines), and outputs the 4 fuel engine actuators: ignition, throttle, choke, starter motor.
more description tbd
Changelog Entry
For release notes:
Alternatives
Couple of ideas for followup work:
Test coverage
Tested on bench.
Context