Hello,
To develop without flickering, I want to use GUI_MEMDEV_create() function. I get an error during creation of it. (return 0)
To begin I used a demo code and It works very well. Layers are displayed only during the CopyToLCD functions.
Display All
Now I would like apply the same strategy to my screen (7": 800*480 pixels)
hMem0 and hMem1 return 0. Memory are not created and all operations are shown before the CopyToLCD operation.
Display All
Do you have an idea ? For information I use the STM32f429 discovery demo board.
Must I increase the RAM data space ? How ?
Thanks in advance.
To develop without flickering, I want to use GUI_MEMDEV_create() function. I get an error during creation of it. (return 0)
To begin I used a demo code and It works very well. Layers are displayed only during the CopyToLCD functions.
C Source Code
- //first memory device on layer 0: these operations are not shown
- //but only because there's opaque layer 1 covering them
- GUI_SelectLayer(0);
- hMem0 = GUI_MEMDEV_Create(0, 0, 200, 100);
- //memdev selection
- GUI_MEMDEV_Select(hMem0);
- GUI_Clear();
- GUI_SetColor(GUI_RED);
- GUI_FillRect(0, 0, 199, 33);
- GUI_SetColor(GUI_GREEN);
- GUI_FillRect(0, 34, 199, 66);
- GUI_SetColor(GUI_BLUE);
- GUI_FillRect(0, 67, 199, 99);
- //second memory device on layer 1: these operations are shown suddently
- GUI_SelectLayer(1);
- hMem1 = GUI_MEMDEV_Create(0, 0, 200, 100);
- GUI_MEMDEV_Select(hMem1);
- GUI_SetBkColor(GUI_WHITE);
- GUI_Clear();
- GUI_SetColor(GUI_BLACK);
- GUI_DispStringHCenterAt("Layer 1", 100, 4);
- GUI_SetColor(GUI_TRANSPARENT);
- GUI_FillCircle(100, 50, 35);
- GUI_FillRect(10, 10, 40, 90);
- GUI_FillRect(160, 10, 190, 90);
- //memory devices copy in respective layers: this is unuseful
- //because all is already drawn on layers
- //I would like to see result only after these two steps
- GUI_MEMDEV_CopyToLCD(hMem1);
- GUI_MEMDEV_CopyToLCD(hMem0);
Now I would like apply the same strategy to my screen (7": 800*480 pixels)
hMem0 and hMem1 return 0. Memory are not created and all operations are shown before the CopyToLCD operation.
C Source Code
- GUI_SelectLayer(0);
- hMem0 = GUI_MEMDEV_Create(0, 0, 800, 480);
- GUI_MEMDEV_Select(hMem0);
- GUI_Clear();
- GUI_SetColor(GUI_RED);
- GUI_FillRect(0, 0, 400, 240);
- GUI_SetColor(GUI_GREEN);
- GUI_FillRect(0, 240, 400, 480);
- GUI_SetColor(GUI_BLUE);
- GUI_FillRect(400, 0, 800, 240);
- GUI_SelectLayer(1);
- hMem1 = GUI_MEMDEV_Create(0, 0, 800, 480);
- GUI_MEMDEV_Select(hMem1);
- GUI_SetBkColor(GUI_WHITE);
- GUI_Clear();
- GUI_SetColor(GUI_DARKBLUE);
- GUI_DispStringHCenterAt("TEST Layer 1", 100, 4);
- GUI_SetColor(GUI_TRANSPARENT);
- GUI_AA_FillCircle(400, 240, 150);
- GUI_FillRect(180, 0, 220, 480);
- GUI_FillRect(580, 0, 620, 480);
- GUI_MEMDEV_CopyToLCD(hMem0);
- GUI_MEMDEV_CopyToLCD(hMem1);
Do you have an idea ? For information I use the STM32f429 discovery demo board.
Must I increase the RAM data space ? How ?
Thanks in advance.