esc: clarify RPM/command direction meaning #64
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Reverse should only be used for reverse thrust, not simply a motor that happens to be spinning counter-clockwise.
Some ESC vendors get the RPM feedback backwards when configured in reverse direction, so flight stacks need to be aware; not sure how wide-spread the problem is. I have confirmed that latest AM32 using DroneCAN behaves correctly here: reversing the motor direction in its configuration does not reverse the RPM sign.
I had an additional comment about how an ESC which is running in reverse in response to a supported negative bi-directional command must report a negative RPM but AM32 does not do this. I am not sure where the limitation is but IMO this is a bug, and probably a more wide-spread one.
I further wonder how we should define the motor angle in the extended status. I presume it should be that increasing angles are clockwise? So it would swap if you reversed direction in the ESC, and always match the physical angle. But I am not sure what's best here and don't own any ESCs with angle sensors. We do need to add a note that the percentages are absolute.