Moving from ILI9341 on STM32F429-Disco to RA8875 and 7" Display with Capacitive Touch

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Moving from ILI9341 on STM32F429-Disco to RA8875 and 7" Display with Capacitive Touch

    Hello There,


    I have spent quite a bit of time experimenting with the pre-compiled version of emWin on STM32F429-Disco. As far as the LCD-Driving mechanism is concerned, I have to admit that I did not bother digesting every bit of the implementation for certain reason. First, emWin itself is huge and has a steep learning curve to get the most out of what the API provides in your app, therefore, I prefer spending time getting more familiar with the API itself. Second, It's only a matter of days before I get the new 7" LCD with RA8875, so it doesn't make sense to me spending time trying to understand the LCD Driver for ILI9341 anymore. I'm not talking about emWin Drivers, and here comes my question/concern about emWin..


    How new LCD Drivers are supported, and how emWin accesses the hardware. I know that the RA8875 is supported by the GUIDRV_FlexColor driver, but in case I want to write or modify an existing driver, where I have to look at? What files must be modified? And how the capacitive screen is going to be supported from within emWin?

    I still have another question about the API itself (emWin-related), but I will post it in a new thread!

    Thank you for your help!

    Zaher




    The post was edited 1 time, last by zaher ().

  • Hi Zaher
    I have just written a custom driver for the STemWin distribution. Despite it appearing quite daunting, its actually quite straight forward.
    Here is an excellent article for guidance.
    ba0sh1.com/write-a-display-driver-for-emwin/
    Just remember that if you are starting a new project from scratch, make sure you enable the CRC unit in the micro and enable the clock for this peripheral.
    GUI_init() will hang otherwise. Also, if using the ST RTOS bundle as per many of their examples, the default stack size for the task calling emWin is not big enough.
    These were the only two issues that caught me out.
    Jim
  • Hello Jim,

    Thank you very much for your reply. I have been to that article few days ago, and so far, I found it to be the most helpful resource on supporting a new LCD Driver with STemWin. And thank you for the reminder about enabling the CRC. I used to overlook it very often and had a lot of trouble because of that, too!

    I don't personally use any RTOS on my project. It's built around the last version of ST's Standard Peripheral Library. I just don't like that buggy HAL/CUBE and I'm quite familiar with Std.Lib.

    By the way, do you mind sharing your "custom driver" with me? And for what LCD Controller was that? Mine is RA8875. And I don't understand why we still need to configure Lin if the RA8875 is supported by the Flex Driver?

    By the way, my RA8875-based LCD is still on the way to me. I will first take care the "bare-metal" side of the LCD drive, as the article suggests, and make sure I have a working driver, then I will be back here if I need help on STemWin.

    Thank you again!


    Zaher

    The post was edited 1 time, last by zaher ().

  • Hello Adrian,

    Thank you for your reply. Yes, I do have the GUIDRV_Template in my STemWin package. However, my new LCD Controller, RA8875, seems natively supported by one of emWin drivers, GUIDRV_FlexColor. IN this case, do you still suggest starting at GUIDRV_Template or LCDConf_FlexColor_Template?

    Thank you again!


    Zaher
  • Hello Zaher,

    Unfortunately I am not aware of an LCDConf_FlexColor_Template. In case your display controller is already supported by an emWin driver I would always recommend you to just use our driver, since it is highly optimized. Anyways LCDConf_FlexColor_... does not sound like an emWin display driver. I would expect such a file to include a configuration template for the GUIDRV_FlexColor.

    Best regards,
    Adrian