I am moving closer and closer to getting my project finished which is fantastic, I will be happy to get something complete and will post pictures and so on when I finish.
Anyway, I am now up to requesting user input through a LCD/Keypad shield. At the moment I have a top level menu like the below;
2. Gigapan Img
If I select 1, it runs through a function that requires no user input and works fine, however for section 2 that requires a bit more user input.
The questions I need to ask are,
- Start X,Y position (e.g. top left corner)
- Bottom X,Y position (e.g. Bottom Right Corner)
- Lens Focal Length
The way I have done it at the moment is to have MenuSelected = 0 if the menu is at the top level then when a button is pressed it checks the MenuSelected variable, and if variable is 1 then it fires the 360 pano function, but if it gets moved to 2 then it would go to the gigapan img function.
The thing is I need to ask more questions of the user, is it best to just add more levels of the MenuSelected variable, e.g. if it is 1 do the normal function, if it is 2 then do the gigapan function, once it gets to 3 start to ask the X,Y positions, if it is 4 ask the X,Y position, and if it is 5 ask the focal length or is there a better way to do this?
The actual gigapan function I have takes the inputs, so once I have the questions answered (e.g. in the loop) it can call the function no issues, I am just not 100% sure how to best ask the questions.
If i have done it wrong I am happy to go back to the drawing board, but essentially the flow is like this:
Welcome Screen | | Select Menu | | - 360 Pano - (if selected) ---> Start 360 Pano Function | | | - Gigapixel Image --| |- Enter Start X,Y |- Enter Finish X,Y |- Enter Focal Length |---> Start Gigapan Function