Support for bi-directional dshot requires some careful DMA and timer rearrangement which currently I have only done for KakuteF7Mini and OmnibusF4Pro. I’m keen to expand this support to more boards and work through issues as I find them so am looking for some brave souls to alpha test for me.
The changes are at the very heart of motor control so not suitable for using on anything of any value and really not suitable to be used on anything of any size - best used on small crashable quads. If you fall into that category and would like to help please post here with what board you need a build for and I will see what I can do. Please note you need to already have configured your quad for dshot with telemetry, have BLHeli 32.7 installed on your ESCs and have configured and tuned the dynamic harmonic notch. If you don’t have these pre-requisites then there is little point in testing.
Bi-directional dshot can be enabled on flight controllers without IOMCU by setting
And look for debug messages using mavproxy. The rpm should not be 65535 and the error rate should be close to zero. You will not get rpm values above zero unless you have motors connected and they are turning.
UPDATE: I have now done a decent set of test flights on a KakuteF7Mini 3" Quad with good results. Control was good. No problems observed. Safe enough for further testing now.
Hi, I’m excited to get a chance to test it. Have a Matek 405 ctr fc.
Installed on a wooden frame where I easily can replace stuff
Update: I just realized I didn’t read all through, have BlheliS on this but can change and first setup with blheli 32.
Ok Matek 405 is quite easy. You will lose RX DMA on USART1, but looks like there a bunch of UARTS on this board without DMA. Do you need me to build for you? I have committed the required changes.
@ThePara Pixhawk4 (fmuv5) is quite hard because the IOMCU requires DMA. I have made the changes but it means you can only have dshot (incl bi-dir dshot) on PWM 1-4. There may be more optimal arrangements with further playing, but that would require some detailed investigation. Do you need a build?
Ok. I have a Pixhawk1-1M here, the pin assignments are not identical to PH4 but close enough to be almost the same exercise to enable. It’s not currently working for me - the trace on a Saleae is wrong - so I would expect the PH4 also not to work. I’m also not quite sure what values the mask should take for a board with an IOMCU so will need to investigate further.
For the Matek do I need to change motor output ports?
Have not yet got the Blheli32, testing with a Blheli_s with bidirectional dshot, verified in Betaflight
Does it have to be the BLheli32 version of bidirectional dshot? Had a first test yesterday with the blheli-s version but didn’t work. Will continue testing tonight checking the signals.