Bi-directional dshot - testers wanted

Yeah, pixracer is going to be my Christmas project. I just need to get a couple more littlebees.

If you turn on debug do you get any kind of output?

With SERVO_BLH_DEBUG=1 and SERVO_BLH_TEST=1

[MAV 001:1] ESC: Running test on channel 0
[MAV 001:1] ESC: BL_ConnectEx 0/4 at 0
[MAV 001:1] Initialising ArduPilot
[MAV 001:1] ESC: BL_ReadBuf 8 -> 9
[MAV 001:1] ESC: bad ACK1 0x01
[MAV 001:1] ESC: BL_ConnectEx 0/4 at 0
[MAV 001:1] ESC: BL_ReadBuf 8 -> 9
[MAV 001:1] ESC: bad ACK1 0x01
[MAV 001:1] ESC: BL_ConnectEx 0/4 at 0
[MAV 001:1] ESC: BL_ReadBuf 8 -> 9
[MAV 001:1] ESC: bad ACK1 0x01
[MAV 001:1] ESC: BL_ConnectEx 0/4 at 0
[MAV 001:1] ESC: BL_ReadBuf 8 -> 9
[MAV 001:1] ESC: bad ACK1 0x01
[MAV 001:1] ESC: BL_ConnectEx 0/4 at 0
[MAV 001:1] ESC: BL_ReadBuf 8 -> 9
[MAV 001:1] ESC: bad ACK1 0x01
[MAV 001:1] ESC: Test FAILED

There is also an old issue on this:

Ok, I am getting one of the beast controllers which has BLHeli_S so I may be able to look at this in due time

1 Like

Turns out Pixracer was easy and loses nothing - I have uploaded a build.

ESC RPM will always be a better reference on small aircraft and is much lower in CPU cost.

Gave it a try. This was on a quad I was flying earlier today. BLheli_S ESCā€™s updated with the JMav firmware. With your new firmware on the same Dshot300 protocol it was flying on previously the motors were rotating slowly back and forth un-armed (no safety switch on the craft). So I flashed back to 4.1-Dev and itā€™s running OK on Dshot300 again.

Ok thatā€™s not good - will need some more investigation. Do you get the same effect if you donā€™t have BDMASK set?

No. it seems to behave normally in Motor Test and from the Transmitter then. I can toggle that off and on and itā€™s the cause. No props on so I can safely test whatever you have :grinning:

Thanks as always Andy! Iā€™d love a build for the Pixracer Pro.

Do you think there will be many benefits of bi-directional vs. regular telem? I see possible jitter reduction in RPM being one, other than that I donā€™t know enough about it.

@vosair Andy already explained the benefits on this thread, just scroll up.

1 Like

I tested bidir dshot with my Blheli_S ESC with firmware 16.73 from here (previously I used 16.77) and it works OK, so I think this is the version to use because of the incompatibilities in later version reported on betaflight site as you said.

So for a larger copter, a telem update rate of more than 100hz wouldnā€™t do much Iā€™d imagine?

I suspect not, but who knows - noise in general makes control less precise, so youā€™ll get something. The switch from 50Hz update rate to 200Hz with slew was pretty startling, so Iā€™m expecting some improvement, but not as significant.

1 Like

Andy, Can you take look at Matek H743 boards to see if they lose any functionality with bidir-dshot?

1 Like

Iā€™m getting one this week I hope, so will be able to take a look. The H7 DMA allocation is much more flexible so much easier to get something reasonable that works.

1 Like

Dave, I wired up one of the ESCs I have to my Pixracer and attached a logic analyzer and it all worked perfectly - looked good in the trace and git ESC telemetry no problem. So its not me it you :slight_smile:
All I can think is maybe you have incompatible ESC firmware or an incompatible ESC. For BLHeli32 it needs to be v32.7 for BLHeli_S the custom one 16.73. I have uploaded the exact firmware I used to test, so just in case I messed up with the compile please give it another go.

I think this uses the Pixracer firmware? In which case try the one I uploaded above.

1 Like

OK Andy, thanks for that confirmation. Iā€™ll play around with the _s firmware a bit more but Itā€™s time to replace these ESCā€™s anyway. Holiday break project as you mentioned!

Edit: So these ESCā€™s (Spedix ES30HV) will not flash >16.7 so thatā€™s that. Will be back after replacing them.

Have you tried to flash your ESC with the hex choosen from this link?

Yes. The highest Rev that will flash is 16.71. Anything and it errors out in the Configurator.