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.
hello! I don’t really remember what the exact solution was but I changed the source in order for the dshoot to work. I think it was because on dshot the reversing of the motors is diferent. From 1500 to 2000 you have forward from 0 to 100% but for reverse you have 1000 to 1500 as 0 to 100% while with PWM it is the other way arround.
Thanks I’m trying to configure (blheli and am32) the esc I have with serial connect, do you remember exactly which lines the source code is in, or did they fix it in beta?
Dual-channel (3D) settings are not applied without selecting the ESC type(Like am32 or other bheli names), and similarly, applying them only to the aux channels requires a lot of trial and error. I also tried the main pins, but they are not allowed as IO outputs. When I tried to modify this part, the bootloader froze.
So,I’ll briefly focus on the configuration(esc’s) , but esc communication isn’t possible via Pixhawk (im tested b-cube,organgecube,sitl) and an additional MCU. Once I’m done, I might release a markdown and a few useful patches. Thanks again, the thread you started was inspiring.