「App:Library:LVGL:docs:Porting:Tick interface」の版間の差分

提供: robot-jp wiki
ナビゲーションに移動検索に移動
1行目: 1行目:
 
https://docs.lvgl.io/8.2/porting/tick.html
 
https://docs.lvgl.io/8.2/porting/tick.html
 
__NOTOC__
 
__NOTOC__
{| class="wikitable"
 
!英文
 
!自動翻訳
 
|-
 
|
 
|
 
|}
 
 
 
 
 
= Tick interface =
 
= Tick interface =
 
{| class="wikitable"
 
{| class="wikitable"
42行目: 32行目:
  
  
<code>lv_tick_inc(tick_period)</code>関数を定期的に呼び出し、呼び出し期間をミリ秒単位で指定する必要があります。たとえば、<code>lv_tick_inc(1)</code>ミリ秒ごとに呼び出す場合。
+
<code style="color: #bb0000;">lv_tick_inc(tick_period)</code>関数を定期的に呼び出し、呼び出し期間をミリ秒単位で指定する必要があります。たとえば、<code style="color: #bb0000;">lv_tick_inc(1)</code>ミリ秒ごとに呼び出す場合。
  
  
<code>lv_tick_inclv_task_handler()</code>の実行に時間がかかる場合でも、経過したミリ秒を正確に知るには、(割り込みなどで)より優先度の高いルーチンで呼び出す必要があります<code>lv_task_handler</code>。
+
<code style="color: #bb0000;">lv_tick_inclv_task_handler()</code>の実行に時間がかかる場合でも、経過したミリ秒を正確に知るには、(割り込みなどで)より優先度の高いルーチンで呼び出す必要があります<code style="color: #bb0000;">lv_task_handler</code>。
  
  
FreeRTOS<code>lv_tick_inc</code>を使用すると、で呼び出すことができます<code>vApplicationTickHook</code>。
+
FreeRTOS<code style="color: #bb0000;">lv_tick_inc</code>を使用すると、で呼び出すことができます<code style="color: #bb0000;">vApplicationTickHook</code>。
  
Linuxベースのオペレーティングシステム(Raspberry Piなど)<code>lv_tick_inc</code>では、次のようなスレッドで呼び出すことができます。
+
Linuxベースのオペレーティングシステム(Raspberry Piなど)<code style="color: #bb0000;">lv_tick_inc</code>では、次のようなスレッドで呼び出すことができます。
 
<syntaxhighlight lang="C++" style="border: 1px dashed gray;">
 
<syntaxhighlight lang="C++" style="border: 1px dashed gray;">
 
   void  *  tick_thread  (void  * args )
 
   void  *  tick_thread  (void  * args )

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

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

Tick interface

英文 自動翻訳

LVGL needs a system tick to know elapsed time for animations and other tasks.

You need to call the lv_tick_inc(tick_period) function periodically and provide the call period in milliseconds. For example, lv_tick_inc(1) when calling every millisecond.

lv_tick_inc should be called in a higher priority routine than lv_task_handler() (e.g. in an interrupt) to precisely know the elapsed milliseconds even if the execution of lv_task_handler takes more time.


With FreeRTOS lv_tick_inc can be called in vApplicationTickHook.

On Linux based operating systems (e.g. on Raspberry Pi) lv_tick_inc can be called in a thread like below:

 void * tick_thread (void *args)
 {
       while(1) {
         usleep(5*1000);   /*Sleep for 5 millisecond*/
         lv_tick_inc(5);      /*Tell LVGL that 5 milliseconds were elapsed*/
     }
 }


LVGLには、アニメーションやその他のタスクの経過時間を知るためのシステムティックが必要です。


lv_tick_inc(tick_period)関数を定期的に呼び出し、呼び出し期間をミリ秒単位で指定する必要があります。たとえば、lv_tick_inc(1)ミリ秒ごとに呼び出す場合。


lv_tick_inclv_task_handler()の実行に時間がかかる場合でも、経過したミリ秒を正確に知るには、(割り込みなどで)より優先度の高いルーチンで呼び出す必要がありますlv_task_handler


FreeRTOSlv_tick_incを使用すると、で呼び出すことができますvApplicationTickHook

Linuxベースのオペレーティングシステム(Raspberry Piなど)lv_tick_incでは、次のようなスレッドで呼び出すことができます。

  void  *  tick_thread  void  * args 
  { 
        while 1  { 
          usleep 5 * 1000 ;    /*5ミリ秒スリープ*/ 
          lv_tick_inc 5 ;       /*5ミリ秒が経過したことをLVGLに通知します*/ 
      } 
  }
戻る : Previous


API

英文 自動翻訳

Provide access to the system tick with 1 millisecond resolution

Functions

uint32_t lv_tick_get(void)
Get the elapsed milliseconds since start up
Returns
the elapsed milliseconds
uint32_t lv_tick_elaps(uint32_t prev_tick)
Get the elapsed milliseconds since a previous time stamp
Parameters
prev_tick -- a previous time stamp (return value of lv_tick_get() )
Returns
the elapsed milliseconds since 'prev_tick'


1ミリ秒の分解能でsystem tickへのアクセスを提供します

Functions

uint32_t lv_tick_get(void)
起動してからの経過ミリ秒を取得します
戻り値
経過ミリ秒
uint32_t lv_tick_elaps(uint32_t prev_tick)
前のタイムスタンプから経過したミリ秒を取得します
パラメーター
prev_tick-以前のタイムスタンプ(lv_tick_get()の戻り値)
戻り値
'prev_tick'からの経過ミリ秒
戻る : Previous