「App:Library:LVGL:docs:Porting:Sleep management」の版間の差分

提供: robot-jp wiki
ナビゲーションに移動検索に移動
33行目: 33行目:
  
 
= Sleep management =
 
= Sleep management =
The MCU can go to sleep when no user input happens. In this case, the main <code>while(1)</code>
+
{| class="wikitable"
 +
!英文
 +
!自動翻訳
 +
|-
 +
|
 +
The MCU can go to sleep when no user input happens. In this case, the main <code style="color: #bb0000;">while(1)</code>
  
 
should look like this:
 
should look like this:
 +
<syntaxhighlight lang="C++">
 
  while(1) {
 
  while(1) {
 
   /*Normal operation (no sleep) in < 1 sec inactivity*/
 
   /*Normal operation (no sleep) in < 1 sec inactivity*/
48行目: 54行目:
 
   my_delay_ms(5);
 
   my_delay_ms(5);
 
  } 
 
  } 
 +
</syntaxhighlight>
 
You should also add the following lines to your input device read function to signal a wake-up (press, touch or click etc.) has happened:
 
You should also add the following lines to your input device read function to signal a wake-up (press, touch or click etc.) has happened:
 +
<syntaxhighlight lang="C++">
 
  lv_tick_inc(LV_DISP_DEF_REFR_PERIOD);  /*Force task execution on wake-up*/
 
  lv_tick_inc(LV_DISP_DEF_REFR_PERIOD);  /*Force task execution on wake-up*/
 
  timer_start();                        /*Restart the timer where lv_tick_inc() is called*/
 
  timer_start();                        /*Restart the timer where lv_tick_inc() is called*/
 
  lv_task_handler();                    /*Call `lv_task_handler()` manually to process the wake-up event*/ 
 
  lv_task_handler();                    /*Call `lv_task_handler()` manually to process the wake-up event*/ 
In addition to <code>lv_disp_get_inactive_time()</code> you can check <code>lv_anim_count_running()</code> to see if all animations have finished.
+
</syntaxhighlight>
----
+
In addition to <code style="color: #bb0000;">lv_disp_get_inactive_time()</code> you can check <code style="color: #bb0000;">lv_anim_count_running()</code> to see if all animations have finished.
[[App:Library:LVGL:docs:Porting|戻る : Previous]]
+
|
 +
|}
 +
:[[App:Library:LVGL:docs:Porting|戻る : Previous]]

2022年6月22日 (水) 14:31時点における版

https://docs.lvgl.io/8.2/porting/sleep.html

英文 自動翻訳


Sleep management

英文 自動翻訳

The MCU can go to sleep when no user input happens. In this case, the main while(1)

should look like this:

 while(1) {
   /*Normal operation (no sleep) in < 1 sec inactivity*/
   if(lv_disp_get_inactive_time(NULL) < 1000) {
 	  lv_task_handler();
   }
   /*Sleep after 1 sec inactivity*/
   else {
 	  timer_stop();   /*Stop the timer where lv_tick_inc() is called*/
 	  sleep();		    /*Sleep the MCU*/
   }
   my_delay_ms(5);
 } 

You should also add the following lines to your input device read function to signal a wake-up (press, touch or click etc.) has happened:

 lv_tick_inc(LV_DISP_DEF_REFR_PERIOD);  /*Force task execution on wake-up*/
 timer_start();                         /*Restart the timer where lv_tick_inc() is called*/
 lv_task_handler();                     /*Call `lv_task_handler()` manually to process the wake-up event*/ 

In addition to lv_disp_get_inactive_time() you can check lv_anim_count_running() to see if all animations have finished.

戻る : Previous