Multiple windows or multipage

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

    • Multiple windows or multipage

      Hi,

      I have an application which require at least six windows. I did some tests initial tests opening closing windows triggered by external touch buttons using GUI_StoreKeyMsg(), it worked fine, but you could just make out the screen changes (updates), since each window was a different colour. Is there a way to open all the windows and work with the one particular one at a time, hiding the rest. I would like seamless transition between windows.

      Secondly, I had thought about using the multi-page instead of the above, but could not figure out how to make it static (fixed in place, not moveable) in the parent window.

      Any advice or examples on the above, would be greatly appreciated.

      MikeZ
    • Hi,

      I doubt that it would help to have the windows already created instead of creating them when needed.

      It is most likely that the update process on your display is to slow. The process of creating doesn't take that much time.

      You could try to work with multibuffering (has to be configured in LCDConf.c) by calling WM_MULTIBUF_Enable(1). This will route any drawing operation into a backbuffer and not directly to the visible area. Once all the drawing operations are completed the front and back buffers are getting swapped. This is used to prevent flickering and hide "build" process of different screen elements.

      In the Simulation just make sure to define NUM_BUFFERS in LCDConf.c to 3.

      On hardware multibuffering is only available with the GUIDRV_Lin driver. In this case you have to configure your LCD controller properly.

      When using the GUIDRV_FlexColor driver you can chose a cached driver version.

      Of course, all these solutions require some memory (up to three times the framebuffer size).

      Regards,
      Sven
      Please read the forum rules before posting.

      Keep in mind, this is *not* a support forum.
      Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
      Should you be entitled to support you can contact us via our support system: segger.com/ticket/

      Or you can contact us via e-mail.
    • Hi Sven,

      Thanks for your reply, I will look into the areas you suggest. The LCD has a resolution pf 480x272 and 8MB of SDRAM is available, so multibuffering should be possible. A question about GUIBuilder please, with Multipage, must I first place all the objects on page before I add another page. Also, is there way to anchor Multipage in a parent window.

      Thanks

      MikeZ
    • Hi,

      Regarding multi buffering, which device are you using?
      Maybe we have a LCD configuration which fits to your hardware.

      Regarding the MULTIPAGE widget, you can'T set it up completely in the GUIBuilder. In the GUIBuilder you select "Add page" for the MULTIPAGE widget. In the code you have to add the desired page (a handle to another window or dialog) manually.

      The page to be added can be set up with the GUIBuilder, too.

      Regards,
      Sven
      Please read the forum rules before posting.

      Keep in mind, this is *not* a support forum.
      Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
      Should you be entitled to support you can contact us via our support system: segger.com/ticket/

      Or you can contact us via e-mail.
    • Hi Sven,

      Thanks for responding. I am using the STM32F429IIT6 attached to 8MB of SDRAM with a LCD OF resolution of 480x272, I am driving the RGB (8-bit) lines directly, as well as the VSYNC, HSYNC, DCLK AND DE.

      Thanks

      MikeZ
    • Hi,

      I have a LCDConf.c for a STM32F7429 (not sure if it is for the Eval or the Discovery). This is pretty complete, including the DMA2D and multibuffering. I guess youo have to modify the GPIO settings and place the framebuffer (LCD_FRAME_BUFFER) to a proper location in the SDRAM.

      Regards,
      Sven
      Files
      • LCDConf.zip

        (20.38 kB, downloaded 254 times, last: )
      Please read the forum rules before posting.

      Keep in mind, this is *not* a support forum.
      Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
      Should you be entitled to support you can contact us via our support system: segger.com/ticket/

      Or you can contact us via e-mail.