Difference between revisions of "emWin"
(→Features) |
|||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | emWin is an embedded GUI solution that enables the creation of highly efficient, high quality, graphical user interfaces on any embedded system. emWin empowers even resource-constrained microcontroller-based systems to run stunning interactive interfaces. emWin is independent from any target, and display. |
+ | emWin is an embedded GUI solution that enables the creation of highly efficient, high quality, graphical user interfaces on any embedded system. emWin empowers even resource-constrained microcontroller-based systems to run stunning interactive interfaces. emWin is independent from any target, and display. For more detailed reference and a function and type index, you should refer to the emWin user manual. |
== Getting started with emWin == |
== Getting started with emWin == |
||
− | === |
+ | === Requirements === |
+ | The [[Requirements for emWin|requirements for running emWin]] on an embedded system are minimal, but always depend on how elaborate the final application is. |
||
− | A "Hello world" program has been used as a starting point for C programming since the early days, because it is essentially the smallest program that can be written. An emWin "Hello world" program is shown below. The program writes "Hello world" into the top left corner of the display. |
||
+ | === Requirements for Simulation === |
||
− | <source lang="c"> |
||
+ | |||
− | #include "GUI.h" |
||
+ | To run emWin in the simulation, one of the following IDEs is required. |
||
− | void MainTask(void) { |
||
+ | |||
− | GUI_Init(); |
||
+ | * Microsoft Visual Studio 2010 or higher |
||
− | GUI_DispString("Hello world!"); |
||
+ | * Codeblocks IDE with MinGW compiler |
||
− | while(1); |
||
− | } |
||
− | </source> |
||
== Features == |
== Features == |
||
+ | Listed below are emWin's core features. Every feature has its own page that explains the topic and offers examples for a better understanding. |
||
+ | |||
+ | * GUI creation tool (AppWizard) |
||
* Displaying Text & Values |
* Displaying Text & Values |
||
* 2D graphic operations |
* 2D graphic operations |
||
Line 26: | Line 27: | ||
* Animations |
* Animations |
||
* Memory Devices |
* Memory Devices |
||
− | * Multi-Buffering |
+ | * [[emWin Multi-Buffering|Multi-Buffering]] |
* Language Support |
* Language Support |
||
* Display Driver |
* Display Driver |
||
− | == |
+ | == Examples == |
+ | |||
+ | ''Main Article:'' [[emWin Examples]] |
||
+ | |||
+ | This wiki offers simple, straight-forward examples that explain and visualize many of emWin's features. |
||
+ | |||
+ | Most of these examples are as stripped-down as possible, since they only intend to demonstrate a certain emWin feature. Elaborate graphics are not the main focus of the examples. |
||
+ | |||
+ | == Tutorials == |
||
+ | |||
+ | Listed below are in-depth tutorials that give a more elaborate view on certain emWin features. |
||
+ | |||
+ | * [[Adding user data to windows]]: How to add user data to windows and widgets. |
||
+ | * [[Customizing windows]]: How custom behavior and custom drawing can be set up for a window. |
||
+ | * [[Creating animations]]: Creating and running animations in emWin. |
||
+ | * [[emWin FadeImage|Fading images]]: How images can be faded in and out using emWin. |
||
+ | * [[emWin Multi-Buffering|Setup Multi-Buffering]]: Set up and configure emWin to use Multi-Buffering. |
||
+ | * [[emWin headless VNC server]]: Set up a headless VNC connection. |
||
+ | * [[emWin on Arduino]]: Getting started with emWin on Arduino. |
||
+ | |||
+ | == Documentation == |
||
+ | |||
+ | The '''emWin''' and '''AppWizard''' PDF user manuals can be downloaded [https://www.segger.com/downloads/emwin/ here]. |
||
+ | |||
+ | === Online documentation === |
||
+ | The user manuals of emWin and AppWizard are also available online: |
||
− | The [[emWin simulation]] allows the user to compile and run emWin source code in an IDE on a Windows PC. Therefore no hardware is required for debugging an emWin application. |
||
+ | * [https://www.segger.com/doc/UM03001_emWin.html emWin User Guide & Reference Manual] |
||
− | [[File: Simulation.png | 250px | thumb | right | Weather forecast demo in emWin simulation.]] |
||
+ | * [https://www.segger.com/doc/UM03003_AppWizard.html AppWizard User Guide & Reference Manual] |
||
== Tools == |
== Tools == |
||
Line 50: | Line 76: | ||
* GUIBuilder |
* GUIBuilder |
||
* JPEG2Movie |
* JPEG2Movie |
||
+ | * U2C |
Latest revision as of 12:47, 16 November 2023
emWin is an embedded GUI solution that enables the creation of highly efficient, high quality, graphical user interfaces on any embedded system. emWin empowers even resource-constrained microcontroller-based systems to run stunning interactive interfaces. emWin is independent from any target, and display. For more detailed reference and a function and type index, you should refer to the emWin user manual.
Contents
Getting started with emWin
Requirements
The requirements for running emWin on an embedded system are minimal, but always depend on how elaborate the final application is.
Requirements for Simulation
To run emWin in the simulation, one of the following IDEs is required.
- Microsoft Visual Studio 2010 or higher
- Codeblocks IDE with MinGW compiler
Features
Listed below are emWin's core features. Every feature has its own page that explains the topic and offers examples for a better understanding.
- GUI creation tool (AppWizard)
- Displaying Text & Values
- 2D graphic operations
- Fonts
- Bitmaps
- Widgets
- Window Manager
- Animations
- Memory Devices
- Multi-Buffering
- Language Support
- Display Driver
Examples
Main Article: emWin Examples
This wiki offers simple, straight-forward examples that explain and visualize many of emWin's features.
Most of these examples are as stripped-down as possible, since they only intend to demonstrate a certain emWin feature. Elaborate graphics are not the main focus of the examples.
Tutorials
Listed below are in-depth tutorials that give a more elaborate view on certain emWin features.
- Adding user data to windows: How to add user data to windows and widgets.
- Customizing windows: How custom behavior and custom drawing can be set up for a window.
- Creating animations: Creating and running animations in emWin.
- Fading images: How images can be faded in and out using emWin.
- Setup Multi-Buffering: Set up and configure emWin to use Multi-Buffering.
- emWin headless VNC server: Set up a headless VNC connection.
- emWin on Arduino: Getting started with emWin on Arduino.
Documentation
The emWin and AppWizard PDF user manuals can be downloaded here.
Online documentation
The user manuals of emWin and AppWizard are also available online:
Tools
emWin also comes with many tools the user can utilize to, e.g. create custom emWin fonts, bitmaps or to even create complete applications.
- AppWizard
- Bitmap Converter
- Bin2C
- emVNC client
- emWin Movie Player
- emWinSPY
- emWinView
- Font Converter
- GUIBuilder
- JPEG2Movie
- U2C