There is rpm code, but I am not aware of any governor functions in ArduPilot. I have rotor speed sensing with hall-effect sensors on all my heli’s. But I use it on the RC telemetry and not in the ArduPilot code, or for logging.
On my gas heli’s I have two sensors - one for the engine governor and the other for the RC telemetry. I drill a hole in the autorotation gear and put the small magnet in the hole and epoxy it in there. Both sensors use the same magnet.
I found it most useful on the RC telemetry for several reasons:
- On my commercial heli’s I never look at the logs unless there’s a problem. I fly them for a full year sometimes without ever pulling any logs out
- Some of my flights I don’t use a ground station - but I always use the RC radio and have headspeed (and engine temp) no matter if I’m using a ground station or not.
- Most all heli ESC’s have built-in logging and governors these days
- The commercially available governors for piston heli’s are not expensive, and have advanced features like being able to turn it on or off with a switch, and set different governed headspeeds with the flick of a switch.
- The FADEC controllers for turbine engines have their own governor and speed sensing for N1 and N2.
One useful thing headspeed sensing might be used for is automatic autorotation if the engine stops in flight in auto flight mode. But, as I said, the code already exists to read it - what doesn’t exist is any methods to use it.