cancel
Showing results for 
Search instead for 
Did you mean: 

Virtual Screen API on STM32F469I-DISCO

Harald Beck
Associate II
Posted on March 13, 2018 at 23:29

Hi,

I want to use the virtual screen API of STemWin on this board (using STM32Cube_FW_F4_V1.21.0).

There is no special folder in the 'Projects'-Folder for the 'F'-board. Just 'STM32469I-Discovery'.

Nevertheless, the sample

STM32Cube_FW_F4_V1.21.0\Projects\STM32469I-Discovery\Applications\STemWin\STemWin_HelloWorld

compiles, links, debugs and runs without problem.

- 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!?

Any suggestions?

Harry

1 REPLY 1
Harald Beck
Associate II
Posted on March 15, 2018 at 22:33

Well,

I got some further information. During initialization we have the call-tree and the result on the data of hltdc_disco.Instance:

- GUI_Init()

  - GUI_Config()

    - LCD_X_Config()

      - LCD_LL_Init()

        - LTDC_Init();  

          - HAL_LTDC_Init();                     -> hltdc_disco.Instance: seems to be valid

        - HAL_DSI_Start(&hdsi_disco);   -> hltdc_disco.Instance: all zero !!!

hltdc_disco.Instance keeps all zero on further processing...It is rather difficult to understand the neccessary steps to initialize the LCD, maybe someone could help... The DSI-locic seems to be the root cause...

Harry