Bi-directional dshot support

Latest build fix any errors for bsdhot - 0% for all outputs. But from log i’m see high jumps -

I understand this is not true - bug?

What version of BLHeli32 are you using?

Current - 32.8.
Need 32.9?

No 32.8 should be fine

Is anyone successfully using Bluejay firmware on BLheliS ESCs with bdir? Would it be showing ESC RPM in mission planner when doing a motor test if it’s working properly?

I tested this, but you need rc1 or later. Should show in MP but you need to be using mavlink 2

Maybe I’m missing something in the params. I’m on 4.2 RC2. Mind taking a look to see if I’m missing something in the params?
small_bird_test_set_1.param (17.5 KB)

You need to set SERVO_BLH_BDMASK

1 Like

Is the original pixhawk capable of running bdshot if I hacked away and made a hwdef and file for it. Or is it not capable of dshot. I have an older quad that I just updated to bluejay 0.16 and was hoping to use rpm for notch or is it not worth the trouble, or is it fmuv3 dshot looks like fmuv3 is cube black. notch filters are not dependent on having bdshot and I instead could use throttle based notch filters on this quad, correct?

Is the original pixhawk capable of running bdshot if I hacked away and made a hwdef and file for it.

Yes, there is already a hwdef in the codebase (Pixhawk1-1M-bdshot)

notch filters are not dependent on having bdshot and I instead could use throttle based notch filters on this quad, correct?

Correct

I tried looking for them in the custom builder and all options in MP cannot find that one anywhere would I have to build that on my own?

Someone needs to add it to the board list

Bi-directional dshot is not working for 6-channels on the original Pixhawk. Neither is passthrough for any of the channels. I can get it to work fine on my Cube Orange but on my Pixhawk 2.4.8 I see this:
image

I don’t think that will work.

PE14 TIM1_CH4 TIM1 PWM(1) GPIO(50) # one of these is require by SPI4
PE13 TIM1_CH3 TIM1 PWM(2) GPIO(51) BIDIR
PE11 TIM1_CH2 TIM1 PWM(3) GPIO(52) BIDIR
PE9 TIM1_CH1 TIM1 PWM(4) GPIO(53)
PD13 TIM4_CH2 TIM4 PWM(5) GPIO(54) NODMA
PD14 TIM4_CH3 TIM4 PWM(6) GPIO(55) NODMA

BTW-I have yet to see one of those 2.4.8 Pixhawk’s with 1mb of flash. The correct firmware is Pixhawk1 not Pixhawk1-1M. The above is for the Pixhawk1-1M likely the wrong firmware for that FC.

You’re saying my FC does not have 1MB flash memory? How do I confirm that?

I used Pixhawk1-1M-bdshot as found here.

No 2.4.8 does as far as I know. The only Pixhawk with 1mb flash (I have one) were produced well before the 2.4.8’s hit the street. The correct firmware is Pixkawk1 which will reflect the 2mb flash the FC has. I don’t know why there is not a BD target for it. I retired the few of those I had as old and tired.

Only four channels supported

Hi @andyp1per ,

can you please explain the reason why

> You need one DMA channel per timer pair

and why this? is it following a SW support?

> You can’t use complementary timers with bdshot

Thanks!

It’s a limitation of the MCU and the way that we have implemented this.

Hi @andyp1per ,

Thanks for the answer!
Is this MCU limitation mentioned in the datasheet? I couldn’t find…