Pages: [1]   Go Down
Author Topic: AWind. GUI library for Arduino - TFT Displays  (Read 270 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Since recent time I have quite common for Arduino community feeling, that after some efforts invested in development of Arduino library for personal needs, the results can be useful for others as well. So let me present AWind library.

Introduction:
https://github.com/AndreiDegtiarev/AWind
AWind - Arduino window library. Provides simple way of creating GUI on TFT-touch displays. Chart windows, labels, buttons, editable text boxes help to develop quite complex user interface for Arduino applications
Library is build on top of Henning Karlsen libraries UTFT and UTouch (many thanks for that libraries. It have saved pretty much of my time)
Screenshots can be found here: https://github.com/AndreiDegtiarev/AWind/blob/master/README.md

Features:
Consistent window layout handling: it is possible to create dynamic multi-window GUI
Events routing: framework forward events like touch action to target window avoiding cumbersome construction with many “ifs”
Extensibility: existent window types can be extended with new elements (like check box, gauges and etc.) without much efforts.
Portability: It should works on all displays that UTFT supports. But at this moment only 320x240 resolution is tested.

Examples:
Simple text: demonstrates how text can be edited by use of virtual keyboard
Charts: simple chart is created and dynamically updated
Oscilloscope: more complex example where signal is measured on analog pin and plotted on chart window. The parameters of signal acquisition (sample ratio and length) and parameters of chart (Y-Axis scaling) can be adjusted at runtime.
SensorsMonitor: example is based on my own application to truck temperature, humidity and air pressure from different sources. Results of measurements can be presented in text or in chart from. Sensors in example are working in Demo mode so that real wiring isn’t needed

Installation:
1. Install Henning Karlsen libraries
    UTFT: http://www.henningkarlsen.com/electronics/library.php?id=51
    UTouch: http://www.henningkarlsen.com/electronics/library.php?id=55
2. Install following AWind libraries:
     AFrame:https://github.com/AndreiDegtiarev/AFrame
     ASensor:https://github.com/AndreiDegtiarev/ASensor
     AWind:https://github.com/AndreiDegtiarev/AWind
     You need download them into arduinosketchfolder/libraries/ folder and then remove "-master" in the folder names.
3. Restart the IDE

Of course it is still something to do: documentation, new element and so on, but before I put much effort in it I would really appreciate your feedback.

Logged

Queens, New York
Online Online
Faraday Member
**
Karma: 84
Posts: 3422
"Of all the things I've ever lost, I miss my mind the most" -Ozzy Osbourne
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It sounds similar to my library, but you included charts, oscilloscopes and sensor monitors.

My library is here TFT_Extension
Logged

Created Libraries:
NPV2 (NewPasswordV2),  TFT_Extension, OneWireKeypad, SerialServo.
Will provide libraries if asked in PM or forum.

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 212
Posts: 13531
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

some screen shots would be appreciated !
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It sounds similar to my library, but you included charts, oscilloscopes and sensor monitors.

My library is here TFT_Extension
Here in Germany answer would sound like „Jein“: mixutre from „Ja“ and “Nein” :-)
I would say our libraries target different groups of applications. In your case it is more or less simple fancy GUIs that easy to use for beginners in c++. AWind library is more focused on events routing between different GUI-elements, GUI-elements updating depending on application needs (not each time complete display), handling of hidden/visible status and so on. This together results, of course, in longer learning curve, on the other hand allows more complex GUIs.
Just small point about oscilloscope and sensor monitor you mentioned: they are not core features but just examples how AWind library can be used
Logged

Pages: [1]   Go Up
Jump to: