「App:Library:LVGL:docs:Porting:Tick interface」の版間の差分
提供: robot-jp wiki
ナビゲーションに移動検索に移動4行目: | 4行目: | ||
!英文 | !英文 | ||
!自動翻訳 | !自動翻訳 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| | | | ||
35行目: | 14行目: | ||
LVGL needs a system tick to know elapsed time for animations and other tasks. | LVGL needs a system tick to know elapsed time for animations and other tasks. | ||
− | You need to call the <code>lv_tick_inc(tick_period)</code> function periodically and provide the call period in milliseconds. For example, <code>lv_tick_inc(1)</code> when calling every millisecond. | + | You need to call the <code style="color: #bb0000;">lv_tick_inc(tick_period)</code> function periodically and provide the call period in milliseconds. For example, <code style="color: #bb0000;">lv_tick_inc(1)</code> when calling every millisecond. |
− | <code>lv_tick_inc</code> should be called in a higher priority routine than <code>lv_task_handler()</code> (e.g. in an interrupt) to precisely know the elapsed milliseconds even if the execution of <code>lv_task_handler</code> takes more time. | + | <code style="color: #bb0000;">lv_tick_inc</code> should be called in a higher priority routine than <code style="color: #bb0000;">lv_task_handler()</code> (e.g. in an interrupt) to precisely know the elapsed milliseconds even if the execution of <code style="color: #bb0000;">lv_task_handler</code> takes more time. |
− | With FreeRTOS <code>lv_tick_inc</code> can be called in <code>vApplicationTickHook</code>. | + | With FreeRTOS <code style="color: #bb0000;">lv_tick_inc</code> can be called in <code style="color: #bb0000;">vApplicationTickHook</code>. |
− | On Linux based operating systems (e.g. on Raspberry Pi) <code>lv_tick_inc</code> can be called in a thread like below: | + | On Linux based operating systems (e.g. on Raspberry Pi) <code style="color: #bb0000;">lv_tick_inc</code> can be called in a thread like below: |
<syntaxhighlight lang="C++"> | <syntaxhighlight lang="C++"> | ||
void * tick_thread (void *args) | void * tick_thread (void *args) | ||
56行目: | 35行目: | ||
Provide access to the system tick with 1 millisecond resolution | Provide access to the system tick with 1 millisecond resolution | ||
− | Functions | + | '''Functions''' |
− | ; <span | + | ; <span style="background-color: #eeeeee;">uint32_t lv_tick_get(void) </span> |
− | : Get the elapsed | + | : Get the elapsed milliseconds since start up |
− | : | + | : '''Returns''' |
:: the elapsed milliseconds | :: the elapsed milliseconds | ||
− | ; <span | + | ; <span style="background-color: #eeeeee;">uint32_t lv_tick_elaps(uint32_t prev_tick) </span> |
− | : Get the elapsed milliseconds since a | + | : Get the elapsed milliseconds since a previous time stamp |
− | : | + | : '''Parameters''' |
− | :: prev_tick -- a previous time stamp (return value of lv_tick_get() ) | + | :: '''prev_tick''' -- a previous time stamp (return value of lv_tick_get() ) |
− | : | + | : '''Returns''' |
:: the elapsed milliseconds since 'prev_tick' | :: the elapsed milliseconds since 'prev_tick' | ||
2022年6月22日 (水) 14:17時点における版
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*/
}
}
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'