Hi Dave and all else reading.
I don't want to flood the board with multiple threads, but I don't know if you like to have too many questions asked in one spot. I'll try to keep it brief for now.
Firstly; Thank you for working on these wonderful libraries. The IOAbstraction has already helped me simplify and unify my project dramatically. When I started looking into making a menu system for my project I was blown away find tcMenu and see that it's made by the same person! Serendipity! The documentation is quite good and even though I'm on the low end of intermediate skill level for this stuff, I'm almost always able to figure things out so far. Execept....
Question1:
Before working on the menu system, I had manually setup all my IO with MultiIO and using the tcMenu GUI setup my IO reference and pin numbers (starting at #100 as in the example INO.) This works, but ONLY if I go into the *Project_name*_menu.h and change the line:
extern IoAbstractionRef multiIO;
to:
extern MultiIoAbstractionRef multiIo;
Is there a way to do this so I don't have to edit this file every time I generate new code from the TcMenu UI? Perhaps something I can call in my main INO so I don't have to touch the things I'm not supposed to?
Question 2:
I would ideally like to use UP/DOWN/ENTER buttons to navigate the menu, and use the encoder to change the values. I have some menu items which can have high values (0-20,000, or 0-360degrees in 1/10 degree increments) that would be best served with a sensitive/accelerated knob, but I like the more tactile inputs for menu navigation because it's too easy to fly past options when using the knob. How might I get both functionalities like this?
Question 3:
If I leave any menu or sub-menu item selected, and don't touch anything, the screen (ILI9341) will refresh and put the cursor back on the first item on the top-menu 30 seconds after my last input. Is there a way to stop this behavior?
EDIT: Did some digging and found the setResetIntervalTimeSeconds() function. Okay, so I can set it to 60sec max. but it still seems strange to have it just happen on fixed timer no matter what.
Bonus Bug Report:
In TCMenu GUI Ver. 2.2.3 The Up and Down fields are reversed from the code output when using the UP/DOWN/ENTER button option with a MCP23017 (Not sure if it happens with other input configs, but this is what I'm using for testing)
If I put '2' in the Up field and '10' in the Down field, the code comes out:
menuMgr.initForUpDownOk(&renderer, &menuToasterPower, 2, 10, 4);
instead of:
menuMgr.initForUpDownOk(&renderer, &menuToasterPower, 10, 2, 4);
Only a minor inconvenience to switch my pin numbers in the project and forget it, but seems like it'd be an easy fix.
Thank you so much for your time/help.