Virtual Screen API on STM32469I-DISCO

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

    • Virtual Screen API on STM32469I-DISCO

      Hello all,

      I'am trying to use the virtual screen API on that board.
      Extended LCDConf.c to use 2 virtual screens (but only 1 Buffer, 1 Layer). But there is no result on GUI_SetOrg(0, 480). The first screen keeps displayed!?

      Harry
    • Hi,

      I'm not sure why it is not working.

      Does the virtual screen gets initialized properly?

      in LCD_X_Config() you should have a call like this:

      C Source Code

      1. LCD_SetVSizeEx(0, XSIZE_0, YSIZE_0 * NUM_VSCREENS);


      Further your framebuffer should be large enough, but I don't think that this is the cause of this issue.

      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.
    • Hello again :)

      Looks like I'm the first one with this problem...

      OK. I'm talking about this example:
      STM32Cube_FW_F4_V1.19.0\Projects\STM32469I-Discovery\Applications\STemWin\STemWin_HelloWorld

      ...using the AC6-Toolchain (no changes...). LCD_X_Config is being called with the expected values!


      - Changes in LCDConf_stm32469i_discovery.c:
      ------------------------------------------------------

      #define NUM_BUFFERS 1 /* Number of multiple buffers to be used */
      #define NUM_VSCREENS 2 /* Number of virtual screens to be used */


      - Changes in BASIC_HelloWorld.c:
      ---------------------------------------
      #define DISP_X 800
      #define DISP_Y 480

      volatile int hx;

      void MainTask(void) {
      GUI_Clear();
      GUI_SetFont(&GUI_Font20_1);
      GUI_DispStringAt("Virtual screen 1.4", DISP_X - 140, DISP_Y - 40);
      GUI_DispStringAt("Virtual screen 2.3", 20, DISP_Y + 20);
      GUI_SetOrg(0, DISP_Y);
      while(1) {
      hx++;
      }
      }

      Compiles, links, debugs without problem, but: The first screen keeps displayed!?

      Greetings Harry