I’m looking for suggestions of what paradigms / patterns / approaches can be helpful to develop my project.
I will present a simple example to illustrate what I want to do, but the end project will be a bit more complex (on terms of GUI and elements to control) so the solution must be flexible to handle more parameters, screens, interfaces, etc
Lets say that:
- I have a motor that I can control MotorSpeedRPM (0 … xxx RPM) and a light that I can control LightBrightness (0…100%)
- The control elements (motor, light…) are on a different physical place, connected (UART) to the interface board (buttons & display).
- I have 3 buttons: A (used to switch screens), B (used to decrease value), C (used to increase value)
- I will have two screens that I can switch pressing A. Then using B or C I can decrease or increase the value based if it is on MotorSpeedRPM screen or LightBrightness screen.
I believe there will be some named pattern that can help to solve this, but I would like to add another condition that will add some complexity:
- I would like to add the possibility that I can develop the Graphic Interface (using LittlevGL) to create a PC application, so I can debug it running on PC and then use the same source code interface on the embedded system. I have available TCP or UART communications om embedded system, so I can use the real hardware to interact / use as interface input.
- It would be possible also to develop a mockup/debug interface on PC for development proposes (to easy develop and debug the GUI complexity) instead of using/debugging on the MCU.
What approaches do you recommend that I investigate that could help design this?