Arduino LCD(Adafruit ILI9340) Menu with up/down/select button with 2 layers?

Hey guys, I’m new here.

So I want to build a machine that makes you a shot. I want to place 20 bottles in the back of the machine, it should be controlled with a LCD display and three buttons. I searched on YT and found a good video.
I want to realise it with peristaltic pumps, which are controlled with L298N DC motor controllers, but that’s not part of my question. I simply want the menu to work.

When you watch the video, you’ll understand my code.

The video contains how to build a simple menu, but I wondered how I can make a menu with 2 layer, for example : When you click on a specific menu item, you come in a new menu, where you can select more things.

I tried to code that with bool statements and so on, but even after checking the code for problems few times, I couldn’t find out… I tried two ways, but it didn’t work, so could you give me some tips? or an example that could work?

I’m thankful for every help! :slight_smile:

code.txt (21 KB)

When you watch the video, you'll understand my code.

I'm not going to waste my time watching a video (which will lead to watching 27 more). You tell us what the code is supposed to do, and what it actually does, and how they differ.

Offensive post by the OP deleted

@jnlk6 - please mind your language here or you will be banned

look over the attached zip.

It’s code for table driven menus. menu.h/cpp contain the menu functions. menus.h/cpp contain the menu tables. menuUpdt.cpp the function called to update the menu. The variable is references are in a separate file not included.

this code is targeted toward changing parameters and supports editing numeric values and ascii strings which i doubt interests you.

somewhat awkwardly, those changes are monitored by other code that compare new and old paramters.

the code does not currently support selecting/performing some action but i believe new menu type, T_t, could be added to do so.

menu.zip (4.37 KB)

:slight_smile:
Thanks a lot!
I will try that out.