Bi-directional dshot - testers wanted

With SERVO_DSHOT_RATE=0,1,2 DShot300 only 3 motors
[EDIT: other DShot* OK]
with SERVO_DSHOT_RATE=3 DShot300 OK

Other relevant parameter:

SERVO_BLH_AUTO,1
SERVO_BLH_BDMASK,15

INS_HNTCH_MODE,3
INS_HNTCH_OPTS,2
INS_HNTCH_REF,1

If I set SERVO_BLH_BDMASK=0 or INS_HNTCH_MODE=1 no problems with all modes all rates

Iā€™ve just tried all of these with the parameters I posted and my setup with no issues at all

Hi,
Iā€™m trying to get bi-dshot running on the Pixracer but no RPM is showing up.
Here is what I set up:
dev 4.1
looprate: 1000
DShot: 300


Is there anything wrong with that?
Thanks

You need to set BDMASK rather than MASK

I tested many parameters different in your and my params files, I donā€™t find something repeatable.

Some parameter seem related to the problem but not always cure it.

LOG_BACKEND_TYPE 1 in my 4 in your (are you not using SD?)
INS_LOG_BAT_MASK 1 in my 0 in your
SERVO_BLH_TRATE 100 in my 0 in your

When I change this parameters from my values to your values sometimes DShot300 works but not always.

Now I am a little bit confused :slight_smile:

I guess all it shows is that there is a subtle timing issue

doesnā€™t make any difference
could I test the ESCs seperatly one by one?
Or wouldnā€™t that work anyway?

How are you determining there is no rpm? Try setting SERVO_BLH_DEBUG = 2 and see if you get rpm data when you run a motor test

I displayed escX_rpm in MP and there was 0 even when armed and spinning

Yeah I don;t think that will currently pick it up

Ok, so interesting - I can reproduce this on my 3" - there is definitely a weird interplay between the pulse rate and whether things work. Once the motor has armed its perfectly fine, its just getting it to arm that is sometimes hard. Iā€™m beginning to think this is the BeastH7 problem

@anbello BLHeli32.8 came out this morning - Iā€™ve tried it on my test setup and all seems good. One of the fixes is:

  • Improved reliability of signal detection

So its possible it might help.

Thanks @andyp1per I will test it afternoon.

Sorry, same problems with DShot300 also with BLHeli32.8.

I forgot if I said you that with SERVO_DSHOT_RATE=3 DShot300 works, both with BLHeli32.7 and BLHeli32.8.

ok, I see the RPM in the log :+1:

is it correct to say:

  1. bi-dir DShot gives you the basis for RPM notch filtering
  2. esc telemetry with extra wire gives you additional values like current, voltage and temperature?

Yes thatā€™s right. Bi-dir also gives you a faster update rate than regular ESC telemetry which can reduce noise.

what would you recommend for bdshot for SERVO_BLH_TRATE ?

Ok, can you try again? I have not been able to recover BDShot300, but everything else should be more reliable now I hope.

Tested only on bench, it seem all OK apart for BDShot300.

One time I see this on GCS Message:
[MAV 001:1] PreArm: Internal errors 0x200000 l:145 sfs_recursi
[MAV 001:1] on

After reboot OK.

I will do more test as soon as I have more time.