-
Posts
2,639 -
Joined
-
Last visited
-
Days Won
2
Content Type
Forums
Store
Downloads
Blogs
Everything posted by Joel Bodenmann
-
Feel free to open a thread in the support section of this forum stating what you're trying to accomplish, what you already have (how far you got) and what problem(s) you're facing. "Doesn't even compile" is not enough information for us to help you in any way.
-
If you're having issues compiling µGFX successfully, you can always open a thread in the support forum where you'll find people that are happy to help where they can. µGFX is being compiled a lot against / for the win32 platform as it is being used a lot as a development environment.
-
Hello and welcome to the µGFX community. Providing pre-built libraries (either static or dynamic) for µGFX is not a very good idea. The library makes heavy use of compile time optimization based on the various configuration options given in the main configuration file and the driver configuration files. All those compile-time options influence the code that is being presented to the compiler during the pre-processor stage. Therfore, the binary code produced by the compiler (and eventually also the linker) depend on those options. This reason makes it very useless to publish binaries. For certain things such as the GDISP feature set we could just enable everything which would result in a larger binary and call it a day but for many of the other options that's simply not possible because the pre-processor makes changes based on the underlying system, the compiler being used and so on. Furthermore, some options are application specific (eg. GDISP_NEED_MULTITHREAD). TL;DR: Publishing pre-built binaries for uGFX is not a good idea because of lots of pre-processor modifications.
-
Thank you for bringing this to our attention. We have fixed the problem.
-
The imagebox widget (in the code the GImageObject structure) contains the gImage member. I didn't try it but you should be able to just open a file regularly and load it into a gImage object (named gdispImage in older versions of the library) and then assign that to the imagebox widget's gImage member. Afterwards you have to trigger a re-render of the imagebox widget. Note that the underlying widget object should always be treated as a blackbox and you should only use the GWIN highlevel API passing GHandle around. If you want this functionality I'd recommend that you implement a proper API call for this in the imagebox widget. Pull requests are of course welcome ?
-
The clearing operation is currently hard coded in the GDISP driver post-init procedure: https://git.ugfx.io/uGFX/uGFX/src/master/src/gdisp/gdisp.c#L659 It would be rather easy to wrap that call in a macro such as `GDISP_STARTUP_CLEAR` so that it can be controller in the configuration file. Pull requests are welcomed ?
-
Hello & welcome to the µGFX comunity! The µGFX library has been designed to be completely agnostic. In the 7 years of its existence we never came across a situation (platform, operating system, compiler, architecture, ...) where µGFX didn't run on. The library comes with built-in drivers to run on Linux. The "Linux drivers" support X, SDL or direct kernel framebuffer. You can find more information in the documentation (eg. the wiki & API docs). There is no existing display driver for the ATSAMA5D36. Which driver is the closest to take as a starting point depends on how the display controller works. µGFX supports all possible display driver models (see the driver docs wiki). You can find all existing drivers in the /drivers/gdisp directory. We're happy to help where we can - The more specific questions you ask the further we'll get.
-
Hi, Currently there's no way to modify the behavior of the default clearing & orientation of the pixmaps. The startup color clearing behavior is implicitly implemented by the fact that a pixmap is just regular GDISP driver like any other "real" / "physical" display. The GDISP driver calls gdispInit() as part of the driver initialization - and therefore also when creating a new pixmap. The orientation is simply hardcoded. You can find the related code here: https://git.ugfx.io/uGFX/uGFX/src/master/src/gdisp/gdisp_pixmap.c#L113
-
Hello and welcome to the µGFX community! Those fonts (and the two UI fonts) have been custom designed by the µGFX developers. The sources of these fonts are not openly available and therefore there won't be any easy solution for you to modify them. If you're a commercial customer you can contact us via e-mail to further discuss possible solutions.
-
Just before we dive too much into this: Can you replicate the same issue with the latest version of the µGFX library? The font stuff (especially wrapping and alignment/justification) has been reworked intensively in a release after 2.4 (can't remember, was 2.7 or 2.8 I think - check the changelogs). If you integrated µGFX properly into your project you should be able to just replace the library directory. If upgrading is for some reason not an option, I'd recommend you to first investigate and re-evaluate why that is not an option and if the situation stays the same you can go through the changelogs and git history to figure out which patches were applied to this and cherry-pick those patches to your copy of µGFX 2.4.
-
Glad to hear that you got it working - Thanks for sharing with the community!
-
nice. happy to hear that you got it working - good job!
-
Thank you for your suggestion. If you feel like opening an µGFX channel please feel free to do so. We're happy to promote it here and on our website - I'd also join in personally. However, we're not going to do / maintain this ourselves. We have done this in the past (eg. the #ugfx channel on freenode) but we mainly stopped doing that as we prefer to invest our time into development.
-
Hi, The best way to get started is by reading the corresponding wiki article: https://wiki.ugfx.io/index.php/Display_Driver_Model You might also want to take a look at the countless examples in for of existing drivers which you can find in the /drivers directory in the library. If you have any specific questions you can always ask here on the forum - we're happy to help where we can.
-
Hi, The font converter engine supports TTF and BDF font files. I think the font converter should reject other files but maybe that's not the case and it can't process at some point. The online font converter definitely checks for the proper file extension.
-
Make sure that all your DMA stuff is setup properly (i.e that there are no conflicts). Keep in mind that the DMA stuff is not part of µGFX - it's part of the application. You need to configure all the DMA components in a way that it works for the entire application. You might also find this forum post helpful:
-
What exactly is "1mg" or "1Mg"? If you also need OpAmps you might want to have a look at the "PSoC" series of Cypress. The PSoC 4, 5 and 6 all feature Cortex-M cores. Those devices come with your regular amount of peripherals (SPI, I2C, ...) but also feature programmable analog components such as OpAmps, comparators and so on. There's a guide on how to use µGFX with the PSoC creator studio (their IDE) in our wiki.
-
Hello and welcome to the µGFX community! The answer to all your questions is: Yes. µGFX has been written to run on virtually any system/platform. The STM32F103 is very well supported. In fact, when I started writing µGFX the initial development took place on an STM32F103RB6T. However, while still working great the STM32F103 is "quite an old" chip by now. There have been several revisions on even basic things such as the SPI and I2C peripherals ever since then (and they provided huge improvements). If you could better state your requirements (especially in terms of memory & CPU resources) we might be able to recommend a "better" chip to you. But keep in mind that this would just be optimizing: µGFX will definitely run just well within the environment that you described. µGFX also allows you to compile your resources (eg. images) directly as part of the application itself using GFILE's ROMFS so you don't have to fiddle around with linker scripts.
-
Did you set your GFX_CPU macro to the appropriate value (eg. GFX_CPU_CORTEX_M7_FP in your case)? If you keep using the Raw32 port setting that macro will ensure that the assembly code is understandable by Keil (together with GFX_COMPILER_KEIL). You can find more information in the documentation: https://wiki.ugfx.io/index.php/GOS
-
I fully agree with @inmarket here. We've yet to come across a C-Compiler that can't handle µGFX. We're running this project for over 7 years now and never encountered any issue on this end of things. As before: We're happy to help where we can - but you need to provide a bit more information.
-
We've successfully used Keil µVision MDK v5 in multiple projects - including customer projects. You can find the corresponding guide here: https://wiki.ugfx.io/index.php/Using_Keil_µVision_5_MDK-ARM. Don't forget to set the GFX_COMPILER macro to GFX_COMPILER_KEIL in your configuration file! If you tell us more about the errors you're facing we might be able to help you.
-
Hello & welcome to the µGFX-Community! The Linux framebuffer driver is meant to directly operate on the framebuffer memory provided by the Linux kernel (if this feature is enabled). It's a device such as /dev/fb0 (or similar) that the Linux kernel provides as a framebuffer. If you do not want to use this framebuffer but render to a different display you'll have to provide a GDISP driver for this. As you mention SPI I assume that you have a dedicated display controller. In that case, check whether your display controller is already supported by the µGFX library. Otherwise you'll have to write your own driver.
-
uGFX + FreeRtos + STM32L1 + stucked vTaskStartScheduler()
Joel Bodenmann replied to tombalabomba's topic in Support
The upload issue is fixed - Please excuse that this took so long. -
This is most likely a mismatch of the color formats. Check the color format configuration of your GDISP driver (eg. /drivers/gdisp/RA8875/gdisp_lld_conf.h). It defaults to RGB565. You have to ensure that the display controller on the other end is using the same color format as specified in the GDISP driver configuration.
-
I think you need to read the first few basic articles of our documentation such as this [1] and this [2] to understand things like what a module is and how to enable or disable modules. [1] https://wiki.ugfx.io/index.php/Architecture [2] https://wiki.ugfx.io/index.php/Configuration