Is there a way to operate an IC ignition without a physical RC switch? I use a GCS with no RC all the time on electric motors, but I can’t seem to find a way to get the IC starter channel to work without a radio switch.
I don’t see any use of these Mavlink commands in Mission Planner. Have you used an IC engine without RC? Any other help is appreciated.
no, i’m not actually using an ICE on any of my setups. however, i do use mav commands and the SITL test environment quite frequently, so i’m quite positive this allows to achieve what you’re looking for.
MP shows a limited set of common command options, the engine control subset is not included. however, MP allows to set / toggle servo outputs directly using the “SERVO / RELAY” tab. so if you’re only looking for a way to have your starter run, you might just toggle the respective pwm output from there:
MAVProxy supports the full command set including engine control commands and setting RC inputs and servo outputs directly.
all this can be tested in SITL simulation to quite some extent, including ardupilot ICE support with its pretty extensive set of individual starter-, ignition- and throttle-conditions:
maybe this is a place to start from, actual ICE users will likely be able to add more practical advice.
The problem is that once a channel is assigned as the ignition it is no longer controllable with the servo toggles in MP. I tried narrowing the RCin min and max but if the channel its linked to is the ignition then it is overridden and shows an input of 0. I cannot switch away from MP at this point. I wish there was a way to have a virtual RC switch in MP.
I second the observation that DO_ENGINE_CONTROL doesn’t appear in MP, nor does it appear in the Mission Commands documentation. However, as @vierfuffzig has mentioned, you can find the engine mavlink commands in MAVProxy, and the detais of the command are in the MAVlink documentation
I have also been dealing with IC engines without an RC, and always use MAVProxy.
Since you mentioned that you can’t move away from MP, one workaround would be to edit the waypoint file directly in a text editor before uploading it into MP (e.g. adding a row and manually filling in the DO_ENGINE_CONTROL details). Can’t vouch that this will work; best to test it in SITL first.
Do note that in order to use this command, you need to configure two of your FC Aux channels, one for starter and one for ignition. Use the SERVOn params; the ignition channel should be set to 67 while the starter channel should be 69.
my scope might be limited by testing in simulation only, but following the ICE wiki docs https://ardupilot.org/plane/docs/common-ice.html#internal-combustion-engines-ice i did set a starter rc switch, defined starter and ignition outputs with the respective ranges, which now allows me to start, run and stop the engine with correct responses on set starter and ignition outputs just by setting the ICE starter switch to low, mid or high using MAVProxy and typing:
rc <ICE_START_CHAN> <desired PWM>
i do think that adding basic RC input handling to MP (like there is for SERVO / RELAY output) would likely add a lot of convenience without having to use additional apps for certain functions.
MAVproxy however is a pretty comprehensive tool that might be worth looking at too.
Thanks for the help. At least I know that I’m not missing something obvious now.