Multiple Dialog causing a fuzzy screen

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

  • Multiple Dialog causing a fuzzy screen

    Hello,

    I'm trying to understand how to call dialogs and window from different files based on the segger exemple. I have a STM32F469NI-Disco and I'm using the STemWin_SampleDemo as a starting point, included in STM32F4cube 1.13, with the touch-screen enabled and the demo's applications removed.
    I'm using STemWin 5.32.

    When I start the MainTask(); in VSCREEN_MultiPage there is no problem. As soon as I click on one of the button I get this :


    The STM board is still functionning and reacting to external input through the touch screen and the CAN bus.
    In the debugger, I'm able to see that the application VSCREEN_MultiPage read the input of the button and that the corresponding task are opened.
    The error I get is reproductible in different StemWin exemple with multiple dialog in seperated files :


    I've been going through the STemWin_SampleDemo's code for a while as it is the only working exemple I have with mutiple dialogs and I cannot find why I get the fuzzy screen .

    Did I miss the declaration in order to use dialogs ? Is it related to the memory ?
    Had someone encountered a similare issue ? I cannot find in this forum a similar case.

    Thank you for your support.
    Looking forward to hear from you.


    Edit. I've rollback to STM32F4cube 1.10 with STemWIN 5.28 and I do not get this problem ?( I do get the problem now in 5.28
    I'll try again using STL32F4cube 1.10 with STemWIN 5.32 and see what happens.

    The post was edited 3 times, last by Schrödinger ().

  • Hello again ,

    Back with some different attempts, I still do not see what's going wrong.

    The problem is both in STemWIN 5.32 and STemWIN 5.28, STemWin version isn't related. The issue started with the update from STM32f4 cube package 1.10 to 1.30 .
    I've rollback to my last known working program with multiple dialogs and I still get the same "fuzzy" screen.
    With only STemWIN and touchscreen's interrupt , there is still the "fuzzy" screen.

    It seem to be memory related, since I can no longer access the device memory in ST-LINK ...


    Until I receive another stm32f469nI to compare if the device was damage .


    Regards,
    Schrödinger
  • Hello,


    Since my last post, I've been trying to get a mutliple dialog program and I'm still block with the same "fuzzy screen error". I've received the new Hardware to verify that mine isn't damaged , annnnnnd it ain't the hardware's fault ... The error is reproductible on 2 devices.

    Does anyone have a clue to what is going wrong ? Any advice is really welcome =D

    I am just trying to get the exemple VSCREEN_MultiPage which used to work on this board before.

    Thank you for your time.

    Init Code in Main : Same used in STemWin demo

    C Source Code

    1. /* Includes ------------------------------------------------------------------*/
    2. #include "main.h"
    3. #include "rtc.h"
    4. #include "WM.h"
    5. #include "GUI.h"
    6. /* Private typedef -----------------------------------------------------------*/
    7. /* Private define ------------------------------------------------------------*/
    8. /* Private macro -------------------------------------------------------------*/
    9. /* Private variables ---------------------------------------------------------*/
    10. uint8_t GUI_Initialized = 0;
    11. TIM_HandleTypeDef TimHandle;
    12. uint32_t uwPrescalerValue = 0;
    13. /* Private function prototypes -----------------------------------------------*/
    14. static void BSP_Config(void);
    15. static void Error_Handler(void);
    16. static void SystemClock_Config(void);
    17. void BSP_Pointer_Update(void);
    18. void BSP_Background(void);
    19. /* Private functions ---------------------------------------------------------*/
    20. /**
    21. * @brief Main program
    22. * @param None
    23. * @retval None
    24. */
    25. int main(void)
    26. {
    27. /* STM32F4xx HAL library initialization:
    28. - Configure the Flash prefetch, instruction and Data caches
    29. - Configure the Systick to generate an interrupt each 1 msec
    30. - Set NVIC Group Priority to 4
    31. - Global MSP (MCU Support Package) initialization
    32. */
    33. HAL_Init();
    34. /* Configure the system clock to 180 MHz */
    35. SystemClock_Config();
    36. /* Initialize LCD and LEDs */
    37. BSP_Config();
    38. /***********************************************************/
    39. /* Compute the prescaler value to have TIM3 counter clock equal to 10 KHz */
    40. uwPrescalerValue = (uint32_t) ((SystemCoreClock /2) / 10000) - 1;
    41. /* Set TIMx instance */
    42. TimHandle.Instance = TIM3;
    43. /* Initialize TIM3 peripheral as follows:
    44. + Period = 500 - 1
    45. + Prescaler = ((SystemCoreClock/2)/10000) - 1
    46. + ClockDivision = 0
    47. + Counter direction = Up
    48. */
    49. TimHandle.Init.Period = 500 - 1;
    50. TimHandle.Init.Prescaler = uwPrescalerValue;
    51. TimHandle.Init.ClockDivision = 0;
    52. TimHandle.Init.CounterMode = TIM_COUNTERMODE_UP;
    53. if(HAL_TIM_Base_Init(&TimHandle) != HAL_OK)
    54. {
    55. while(1)
    56. {
    57. }
    58. }
    59. /*##-2- Start the TIM Base generation in interrupt mode ####################*/
    60. /* Start Channel1 */
    61. if(HAL_TIM_Base_Start_IT(&TimHandle) != HAL_OK)
    62. {
    63. while(1)
    64. {
    65. }
    66. }
    67. /***********************************************************/
    68. /* Init the STemWin GUI Library */
    69. BSP_SDRAM_Init(); /* Initializes the SDRAM device */
    70. __HAL_RCC_CRC_CLK_ENABLE(); /* Enable the CRC Module */
    71. GUI_Init();
    72. GUI_SetFont(&GUI_Font32_ASCII);
    73. GUI_DispStringAt("Starting...", 0, 0);
    74. /* Initialize LCD and LEDs */
    75. GUI_DispStringAt("Initializing lcd...", 0, 32);
    76. BSP_Config();
    77. GUI_Initialized = 1;
    78. /* Initialize RTC and Backup */
    79. GUI_DispStringAt("Initializing rtc and backup...", 0, 64);
    80. RTC_Init();
    81. /* Activate the use of memory device feature */
    82. WM_SetCreateFlags(WM_CF_MEMDEV);
    83. /* Start Demo */
    84. MainTask();
    85. /* Infinite loop */
    86. for(;;);
    87. }
    Display All

    The post was edited 1 time, last by Schrödinger ().

  • Hi,

    Not sure what causes the fuzzy screen.

    Have you configured your LCDConf.c according to the one which comes with the sample?

    If using virtual screens, multi buffering is no longer available. So, make sure multibuffering is not enabled.

    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.