Files posted by Joel Bodenmann
This is the actual µGFX library - the real deal!
The µGFX library is completely free, without any restrictions, for home, hobby & educational use. Please note that you have to purchase license in order to use µGFX in a commercial project or product. Note that these licenses are very affordable and can be purchased directly through our web store. You can find more information about commercial licenses and the available pricing options here: http://ugfx.org/pricing
You can also access the official Git repository if you like to use Git or make contributions via pull requests: https://git.ugfx.io/ugfx/ugfx
The µGFX-Studio is a tool that allows quickly developing a working GUI using the µGFX library. The studio provides a very simple to use drag'n'drop editor and offers advanced features such as support for custom widget styles and custom fonts.
Easy to use, drag'n'drop interface Create multiple display pages WidgetStyle designer FontManager - Use any font you want ImageManager - Use any image you want Custom rendering function editor
Please note that the µGFX-Studio is currently in beta phase. This software is not meant to be used in a productive environment. We do not guarantee compatibility of µGFX-Studio project across different version of the µGFX-Studio although we give our best to ensure that projects can be used with future releases as well.
This is a side-project and the µGFX-Studio does not reflect the performance and the features of the actual µGFX library itself. If you don't find a feature in the µGFX-Studio it doesn't mean that the µGFX library doesn't offer that.
We rely on your feedback to improve the quality of the software by fixing bugs and adding new features. Please report any bugs and feature requests to the µGFX forum. We will handle all bug reports and feature requests as quickly as possible.
Support & Feedback
Please leave all your feedback and support requests in this forum topic:
This is a ready-to-run demo project for the STM32F429i-Discovery board using ChibiStudio.
Please read the readme.txt file that comes as part of this download for instructions on how to use this project.
This is a minimal example implementation of a custom dial widget. The download contains a ready-to-run example project.
Please note that this implementation is far from perfect. This widget has not been designed to be perfect but to demonstrate how custom widgets can be created. Do not use this widget in a productive environment. This list mentions the most important limitations & optimization possibilities:
The widget expects that the supplied dial face image (last parameter of the dialCreate() function) has the same dimensions as the widget itself. The widget doesn't implement handlers for mouse, keyboard, toggle or dial input events. That means that it's currently a passive widget. Therefore, it could be implemented as a window rather than a widget to save a few more bytes of memory. The needle polygon gets "recalculated" each time the widget is being re-rendered. That is not necessary. This can be optimized so that the polygon is only calculated when creating the widget. The entire image is redrawn when the angle of the needle changes. This operation could be optimized by just clearing the area the old needle covered. However, that depends on the dial face graphic. In our example it would be possible to just draw the minimum rectangle that contains the old needle using the background color. That wouldn't be possible if the dial face image also has "content" below the needle. Hence this optimization is somewhat application specific. The example program uses a PNG encoded image for the dial face. That is anything but efficient on a low-power embedded platform. The current version of µGFX doesn't provide anti-aliasing for arbitrary shapes. Therefore, the needle will look quite "zaggy" in some positions. This effect can be minimized by making the widget and the needle larger. Theoretically it would be possible to use the existing slider or progressbar widget and implement the dial as a custom rendering routine. However, that would impose certain limitations when implementing handling of touch events. Fixed instead of floating matrix operations can be used in the drawing function to transform & rotate the needle polygon to improve resource requirements. Along with that, GMISC_NEED_FASTTRIG can be used to use lookup tables for the calculation of the rotation angle rather than using the clib implementations. For more information, please see here:
A minimalistic template project to run µGFX on Windows (Win32 platform).
For a complete step-by-step tutorial, please visit: https://wiki.ugfx.io/index.php/Raspberry_Pi
This download contains the SD-Card image (Raspbian) for a Raspberry Pi 3 Model B running µGFX using the Linux framebuffer.
/home/pi/Documents/hello_world contains a Makefile that allows running any uGFX application.
1. Copy contents of the sdcard_files to a Fat32 formatted microSD-Card 2. Insert the microSD-Card into a Raspberry Pi 3 Model B and boot from it 3. Connect a video output device (monitor, display via DSI, ...) 4. cd /home/pi/Documents/projects/hello_world 5. make 6. .build/hello_world
This is an example project that demonstrates how the µGFX library can be used on the PSoC 5 platform.
This demo assumes an ILI9341 display connected to the CY8CKIT-059 PSoC 5LP Prototyping Kit.
Please read this article for more information on how to use µGFX on a PSoC platform: https://wiki.ugfx.io/index.php/Using_PSoC_Creator
PSoC <---> ILI9341
P2.0 <---> Reset
P2.3 <---> D/C
P2.4 <---> MISO
P2.5 <---> MOSI
P2.6 <---> SCK
P2.7 <---> CS
This download contains an example implementation of a statusbar. The statusbar has the following features:
File to display the system time Icon to show that a USB connection is present. Can be clicked if it's shown. Icon to show that an SD-Card is present. Can be clicked if it's shown. Icon to show a settings dialog. Note that this widget is very application specific. It should be modified as needed to fit the target application.
The download also contains a ready-to-run example project.
The project has not been optimized to use as little resources as possible. Please adjust the configuration to fit your needs!
The widgets demo for the STM32F746 using Keil µVision and Keil RTX.
The virtual on-screen keyboard demo for the STM32F746 using Keil µVision and Keil RTX.
The bubbles demo for the STM32F746 using Keil µVision and Keil RTX.
This is a template project for using the STM32F746G-Discovery board with µGFX using the make build system (Makefile). No operating system is used. This is a bare metal project using CMSIS and the ST HAL.
This project has been tested successfully using the GNU ARM toolchain (GCC) version 5.3.1
A simple demo for the STM32F429i-Discovery board using ChibiOS.
This example uses an STM32F401RE-Nucleo board to drive a 128x64 pixel SSD1306 based OLED display. ChibiOS is used as the underlying system.