Bi-directional dshot - testers wanted

@andyp1per Could it also work with OmnibusNanoV6?

I will try to build your pr-bidir-dshot for OmnibusNanoV6 and I will report.

Which parameter I need to set? Only SERVO_BLH_BDMASK = 15 ?

Sorry, it doesnā€™t build. Iā€™ll try and fix this this week.

1 Like

I built your pr-bidir-dshot branch for OmnibusNanoV6 adding HAL_WITH_BIDIR_DSHOT 1 to hwdef.dat.
Once flashed on board I see ESC Telemetry on MAVLink Inspector but with all values 0.
I have BLheli_S ESC flashed as posted by @Patrik_Emilsson

I will wait you have the time to try and fix, as you said, before doing other test.

I have pushed up a fixed hwdef - its called OmnibusNanoV6-bdshot. I have no way of testing and there is a lot of DMA sharing going on so you might well have issues - but let me know.

This could be built for Plane just as well right? I have a Omni F4 Nano in one and it would be cool to experiment. I would have to replace the ESC but no problem there.

Yes the hwdef should work for plane as well

Sorry Andy where can I find the hwdef OmnibusNanoV6-bdshot ?
I donā€™t see it in the pr-bidir-dshot branch

Sorry, just noticed my push failed - fixed now.

1 Like

I set SERVO_BLH_BDMASK=15 and SERVO_BLH_DEBUG=2 but I donā€™t see anything on mavproxy console. Am I forgetting something?

No that should be it. Maybe the logging is messed up.

Can you try it by setting SERVO_BLH_AUTO to 1.

Thanks, I already have SERVO_BLH_AUTO=1

OK, I didnā€™t see anything because I had set the LOG_BACKEND_TYPE=0 because at boot I saw:
APM: AP_Logger: IO thread died

Now with LOG_BACKEND_TYPE=2

