I have a problem trying to control Odrive 3.6 (0.5.1-dev) from a Pixhawk ardupilot.
As soon as the AP is armed, axis 0 goes into error (see bellow).
This happens only if both servo signal wires are connected (GPIO 3 and 4, configured for PWM).
If only one wire is connected, the respective motor runs as it should (it works for axis0 as well as for axis1). It doesn’t matter which servo wire is connected to which GPIO, as long as it’s only one, that axis works just fine.
Servo signals from AP are good, no noise, 50Hz stable - I used this device with other ESCs and no problem.
It’s not a ground loop issue, as it happens even if Odrive is powered from a different source (with a dedicated signal GND wire from AP to Odrive)
If I replace the AP with an Arduino (2 servo outputs), the Odrive behaves normally, no issues.
I’ve checked everything and now I’m out of options.
dump_errors(odrv0) output is bellow.
Why is this happening?
In : dump_errors(odrv0) axis0 axis: Error(s): AXIS_ERROR_MOTOR_DISARMED motor: Error(s): MOTOR_ERROR_CONTROL_DEADLINE_MISSED fet_thermistor: no error motor_thermistor: no error encoder: no error controller: no error axis1 axis: no error motor: no error fet_thermistor: no error motor_thermistor: no error encoder: no error controller: no error