Bi-directional dshot - testers wanted

It’s a completely different board - I’ll see what I can do

No rush at all, I won’t have time to test for a bit.

I meant a difference between Dshot150 and Dshot 300 if I wasn’t clear.

I did a couple test flights with good results. Just Althold for a minute or so, cold here. The first was with the Options at Zero and the 2nd at 2 as you suggested. I didn’t notice a difference but just hovering.

I do notice something odd but frankly not sure it’s related to this firmware Rev. Frsky Telemetry back to my Transmitter is flaky. It makes a telemetry connection because it’s not showing “No Telemetry” but there is no data.

OK on my other PixRacer that is running the latest master (not yours) this telemetry problem occurs also. Switch to Stable and it’s back. So, not a problem with your Rev but something in Master I suppose. This doesn’t belong here so I’ll investigate further and perhaps post a new thread.

The dead time between request / response is fixed at 30us and the idle time after at 40us so the total frame time for DShot 300 is less than DShot 150 and we only use the DMA channel for the duration of the frame

@andyp1per with pr-bidir-dshot on my copter with OmnibusNanoV6 and Blheli_S flashed as described above I had a pair of what I think is FC reboot in flight, with consequent crash (w/out any damage).

I also see sometimes, not always, the message:
APM: AP_Logger: IO thread died

I don’t know if this two things are someway related, I don’t have enough knowledge to investigate further.

Hi @anbello do you have a log or the watchdog string? I have a fix for the logging issue - I’ve not seen any other issues so far.

Are you asking for a log in which I have the message from AP_Logger?
tlog or df log?

With this Move Logger IO to separate thread by andyp1per · Pull Request #16117 · ArduPilot/ardupilot · GitHub ?

You actually only need this: https://github.com/ArduPilot/ardupilot/pull/16099

DF log. But also if you have had a watchdog reset you should get an error message next time you boot - the error string will tell me something useful

Sorry but the two crash happened in test done near 10 days ago and I don’t find the relevant logs.

I see an updated small-copter-4.1 with bidir-dshot and the PR for the logging issue, is it the right branch to do test on your work?

Yeah that’s fine - I did 12 flights with this branch today on a Pixracer and KakuteF7 mini without issue. Note that this could be down to DMA allocation - I’ll take another look at the DMA allocation for your board.

1 Like

I’ve posted a build for the mRoPixracerPro at the link above. Merry Christmas!

1 Like

The basic PR has now been merged, so I will be looking at doing more per-board support and cleanup

1 Like

Which is better to test, master or your small-copter-4.1 ?

Stick with master for now - I haven’t yet looked at the Omnibus DMA allocation - sorry

@andyp1per what could I disable on OmnibusNanoV6 to have space to re-enable EKF2?

Disable EKF3 - that’s the easiest thing to do

Thanks, maybe it was too simple to think at it :slight_smile:

With EKF2 I have no yaw drift, no leaning and really stable copter, I was able to do an autotune in a 3 x 3 m2 room! :sunglasses:

Yeah, EKF3 is not ready yet :frowning:

I have updated my small-copter-4.1 branch with some DMA allocation changes from Sid and a slight reworking for the OmnibusNanoV6. If you could give it a try it would be helpful.