Difference between revisions of "emWin"

From SEGGER Wiki
Jump to: navigation, search
(Features)
(12 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. The requirements for running emWin on an embedded system can be read under [[Requirements for emWin]].
+
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 ==
   
=== "Hello world" example ===
+
=== 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
   
== Simulation ==
+
== 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.
  +
  +
== Documentation ==
  +
  +
emWin's user manual can be found in the '''Doc''' folder of a shipment.
  +
  +
=== 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 75:
 
* GUIBuilder
 
* GUIBuilder
 
* JPEG2Movie
 
* JPEG2Movie
  +
* U2C

Revision as of 15:47, 2 December 2021

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

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.

Documentation

emWin's user manual can be found in the Doc folder of a shipment.

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