To be solved in handle() when counting physical counts. Use a counter and timing in analogy to debouncing: when successive clicks are within a limited time (number of calls of handle()), increase a counter. Depending on the counter value, the acceleration factor increases (number of counted pulses per real pulses). When the timer is exceeded, reset the acceleration back to one. Exact values need to be determined. The value of the timer will be a #define with a default, so it can be adapted.
To be solved in handle() when counting physical counts. Use a counter and timing in analogy to debouncing: when successive clicks are within a limited time (number of calls of handle()), increase a counter. Depending on the counter value, the acceleration factor increases (number of counted pulses per real pulses). When the timer is exceeded, reset the acceleration back to one. Exact values need to be determined. The value of the timer will be a #define with a default, so it can be adapted.