fix bidir dshot for NXP i.MXRT boards#25854
Conversation
|
Looks to be a regression from #23863 just tested on my hardware and this fixes it. @dakejahl I've found another regression caused by #23863 as well. PX4-Autopilot/src/drivers/dshot/DShot.cpp Lines 314 to 317 in cfe4cc8 But this breaks Dshot based ESC esc_online_flags detection, i.e. motor unplugs esc_status doesn't get published anymore because up_bdshot_num_erpm_ready != _num_motors.
Could we rename |
|
@PetervdPerk-NXP I removed the merge commit and used rebase now. |
PetervdPerk-NXP
left a comment
There was a problem hiding this comment.
LGTM, thank you for your contribution @321thijs123
These issues are fixed in #25848. It's quite a huge PR that I doubt anyone will review. I'm still trying to figure out if it's possible to break it into pieces. Going to merge this in the meantime to fix the issues now. Thanks! |
Cherry-picked from upstream PX4/PX4-Autopilot PR PX4#25854 Commit: c44e0be Fixes: PX4#25853 When attempting to use bidirectional dshot on NXP i.MXRT boards, esc_status messages would never get published. This was due to bdshot_recv_mask being used to check the number of ready erpms, while this mask is always set to zero before the check. Fixed by checking bdshot_parsed_recv_mask instead.
Solved Problem
When attempting to use bidirectional dshot on a NXP MR-VMU-RT1176 Flight Controller (FMUv6X-RT) I found that the esc_status messages would never get published. This seems to be due to
bdshot_recv_maskbeing used to check the number of ready erpms, while this mask seem to always be set to zero before this is done.Fixes #25853
Solution
bdshot_parsed_recv_maskinstead ofbdshot_recv_maskwhen counting the number of ready erpms.Changelog Entry
For release notes: