Hello.
Running 4.7 locally compiled version of ardusub on a Kakute FC I was trying to use Dshoot to control some modified FPV drone ESC with AM32 firmware and the beaviour of the motors doesn’t match what is represented on the servo output on the MP.
When the servo values apear as 1500 everything is stopped and when moving to 1900 they ramp up nicely but as soon as then go under 1500 the motors go into full power and reducing until reaching 1100.
I have set the SERVO_BLH_3DMASK, the SERVOx_FUNCTION and the MOT_PWM_TYPE parameter but is there anything else I have to change?
From the symptoms you’re describing I’d expect that there’s either something wrong with ArduPilot’s DShot driver’s reversible motor type functionality, or there could be a problem with how your ESC firmware tries to handle the relevant commands, but both of those seem like problems others would likely have run into and raised before.
That said, I have no actual experience with DShot, and imagine that’s likely true for much of the community here, so you may get more insightful responses from the broader ArduPilot forum, and/or the AM32 Discord server
Hello Eliot.
I think I found the culprit. For some reason the SERVO_BLH_3DMASK wasn’t passed to the dshot module in the source code so it was sending the value as a regular PWM servo. I hard coded the mask in there and everything seems to be working as it should now. Don’t really know if it is a bug or if there was some kind of reason that lead to this.
Thanks for your help.