Encoder overrun
Posted: Mon Sep 18, 2023 17:19
Hey proud owner of a new STECS and Gladiator here - thanks VKB
Just wondering if it’s possible to change the behaviour of the encoder(s) and make them stop sending pulses when I stop turning them.
I’ve got one assigned to the heading bug in MSFS and if I twist the knob quickly, it keeps pulsing long after the twisting has stopped.
It does this in vkbdevcfg too. I’ve tried assigning them to a new axis but it’s the same behaviour.
I believe what is happening is since the pulse is 50ms, and if I twist the knob quickly it might whizz past 20 indents, so it sends 20x 50ms pulses.
Trouble is, it keeps sending these pulses long after I’ve finished twisting.
I appreciate that with some bindings it might be preferred to have 1:1 indent to pulse, but in my situation, if I twist it fast, and stop twisting when the heading bug hits my heading, it keeps going and overshoots.
I have tried a shorter pulse, but they aren’t recognised 100% of the time. Any ideas? Ideally I’d love a way to set some kind of logic like this: (send a few pulses, and if encoder is still spinning fast, keep pulse on until encoder stops spinning)
Just wondering if it’s possible to change the behaviour of the encoder(s) and make them stop sending pulses when I stop turning them.
I’ve got one assigned to the heading bug in MSFS and if I twist the knob quickly, it keeps pulsing long after the twisting has stopped.
It does this in vkbdevcfg too. I’ve tried assigning them to a new axis but it’s the same behaviour.
I believe what is happening is since the pulse is 50ms, and if I twist the knob quickly it might whizz past 20 indents, so it sends 20x 50ms pulses.
Trouble is, it keeps sending these pulses long after I’ve finished twisting.
I appreciate that with some bindings it might be preferred to have 1:1 indent to pulse, but in my situation, if I twist it fast, and stop twisting when the heading bug hits my heading, it keeps going and overshoots.
I have tried a shorter pulse, but they aren’t recognised 100% of the time. Any ideas? Ideally I’d love a way to set some kind of logic like this: (send a few pulses, and if encoder is still spinning fast, keep pulse on until encoder stops spinning)