Bi-directional dshot support

Yes, Dhot600 works, 1200 is funky.

Yeah I have noticed it is quite noisy - perhaps what you would expect at that rate. Probably quite dependent on the physical setup/FC etc. This was the kind of issue at lower rates on H7 that was fixed by using a lower GPIO speed- maybe F7 is the opposite, who knows :slight_smile:

Yea. No problem with Dshot600, perfectly happy to use that :grinning:

@andyp1per I did 4 flights yesterday, all of them were successfull! The bd-Dshot worked well, however, there are some spikes in the rpm measurements (see image below). I want to set up the dynamic notch filter using the rpm data but I’m afraid that these spikes could break something.

My CubeOrange was running Copter-4.1-beta1 code on a quadcopter frame.

1 Like

Some spikes are to be expected, these will be removed by the filter code - but this has changed substantially in beta2 so would be good to try again.

Just updated my CubeOrange to Copter-4.1-beta2. I used the same parameter config as with Copter-4.1-beta1. OTYPE: Dshot600, BDMASK: 3840

I bench-tested it and a motor spool up while disarmed! a random motor goes max throttle around 1-2min after boot up while disarmed. While the motor was spinning it made a grinding noise as if it was out of sync. Like this, I think beta1 code was doing better than beta2, at least with my quad setup.

Can you post you parameters? I have a CubeOrange I can try. Which motor was a problem?

Every time it was a random motor, but just one. Here’s a screenshot of my BLH params. MOT_PWM_TYPE was set to Dshto600 too.

Please send the full parameter file. What do you have MOT_PWM_TYPE set to?

You should have

MOT_PWM_TYPE = 6
SERVO_BLH_OTYPE = 0

Here it is,
2021-May-12-Copter-4.1.param (17.3 KB)

Thanks - I’ll try this tomorrow. What ESCs do you have and what BLHeli32 version?

Im using a Lumenier BLHeli_32 32bit 35A 4-in-1 ESC running BLHeli_32 v32.8. I set the SERVO_BLH_OTYPE to 0 now but didn’t solve the problem. It was working fine with Copter-4.1-beta1

beta2 is not building - did you build or download? If you downloaded you need to do it again.

I built it because I have a little userhook code in it as well. But this shouldn’t affect the dshot whatsoever.

I can reproduce this but may not get to the fix until after the weekend

1 Like

Can you try:

1 Like

Hi @andyp1per getting a motor stutter using Bdshot on a custom h7 with an hglrc 30amp 4in1 in motor test tab, it stutters maybe twice in 10 seconds, changed to straight dshot did the test again and stutter goes away. I’ll see if I can get some logs but I’m still building it.
Dshot 600

Malc

Can you try with the above PR?

Yeah of course I’ll do it tomorrow after work.

If your FC doesn’t have an IOMCU then its unlikely to make any difference, but worth eliminating. Is this a board that worked well before? Someone else was using hglrc and having problems.