PX4 / PX4-Autopilot

PX4 Autopilot Software
https://px4.io
BSD 3-Clause "New" or "Revised" License
8.53k stars 13.52k forks source link

DSHOT Telemetry in FW #20367

Open BAI-djohnson opened 2 years ago

BAI-djohnson commented 2 years ago

I am attempting to receive DSHOT telemetry in my custom fixed wing for RPM and temperature. My system works if I select a MC so I know the wiring is correct but it is not working in FW airframe.

DSHOT 1200 works correctly and I am able to send commands, but I am not receiving any telemetry back. When I run dshot status, I get no successful frames and only timeouts. Exact same wiring setup works with airframe selected as MC.

Any insight on how to get this working would be much appreciated.

dagar commented 2 years ago

I can't think of a reason it would be different between MC & FW.

Do you have logs or anything you can share between the working and non-working setup?

BAI-djohnson commented 2 years ago

I can't think of a reason it would be different between MC & FW.

Do you have logs or anything you can share between the working and non-working setup?

Yes sir I do. These are just bench testing of our aircraft but one it is working and one it is not. Only difference is MC vs FW

Working MC with DSHOT telemetry: https://review.px4.io/plot_app?log=2d893b74-3957-44de-81b3-aad11a7be526 Not working FW with DSHOT telemetry: https://review.px4.io/plot_app?log=b7991ddf-9714-4854-89df-467ba739a483

BAI-djohnson commented 2 years ago

I just remade the logs to make them smaller and do a true one to one comparison. Please look at these instead.

Not working in FW with DSHOT telemetry: https://review.px4.io/plot_app?log=0ed87edf-3ed0-4c9e-b7d6-9fa163f33937 Working in MC with DSHOT telemetry: https://review.px4.io/plot_app?log=6a9c611d-662d-40ed-b988-3b791f07bca8

BAI-djohnson commented 2 years ago

So I am testing this out but it seems as though FW doesnt have the number of motors defined and that is causing it to have a request for telemetry that is infinitely growing.

BAI-djohnson commented 2 years ago

image This appears to be where the issue is located.
Located in dshot.cpp:255 I am not sure how to fix this without hard coding it. Also, esc data is still not contained in the log file but is in the ground station.

BAI-djohnson commented 2 years ago

I also know this is not a correct solution but I was able to get logging of esc data by forcing the logger to include the topic by changing this to add_topic instead of add_optional_topic image Located in logger_topics.cpp:63

bkueng commented 2 years ago

@BAI-djohnson can you try with latest main? This will let you use the new control allocation interface, which should give you the right amount of motors. Docs for that are here: https://docs.px4.io/main/en/config/actuators.html.

BAI-djohnson commented 2 years ago

@BAI-djohnson can you try with latest main? This will let you use the new control allocation interface, which should give you the right amount of motors. Docs for that are here: https://docs.px4.io/main/en/config/actuators.html.

Yes. The second set of log files I uploaded were down with the current main and used the actuators tab for configuration. Same issue, but I will attempt again today and report back if I have different results.

EDIT: In standard plane, I can get that to work. Is there a way to implement the same functionality on a custom mixer for my custom airframe?