Jump to content

Joel Bodenmann

Administrators
  • Posts

    2,620
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by Joel Bodenmann

  1. There are currently no board files for the STM32373C-EVAL board. You have to create them yourself.

    If the drivers for your screen already exist, it's simply a matter of linking the stuff in the board makefile and create the appropriate board files. Please take a look at one of the many pre-made ones you can find in /boards/base.

    Otherwise you first have to create your display driver. At least the initialisation routine can be taken from the STM demo code.

    Feel free to ask when you face any problems. Most people get their drivers work in one or two days. However, proper C skills are required, of course. But as you are dealing with that kind of board, that shouldn't be any problem.

    ~ Tectu

  2. Hello madokapeng and welcome to the µGFX community!

    What you want is the 2.0 release of µGFX (ugfx-release-20.zip). ChibiOS/GFX was the previous name of the project and hence the 1.7 release was before the current 2.0.

    However, it's recommended to use the git repository master, as there are lots of bug fixes happening after each new release. The 2.0 is a bit unstable as every .0 release is (classing software designer issue). If you take a look at the git history, you can clearly see that there are a lot of bug fixes since the release.

    ~ Tectu

  3. Right now, what I do is saving timestamps and doing no GUI output when events happen, e.g. start_of_measurement notification. This is not ideal since I want to put out lots of debug data.

    NEVER put debugging data on an LCD. As soon as you remove it again (once your systems appears to do what you want it to), you change the entire behaviour of the system. Debug data is supposed to be retrieved through your controller debugging port or through any other suited interface. Only put stuff on your LCD that you eventually want on it once you finished your project.

    ~ Tectu

  4. According to this picture there is an A and a B version of this board where the A only works with the parallen interface and B only with SPI. Are you 100% sure that you have the SPI version?

    Two things to do: First, check out their example code and replace the initialisation routine of the µGFX driver by theirs (just the register values). Probably the initialisation code for the SPI mode is different. If that does still not work, you might want to try to use the parallel interface by connecting it to the FSMC peripheral of the STM32F4. There's a guide on the µGFX site that tells you what to do.

    Do you have a scope accessible so you can check for proper SPI signals?

    ~ Tectu

  5. I cannot see anything obvious there as you are using the same board file. I PM'ed uweng14 so let's hope he looks by soon. Probably he has a newer version of those files.

    What exactly do you see on your screen? Do you see random data (like colored snow?). That would mean that the controller has been initialised properly so far.

    P.S.: Try to call a gdispClear(Black); right after the gfxInit();.

    ~ Tectu

  6. What was you final configuration and your wiring? I am facing the same problems and your experience could serve useful for fixing my own problem

    Hello erwinkendo and welcome to the community!

    What problems are you facing? Could you give some more information about your setup i.e. if you're using the STM32F407-Discovery board too and what interface you're using? The ILI9320 driver itself seems to work properly (just tried myself).

    ~ Tectu

  7. I don't see any problem there. The provided Makefiles within the example directories are of course supposed to include the board files for the board they are written for.

    You are of course not supposed to include the board files of a board you do not own in your project directory, hence the # your board comment. The guide states this:


    If you're using some well known dev board, it's very likely that there are already board files for this board. Inside the /boards/base/ directory, you can find the supported boards. Simply include the board.mk for the appropriate board in your Makefile.

    I will try to rewrite the "Get µGFX" guide within the following week - there was just too little time.

    Long story short: Don't include board files of a board you do not want to use.

    ~ Tectu

  8. You are right - there's a problem. I'll fix that as soon as I get time (won't be before wednesday, I'm afraid).

    Thank you very much for finding and reporting.

    If you have any other issues by compiling µGFX 2.0, please open a new thread.

    ~ Tectu

  9. Can you please give some more information about bad paths etc?

    We built every single /boards/base/ before the release and it seemed to work fine.

    Please open a new thread with an appropriate thread name in the development & feedback section.

    ~ Tectu

  10. Hello steved and welcome to the community.

    The major performance "issue" you will face is the actual interface speed between you and your display controller. 800x480 are quite a lot of pixels that need to be handled. Within our algorithms, we try to just modify the area which needs to be (no complete screen redrawings). However, if you build some GUI inteface like

    where you clear the complete screen often, you will still observe quit a long build-up time if you use a slow interface. The display controller used in the video is an SSD1963 as well, but in 8-bit mode. Using the 16-bit mode instead would lead to a very big performance gain.

    Long story short: Choose a microcontroller which provides a fast parallel interface to talk to your SSD1963. Every STM32F1xx and STM32F4xx MCU does provide a 16-bit FSMC interface. Make sure you get a package with enough pins for all your stuff as the FSMC will eat up 20 pins (watch out for pin collisions!)

    If you can afford it (no mass production etc), go for some STM32F407 instead of an STM32F1xx as that one runs on a frequency twice as high. Also, more RAM and FLASH is never a bad option anyway. You might just need the basic elements like buttons and check boxes, but the GUI will look A LOT nicer if you blit some custom bitmaps (images) over them. With 1MB of flash, you can store a lot of bitmaps :)

    I hope that answers your question a bit - feel free to ask any further.

    ~ Tectu

  11. That sounds about right. However, you'll have to create a file called board_KS108 instead of the gdisp_lld_board.h when you're using the new GDISP structure - which I highly recommend (you'll see that by looking at the SSD1306 from the GDISPStreaming branch as well). When you don't use that branch, your driver won't work with anything after µGFX v1.9.

    The project you linked seems about right to get some information about how to talk to the display. However, make sure you're not violating any licenses.

    ~ Tectu

  12. Welcome to the community and thank you very much for your kind words! Let's keep in mind that the quality and the success of the projects depends a lot on contributions from community members as well :)

    There's currently no driver for the KS108 display controllers. It shouldn't be a big problem to write one yourself. I'd suggest you to take the SSD1306 driver as a template because this is a monochrome display driver as well. I assume that the used interface is similar to the HD44780 (TDISP module) driver (16-bit parallel with WR/RD). Therefore you could have a look at that to get an idea on how to implement the interface.

    The forum is always available for questions, should you face any problems.

    One last thing: µGFX 2.0 is supposed to be released within a week or two. There are critical changes to the GDISP driver structure. Therefore I'd suggest you to directly write your driver for that new structure. For that, just take the GDISPStreaming branch, instead of the master branch from the repository.

    ~ Tectu

  13. I took a quick look at the board_SSD1306_spi.h file of the current GDISPStreaming branch:


    static const SPIConfig spi1config = {
    NULL,
    /* HW dependent part.*/
    SSD1306_MISO_PORT,
    SSD1306_MISO_PIN,
    0
    //SPI_CR1_BR_0
    };

    This is actually the CS, not the MISO port and pin.

    I don't want to touch file in case of inmarket is still working on it - could you please fix this as well?

    Also note that there's a missing (void)g; in the write_cmd() call.

    ~ Tectu

  14. I'm sorry, but I don't really use ChibiStudio myself. I myself develop without any IDE since I got fed up by all this crazy stuff. I wrote this guide back the days in case of you're interested. Using that method, you won't have any problems with the Makefile modifications etc. at all because the Get µGFX Guide is 100% accurate for that method.

    Otherwise I suggest you to take the working F407 Discovery demo and start building your own stuff around it.

    ~ Tectu

×
×
  • Create New...