Giter VIP home page Giter VIP logo

Comments (5)

liamHowatt avatar liamHowatt commented on June 26, 2024 1

Some questions:

  • What is LV_MEM_SIZE set to? (for the freeze at the end)
  • What is the clock speed of that MCU? STM32 MCUs start up with a clock speed lower than their max capability. Modify the relevant hardware registers to increase the clock speed.
  • Can you change the optimization flags of your build?

from lvgl.

Wlad79 avatar Wlad79 commented on June 26, 2024

Dispite deactivating Call of lv_tick_inc(10) in interrupt and followed main loop:

while (1)
  {
		lv_timer_handler();
		lv_tick_inc(HAL_GetTick() - lv_tick_get());
  }

the refresh rate of screen is very low like in the video in next post from me

from lvgl.

Wlad79 avatar Wlad79 commented on June 26, 2024

Thanks for questions,

  • LV_MEM_SIZE is set now 128 * 1024U. with that setting the keybord is working
  • Regarding MCU Clock I have tested with Switching SysClk and PLLCLK to external pin via Master Clock Output. Both measured values runs at 200MHz
  • I have played with optimisation flags but I have now flashing screen with pulsed widget output (pulses can not be shown in video) with shadowed artefacts.

That can be done in order to eliminate this shadows and pulsed widget output? I have followed setting in lv_conf.h:

/*Default display refresh, input device read and animation step period.*/
#define LV_DEF_REFR_PERIOD  20     /*[ms]*/
#define LV_DPI_DEF 128     /*[px/inch]*/ // the display pixel is 0.198mm (Width/Hight)

and in main loop:

while (1)
{
		lv_timer_handler();
		lv_tick_inc(HAL_GetTick() - lv_tick_get());
		HAL_Delay(20); // SysTick in ms
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
}
```

from lvgl.

Wlad79 avatar Wlad79 commented on June 26, 2024

I have activated system monitor with this in lv_conf.h:

/*1: Enable system monitor component*/
#define LV_USE_SYSMON   1
#if LV_USE_SYSMON
    /*Get the idle percentage. E.g. uint32_t my_get_idle(void);*/
    #define LV_SYSMON_GET_IDLE lv_timer_get_idle

    /*1: Show CPU usage and FPS count
     * Requires `LV_USE_SYSMON = 1`*/
    #define LV_USE_PERF_MONITOR 1
    #if LV_USE_PERF_MONITOR
        #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT

        /*0: Displays performance data on the screen, 1: Prints performance data using log.*/
        #define LV_USE_PERF_MONITOR_LOG_MODE 0
    #endif

    /*1: Show the used memory and the memory fragmentation
     * Requires `LV_USE_STDLIB_MALLOC = LV_STDLIB_BUILTIN`
     * Requires `LV_USE_SYSMON = 1`*/
    #define LV_USE_MEM_MONITOR 1
    #if LV_USE_MEM_MONITOR
        #define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT
    #endif

#endif /*LV_USE_SYSMON*/

Now I see that CPU stabil at 0% FPS is not 50 but remains 33 even if LV_DEF_REFR_PERIOD=10.
Memory Usage 26% and 2 % frag. (can that Fragmentation be complett disabled?)

from lvgl.

Wlad79 avatar Wlad79 commented on June 26, 2024

Okay the Problem with Refresh rate is eliminated. It was the settings from LTDC, which has that bahavior. The settings from datasheet of display were wrong interprated.

from lvgl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.