ARMED
Arming checks disabled
ESC[1] RPM=0 e=0.0 t=28715
ESC[0] RPM=0 e=0.0 t=28719
ESC[3] RPM=0 e=0.0 t=28723
ESC[2] RPM=0 e=0.0 t=28728
ESC[1] RPM=0 e=0.0 t=28819
ESC[0] RPM=0 e=0.0 t=28822
ESC[3] RPM=0 e=0.0 t=28826
ESC[2] RPM=0 e=0.0 t=28830
ESC[1] RPM=0 e=0.0 t=28921
ESC[0] RPM=0 e=0.0 t=28925
ESC[3] RPM=0 e=0.0 t=28929
ESC[2] RPM=0 e=0.0 t=28933
ESC[1] RPM=0 e=0.0 t=29024
ESC[0] RPM=0 e=0.0 t=29028
ESC[3] RPM=0 e=0.0 t=29032
ESC[2] RPM=0 e=0.0 t=29036
ESC[1] RPM=0 e=0.0 t=29128
ESC[0] RPM=0 e=0.0 t=29131
ESC[3] RPM=0 e=0.0 t=29135
ESC[2] RPM=0 e=0.0 t=29140
ESC[1] RPM=0 e=0.0 t=29229
ESC[0] RPM=0 e=0.0 t=29233
ESC[3] RPM=0 e=0.0 t=29237
ESC[2] RPM=0 e=0.0 t=29241
ESC[1] RPM=0 e=0.0 t=29332
ESC[0] RPM=0 e=0.0 t=29336
ESC[3] RPM=0 e=0.0 t=29340
ESC[2] RPM=0 e=0.0 t=29344
ESC[1] RPM=0 e=0.0 t=29433
ESC[0] RPM=0 e=0.0 t=29437
ESC[3] RPM=0 e=0.0 t=29442
ESC[2] RPM=0 e=0.0 t=29446
ESC[1] RPM=0 e=0.0 t=29538
ESC[0] RPM=0 e=0.0 t=29542
ESC[3] RPM=0 e=0.0 t=29545
ESC[2] RPM=0 e=0.0 t=29549
ESC[1] RPM=0 e=0.0 t=29639
ESC[0] RPM=0 e=0.0 t=29644
ESC[3] RPM=0 e=0.0 t=29648
ESC[2] RPM=0 e=0.0 t=29652
ESC[1] RPM=0 e=0.0 t=29740
ESC[0] RPM=0 e=0.0 t=29749
ESC[3] RPM=0 e=0.0 t=29753
ESC[2] RPM=0 e=0.0 t=29757
ESC[1] RPM=0 e=0.0 t=29843
ESC[0] RPM=0 e=0.0 t=29852
ESC[3] RPM=0 e=0.0 t=29856
ESC[2] RPM=0 e=0.0 t=29860
ESC[1] RPM=0 e=0.0 t=29944
ESC[0] RPM=0 e=0.0 t=29954
ESC[3] RPM=0 e=0.0 t=29958
ESC[2] RPM=0 e=0.0 t=29962
ESC[1] RPM=0 e=0.0 t=30046
ESC[0] RPM=0 e=0.0 t=30055
ESC[3] RPM=0 e=0.0 t=30059
ESC[2] RPM=0 e=0.0 t=30063
ESC[1] RPM=0 e=0.0 t=30148
ESC[0] RPM=0 e=0.0 t=30157
ESC[3] RPM=0 e=0.0 t=30161
ESC[2] RPM=0 e=0.0 t=30166
ESC[1] RPM=0 e=0.0 t=30252
ESC[0] RPM=0 e=0.0 t=30261
ESC[3] RPM=0 e=0.0 t=30264
ESC[2] RPM=0 e=0.0 t=30269
ESC[1] RPM=0 e=0.0 t=30353
ESC[0] RPM=0 e=0.0 t=30362
ESC[3] RPM=0 e=0.0 t=30366
ESC[2] RPM=0 e=0.0 t=30370
ESC[1] RPM=271 e=0.0 t=30455
ESC[0] RPM=171 e=0.0 t=30464
ESC[3] RPM=171 e=0.0 t=30468
ESC[2] RPM=171 e=0.0 t=30472
ESC[1] RPM=742 e=0.0 t=30556
ESC[0] RPM=171 e=0.0 t=30569
ESC[3] RPM=914 e=0.0 t=30573
ESC[2] RPM=928 e=0.0 t=30577
ESC[1] RPM=1628 e=0.0 t=30661
ESC[0] RPM=1500 e=0.0 t=30670
ESC[3] RPM=1714 e=0.0 t=30674
ESC[2] RPM=1771 e=0.0 t=30678
ESC[1] RPM=2485 e=0.0 t=30763
ESC[0] RPM=2428 e=0.0 t=30772
ESC[3] RPM=2485 e=0.0 t=30776
ESC[2] RPM=2628 e=0.0 t=30780
ESC[1] RPM=3142 e=0.0 t=30864
ESC[0] RPM=3128 e=0.0 t=30877
ESC[3] RPM=3014 e=0.0 t=30881
ESC[2] RPM=3185 e=0.0 t=30885
ESC[1] RPM=3214 e=0.0 t=30969
ESC[0] RPM=3185 e=0.0 t=30979
ESC[3] RPM=3185 e=0.0 t=30983
ESC[2] RPM=3257 e=0.0 t=30987
ESC[1] RPM=3314 e=0.0 t=31072
ESC[0] RPM=3200 e=0.0 t=31081
ESC[3] RPM=3142 e=0.0 t=31085
ESC[2] RPM=3242 e=0.0 t=31089
ESC[1] RPM=3228 e=0.0 t=31173
ESC[0] RPM=3200 e=0.0 t=31182
ESC[3] RPM=3128 e=0.0 t=31186
ESC[2] RPM=3300 e=0.0 t=31190
ESC[1] RPM=3285 e=0.0 t=31277
ESC[0] RPM=3271 e=0.0 t=31286
ESC[3] RPM=3257 e=0.0 t=31290
ESC[2] RPM=3271 e=0.0 t=31294
ESC[1] RPM=3242 e=0.0 t=31378
ESC[0] RPM=3200 e=0.0 t=31388
ESC[3] RPM=3242 e=0.0 t=31391
ESC[2] RPM=3242 e=0.0 t=31395
ESC[1] RPM=3242 e=0.0 t=31480
ESC[0] RPM=3271 e=0.0 t=31489
ESC[3] RPM=3242 e=0.0 t=31493
ESC[2] RPM=3228 e=0.0 t=31497
ESC[1] RPM=3242 e=0.0 t=31581
ESC[0] RPM=3242 e=0.0 t=31590
ESC[3] RPM=3185 e=0.0 t=31594
ESC[2] RPM=3300 e=0.0 t=31599
ESC[1] RPM=3328 e=0.0 t=31682
ESC[0] RPM=3242 e=0.0 t=31691
ESC[3] RPM=3214 e=0.0 t=31695
ESC[2] RPM=3242 e=0.0 t=31704
ESC[1] RPM=3257 e=0.0 t=31785
ESC[0] RPM=3285 e=0.0 t=31794
ESC[3] RPM=3157 e=0.0 t=31798
ESC[2] RPM=3214 e=0.0 t=31807
ESC[1] RPM=3185 e=0.0 t=31887
ESC[0] RPM=3185 e=0.0 t=31896
ESC[3] RPM=3214 e=0.0 t=31900
ESC[2] RPM=3271 e=0.0 t=31908
ESC[1] RPM=3242 e=0.0 t=31990
ESC[0] RPM=3242 e=0.0 t=32000
ESC[3] RPM=3185 e=0.0 t=32004
ESC[2] RPM=3285 e=0.0 t=32013
ESC[1] RPM=3214 e=0.0 t=32093
ESC[0] RPM=3328 e=0.0 t=32102
ESC[3] RPM=3228 e=0.0 t=32106
ESC[2] RPM=3228 e=0.0 t=32115
ESC[1] RPM=3228 e=0.0 t=32195
ESC[0] RPM=3300 e=0.0 t=32205
ESC[3] RPM=3257 e=0.0 t=32209
ESC[2] RPM=3342 e=0.0 t=32219
ESC[1] RPM=3257 e=0.0 t=32300
ESC[0] RPM=3285 e=0.0 t=32309
ESC[3] RPM=3257 e=0.0 t=32313
ESC[2] RPM=3242 e=0.0 t=32322
ESC[1] RPM=3242 e=0.0 t=32401
ESC[0] RPM=3242 e=0.0 t=32410
ESC[3] RPM=3271 e=0.0 t=32414
ESC[2] RPM=3185 e=0.0 t=32424
ESC[1] RPM=3200 e=0.0 t=32504
ESC[0] RPM=3142 e=0.0 t=32513
ESC[3] RPM=3142 e=0.0 t=32517
ESC[2] RPM=3300 e=0.0 t=32526
ESC[1] RPM=3242 e=0.0 t=32605
ESC[0] RPM=3228 e=0.0 t=32614
ESC[3] RPM=3214 e=0.0 t=32623
ESC[2] RPM=3328 e=0.0 t=32631
ESC[1] RPM=3242 e=0.0 t=32710
ESC[0] RPM=3157 e=0.0 t=32719
ESC[3] RPM=3142 e=0.0 t=32727
ESC[2] RPM=3300 e=0.0 t=32736
ESC[1] RPM=3214 e=0.0 t=32811
ESC[0] RPM=3300 e=0.0 t=32820
ESC[3] RPM=3214 e=0.0 t=32829
ESC[2] RPM=3285 e=0.0 t=32837
ESC[1] RPM=3271 e=0.0 t=32916
ESC[0] RPM=3271 e=0.0 t=32925
ESC[3] RPM=3185 e=0.0 t=32934
ESC[2] RPM=3171 e=0.0 t=32938
ESC[1] RPM=3214 e=0.0 t=33020
ESC[0] RPM=3300 e=0.0 t=33029
ESC[3] RPM=3242 e=0.0 t=33038
ESC[2] RPM=3314 e=0.0 t=33041
ESC[1] RPM=3228 e=0.0 t=33122
ESC[0] RPM=3214 e=0.0 t=33131
ESC[3] RPM=3214 e=0.0 t=33141
ESC[2] RPM=3242 e=0.0 t=33145
ESC[1] RPM=3185 e=0.0 t=33223
ESC[0] RPM=3328 e=0.0 t=33232
ESC[3] RPM=3185 e=0.0 t=33242
ESC[2] RPM=3271 e=0.0 t=33251
ESC[1] RPM=3300 e=0.0 t=33325
ESC[0] RPM=3185 e=0.0 t=33334
ESC[3] RPM=3257 e=0.0 t=33343
ESC[2] RPM=3200 e=0.0 t=33352
ESC[1] RPM=3214 e=0.0 t=33426
ESC[0] RPM=3228 e=0.0 t=33435
ESC[3] RPM=3257 e=0.0 t=33444
ESC[2] RPM=3271 e=0.0 t=33453
ESC[1] RPM=3185 e=0.0 t=33528
ESC[0] RPM=3242 e=0.0 t=33537
ESC[3] RPM=3128 e=0.0 t=33546
ESC[2] RPM=3271 e=0.0 t=33554
ESC[1] RPM=3271 e=0.0 t=33633
ESC[0] RPM=3257 e=0.0 t=33642
ESC[3] RPM=3214 e=0.0 t=33651
ESC[2] RPM=3271 e=0.0 t=33655
ESC[1] RPM=3300 e=0.0 t=33734
ESC[0] RPM=3328 e=0.0 t=33743
ESC[3] RPM=3228 e=0.0 t=33752
ESC[2] RPM=3242 e=0.0 t=33756
ESC[1] RPM=3200 e=0.0 t=33835
ESC[0] RPM=3285 e=0.0 t=33844
ESC[3] RPM=3200 e=0.0 t=33853
ESC[2] RPM=3214 e=0.0 t=33861
ESC[1] RPM=3228 e=0.0 t=33940
ESC[0] RPM=3242 e=0.0 t=33949
ESC[3] RPM=3300 e=0.0 t=33954
ESC[2] RPM=3185 e=0.0 t=33963
ESC[1] RPM=3285 e=0.0 t=34044
ESC[0] RPM=3214 e=0.0 t=34053
ESC[3] RPM=3242 e=0.0 t=34057
ESC[2] RPM=3242 e=0.0 t=34067
ESC[1] RPM=3185 e=0.0 t=34148
ESC[0] RPM=3214 e=0.0 t=34157
ESC[3] RPM=3185 e=0.0 t=34161
ESC[2] RPM=3300 e=0.0 t=34171
ESC[1] RPM=3271 e=0.0 t=34252
ESC[0] RPM=3171 e=0.0 t=34261
ESC[3] RPM=3214 e=0.0 t=34266
ESC[2] RPM=3242 e=0.0 t=34275
ESC[1] RPM=3185 e=0.0 t=34354
ESC[0] RPM=3300 e=0.0 t=34363
ESC[3] RPM=3214 e=0.0 t=34367
ESC[2] RPM=3285 e=0.0 t=34376
ESC[1] RPM=3271 e=0.0 t=34459
ESC[0] RPM=3257 e=0.0 t=34468
ESC[3] RPM=3128 e=0.0 t=34473
ESC[2] RPM=3242 e=0.0 t=34477
ESC[1] RPM=2714 e=0.0 t=34560
ESC[0] RPM=2185 e=0.0 t=34569
ESC[3] RPM=2000 e=0.0 t=34579
ESC[2] RPM=1900 e=0.0 t=34582
ESC[1] RPM=985 e=0.0 t=34661
DISARMED
ESC[0] RPM=857 e=0.0 t=34671
ESC[3] RPM=785 e=0.0 t=34680
ESC[2] RPM=785 e=0.0 t=34684
ESC[1] RPM=342 e=0.0 t=34763
ESC[0] RPM=271 e=0.0 t=34772
ESC[3] RPM=228 e=0.0 t=34781
ESC[2] RPM=271 e=0.0 t=34785
ESC[1] RPM=300 e=0.0 t=34864
ESC[0] RPM=200 e=0.0 t=34873
ESC[3] RPM=228 e=0.0 t=34882
ESC[2] RPM=214 e=0.0 t=34886
ESC[1] RPM=0 e=0.0 t=34965

