Some time ago my RPi with running Doton crashed. It was quite a surprise but happens:) Reason was trivial, I moved it and SD card was pressed against the wall and ejected 🙂 But after a restart, it crashed again but this time with a fatal error. This hits me! We have no way of showing a temperature that is under zero!
This also remembered me that I didn’t do anything with the project for some time. I still have a window manager to redesign and rewrite.
But let’s start low and first clean up a GIT repository by removing submodules and changing a readme.
This project started its life with Daj się poznać competition but competition is over. Time to clean it up from additional modules and leave only files that are used.
The fastest method was to manually delete .gitsubmodule and directories 🙂
Time is almost over but we have so much more work to do! Of course, we won’t stop our work but let’s summarise was has been done during competition.
The main goal was to build a control node that can gather and display information from different sources/sensors. This node is the Doton project.
We have a driver for ILI9486 320×480 display and we can run Doton on it. But currently, it would use only half of the screen. Our window manager has hard-coded dimension 240×320.
We need to do something with it. I think we can update manager to calculate grid from dimensions and additionally we can add tiles auto positioning.
Why? Because it seems that not setting position on the screen can be better 🙂 System can add pages when required and take care of horizontal vs vertical position.
But I think that we should be able to set coords if we want to.
Source code @ GitHub
We can display only 6 tiles on the screen. It is not too much. But when we redesigned GUI we prepared touch spots to scroll between pages.
A page is a group of maximum 6 tiles so one page fits on the screen. And with a few pages, we can have much more information available.
I’m little afraid of inaccuracy of touch panel. Why? See that scroll down area overlaps our two widget buttons. We may be forced to move them up to the middle row. But we will see 🙂
We still have the weather widget to finish. But before that, I’m thinking about big changes in tile layout. Why?
Because tiles are rectangles and they cannot be used in vertical mode, square tiles would be much better.
This should give us a free space on top and bottom of the display for a nice functionality in near future (do not forget that out TFT is a touch screen) 🙂
Let’s get to work!
We may now return to the main task, the Control Node with all data from all sources. We will present data in form of a tile.
I’m thinking about creating widgets for both Node One sensors.
Each node is the one tile. We could present light and movement with small icons and humidity and temperature with numbers. It sounds nice and simple but there is a catch. If we refresh the whole screen it would take around 5s to change its content. So we must find a way of repainting only required parts of the screen.