mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
83 lines
3.4 KiB
Plaintext
83 lines
3.4 KiB
Plaintext
menu "High resolution timer (esp_timer)"
|
|
|
|
config ESP_TIMER_PROFILING
|
|
bool "Enable esp_timer profiling features"
|
|
default n
|
|
help
|
|
If enabled, esp_timer_dump will dump information such as number of times the timer was started,
|
|
number of times the timer has triggered, and the total time it took for the callback to run.
|
|
This option has some effect on timer performance and the amount of memory used for timer
|
|
storage, and should only be used for debugging/testing purposes.
|
|
|
|
config ESP_TIME_FUNCS_USE_RTC_TIMER # [refactor-todo] remove when timekeeping and persistence are separate
|
|
bool
|
|
|
|
config ESP_TIME_FUNCS_USE_ESP_TIMER # [refactor-todo] remove when timekeeping and persistence are separate
|
|
bool
|
|
|
|
config ESP_TIME_FUNCS_USE_NONE # [refactor-todo] remove when timekeeping and persistence are separate
|
|
bool
|
|
|
|
config ESP_TIMER_TASK_STACK_SIZE
|
|
int "High-resolution timer task stack size"
|
|
default 3584
|
|
range 2048 65536
|
|
help
|
|
Configure the stack size of "timer_task" task. This task is used
|
|
to dispatch callbacks of timers created using ets_timer and esp_timer
|
|
APIs. If you are seing stack overflow errors in timer task, increase
|
|
this value.
|
|
|
|
Note that this is not the same as FreeRTOS timer task. To configure
|
|
FreeRTOS timer task size, see "FreeRTOS timer task stack size" option
|
|
in "FreeRTOS" menu.
|
|
|
|
config ESP_TIMER_INTERRUPT_LEVEL
|
|
int "Interrupt level"
|
|
default 1
|
|
range 1 3 if IDF_TARGET_ESP32
|
|
range 1 1 if !IDF_TARGET_ESP32
|
|
help
|
|
It sets the interrupt level for esp_timer ISR in range 1..3.
|
|
A higher level (3) helps to decrease the ISR esp_timer latency.
|
|
|
|
config ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD
|
|
bool "Support ISR dispatch method"
|
|
default n
|
|
help
|
|
Allows using ESP_TIMER_ISR dispatch method (ESP_TIMER_TASK dispatch method is also avalible).
|
|
- ESP_TIMER_TASK - Timer callbacks are dispatched from a high-priority esp_timer task.
|
|
- ESP_TIMER_ISR - Timer callbacks are dispatched directly from the timer interrupt handler.
|
|
The ISR dispatch can be used, in some cases, when a callback is very simple
|
|
or need a lower-latency.
|
|
|
|
choice ESP_TIMER_IMPL
|
|
prompt "Hardware timer to use for esp_timer"
|
|
default ESP_TIMER_IMPL_TG0_LAC if IDF_TARGET_ESP32
|
|
default ESP_TIMER_IMPL_SYSTIMER
|
|
help
|
|
esp_timer APIs can be implemented using different hardware timers.
|
|
|
|
- "FRC2 (legacy)" implementation has been used in ESP-IDF v2.x - v4.1.
|
|
|
|
- "LAC timer of Timer Group 0" implementation is simpler, and has smaller
|
|
run time overhead because software handling of timer overflow is not needed.
|
|
|
|
- "SYSTIMER" implementation is similar to "LAC timer of Timer Group 0" but for non ESP32 chips.
|
|
|
|
config ESP_TIMER_IMPL_FRC2
|
|
bool "FRC2 (legacy) timer"
|
|
depends on IDF_TARGET_ESP32
|
|
|
|
config ESP_TIMER_IMPL_TG0_LAC
|
|
bool "LAC timer of Timer Group 0"
|
|
depends on IDF_TARGET_ESP32
|
|
|
|
config ESP_TIMER_IMPL_SYSTIMER
|
|
bool "SYSTIMER"
|
|
depends on !IDF_TARGET_ESP32
|
|
|
|
endchoice
|
|
|
|
endmenu # esp_timer
|