Commit graph

61 commits

Author SHA1 Message Date
Mikael Degerfält
4c4d0e8b5a Unified main and patch menu input handling
Now all menu pages are handled the same way, which is great because now I can implement scrolling in the menu pages.
2019-06-23 17:14:17 +02:00
Mikael Degerfält
0d0ea5051d Made the sensor adjust menu driven by data
* Moved menu titles and option names into data structures.
 * Unified select menu option code
 * Also unified handling of menu selection, although main and rotator menus are still handled the old way.
 * Moved struct definitions to numenu.h
 * Grouped functions and variables together based on usage.
2019-06-23 17:14:17 +02:00
Mikael Degerfält
9a0bb369ac Menu selection is now data driven
Some major refactoring has been going on.
Added simple structs of data containing info about what action to take when a menu item is selected.

Finally removed all but one call to display.display() in menu-function. There might still be more than one call to it on a frame though, since some functions still calls it internally.
2019-06-23 17:14:17 +02:00
Mikael Degerfält
6a8e36635e Avoid calling display.display() twice in an update.
Moved functions around to have a better overview of draw function. This will make it easier for me to continue with the next part, which probably will be a more generic handling of menus.
2019-06-23 17:14:17 +02:00
Mikael Degerfält
2f5c546b2c Two unrelated changes
* Move text print of submenu into function
 * No need to check if value changed since writeSettings uses EEPROM.update.
2019-06-23 17:14:17 +02:00
Mikael Degerfält
e362546e3c First iteration of menu cleanup
* Broke up the code into more general functions instead of duplicating code
 * Made stuff const and removed variables no longer used
 * Use defines for menu button values
 * Changed the order or things to avoid forward declarations
 * Use array lookup instead of switch-case on some menu options
 * Adjust menu functionification
 * Cleaned up sensor rendering
2019-06-23 17:14:17 +02:00
Mikael Degerfält
921fdb1266 Global namespace cleanup
Moved variables only used in menu to menu code. Variables only used in NuEVI.ino removed from globals.h and made static.
2019-06-08 15:34:16 +02:00
Mikael Degerfält
2c4fd26d25 Fix problem where the V was still visible if battery low 2019-06-07 23:57:17 +02:00
Mikael Degerfält
883dbf605e Avoid converting value to a double
No need to convert a value to double when all we want is a two digits converted to string.
This also avoids linking some math library, which saved almost 8K och program storage space.
2019-06-07 00:12:06 +02:00
Mikael Degerfält
58ea673994 Moved settings #defines to settings.h
I did feel like they belong in config.h
2019-06-04 23:34:26 +02:00
Mikael Degerfält
4bf2a3a91e Renamed menu.ino to menu.cpp
This change required lots of other changes to have it compile. I had to declare all variables from NuEVI.ino used by the menu as extern in a separate header file (globals.h).
Also I moved all defines from NuEVI.ino to a config.h file. I think some of these could be moved back or even moved into menu.cpp.
I declared many variables and functions in menu.cpp as static and moved them around to avoid forward declarations. For simplicity I did some forward declarations anyway.
Some varibles only used in menu.cpp was moved from NuEVI.ino instead of having them as externals.
2019-06-03 19:24:21 +02:00
Renamed from NuEVI/menu.ino (Browse further)