-
Posts
2,639 -
Joined
-
Last visited
-
Days Won
2
Content Type
Forums
Store
Downloads
Blogs
Everything posted by Joel Bodenmann
-
Regarding your new GEVENT related problem: The structs werencleaned up and all the field holding widget pointers are named gwin now. if (((GEventGWinButton*)pe)->button == ghConsole) becomes if (((GEventGWinButton*)pe)->gwin == ghConsole) and so on. ~ Tectu
-
It looks like you switched to a newer version of ugfx. We changed the board file interface of the GINPUT module a few months ago. You're board file is no longer compatible. However, the changes are minimal and you should be able to update your board file by looking at the new template in the drivers directory and the examples. Let us now should you hit any problems. ~ Tectu
-
Using uGFX on bare metal with STM32F4/EMbestDMSTF4BB
Joel Bodenmann replied to aymen's topic in Support
Just to clarify: You don't have to implement your own drivers, the drivers are already part of the uGFX library. What you have to do is implementing the board file which is just the interface through which uGFX talks to your hardware. Let us know should you face any other problems. ~ Tectu -
Using uGFX on bare metal with STM32F4/EMbestDMSTF4BB
Joel Bodenmann replied to aymen's topic in Support
Hello aymen and welcome to the community! The errors about the PWM that you're getting are because your'se using the ChibiOS/RT board files without actually using ChibiOS/RT. The board file that we provide for the STM32F4 Embest board are only for use together with ChibiOS/RT. If you don't want to use ChibiOS and go bare metal you have to implement your own board files. For this, please copy the empty template board files from /drivers/gdisp/SSD2119 (for the display) and /drivers/ginput/touch/STMPE811 (for the touchscreen) and implement them according to your setup. Note: You can copy the empty files without implementing them and the project will still compile. This is handy as you can make sure that your build environment is working properly before you start implementing the board files. In case of you're implementing board files for this board using the STDperiph library we would be happy to include them into the repository. ~ Tectu -
I sadly don't have a working Arduino myself. However, if you two figure out how to build the required library without too much hassle I'd be happy if we could write a guide about that for the wiki. ~ Tectu
-
That's correct. The Non-threaded branch is ongoing development towards an uGFX which is (optionally) able to run without any threads. inmarket is doing all the development there as I am currently focusing 100% of my time on the uGFX-Studio. I'm sure he'll let you know in case of he can use some help Thanks for your interest and curiosity! ~ Tectu
-
That is indeed the better solution! This is the wiki article containing some information regarding custom rendering interfaces: http://wiki.ugfx.org/index.php?title=Wi ... _interface ~ Tectu
-
The current implementation of the label widget does not provide the possibility to render a with a transparent background. The only widget that provides transparent background is the container. However, you can easily implement this yourself. What you need to change: Locate the function gwinLabelDefaultDraw() in the file /src/gwin/gwin_label.c, copy it, name it something like gwinLabelTransparentDraw() and replace all gdispGFillStringBox() function calls with the appropriate gdispGDrawStringBox() function calls. The only thing left to do is replacing the gwinLabelDefaultDraw entry in the VMT (line 53) with gwinLabelTransparentDraw. You should now have a transparent background. You can find the API of gdispGDrawStringBox() here: http://api.ugfx.org/master/group___g_d_ ... ddd6d6da52 We will eventually add a transparent background rendering option of the label widget ourselves (I put it on the ToDo list) but this won't happen before the weekend for sure. ~ Tectu
-
Can you please tell us the problems that you're facing? We can't help you when you don't tell us what's not working ;-) You can run uGFX on a RPi by either using the Linux port, running FreeRTOS on the RPi with uGFX on it or you could even use uGFX bare metal on the RPi (nobody tried that yet, I think). The simplest way is the first one as Linux is already running on the board and uGFX comes with a working Linux FrameBuffer driver. ~ Tectu
-
Can you please ask more specific questions and provide us with more information about the problem that you're facing? If you require commercial support please contact us through info@ugfx.org to request a quotation. ~ Tectu
-
This sounds like it will be very difficult to debug. Can you please add some kind of heart-beat thread that flashes and LED and prints out some text through the serial port every 500ms and see if it keeps running w/o any problems as soon as the display "freezes"? it might also be a good idea to check the signals on the physical interface of the display. ~ Tectu
-
are you absolutely sure that the rest of the system keeps running? If so this must be either some weird hardware issue or a bug in the LCD controller. To be more specific: Does this happen if you display something and leave it for 3-10 minutes without ever refreshing the contents of the display controller or does this only happen when you're writing something new? ~ Tectu
-
We're proud to announce that uGFX Version 2.3 was released just moments ago. Download The 2.3 release can now be downloaded as a ZIP archive form the downloads section. If you're a student or hobbyist and therefore permitted to use uGFX free of charge please consider donating to the project to help us developing this library. Donations can be submitted through the Paypal donation button on the downloads page. Changelog Let's have a look at the change log: FEATURE: Added more events to the slider widget FIX: Clean up visibility issues FIX: Correct moving of containers FIX: Fix GTIMER bug that could cause all timers to stop. FIX: Various minor driver fixes FEATURE: Add support for STM32 CCM memory with DMA in SSD1289 and SSD2119 FEATURE: New Tabset GWIN widget FEATURE: New keyboard driver interface with drivers for Win32 and X FEATURE: Support for keyboard layouts for non-english keyboards FEATURE: GDISP now supports pixmaps (in memory drawing) FEATURE: Rename files to improve experience in certain brain-dead IDE's FEATURE: Add a checkbox "Toggle Button" custom draw FEATURE: Add Tetris as an application demo FEATURE: Add HY-MiniSTM32V board support FEATURE: Add GWIN feature to flash any window/widget FIX: Lots of GDISP monochrome drivers fixed FEATURE: Added TLS8204 GDISP driver FIX: Fixes for the board files for Olimex SAM7EX256 FEATURE: Add a number of UEXT connector board files for Olimex SAM7EX256 FIX: Fix for error rounding in gdispFillConvexPoly() FEATURE: Vastly improved gwin arrow button drawing FIX: GINPUT toggle fixes FIX: GFILE_ALLOW_FLOAT compile error fixed FIX: GFILE_NEED_STDIO compile and emulation errors fixed FEATURE: Added STMPE610 driver by lliypuk FIX: Corrected self calibration code for driver STMPE811 FEATURE: Added Mikromedia Plus STM32-M4 board based on work by lliypuk & inmarket FIX: Work to improve the gdisp SSD1963 driver FEATURE: Added SSD1351 gdisp driver FEATURE: Added SSD1331 gdisp driver FEATURE: Added arduino as a GOS supported operating system FEATURE: Added additional pixel format's FIX: Color components fixed for some strange compilers FEATURE: Added GWIN virtual keyboard widget FEATURE: Added gwinListSetSelected() FEATURE: Added gwinListViewItem() FIX: GDISP driver color conversion when GDISP_PIXEL_FORMAT != GDISP_LLD_PIXEL_FORMAT Beside many fixes and general improvements some new features have been added to the library: Tabset The tabset is a new container that implements real tabs. Until now radio buttons with the custom tab rendering had to be used to create tabbed menus. This new container provides an easy to use API to dynamically create tabbed menus that can either fill just a portion or the entire area of the display. The API reference of the Tabset container can be found here: http://api.ugfx.org/master/group___tabset.html Keyboard interface A new interface has been added to the GINPUT module in order to process keyboard inputs. This new interface can be used to handle any kind of keyboard whether it be a real physical full sized QWERTY keyboard, some numpad or a virtuall on-screen keyboard. The keyboard interface API can be found here: http://api.ugfx.org/master/group___keyboard.html Keyboard Widget A keyboard widget as been added to GWIN which allows to display a virtual on-screen keyboard on a touchscreen device. The keyboard allows to dynamically change the layout during runtime. The API reference of the Keyboard widget can be found here: http://api.ugfx.org/master/group___keyboard.html Pixmaps A new feature called 'pixmap' has been added to the GDISP module. Pixmaps are framebuffers that can be created dynamically during runtime in RAM. These framebuffers allow to execute drawing / rendering operations directly in RAM and just blit the finished result to the display when finished. This can improve the performance of the system vastly as the main systems RAM is way faster to access and burst-writing a buffer to a display is faster than pixel-based access. Pixmaps can be created of any size during runtime. It's furthermore possible to blit the same pixmap to multiple different locations on the actual display. Pixmaps behave like real displays and are therefore very easy to use as any GDISP drawing/rendering function call can be called on them. The API reference for Pixmaps can be found here: http://api.ugfx.org/master/group___pixmap.html Drivers A few new display drivers have been added to the library: TLS8204, STMPE610, SSD1331, SSD1351 Arduino An Arduino port has been added to the GOS module. Therefore uGFX can now run out of the box on any Arduino system. Comments and any kind of feedback is welcomed!
-
ugfx example for stm32f429 discovery board
Joel Bodenmann replied to artem_dmitriev's topic in Support
The RAW32 port is is located under /src/gos/gos_raw32.*. Link for lazyness: https://bitbucket.org/Tectu/ugfx/src/88 ... ?at=master I'm sorry to disappoint you but there's currently no such widget. Implementing your own custom widgets is however feasible assuming that you know your C. There are already many examples and we're happy to help should you face any problems. ~ Tectu -
ugfx example for stm32f429 discovery board
Joel Bodenmann replied to artem_dmitriev's topic in Support
Hello zaher and welcome to the community! It's no problem at all to use uGFX without the make build system. However, as every IDE is different we didn't write any useful step-by-step guide. What you basically have to do is go through the src directory file by file and add what you need as you described yourself. This article might help a bit but don't expect too much. It is furthermore possible to use uGFX without any underlying OS at all as well. We provide a port that is called RAW32. This port can be used to run uGFX on any system. All you have to do is to implement two function regarding delays. These are basically just a matter of dividing and multiplying your systick and there are some examples available so the implementation should be pretty straight forward. To directly answer your question: What you need is the GDISP module, the GOS module (the RAW32 port) and the required GDISP driver. Personally I'd like to suggest to follow this guide in order to set up a working project for your STM32F429i-Discovery. Once your project is working adding uGFX will be very easy as the required display and touch drivers are already part of the official repository. Upgrading to an underlying OS such as ChibiOS/RT afterwards will be pretty easy as well. If you have any questions please do not hesitate to ask. We like to help where we can. ~ Tectu -
I hope this will not end in a GarbageCollector extension for uGFX :lol: :twisted: ~Tectu
-
Thank you for bringing this to our attention. We will have a look at this ASAP. ~ Tectu
-
Wow, nice job! Keep up the good work! ~ Tectu
-
Small bug(I think) in gwin_frame.c
Joel Bodenmann replied to TriZet's topic in Development and Feedback
Hello TriZet and welcome to the community! Thank you for reporting this bug. We will take a look at it as soon as possible and let you know when it's fixed in the repository. ~ Tectu -
Very nice! Keep up the good work! ~ Tectu
-
Did you ever try to / succeed in getting some I2C / SPI output on your microcontroller without uGFX running on it? Maybe you just forgot to enable the peripherals clock or setting the pin mode correctly. ~ Tectu
-
What hardware platform are you targeting? This might definitely look and feel a lot less smooth on a small microcontroller ~ Tectu
-
If you don't want to do it manually then the best option is to use an existing library. I don't know specific embedded solutions for this but I guess any C INI file parser that you will find using google will work. If you don't have the required resources then the best option is always to create your own set of configuration and settings structs and save them in binary to a file. You can then simply read back the raw data and cast it into the same struct again. You'll find a lot of examples on how to save and restore structs to binary files in C using google. ~ Tectu
-
Same here, sorry. I won't have any time until Tuesday evening next week. ~ Tectu