A further clarification (
):
The flight controller has a generic PWM driver, and while the autopilot typically uses that to create servo-style signals[1], it is not fundamentally limited to doing so.
The camera mount controls (e.g. Cam Tilt and Cam Pan) are based on SERVOn_MIN/MAX parameter ranges (which can be “force” set to pulse durations that represent desirable duty cycles given a known output frequency - e.g. 0-5000µs pulse-durations for the standard 200Hz PWM frequency gives 0-100% PWM duty-cycle). I have just verified that this works as expected on the Navigator flight controller, using an oscilloscope to probe the relevant pin.
I assumed the lights were the same, but because they’ve been implemented as a pseudo RC passthrough the relevant limit parameters are instead the RCn_MIN/MAX ones.
Note that the frequency is shared across multiple PWM outputs, so changing that is ill-advised without considering the carry-on effects (e.g. if a common servo-style signal requires pulses with durations up to 2000µs then the frequency should be kept below 500Hz, and preferably lower for some extra head-room), but since the durations are controllable per pin it’s fine to change those as relevant.
These are 1-2ms pulses, but the frequency is not critical. A 20ms period would be 50Hz, which is the default for the Pixhawk AUX pins, but the Navigator and the Pixhawk’s MAIN pins use 200Hz by default (5ms period). ↩︎