This is the main board for my wireless testing experiment. It has 3 buttons, microSD card, 3.3V voltage regulator, and a 20×4 3.3V LCD. I setup the backlight to only illuminate if a button is pressed, since it apparently uses 180 mA to run (I really should have looked at the data sheet before buying these). The idea is that I will mount the wireless device under test (DUT) onto a non-conductive foam next to this, and perform the tests. My menu system will need to be redone, since it not only is hard to work on, but it has been a pain to upgrade to a 20×4 dimensions.
I designed the AdvMenu in hopes that it will help me to create menus quickly. But in order to create a menu, I have to follow a 5-6 step guideline, which can be annoying if you have a lot to change. Plus, since you have to modify the library, it can’t be called a true library then, since libraries typically don’t need to be modified.
So I’m going to completely change the AdvMenu. I’ll be making it into a true library, where your menu system, and functions, will be in your main arduino INO file. Imagine creating scrollable menus like the following:
AdvMenu.mainMenu(0,(__FlashStringHelper *)PSTR("Option 1"));
AdvMenu.mainMenu(1,(__FlashStringHelper *)PSTR("Option 2"));
AdvMenu.subMenu(0,0,(__FlashStringHelper *)PSTR("Under Option 1, sub 1"));
All of the menu stuff would happen behind the scenes, which includes being able to call functions if you select an option. This init would need to be run everytime you startup (it will need to be in the setup), but you’ll be able to dynamically update menus just by making the corresponding call. Of course, the final product may be something totally different, but this is what it is looking like so far.
The first version helped me get something done and out the door, but I see now that it needs to be redesigned. Which is great news, since I should end up with something wonderful.