Giter Site home page Giter Site logo

awind's Introduction

AWind library

Introduction

AWind (arduino window) is Arduino-library that is intended to simplify the use of touch TFT and OLED displays for visualization of sensors data in text or chart form. It is also possible to interact with GUI by the use of display touch feature. The library is implemented as general window framework that allows creation of simple GUIs. The GUI is consist of labels, text fields, buttons, tab control, gauges, chart window and etc. For TFT the special keyboard window is implemented to provide runtime possibility of changing text fields. At this moment TFT and OLED displays are tested on Arduiono Mega and Arduino DUE. ESPxx boards are coming soon.

Installation

TFT via UTFT library

OLED via Adafruit-GFX library

Uncompress those libraries into arduinosketchfolder/libraries/ folder

To connect display see descriptions for corresponding hardware and libraries .

The content of awind_full.zip from https://github.com/AndreiDegtiarev/AWind/releases uncompress into arduinosketchfolder/libraries/ folder.

Restart the IDE

Documentation

API documentation: http://andreidegtiarev.github.io/AWind/

Examples

TFT

In the each example folder there is a screen-shots to demonstrate how results should looks like

  • Text: Simple example that demonstrate the basic use of text window + touch interaction
  • Charts: Simple example that demonstrate the basic use of chart window

  • Oscilloscope: Simple Oscilloscope with possibility to adjust (in runtime) sample ratio, voltage level and signal length

  • SensorsMonitor: This example is based on my personal application - monitor temperature in my camper (outside, inside, fridge: beer has to be cold :-) and etc.). The sensors in this example work in DEMO-mode and real sensors connections is not needed

  • Gauges: This example demonstrates how to use gauge and button controls

  • Dialogs: This example demonstrates how handle nested dialogs

  • Tab control: This example demonstrates how to work with tab controls

  • Vacuum Pump: This advance example demonstrates how to work with tab controls, timer, how interact with stepper motor, relay and etc.

  • Window selector: This example demonstrates how to control child window visibility

OLED

awind's People

Contributors

andreidegtiarev avatar tomasroj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awind's Issues

Ennanchement.

Hi andrei.
i don't know if is possible to made rouded buttons or labels like to made a LED.

regards

problem compiling examples in arduino compiler 1.6.6

Opening Guages.pde and 'verify/compile' - compiler has several errors like this:

Arduino: 1.6.6 (Windows XP), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from C:\Program Files\Arduino\libraries\AWind/GaugeBar.h:22:0,

             from sketch\GaugesWindow.h:20,

             from C:\Documents and Settings\Owner\Desktop\Arduino\awind_full\AWind\examples\Gauges\Gauges.pde:28:

C:\Program Files\Arduino\libraries\AWind/Gauge.h:34:46: error: 'constexpr' needed for in-class initialization of static data member 'const float Gauge::_sector_angle_rad' of non-integral type [-fpermissive]

static const float _sector_angle_rad=3.14/2*0.8;

                                          ^

In file included from sketch\GaugesWindow.h:21:0,

             from C:\Documents and Settings\Owner\Desktop\Arduino\awind_full\AWind\examples\Gauges\Gauges.pde:28:

C:\Program Files\Arduino\libraries\AWind/GaugeRadialPointer.h:30:46: error: 'constexpr' needed for in-class initialization of static data member 'const float GaugeRadialPointer::_sector_angle_rad' of non-integral type [-fpermissive]

static const float _sector_angle_rad=3.14/2*0.8;

                                          ^

In file included from C:\Program Files\Arduino\libraries\AWind/ChartWindow.h:26:0,

             from sketch\GaugesWindow.h:22,

             from C:\Documents and Settings\Owner\Desktop\Arduino\awind_full\AWind\examples\Gauges\Gauges.pde:28:

C:\Program Files\Arduino\libraries\AWind/ChartDC.h:35:29: error: 'constexpr' needed for in-class initialization of static data member 'const float ChartDC::AutoMin' of non-integral type [-fpermissive]

static const float AutoMin=1e-8;

                         ^

C:\Program Files\Arduino\libraries\AWind/ChartDC.h:36:29: error: 'constexpr' needed for in-class initialization of static data member 'const float ChartDC::AutoMax' of non-integral type [-fpermissive]

static const float AutoMax=1e8;

                         ^

exit status 1
Error compiling.

Touch not working

I'm playing around with the examples and my first extension of one of them, and touch isn't working, and no button presses are reacting to anything. I've tried with the UTouch examples, and it's working fine, so it seems like it's something with the AWind library. I also tried checking if the touches are available in the main app loop, and they are, it just seems like it's not bubbling up through the lib. Update: I un-commented some debug statements in the WindowsManager.h, and I can see the touches make it that far. I just had it work until I connected the serial monitor, than it stopped. It seems related to that, any suggestions?

Change Screen Size

I am porting the app to use a 7" Display. I have some of the examples up and running. My display is 800 x 600 i am wondering if you might point me in the right direction in the files for changing the screen size from the original. I see many references to width and height in some of the files but don't see a place where the size is read from the display or set as a variable constant. For example i can run the sensor monitor example but the sensors are squished up to the top left quadrant of my display while the day night button seems to be perfectly aligned with the bottom right corner of the display making me thing at some point it knows my display is 800 x 600 or it would not have been able to place the day night button where it is. Any insight would be greatly appreciated. Another example in the sensor monitor there is a red line around the outside border in the display i need to move that border in a little but i don't know which file is actually drawing that border on the main window.

Elegoo TFT

Is there a simple way of making this library work with the aforementioned TFT screens?

Automatic exit after x time from a dialog page

Hi Andrei!
I'm using 8 dialogs and a main window and a project folder .ino.
i have some sensors in loop() routine.
The sensors, in main window work fine, but if i'm in a dialog window i cant see the sensors...
like removed from loop() function.
Is there an solution to see everiwere the sensors? or how i can automatic close the dialog window and come back in the main window?

regards.

missing libs in aWind

I am having problems in aWind... the output says that some of the .h files are missing, Log.h, LinkedList.h, AHelper.h, etc. is there a fix for this Andrei?

AFrame and Asensor missing from zip

Previous release included folders AFrame and ASensor. AWind refers to Log.h which was in AFrame and is not present in AWind-master in the new release. Sorry - if I knew how, I would fix this myself (assuming this is possible). Thanks for a very useful library!

log.h missing

Hi Andrei,
nice lib, at least I think so 'cause none of the example compile.
log.h is missing. any idea where to find it ?

regards, Greece2

W:\libraries\AWind-master/DC.h:20:10: fatal error: Log.h: No such file or directory
#include "Log.h"
^~~~~~~
compilation terminated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.