Difference between revisions of "Getting Started"

From uGFX Wiki
Jump to: navigation, search
Line 4: Line 4:
 
Before you start, please make sure that your application and the use of µGFX meets the [http://ugfx.org/license.html license] of this project. Please [http://ugfx.org/about contact us] should you have any questions regarding licensing.  
 
Before you start, please make sure that your application and the use of µGFX meets the [http://ugfx.org/license.html license] of this project. Please [http://ugfx.org/about contact us] should you have any questions regarding licensing.  
  
We understand that integrating µGFX into your project might be the most difficult one for most users. Please do not hesitate to [[#Support|ask for help]] should you face any issues.
+
We understand that integrating µGFX into your project might be the most difficult part for most users. Please do not hesitate to [[#Support|ask for help]] should you face any issues.
  
 
== Stable release ==
 
== Stable release ==

Revision as of 13:08, 3 July 2015

If you're using the ChibiStudio IDE, please follow this guide: Using ChibiStudio.

There are two ways to get a copy of µGFX: A stable release and the latest version from the git repository. We currently strongly recommend to use the git repository. Before you start, please make sure that your application and the use of µGFX meets the license of this project. Please contact us should you have any questions regarding licensing.

We understand that integrating µGFX into your project might be the most difficult part for most users. Please do not hesitate to ask for help should you face any issues.

Stable release

A copy of a stable release of µGFX can be downloaded from the download section.

Repository

Please note that the following guide has been written for unix-like systems using the terminal. For Windows you may use a graphical git client such as SourceTree.

µGFX is developed through a git repository hosted at bitbucket.org.

cd /path/to/your/project/resources
git clone https://bitbucket.org/Tectu/ugfx ugfx

Architecture

Understanding the architecture of the µGFX library is rather important. See Architecture.

Integrate µGFX

After you have successfully obtained a copy of µGFX, you have to include it into your current project. Note that µGFX internally uses Makefiles.
You can find detailed descriptions for the currently supported platforms below. However, adding new platforms is fairly easy. See the GOS documentation to learn how.

It is highly recommended to start by getting the display running using the GDISP module. As soon as the display is working, the touchscreen can be set up.

If you're using an IDE which is not able to use external Makefiles, please read this article.

Board files

Certain modules of µGFX such as the display and touchscreen drivers require a file which builds the interface to your actual hardware. This board file tells the µGFX how to talk to your hardware.
The documentation of every module shows how to create these board files.
See board file.

Configuration

The entire configuration of µGFX happens in a file called gfxconf.h which you have to create. A template that can be copied can be found in /gfxconf.example.h. The configuration is crucial so please make sure that you at least scrolled once through the configuration article.

Demos

The /demos directory contains a variety of different demos, reaching from single feature (per module sorted) demos up to complete application demos. These demos can be compiled easily by adding the corresponding demo.mk file to your Makefile. For example:

include $(GFXLIB)/demos/modules/gwin/widgets/demo.mk

Note: When including a demo Makefile, you have to make sure that you don't compile any other sources with it (eg. exclude your own main.c form the compilation process).

Support

There are two ways to get support for your µGFX related problems:

  • Free public support by the community through the discussion forum
  • A support agreement / contract

Please do not hesitate to contact us if you're interested in a support agreement.