davetcc / tcMenu

Menu library for Arduino, mbed and ESP with designer UI and remote control capabilities.
https://www.thecoderscorner.com/products/arduino-libraries/tc-menu/
Apache License 2.0
271 stars 25 forks source link

Rotary Encoder plugin: Add a drop-down list with EncoderType #470

Open vzahradnik opened 2 months ago

vzahradnik commented 2 months ago

Is your feature request related to a problem? Please describe. TcMenu defines the following enum for the rotary encoder type. image

The plugin in TcMenu Designer, however, doesn't list all the options. HALF_CYCLE is missing and FULL_CYCLE is implicit.

image

Describe the solution you'd like Instead of having a checkbox titled Quarter cycle encoder, add a new drop-down list with all encoder type options, defaulting to FULL_CYCLE.

davetcc commented 1 month ago

Agreed that would be better, I'll look at this, but the issue is that existing users could be quite badly affected by the change as their properties may no longer align, and it would default to the wrong value.

As per offline discussion earlier, I think that we should get the state-machine based encoder working first, and then maybe even create an entirely new plugin item for it. Marking this one as deprecated or similar.

vzahradnik commented 1 month ago

Yes, I agree. It is not a blocker because users can set this option in the code. This is what I did when I tested the implementation.