DShot reverse inverted

Hi Everyone.
i experiencing so issues with setting up DShot on my cube orange plus , the last time i had Dshot working is on rover 4.4.0 release, today i updated a new cube orange plus to Rover V4.5.5-beta. When I arm the system, the motors start turning slowly without any throttle input also When I provide a small amount of reverse throttle input, the motors unexpectedly go to maximum reverse speed.
iv tried different esc’s setup to 3d mode but get the same results

log file

it sounds like this issue that was fixed, do you get the same issue on 4.4?

Hi,

Yes, it is the same issue with the added problem of slow turning when armed.

I have a Cube Purple here with Rover 4.3.0-beta13, and there are no issues. I loaded 4.4.0 on Cube Orange, and it’s all good. However, when I loaded Rover 4.5.0 on Cube Orange, the issue arises.

1 Like

Hi all I found what’s been going on is SERVO_BLH_3DMASK isn’t setting the output for 3d mode and it has to do with this commit https://github.com/ArduPilot/ardupilot/commit/c6c78a9c32eff3991033233521616da569436e5e

and this one gave me the idea
https://github.com/ArduPilot/ardupilot/commit/ea76c0bd0194b14b6e223392db101bc07baa4f0e
i noticed that the chan_offset was removed and then added back in, so i added “chan_offset” back in the other spots it was removed from and compiled and tested it, it fixed my issues on the FMU channels but I guess it would make others problems.

@rmackay9 can you look at this?

Any news on this? Have exactly the same problem on a boat (ArduRover V4.5.7).

Please can you try on 4.6? There was a significant bug fix related to this in that release.

Sure, I can try on my Pixhawk 5x.
But where do I get Rover 4.6 from? Build the master branch?

@andyp1per I tried the current master V4.6.0-dev (3764f377).
Now the reverse isn’t inverted, because I don’t have reverse at all.

  • ESC is set to 3D
  • 3DMASK is set (need rcout 9 and 10)

Expected:

  • Throttle middle: Motors off
  • Throttle down: Motors backwards
  • Throttle up: Motors forward

Given:

  • Throttle down: motor off
  • Throttle up: motor full forward
  • Steering turns the motors as expected (differential thrust)

Or did I something wrong in my params?
param_missionplanner.param (16.0 KB)

To be more graphical:
plot_2024-11-04 15-32-24_0
plot_2024-11-04 15-32-24_1
plot_2024-11-04 15-32-24_2

Did you set 3D in BLHeli configurator? The way you have this setup you should not set it through the configurator and allow ardupilot to do it.

Yes, the ESCs (BLHeli_S) are in 3D mode. Will try normal tomorrow. But what’s the point of 3D mode then?

If you set SERVO_DSHOT_ESC (as you have) then AP will send the dshot command to put into 3D mode based on SERVO_BLH_3DMASK

Thank you for the explonation :slight_smile:
But shouldn’t range the rcout (with throttle only) from 1000 to 2000 and (and not from 1500 to 2000)?
The only way to get back to 1000 (for one side) is to fully throttle backwards and steer completely to left or right.

What flight controller?

Flight controller is a