This means the motors are generally running dshot1200 (7) except motor 1 which is running motor 1 with PWM in 3D mode (which is not supported). I’m guessing this is not what you want - can you tell me what channels you expect to be running what?
If you only have one motor and its 3d then you can probably just set MOT_PWM_TYPE to 0 and do it all through BLH settings. Note that the type in BLH follows the copter setup.
If I follow the documentation https://ardupilot.org/rover/docs/common-dshot.html, which suggests to set MOT_PWM_TYPE, in combination with the differences in rover/copter for MOT_PWM_TYPE, I get the configuration I had first.
btw …
I also gave BDSot a try. But no success. (Matek H743 and ESC Wraith-32)
After boot the final BLHeli beep is missing. After a while the ESC beeps and the motor is spinning uncontrollable, even if disarmed.
Ok great! I’ll discuss with @rmackay9 what we want to do here as I can’t really see how setting MOT_PWM_TYPE on rover will currently lead to the right outcome.
bdshot - you used the bdshot firmware presumably? Can you post your parameters?
I’m struggling to see how you ended up with your config - the docs say to set MASK and OTYPE - you only set the first one. Can you point me at the bit you mean?
https://ardupilot.org/rover/docs/common-dshot.html
In the screenshot below I understand, that MOT_PWM_TYPE is the main parameter to select DShot.
Optionally I “can” overwride with SERVO_BLH_MASK AND SERVO_BLH_OTYPE … so you are right.
Maybe I set BLH_MASK some time ago, because if I set BLH_MASK = 0 it complains:
“DSHOT needs SERVO_BLH_AUTO or _MASK”
But in MP there is no parameter SERVO_BLH_AUTO (at least not for Rover).
So maybe it is just my problem of understanding 3 parameter which do somehow the same but do not work in some combination and work different in Rover and Copter and were working until rover-4.1.0-beta1
Ok, the lack of auto is the problem here. bdshot will not work without auto and rover does not have that (it should because auto controls other things). I’ll have a think about what the right solution is here.
As I already wrote in the rover 4.1.0-beta-4 discussion …
BDshot is now working with Matek H743. I get the RPM reading in esc1_rpm.
I had to activate DShot for all outputs (S1+S2) of the timer group, even if only one ESC is connected.
Yeah unless you lower BRD_PWM_COUNT you must mark all channels in a timer group with the right output otherwise MOT_PWM_TYPE will take effect on the channels you have not marked
Somehow this should get into the documentation. Several posts now where people have said they have to set _BLH_MASK and _BLH_OTYPE when it’s generally not required.