DShot on IOMCU - it's here!

I am using 4.4.3 at the moment

Only works in master

Yup. Downloaded master

image

Not sure if this helps but in addition to the info as per Mission Planner.

BLheli32 suite also only picks up the motors when they are connect to servo 9 to 12

BLheli passthrough is not supported on IOMCU

4.4.3 is not master - should be 4.5

Hi Andy, thanks for the feedback.

So I went one step back for checking purposes. I installed the V4.5.0-dev quad firmware to check VTOL motors bdshot functionality. I connected the ESCs on AUX (FMU pins 1 to 4, i.e. SERVO9_FUNCTION to SERVO12_FUNCTION).
Then I was trying to reverse 2 motor rotations with the SERVO_BLH_RVMASK and didn’t work. I then tried to reverse also the other two and didn’t work either (i.e. none of the 4 motors was able to change direction of rotation). So it seems that the functionality might be broken on AUX?

What SERVO_BLH* settings were you using and do you get the same result using the new firmware? I did fix some bugs in this area on the new firmware.

You need SERVO_DSHOT_ESC=1 in order to use this functionality and typically you would use something like

SERVO_BLH_OTYPE=6
SERVO_BLH_MASK=3840
SERVO_BLH_RVMASK=3840

I use the 4.5dev edition that you have uploaded under V4 folder in Dropbox, 5 days ago. These are the settings:
SERVO_BLH_BDMASK,3840
SERVO_BLH_MASK,3840
SERVO_BLH_OTYPE,5
SERVO_BLH_RVMASK,3840
SERVO_DSHOT_ESC,1
SERVO_DSHOT_RATE,3

As you can see SERVO_BLH_RVMASK=3840 but I also tried to reverse separately any of the 4 motors and din’t work. Every time after the change/write of the SERVO_BLH_RVMASK parameter I do cut-off the power to both autopilot and ESCs to do a ‘full reset’. As mentioned before with the same BLH parameters, the same autopilot board, with same BDshot ESCs, connected to the same channels (9-12) and the official 4.4.3 Copter firmware I was able to change the motor direction by selecting the desired motors in the SERVO_BLH_RVMASK bitmask.

Ok, thanks - this is a good lead - I will see if I can reproduce as the code to make this work is all there

1 Like

I can reproduce this - investigating

Ok, found the bug - this isn’t actually a bug in this PR but a pre-existing bug with reversing in general on boards with IOMCU.

I have put up a v5 in the usual place for testing

2 Likes

Morning again Andy.

Uploaded 3.5 as suggested and no dshot on main channels 1-4. FC is Durandal



Did you set BRD_IO_DSHOT? The F100 won’t do dshot 600 - you need to use dshot 300 or 150

OK on 4.3 i set to D600 and it flies with that?

I dont have that parameter by the way

That is not 4.3 that is 4.4.3

No, set it to BD300

OK will do that thanks amil

Dshot support is only in 4.5 for PWM1-8

Yup i tried that. Didn;t work but oet me try again. Question.

Does running dshot over the main output have any advantages over running it on the aux channels?

image

Thanks a lot Andy, I will download the latest and move forward with tests!