Memory Device vs display cache for write-only display controller

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

  • Memory Device vs display cache for write-only display controller

    Hi-

    I have an OLED screen that uses display controller SEPS525. I use it in
    SPI mode, in this mode it's not possible to read back from the SEPS525. I
    have followed the instructions to integrate emWin in my system
    (STM32) and I'm now able to use it with some success, using the
    FlexColor driver F66718.

    Since I cannot read back from the display controller, I settled for
    using a display cache (which also makes sense for performance). However I
    have an issue due to a shortage of available SRAM -- I have 32K, while
    my display cache would need to hold a full 160x128x16bpp picture ~40K.

    I have come to the conclusion that using a Memory Device instead would be a better
    solution, as the latter allows usage of "banding". But that brings a
    number of interrogations and concerns :

    1) Reading the manual, I tend to conclude that there is no advantage in
    using a display cache vs using Memory Devices (except code footprint
    perhaps) : am I missing anything ? Is there a fundamental difference between both ?

    2) In any case, "banding" is only available with Memory Devices (not with regular display cache) -- correct ?

    3) From the manual I'm not very sure how to request usage of banding and I couldn't find an example in the emWin Samples page on the web site.
    It seems I need to group all the GUI_xx operations I want to do on the selected rectangle into a callback function and call GUI_MEMDEV_Draw(),passing a pointer to this callback function as parameter GUI_CALLBACK_VOID_P * pfDraw ? Makes sense ?


    Thanks for your help -
  • Hello,

    Memory Devices are processed on a higher level. They can be created for a certain size at a certain color depth whereas the display cache has to include a complete copy of the frame buffer. Further Memory Devices can be used to perform animations.

    Please note that banding will not solve the problem. Either you have cached the complete frame buffer or you don't.

    Best regards,
    Adrian