In a follow-up to the dshot for IOMCU support that I did (DShot on IOMCU - it's here!) it is also possible to support bi-directional dshot on IOMCU - and I finally have this working!
However, again, I need some help testing. If you are feeling somewhat brave and want to try it out, here is what you do. The firmware supports bdshot on 4 channels - PWM1-4. The reasons why it can’t be 8 are long and boring. To use it load up the firmware of your choice - here are builds for Pixhawk6X and Pixhawk6C on copter and plane: Dropbox - iomcu-bdshot - Simplify your life - and then set: BRD_IO_DSHOT=1 You should then find your dshot configuration magically starts working. dshot commands - including tones and reversing - should also work. You can also use SERVO_DSHOT_ESC and SERVO_DSHOT_RATE to control these. To enabled bdshot set SERVO_BLH_BDMASK to 15 for the first four channels and make sure SERVO_BLH_TRATE is set to something reasonable.
I have done some testing of bdshot 600 on a 5" quad using this version and it works without issue. If you have EDT enabled ESCs you can enable EDT via SERVO_DSHOT_ESC and you will get additional telemetry from the ESCs.
I’m looking to use this on my EDU450 build with a Cube Orange. If I set DSHOT600, the PWM type reverts to RCOut: PWM:1-14. Seems I can only use DSHOT300 (RCOut: DS300:1-4 PWM:5-14).
Additionally, the RVMASK parameter seems inop on the IOMCU. I can confirm the firmware on the ESCs allowed reversing when it was previously connected to the AUX outputs.
I’m using a fresh copy of 4.5 beta2 - is the IOMCU BDSHOT and BlHeli32 command feature set missing from that build? I thought it was recent enough.
Or is the Cube Orange not supported for this? As far as I can see, it has the correct IOMCU processor.