Jump to content

Joel Bodenmann

Administrators
  • Posts

    2,656
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by Joel Bodenmann

  1. The first error is because you enabled the GDISP module but you haven't added any GDISP driver. To get started simply disable the GDISP module (and any other module!) in the µGFX configuration file (gfxconf.h).

    The other errors are most likely indicating that you haven't enabled a GOS port. You need to specify the underlying system you're using in the configuration file.

  2. I'd like to add some info: This is not a hardware problem but how your uGFX board file(s) are configured. That's the reason why you're getting better performance with a different solution. The LTDC stuff allow for a lot of different configurations - You have to go through everything and figure out what the right ones for your hardware are. Especially check on DMA2D.
    Also don't forget to set your CPU and compiler in the uGFX configuration file.

  3. Hi,

    Making ready-to-run projects is very difficult as it depends completely on the underlying hardware. If you're using some sort of development board/kit you should get a project for that and then just add µGFX as described in the detailed step-by-step guide for Keil in the documentation.

    µGFX is completely platform/hardware agnostic which means that it will run on almost anything. The normal workflow is that you get your stuff running without µGFX (eg. taking a sample project that comes with the development board/kit that you use) and then you'll add µGFX to it.

  4. The display controller is physically connected to your microcontroller/system via some kind of bus. For example parallel or SPI. The acquire_bus() and release_bus() functions are called by the driver itself (which is independent from what interface/bus is being used) before and after making a bus transaction. These functions allow you to acquire the bus before talking on it and releasing it once you're done.

    In case of a simple SPI interface this is where you want to set your CS pin level accordingly. More complex systems might need to call OS functions to acquire/request bus access and stuff like that.

    The GDisplay structure represents the actual display. You can have a look at the documentation to figure out what information is contained. Usually you're interested in this when dealing with multiple displays or requiring the private board file area.

  5. 15 hours ago, emeb said:

    Is there an alternative way for me to update text on the display that would operate in a single pass? In other graphics libraries I've used off-screen buffers for this, but for uGFX that would mean pixmaps which as I understand it are not available for me because I'm using single-file include.

    Yep, that's correct: Pixmaps are meant to be used for this.
    Single-file inclusion is just a method designed to be as comfortable as possible. You can always include the µGFX library sources the classical way. It's just a bit more work. But now that you already know µGFX a bit it should be fairly simple :) 

  6. In general you don't want to build µGFX as a static library because there is A LOT of pre-processor magic happening that optimizes tons of things during compile time. We've had many customer projects where they wanted to build µGFX as a static library. After some short argumentations they usually dropped that idea fast - except for one customer. And from there on it was a constant pain in the butt. A lot of time was lost due to different problems that only arose due to building µGFX as a static library.

    I'm currently on the road so I've limited comfort to write down detailed reasons. But in general: No you don't want to do that except some very specific special cases where you'd know that you want that and why.

    I hope that helps.

  7. Hello & welcome to the µGFX community!

    You will certainly be able to run µGFX on that hardware with that SDK.
    There's not really much to it. As expected: Setup a working project and then add µGFX to it. As you've mentioned there are guides for that (you might want to have a look at the agnostic guide as well).

  8. GDISP drivers have an interface for reading out the framebuffer. You can use that to get direct access to the pixel data. But keep in mind that uGFX itself doesn't need a framebuffer. So there are certain setups where this won't be possible because there's no framebuffer accessible.

    If this is a higher end application you might already be using Pixmaps which are essentially framebuffers. The Pixmaps have high-level API to return a gdispImage object of the framebuffer contents.

×
×
  • Create New...