Embedded Software Solutions

 

Graphic software for b/w, grey scale and colour LCDs

emWin is designed to provide an efficient, processor- and LCD controller-independent graphical user interface (GUI) for any application that operates with a graphical LCD. It is compatible with single-task and multitask environments, with a proprietary operating system or with any commercial RTOS. emWin is shipped as "C" source code. It may be adapted to any size physical and virtual display with any LCD controller and CPU. Its features include the following:

 
General

  • Any 8/16/32-bit CPU; only an ANSI "C" compiler is required.
  • Any (monochrome, greyscale or colour) LCD with any controller supported (if the right driver is available).
  • May work without LCD controller on smaller displays.
  • Any interface supported using configuration macros.
  • Display-size configurable.
  • Characters and bitmaps may be written at any point on the LCD, not just on even-numbered byte addresses.
  • Routines are optimized for both size and speed.
  • Compile time switches allow for different optimizations.
  • For slower LCD controllers, LCD can be cached in memory, reducing access to a minimum and resulting in very high speed.
  • Clear structure.
  • Virtual display support; the virtual display can be larger than the actual display.

Window Manager

  • Complete window management including clipping. Overwriting of areas outside a window's client area is impossible.
  • Windows can be moved and resized.
  • Callback routines supported (usage optional).
  • WM uses minimum RAM (app. 20 bytes per window).

Optional widgets for PC look and feel

  • Widgets (window objects, also known as controls) are available. They generally operate automatically and are simple to use.


 

The Drivers (Layer1)

A display driver supports a particular family of display controllers (typically LCD controllers) and all displays which are connected to one or more of these controllers. The driver is essentially generic, meaning it can be configured by modifying the configuration file LCDConf.h. The driver itself does not need to be modified. This file contains all configurable options for the driver including how the hardware is accessed and how the controller(s) are connected to the display.

Configurable options include the following:
LCD_XSIZE horizontal resolution
LCD_YSIZE vertical resolution
LCD_XORG horizontal position on the logical screen
LCD_YORG vertical position on the logical screen
LCD_MIRROR_X mirrors horizontal axis if activated
LCD_MIRROR_Y mirrors vertical axis if activated
LCD_SWAP_XY swaps x/y axes

PC tools

Memory device contexts available

Memory device contexts allow creation of a section to output to the display in the memory of the CPU. All drawing operations can be used. When the image has been build completely, it is transferred to the display in a single operation, allowing flicker free updates even with slow CPUs or slow displays.

Multi layer/multi display support

More and more graphic controller manufacturer (Fujitsu/Toshiba) offer a flexible layer concept. The multiple layer/multiple display feature allows you to access more than one layer. It also allows you to use multiple displays in your embedded application. This feature is part of the basic package. You do not need additional software to use the multi layer support. Right now up to 5 layers/displays can be supported.

VNC support

VNC stands for "Virtual Network Computing". It is, in essence, a client server system based on a simple display protocol which allows the user to view a computing 'desk- top' environment not only on the machine where it is running, but from anywhere on the Internet and from a wide variety of machine architectures. Client and server communicate via TCP/IP. emWin VNC support is available as a separate package.

Windows simulation using Microsoft Visual C++

A simulation environment under MSVC++ is available. It can be used to write and test the entire user-interface on the PC (all routines are 100% identical to your embedded application, no matter what CPU or LCD you are using). This makes debugging and development easy and convenient. Generating screen-shots of the LCD is a snap. These screenshots can then be inserted into documentation. emWinView, a separate program shows the contents of the simulated LCD even during debugging.
 

Application note

Using the MCU/CPU as LCD controller

Samples

A lot of samples "C" code are provided to demonstrate the emWin features. and can also be used by customers in similar applications.

Dialogs

A dialog box (or dialog) is normally a window that appears in order to request input from the user. This widget is included in the Window Manager/Widget package which is optional.

Touch screen support

Touch screen support for analog touch panels is available. This includes a low level driver,which handles the analog input (from an 8 bit or better AD-converter), debouncing and calibration of the touch screen. The window manager deals with touch messages and widgets such as button objects. It takes no more than one line of code to create a button or another widget, which then automatically handles touch messages and reacts accordingly.

Touch-screen & mouse support

  • For window objects such as the button widget, emWin offers touch-screen and mouse support.

Antialiasing

Antialiasing is the smoothing of lines and curves. It reduces the jagged, stair-step appearance of any line that is not exactly horizontal or vertical. emWin supports different antialiasing qualities, antialiased fonts and high-resolution coordinates. It is an optional package.

emWin Starterkits

"Ready-to-go" starterkits allow you to work on real hardware and get familiar with emWin as well as with the microcontroller and other development tools.

 

For more information please contact the MicroWay sales team:
Head Office
MicroWay Pty Ltd
PO Box 84,
Braeside, Victoria, 3195, Australia
Ph: 1300 553 313
Fax: 1300 132 709
email: sales@microway.com.au
ABN: 56 129 024 825
Sydney Sales Office
MicroWay Pty Ltd
PO Box 1733,
Crows Nest, NSW 1585, Australia
Tel: 1300 553 313
Fax: 1300 132 709
email: sales@microway.com.au
ABN: 56 129 024 825
New Zealand Sales Office
MicroWay Pty Ltd (NZ)
PO Box 912026
Victoria Street West
Auckland 1142, New Zealand
Tel: 0800 450 168
email: sales@microway.co.nz
buynow.gif (557 bytes)


International: call +61 3 9580 1333, fax +61 3 9580 8995

 

© 1995-2008 MicroWay Pty Ltd. All Rights Reserved. Terms and Privacy Policy.