Do you have motors connected and do they spin?

Yes and yes

[20 chars]

Not sure what to suggest then - I really need one of those boards

Can you ftp the dma.txt to see what that says?

I thought it was OK because after arming there are lines with RPM > 0

ESC[1] RPM=271 e=0.0 t=30455
ESC[0] RPM=171 e=0.0 t=30464
ESC[3] RPM=171 e=0.0 t=30468
ESC[2] RPM=171 e=0.0 t=30472
ESC[1] RPM=742 e=0.0 t=30556
ESC[0] RPM=171 e=0.0 t=30569
ESC[3] RPM=914 e=0.0 t=30573
ESC[2] RPM=928 e=0.0 t=30577
ESC[1] RPM=1628 e=0.0 t=30661
ESC[0] RPM=1500 e=0.0 t=30670
ESC[3] RPM=1714 e=0.0 t=30674
ESC[2] RPM=1771 e=0.0 t=30678
ESC[1] RPM=2485 e=0.0 t=30763
ESC[0] RPM=2428 e=0.0 t=30772
ESC[3] RPM=2485 e=0.0 t=30776
ESC[2] RPM=2628 e=0.0 t=30780
ESC[1] RPM=3142 e=0.0 t=30864
ESC[0] RPM=3128 e=0.0 t=30877
ESC[3] RPM=3014 e=0.0 t=30881
ESC[2] RPM=3185 e=0.0 t=30885

Anyway I need more info to do this:

Cool! Looks like its working!

Yes it seems so, in the previous post I leave too much initial lines with RPM=0 before arming and so it was misleading.

Two Q:
Should I be see RPM values also in GCS MAVLink Inspector?
What to do next?

Not sure, this may only be shown for regular ESC telemetry

Fly?