a MDMDEV customer type widget that can't display by GUI_CreateDialogBox function completely on x86 evaluation SeggerEval_WIN32_MSVC_MinGW_GUI_V528

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

  • a MDMDEV customer type widget that can't display by GUI_CreateDialogBox function completely on x86 evaluation SeggerEval_WIN32_MSVC_MinGW_GUI_V528

    Hi
    I create two new widget and bind into dialog windows by function GUI_CreateDialogBox
    the two widget is a level meter and speedometer that drawing source code comes from "emwin-samples".
    level meter was capture from "Amplifier" sample and speedometer was capture from "SPEEDOMETER"

    I can display the level meter on SeggerEval_WIN32_MSVC_MinGW_GUI_V528 by GUI_CreateDialogBox but SPEEDOMETER that create by MEMDEV.
    I can see the SPEEDOMETER sometimes draw on the dialog and disappear on next tick.



    you can see above picture shows that the level meter drawing complete and i can control it by button to lower and higher.
    the right gray square didn't display anything there, only few ticks to display the speedometer.

    I want to know does the SeggerEval_WIN32_MSVC_MinGW_GUI_V528 support to display a widget that create by MEMDEV?
    I also try to show the SPEEDOMETER widget on STM32F429-Discovery, the widget can display complete and work fine.

    add a picture that the my speedometer widget shows on the stm32f429-discovery board.



    thanks.

    BR, Titan.Chen

    The post was edited 1 time, last by titanchen6886 ().

  • Hi Adrian

    thanks for your reply.
    In the customer widget document, it doesn't said widget can't implemented by Memory Device component.
    the SPEEDOMETER widget that create by Memory Device I test on the ARM base system , the drawing function was working well.
    could you please let me know why the widget works well on ARM base system?
    or "widgets can not be created by Memory Devices" was mean can't run on x86 evaluation SeggerEval_WIN32_MSVC_MinGW_GUI_V528 library?
    thanks.

    BR, Titan
  • Hello Titan,

    Please note that the Speedometer demo was created using Memory Devices only. It is not a widget and it does not use widgets.

    I understand you would like to know why the performance is good on an ARM system. Please note that it is important to have your system use a data and instruction cache. Also Memory Devices are highly optimized for animations.

    Best regards,
    Adrian
  • Hi Adrian

    I am not talking about "why the performance is good on an ARM system",
    I want to know why a widget that create by Memory Device can't display on x86 evaluation SeggerEval_WIN32_MSVC_MinGW_GUI_V528 but ARM base on stm32f429 freeRTOS.

    I know the Speedometer demo was created using Memory Devices only, so I copy the Speedometer demo relative drawing and MEMDEV create function to my Customer Widget source code.
    Just like the second picture I pasted, the speedometer display success without flicker on the STM32F429-discovery eva board.

    In order to shorter development time, I want to show the my customer widget on the PC with SeggerEval_WIN32_MSVC_MinGW_GUI_V528.
    But the display result was not good, like you see on the first picture I pasted.
    I can only see one update picture during 1 second, and the update picture also not keep on the screen.
    the update picture will disappear after update done.

    Of course I can develop the MEMDEV base widget on ARM directly, if you say the x86 eval library doesn't support it.
    thanks

    BR, Titan
  • Hello Titan,

    I am afraid I can not tell you why it is not displayed in the emWin simulation environment. Usually this might be due to lack of memory. Could you please compare the GUIConf.c files which are used for the target and simulation projects?

    Generally anything can be displayed from within the callback function of the according window. Please note that implementing windows which show animated graphics need to be invalidated regularly so they are redrawn as the Window Manager is executed.

    Best regards,
    Adrian
  • Hi Adrian

    simulation :
    // Define the available number of bytes available for the GUI
    //
    #define GUI_NUMBYTES 0x400000
    //
    // Define the average block size
    //
    #define GUI_BLOCKSIZE 0x80

    arm target:
    #define GUI_NUMBYTES (1024 * 1500)

    simulation define 4Mbytes memory pool for emwin library, only 1.5Mbyte on my ARM target system.
    yes I know that drawing only happen whith the callback function.
    In Main function, there is a while loop always set value to SPEEDOMETER widget to redraw.
    And invalidated will called on widget's set_value() funciton.
    so, any comment?
    thanks.

    BR, Titan