Which pins of the Kakute H743 Wing support BDshot?

I am having confusion regarding which pins of the Kakute H743 wing support BDshot. The cause of confusion comes from these 2 sources:

One is the official ardupilot wiki, where they say “Outputs 1-8 support BiDirDshot” and the other is the GitHub documentation which opened up automatically when I created a new template of My quad in Methodic Configurator, which says “Outputs 5-8 support BiDirDshot”.

The question is, what’s the truth?

The hwdef file, which is typically the definitive source says, 1-8
Timers 1,4 &5

Motors

PA8 TIM1_CH1 TIM1 PWM(1) GPIO(50) BIDIR
PE11 TIM1_CH2 TIM1 PWM(2) GPIO(51)
PE13 TIM1_CH3 TIM1 PWM(3) GPIO(52) BIDIR
PE14 TIM1_CH4 TIM1 PWM(4) GPIO(53)
PD14 TIM4_CH3 TIM4 PWM(5) GPIO(54) BIDIR
PD15 TIM4_CH4 TIM4 PWM(6) GPIO(55)
PA0 TIM5_CH1 TIM5 PWM(7) GPIO(56) BIDIR
PA1 TIM5_CH2 TIM5 PWM(8) GPIO(57)
PE5 TIM15_CH1 TIM15 PWM(9) GPIO(58)
PE6 TIM15_CH2 TIM15 PWM(10) GPIO(59)
PB5 TIM3_CH2 TIM3 PWM(11) GPIO(60) NODMA
PB0 TIM3_CH3 TIM3 PWM(12) GPIO(61) NODMA
PB1 TIM3_CH4 TIM3 PWM(13) GPIO(62) NODMA
PA15 TIM2_CH1 TIM2 PWM(14) GPIO(63) NODMA

Aa, :sweat_smile:

Since I am a beginner only, I would also like to ask, What’s an “hwdef file” ?

And from where do we get it?

What do we mean by “Timers 1,4,5” ?

And why is “BIDIR” not written in front of GPIO 51, 53, 55, 57 ?

Hardware Definition file.
You find them here Hwdef file
But, what they show will likely be meaningless to you.
Timer groups have to share the same protocol so there is no need to indicate bidirectional next to every channel in the group.

What would I do? Configure chan 1-4 for Bdshot then look at the banner message in Mission Planner (messages screen) after connecting where is says RCOUT and list protocol for all channels. Then see if there is ESC rpm data in the log.

But, there does seem to be a discrepancy between the README (board description) and Hwdef.dat for this board.

2 Likes

You get it from the same directory as the README.md file that AMC automatically opened for you.

1 Like

Oh yes really! :exploding_head:

I visited there and found many Strange alienish technical terms related to each and every Sensor/function of this board !

Copy that. Will exactly do this:

Oh yes exactly:

Somewhere I see 4 Bidirectional supported. Somewhere I see 8 supported. Somewhere 1-4 or 5-8 or 1-8 etc etc.

But now it’s clear :100::

But I am just thinking, why are these groups called “Timers” ? Means what relation do they hold with “Time” ?

D-shot is a protocol that uses time to encode information.

1 Like

This is a characteristic/feature of the processor. As @amilcarlucas suggests timers are used to correctly produce the protocol output which requires a proper sequence of timed events. Perhaps a poor description.
They are defined here for the H743 on page 2 but all you need to know is what’s available for Bdshot.
H743 specs
And the README and Hwdef do not agree.

2 Likes

Oo…

I spent much time in scrolling through many complex pages of the H743’s Loong datasheet.

I read that it has many types of “Timers”, advanced, general purpose, high-res, 16/32 bit etc…

As for the readme and hwdef file, I have proposed changes on GitHub by correcting the number “5-8” to “1-8” =>

Yes, a timer does exactly what it sounds like: keep timing for various functions or generate various signals. For example, the PWM outputs you get are all the output from a timer

2 Likes