Lets start from scratch. We need do some thinking, some planing and some assumptions. Some requirements are also necessary. Lots of ‘some’ but lets forge it to some ideas and latter to code.
We have working package with CharLCD. Now lets try and add lcd manager with widgets. Our manager will to allow us to create widgets like labels, menus, panels and display them on any lcd.
We will implement events and event handlers. Something similar to Piader event queue but more sophisticated.
As for widgets. Label to display text, menu to display and use top menu, numeric input and panel. That for start.
Panel allows us to put other widgets into it. So changing its position will move all elements. We can also stack few panels on each other and play with visibility to simulate tabs.
Stay tuned 🙂
We are almost ready to go public with CharLCD package. First some refactoring and next we will build dist package.
This time we will add support for Char LCD with size 40×4. Such display is a special case, when we look at the internal schema we will see that its in fact two-in-one lcd. It has two lcds, one lcd goes on top and second on bottom.
It’s because one HD 44780 can display maximum 80 chars and this is 40×2. If we want 160 chars we must double this.
This way we have two 40×2 lcds. For our purpose lets call such display a twin-lcd.