I'm not entirely sure which you meant, so let me answer the question
you MIGHT have been asking in case others are similarly confused.?
:-)
Does it work with the existing encoder wheel hardware?? Yes.? No
hardware mods are required.? This is a software-only mod that
improves the responsiveness of the encoder wheel.? Instead of the
code saying "I want to know what the user is doing with the encoder,
let me sit here and spend 200ms watching the encoder wheel to see
whether it's turning, and not doing anything else."?? Instead, it
uses hardware interrupts.? Every time the state of one of the pins
changes, the program pauses and runs my function instead, called an
Interrupt Service Routine, or ISR.? All the ISR does is look at the
current state of the pins and compares it to the previous state of
the pins, figures out which way you turned the knob, and either adds
1 or subtracts 1 from a counter.? Then, when the program says
"what's the encoder doing?" instead of waiting around 200ms to
count, it just returns the existing counter and sets it to zero.??
So the program no longer has that 200ms pause every time it wants to
see what the encoder is doing.
Does it work on the stock software, or does it require Reed's
display mods?? It'll work on the stock software, but the merge
requires a bit of work.? Reed's changes changed some code my code
also changed, so I had to manually merge them.? It's not a HARD
merge, but it's also not automatic.
If someone wants a branch that uses this code against Farhan's stock
code, I can produce that too.
-Mark
On 1/11/20 1:05 PM, Joel Caulkins/N6ALT
wrote:
toggle quoted message
Show quoted text
Forget that last question, I loaded up Marks's code and the
encoder works great. Thanks to those who know how to code we are
getting closer everyday to a usable V6 UBITX.
Joel
N6ALT