ESP-IDF
p_timer_obj
is only used within ESP-IDF.
Symbol previews are coming soon...
Symbols
loading...
Files
loading...
Summary
Syntax
Examples
References
Call Tree
Data Use
Class Tree
Override Tree
Implementations
Instances
Lifecycle
SourceVu
ESP-IDF Framework and Examples
ESP-IDF
p_timer_obj
p_timer_obj variable
Syntax
Show:
Summary
Declaration
from
timer_legacy.c:64
static
timer_obj_t
*
p_timer_obj
[
TIMER_GROUP_MAX
]
[
TIMER_MAX
]
=
{
0
}
;
Examples
References
from
examples
Code
Location
Referrer
static
timer_obj_t
*
p_timer_obj
[
TIMER_GROUP_MAX
]
[
TIMER_MAX
]
=
{
0
}
;
timer_legacy.c:64
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:72
timer_get_counter_value()
*
timer_val
=
timer_hal_capture_and_get_counter_value
(
&
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
)
;
timer_legacy.c:74
timer_get_counter_value()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:84
timer_get_counter_time_sec()
uint64_t
timer_val
=
timer_hal_capture_and_get_counter_value
(
&
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
)
;
timer_legacy.c:85
timer_get_counter_time_sec()
uint32_t
div
=
p_timer_obj
[
group_num
]
[
timer_num
]
->
divider
;
timer_legacy.c:86
timer_get_counter_time_sec()
ESP_RETURN_ON_ERROR
(
esp_clk_tree_src_get_freq_hz
(
(
soc_module_clk_t
)
p_timer_obj
[
group_num
]
[
timer_num
]
->
clk_src
,
timer_legacy.c:89
timer_get_counter_time_sec()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:100
timer_set_counter_value()
timer_hal_set_counter_value
(
&
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
)
,
load_val
)
;
timer_legacy.c:102
timer_set_counter_value()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:111
timer_start()
timer_ll_enable_counter
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
,
true
)
;
timer_legacy.c:113
timer_start()
p_timer_obj
[
group_num
]
[
timer_num
]
->
counter_en
=
true
;
timer_legacy.c:114
timer_start()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:123
timer_pause()
timer_ll_enable_counter
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
,
false
)
;
timer_legacy.c:125
timer_pause()
p_timer_obj
[
group_num
]
[
timer_num
]
->
counter_en
=
false
;
timer_legacy.c:126
timer_pause()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:136
timer_set_counter_mode()
timer_ll_set_count_direction
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
,
counter_dir
)
;
timer_legacy.c:138
timer_set_counter_mode()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:148
timer_set_auto_reload()
timer_ll_enable_auto_reload
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
,
reload
)
;
timer_legacy.c:150
timer_set_auto_reload()
p_timer_obj
[
group_num
]
[
timer_num
]
->
auto_reload_en
=
reload
;
timer_legacy.c:151
timer_set_auto_reload()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:161
timer_set_divider()
timer_ll_set_clock_prescale
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
,
divider
)
;
timer_legacy.c:163
timer_set_divider()
p_timer_obj
[
group_num
]
[
timer_num
]
->
divider
=
divider
;
timer_legacy.c:164
timer_set_divider()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:173
timer_set_alarm_value()
timer_ll_set_alarm_value
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
,
alarm_value
)
;
timer_legacy.c:175
timer_set_alarm_value()
p_timer_obj
[
group_num
]
[
timer_num
]
->
alarm_value
=
alarm_value
;
timer_legacy.c:176
timer_set_alarm_value()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:186
timer_get_alarm_value()
*
alarm_value
=
p_timer_obj
[
group_num
]
[
timer_num
]
->
alarm_value
;
timer_legacy.c:188
timer_get_alarm_value()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:198
timer_set_alarm()
timer_ll_enable_alarm
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
,
alarm_en
)
;
timer_legacy.c:200
timer_set_alarm()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:238
timer_enable_intr()
timer_ll_enable_intr
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
TIMER_LL_EVENT_ALARM
(
timer_num
)
,
true
)
;
timer_legacy.c:240
timer_enable_intr()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:249
timer_disable_intr()
timer_ll_enable_intr
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
TIMER_LL_EVENT_ALARM
(
timer_num
)
,
false
)
;
timer_legacy.c:251
timer_disable_intr()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:262
timer_isr_register()
timer_hal_context_t
*
hal
=
&
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
;
timer_legacy.c:263
timer_isr_register()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:274
timer_isr_callback_add()
p_timer_obj
[
group_num
]
[
timer_num
]
->
timer_isr_fun
.
fn
=
isr_handler
;
timer_legacy.c:278
timer_isr_callback_add()
p_timer_obj
[
group_num
]
[
timer_num
]
->
timer_isr_fun
.
args
=
args
;
timer_legacy.c:279
timer_isr_callback_add()
p_timer_obj
[
group_num
]
[
timer_num
]
->
timer_isr_fun
.
isr_timer_group
=
group_num
;
timer_legacy.c:280
timer_isr_callback_add()
ret
=
timer_isr_register
(
group_num
,
timer_num
,
timer_isr_default
,
(
void
*
)
p_timer_obj
[
group_num
]
[
timer_num
]
,
timer_legacy.c:281
timer_isr_callback_add()
intr_alloc_flags
,
&
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
timer_isr_fun
.
timer_isr_handle
)
)
;
timer_legacy.c:282
timer_isr_callback_add()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:293
timer_isr_callback_remove()
p_timer_obj
[
group_num
]
[
timer_num
]
->
timer_isr_fun
.
fn
=
NULL
;
timer_legacy.c:296
timer_isr_callback_remove()
p_timer_obj
[
group_num
]
[
timer_num
]
->
timer_isr_fun
.
args
=
NULL
;
timer_legacy.c:297
timer_isr_callback_remove()
esp_intr_free
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
timer_isr_fun
.
timer_isr_handle
)
;
timer_legacy.c:298
timer_isr_callback_remove()
if
(
p_timer_obj
[
group_num
]
[
timer_num
]
==
NULL
)
{
timer_legacy.c:310
timer_init()
p_timer_obj
[
group_num
]
[
timer_num
]
=
(
timer_obj_t
*
)
heap_caps_calloc
(
1
,
sizeof
(
timer_obj_t
)
,
MALLOC_CAP_INTERNAL
|
MALLOC_CAP_8BIT
)
;
timer_legacy.c:311
timer_init()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
,
ESP_ERR_NO_MEM
,
TIMER_TAG
,
"no mem for timer object"
)
;
timer_legacy.c:312
timer_init()
timer_hal_context_t
*
hal
=
&
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
;
timer_legacy.c:314
timer_init()
timer_ll_set_clock_source
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
,
(
gptimer_clock_source_t
)
clk_src
)
;
timer_legacy.c:335
timer_init()
timer_ll_set_count_direction
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
,
config
->
counter_dir
)
;
timer_legacy.c:339
timer_init()
p_timer_obj
[
group_num
]
[
timer_num
]
->
clk_src
=
clk_src
;
timer_legacy.c:345
timer_init()
p_timer_obj
[
group_num
]
[
timer_num
]
->
alarm_en
=
config
->
alarm_en
;
timer_legacy.c:346
timer_init()
p_timer_obj
[
group_num
]
[
timer_num
]
->
auto_reload_en
=
config
->
auto_reload
;
timer_legacy.c:347
timer_init()
p_timer_obj
[
group_num
]
[
timer_num
]
->
direction
=
config
->
counter_dir
;
timer_legacy.c:348
timer_init()
p_timer_obj
[
group_num
]
[
timer_num
]
->
counter_en
=
config
->
counter_en
;
timer_legacy.c:349
timer_init()
p_timer_obj
[
group_num
]
[
timer_num
]
->
divider
=
config
->
divider
;
timer_legacy.c:350
timer_init()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:360
timer_deinit()
timer_hal_context_t
*
hal
=
&
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
;
timer_legacy.c:361
timer_deinit()
free
(
p_timer_obj
[
group_num
]
[
timer_num
]
)
;
timer_legacy.c:379
timer_deinit()
p_timer_obj
[
group_num
]
[
timer_num
]
=
NULL
;
timer_legacy.c:380
timer_deinit()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
[
timer_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:390
timer_get_config()
config
->
alarm_en
=
p_timer_obj
[
group_num
]
[
timer_num
]
->
alarm_en
;
timer_legacy.c:393
timer_get_config()
config
->
auto_reload
=
p_timer_obj
[
group_num
]
[
timer_num
]
->
auto_reload_en
;
timer_legacy.c:394
timer_get_config()
config
->
counter_dir
=
p_timer_obj
[
group_num
]
[
timer_num
]
->
direction
;
timer_legacy.c:395
timer_get_config()
config
->
counter_en
=
p_timer_obj
[
group_num
]
[
timer_num
]
->
counter_en
;
timer_legacy.c:396
timer_get_config()
config
->
divider
=
p_timer_obj
[
group_num
]
[
timer_num
]
->
divider
;
timer_legacy.c:397
timer_get_config()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:406
timer_group_intr_enable()
timer_ll_enable_intr
(
p_timer_obj
[
group_num
]
[
0
]
->
hal
.
dev
,
en_mask
,
true
)
;
timer_legacy.c:408
timer_group_intr_enable()
ESP_RETURN_ON_FALSE
(
p_timer_obj
[
group_num
]
!=
NULL
,
ESP_ERR_INVALID_ARG
,
TIMER_TAG
,
TIMER_NEVER_INIT_ERROR
)
;
timer_legacy.c:416
timer_group_intr_disable()
timer_ll_enable_intr
(
p_timer_obj
[
group_num
]
[
0
]
->
hal
.
dev
,
disable_mask
,
false
)
;
timer_legacy.c:418
timer_group_intr_disable()
if
(
p_timer_obj
[
group_num
]
[
TIMER_0
]
!=
NULL
)
{
timer_legacy.c:426
timer_group_get_intr_status_in_isr()
else
if
(
p_timer_obj
[
group_num
]
[
TIMER_1
]
!=
NULL
)
{
timer_legacy.c:430
timer_group_get_intr_status_in_isr()
timer_ll_clear_intr_status
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
TIMER_LL_EVENT_ALARM
(
timer_num
)
)
;
timer_legacy.c:439
timer_group_clr_intr_status_in_isr()
timer_ll_enable_alarm
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
,
true
)
;
timer_legacy.c:444
timer_group_enable_alarm_in_isr()
timer_ll_trigger_soft_capture
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
)
;
timer_legacy.c:449
timer_group_get_counter_value_in_isr()
uint64_t
val
=
timer_ll_get_counter_value
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
)
;
timer_legacy.c:450
timer_group_get_counter_value_in_isr()
timer_ll_set_alarm_value
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
,
alarm_val
)
;
timer_legacy.c:456
timer_group_set_alarm_value_in_isr()
p_timer_obj
[
group_num
]
[
timer_num
]
->
alarm_value
=
alarm_val
;
timer_legacy.c:457
timer_group_set_alarm_value_in_isr()
timer_ll_enable_counter
(
p_timer_obj
[
group_num
]
[
timer_num
]
->
hal
.
dev
,
timer_num
,
counter_en
)
;
timer_legacy.c:462
timer_group_set_counter_enable_in_isr()
p_timer_obj
[
group_num
]
[
timer_num
]
->
counter_en
=
counter_en
;
timer_legacy.c:463
timer_group_set_counter_enable_in_isr()
return
p_timer_obj
[
group_num
]
[
timer_num
]
->
auto_reload_en
;
timer_legacy.c:468
timer_group_get_auto_reload_in_isr()
Call Tree
from
examples
All items filtered out
All items filtered out
Data Use
from
examples
p_timer_obj
is read by 28 functions:
All items filtered out
p_timer_obj
timer_get_counter_value()
timer_get_counter_time_sec()
timer_set_counter_value()
timer_start()
timer_pause()
timer_set_counter_mode()
timer_set_auto_reload()
timer_set_divider()
timer_set_alarm_value()
timer_get_alarm_value()
timer_set_alarm()
timer_enable_intr()
timer_disable_intr()
timer_isr_register()
timer_isr_callback_add()
timer_isr_callback_remove()
timer_init()
timer_deinit()
timer_get_config()
timer_group_intr_enable()
timer_group_intr_disable()
timer_group_get_intr_status_in_isr()
timer_group_clr_intr_status_in_isr()
timer_group_enable_alarm_in_isr()
timer_group_get_counter_value_in_isr()
timer_group_set_alarm_value_in_isr()
timer_group_set_counter_enable_in_isr()
timer_group_get_auto_reload_in_isr()
All items filtered out
Class Tree
from
examples
All items filtered out
All items filtered out
Override Tree
from
examples
All items filtered out
All items filtered out
Implementations
from
examples
All items filtered out
All items filtered out
Instances
from
examples
Lifecycle
from
examples
All items filtered out
All items filtered out