Which ESCs are you using? Our Basic ESC is bi-directional, but many other ESCs aren’t (drone propellers generally only need to push air in one direction). You’ll need to determine if your ESCs can be re-programmed to be bi-directional, and if not you’ll need different ESCs.
The vehicle needs to receive a heartbeat at ~1Hz. This comment provides an example of how to set up a loop using periodic_event
s to determine when a heartbeat should be sent.
Alternatively, both the comments I quoted from in my original comment link to this full program example, which sends a regular heartbeat in a separate thread. If you’re not already experienced with threads then it’s recommended to use the periodic_event
approach, as covered in the Notes section at the bottom.
As per the second quote in my first comment though, heartbeats aren’t the only failsafe:
You’ll need to make sure any motion commands are sent more frequently than your vehicle’s FS_PILOT_TIMEOUT
and RC_OVERRIDE_TIME
parameters (you may need to send the same command several times), or change those parameters to disable the pilot input failsafe and stop rc overrides from timing out.
No failsafe will be triggered, because PWM is one-directional so the Pixhawk has no way of knowing which motors are actually connected - it just sends control signals based on whatever frame you’ve told it you’re using.