Help understanding which pins support BDShot from hwdef.dat

PC9  TIM8_CH4   TIM8  PWM(1)  GPIO(50) BIDIR
PC8  TIM8_CH3   TIM8  PWM(2)  GPIO(51)
PB15 TIM12_CH2  TIM12 PWM(3)  GPIO(52) NODMA
PA8  TIM1_CH1   TIM1  PWM(4)  GPIO(53) BIDIR
PB11 TIM2_CH4   TIM2  PWM(5)  GPIO(54)
PB10 TIM2_CH3   TIM2  PWM(6)  GPIO(55) BIDIR
PB3  TIM2_CH2   TIM2  PWM(7)  GPIO(56) BIDIR
PA15 TIM2_CH1   TIM2  PWM(8)  GPIO(57)

DMA_PRIORITY TIM8* TIM1*

Does this mean BDShot can only be used on S1, S4, S6, S7?

It’s not obvious to me because before I discovered this file I had BDSHOT on S1-4. Of course S3 didn’t work, but I could get telemetry on the rest, including S2.

Truth is I don’t actually know what BIDIR means in this file or if it has anything to do with BDShot. Can’t find any docs on it and I wasn’t able to find in the source code where this file is interpreted either.

The other issue on my mind is that TIM8 and TIM1 are only connected to three pads. I can switch to S5+ on TIM2 but it’s not mentioned in DMA_PRIORITY? I also have no idea what the implications are for BDShot or motor control but I’m wondering if anyone knows if using TIM2 for one or two of my motors will cause problems.

Yes. What Flight Controller is it?

Perhaps you had Dshot on those outputs.

You can likely (FC dependent) use them for all (4) motors if you want using Dshot. But not Bdshot.

Matek F405TE

I think you misunderstand. I had DShot on those outputs, and then attempted to put BDShot on those outputs, with the result that BDShot worked on S1,2 & 4, but not on S3 for the reasons I described above. As a side note (in case it helps anyone who might run into this same problem, I could not connect to ESC #3 using BLHeliSuite and that was a clue that helped me to figure out the cause)

Well I tried it today using S1,S2,S5,S6 and I could see the ESC telemetry for all motors using MAVLink inspector. But I am still not clear on the consequences of using outputs not labeled as BIDIR in the hwdef.dat file or using timers that don’t have DMA priority.

Sorry if it’s not clear, this question is about understanding hwdef.dat and what BIDIR and DMA_PRIORITY do.