Joao and I have been working hard on the TTS controller. Its time to show some progress. The images are a bit on the dark side because I want to show the TTS screen.
All buttons are working, including the action when they are touched as was shown in Joaos' video.
The following image shows the splash screen of the application. My controller is based on the TTS (of course). I also use an ExtenderShield from Liquidware so that I have more space for shields. I use an DFRobot input shield and a APC 220 wireless transmitter. That way the controller and the OpenMoco engine can find each other wireless. This wireless setup is very cheap. A cable and plugs will not be that much cheaper :-).
I have made a driver for the joystick that gives the value of the axis in percentages of their maximum output. This driver also works with my accelerometer. Tilting the unit gives the same idea as using the joystick. I just have ordered a real time clock that I will incorporate too. That way the engine can be controlled at specific time intervals for example.
The whole user interface is based on a small C++ class library that we have created. It currently holds an icon button class, text field class, toggle button class, background class, functionality to create canvases, basic persistence, page flow functionality. All user interface items can have callback functions that handle actions when the UI item is pressed (really selected). I have also included a screen saver into the core of the class library because OLED screens tend to burn in so fast.
Here is the splash screen again, bit zoomed in.
Here is the home page. You see that the background of the bitmaps are not always corresponding with the overall background. @threeaxis: Can you fix this in the images? That would be great!
I have implemented a text field UI class too. Here you see some samples of it. It's shows the basic version with a background (in any color) with text. One with a basic border and one with a 3D border. All of these images can be made selectable. The border will change color when a text field is pressed. Pressing a text field can show the button pad where the value of the field can be modified. This image also shows the toggle button that was discussed on this forum a while ago. Toggle button class is fully functional.
The last image for today shows the fully functional button pad. It can now handle both long and double values. I am currently working on date values too.