WebRadioApp  0.1
ewmain.h File Reference

This file implements a generic framework for running Embedded Wizard generated GUI applications on a dedicated target with or without the usage of an operating system. The module ewmain contains three major functions that are used within every Embedded Wizard GUI application: EwInit() - EwProcess() - EwDone(). These functions represent the lifecycle of the entire GUI application. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TOOLCHAIN_STRING   "unknown"
 
#define VECTOR_GRAPHICS_SUPPORT_STRING   "enabled"
 
#define WARP_FUNCTION_SUPPORT_STRING   "enabled"
 
#define INDEX8_SURFACE_SUPPORT_STRING   "enabled"
 
#define RGB565_SURFACE_SUPPORT_STRING   "enabled"
 
#define BIDI_TEXT_SUPPORT_STRING   "enabled"
 
#define GRAPHICS_ACCELERATOR_STRING   "none"
 
#define OPERATING_SYSTEM_STRING   "none"
 
#define EXTERNAL_FLASH_STRING   "none"
 

Functions

int EwInit (void)
 EwInit() is responsible to initialize the system, to configure the display, to get access to the desired input devices (like keyboard or touch), to initialize the Embedded Wizard Runtime Environment / Graphics Engine, to create an instance of the application class and to initialize all needed peripheral components. More...
 
void EwDone (void)
 EwDone() is responsible to shutdown the application and to release all used resources. More...
 
int EwProcess (void)
 EwProcess() implements one cycle of the main loop. This function has to be called in an (endless) loop and contains typically the following steps: More...
 
void EwPrintSystemInfo (void)
 This function prints system and configuration information - very helpful in case of any support issues. More...
 

Detailed Description

This file implements a generic framework for running Embedded Wizard generated GUI applications on a dedicated target with or without the usage of an operating system. The module ewmain contains three major functions that are used within every Embedded Wizard GUI application: EwInit() - EwProcess() - EwDone(). These functions represent the lifecycle of the entire GUI application.

Author
Kevin Bello (k.bel.nosp@m.lo@t.nosp@m.um.de) EwInit() is responsible to initialize the system, to configure the display, to get access to the desired input devices (like keyboard or touch), to initialize the Embedded Wizard Runtime Environment / Graphics Engine, to create an instance of the application class and to initialize all needed peripheral components.

EwProcess() implements one cycle of the main loop. This function has to be called in an (endless) loop and contains typically the following steps:

  1. Processing data from your device driver(s)
  2. Processing key events
  3. Processing cursor or touch screen events
  4. Processing timers
  5. Processing signals
  6. Updating the screen
  7. Triggering the garbage collection

EwDone() is responsible to shutdown the application and to release all used resources.

Important: Please be aware that every Embedded Wizard GUI application requires the execution in a single GUI task! If you are working with an operating system and your software is using several threads/tasks, please take care to access your GUI application only within the context of your GUI thread/task. Use operating system services to exchange data or events between the GUI thread/task and other worker threads/tasks.

In order to keep this framework independent from the particular GUI application, the application class and the screen size are taken from the generated code. In this manner, it is not necessary to modify this file when creating new GUI applications. Just set the attributes 'ScreenSize' and 'ApplicationClass' of the profile in the Embedded Wizard IDE.

For more information concerning the integration of an Embedded Wizard generated GUI application into your main application, please see https://doc.embedded-wizard.de/main-loop

Version
0.1
Date
2021-04-17