Change encoder function based on LCD case

Hi Team,

I'm starting to hack the box 1 code. My goal is to add a second page of options on the LCD screen, and have the encoders control those parameters as well. I want to change the NEXT/LAST buttons to cycle through the LCD screens, but keep the 3rd button as Fine/Coarse. Currently I've got the display pretty well sorted, but I don't know how to implemented the additional encoder functions.

Question 1

I'm using cases to define what goes onto the LCD screen. I think that it is in these cases that I want to define/tie encoder function to the parameters displayed on screen. I'm not sure if I leave a pointer here and declare them in setup the way pan/tilt encoders are in the original sketch, or if I move all of the pin talk up to the display cases function? I think the pin assignments have to stay in the setup, so that means I probably need to write a new function that reassigns the encoders? Would I then plug that function into my switch cases?

Question 2

I've written Zoom and Intensity encoders into all the functions, but haven't told the arduino where to look for that input. When I plug into my nomad I expect the pan/tilt functionality to work, as well as the display page scrolling(both do). I don't expect Zoom/Intens to work, but I'm still receiving ticks from them in the diagnostics tab. If they are not assigned encoders yet, what is sending those ticks? (admittedly, this is a smaller problem that I imagine will go away once I assign encoders, I'm just curious since this outcome was unexpected.)

Any tips would be appreciated, even if it's just pointing me to an example that deals with reassigning buttons or encoders mid sketch. I'm pretty good at reworking code to fit my needs, but still mostly a beginner.

Side note: I broke a pin off one of my buttons and only have 2 functioning at the moment, so in my current code there's only an option to page forward through LCD screens. The functionality works though, so adding a second button when I have another working one should be easy. Just wanted to mention it in case you stumble on an irregularity in my code.

my code:

github.com/.../2ndEncoderPage_v1.ino

Parents Reply Children
No Data