DCC-EX / EX-Turntable

Turntable-EX is a new feature to control a stepper motor based turntable from DCC++ EX
GNU General Public License v3.0
6 stars 5 forks source link

Feature Request: Consider adding automatic DCC phase reversal #61

Closed peteGSX closed 2 years ago

peteGSX commented 2 years ago

More feedback from Alex in Discord which is probably a great idea:

Is your feature request related to a problem? Please describe.

It's worth considering having the DCC phase automatically reversing when rotating 180 degrees to make it easier.

Describe the solution you'd like

When a turntable rotates beyond 180 degrees, the DCC phase should automatically invert, and return to normal phase once rotating back to within the first 180 degrees.

Describe alternatives you've considered

N/A

Additional context

Consideration during the remainder of the conversation is to have auto reversal as the default, but still enabling use of the Turn_PInvert command if users prefer, and an option to not invert at all which would be applicable in scenarios such as traversers that don't actually rotate.

peteGSX commented 2 years ago

Current thinking on this:

For the Tinkerers and Engineers:

The other item thinking forward and related to the Traverser feature request is to allow an override to disable phase switching, although this is probably easiest by choosing a flag as AUTO or MANUAL for phase switching, and the traversers can simply never use the Turn_PInvert command with the MANUAL option enabled. This also will allow the phase inversion to work with turntables that rotate, but not the full 360 degrees, as they will still require phase inversion.

peteGSX commented 2 years ago

Unit testing:

peteGSX commented 2 years ago

Will also include https://github.com/DCC-EX/Turntable-EX/issues/48.

peteGSX commented 2 years ago

All unit tests passed.