Select one of the symbols to view example projects that use it.
 
Outline
#include "esp_event.h"
#include "esp_event_internal.h"
#include "esp_task.h"
------------------------- Static Variables
s_default_loop
esp_event_handler_register(esp_event_base_t, int32_t, esp_event_handler_t, void *)
esp_event_handler_instance_register(esp_event_base_t, int32_t, esp_event_handler_t, void *, esp_event_handler_instance_t *)
esp_event_handler_unregister(esp_event_base_t, int32_t, esp_event_handler_t)
esp_event_handler_instance_unregister(esp_event_base_t, int32_t, esp_event_handler_instance_t)
esp_event_post(esp_event_base_t, int32_t, const void *, size_t, TickType_t)
esp_event_isr_post(esp_event_base_t, int32_t, const void *, size_t, BaseType_t *)
esp_event_loop_create_default()
esp_event_loop_delete_default()
Files
loading...
SourceVuESP-IDF Framework and ExamplesESP-IDFcomponents/esp_event/default_event_loop.c
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/* * SPDX-FileCopyrightText: 2018-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 *//* ... */ #include "esp_event.h" #include "esp_event_internal.h" #include "esp_task.h" /* ------------------------- Static Variables ------------------------------- */ static esp_event_loop_handle_t s_default_loop = NULL; ------------------------- Static Variables /* ---------------------------- Public API ---------------------------------- */ esp_err_t esp_event_handler_register(esp_event_base_t event_base, int32_t event_id, esp_event_handler_t event_handler, void* event_handler_arg) { if (s_default_loop == NULL) { return ESP_ERR_INVALID_STATE; }{...} return esp_event_handler_register_with(s_default_loop, event_base, event_id, event_handler, event_handler_arg); }{ ... } esp_err_t esp_event_handler_instance_register(esp_event_base_t event_base, int32_t event_id, esp_event_handler_t event_handler, void *event_handler_arg, esp_event_handler_instance_t *context) { if (s_default_loop == NULL) { return ESP_ERR_INVALID_STATE; }{...} return esp_event_handler_instance_register_with(s_default_loop, event_base, event_id, event_handler, event_handler_arg, context); }{ ... } esp_err_t esp_event_handler_unregister(esp_event_base_t event_base, int32_t event_id, esp_event_handler_t event_handler) { if (s_default_loop == NULL) { return ESP_ERR_INVALID_STATE; }{...} return esp_event_handler_unregister_with(s_default_loop, event_base, event_id, event_handler); }{ ... } esp_err_t esp_event_handler_instance_unregister(esp_event_base_t event_base, int32_t event_id, esp_event_handler_instance_t context) { if (s_default_loop == NULL) { return ESP_ERR_INVALID_STATE; }{...} return esp_event_handler_instance_unregister_with(s_default_loop, event_base, event_id, context); }{ ... } esp_err_t esp_event_post(esp_event_base_t event_base, int32_t event_id, const void* event_data, size_t event_data_size, TickType_t ticks_to_wait) { if (s_default_loop == NULL) { return ESP_ERR_INVALID_STATE; }{...} return esp_event_post_to(s_default_loop, event_base, event_id, event_data, event_data_size, ticks_to_wait); }{ ... } #if CONFIG_ESP_EVENT_POST_FROM_ISR esp_err_t esp_event_isr_post(esp_event_base_t event_base, int32_t event_id, const void* event_data, size_t event_data_size, BaseType_t* task_unblocked) { if (s_default_loop == NULL) { return ESP_ERR_INVALID_STATE; }{...} return esp_event_isr_post_to(s_default_loop, event_base, event_id, event_data, event_data_size, task_unblocked); }{ ... } /* ... */#endif esp_err_t esp_event_loop_create_default(void) { if (s_default_loop) { return ESP_ERR_INVALID_STATE; }{...} esp_event_loop_args_t loop_args = { .queue_size = CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE, .task_name = "sys_evt", .task_stack_size = ESP_TASKD_EVENT_STACK, .task_priority = ESP_TASKD_EVENT_PRIO, .task_core_id = 0 }{...}; esp_err_t err; err = esp_event_loop_create(&loop_args, &s_default_loop); if (err != ESP_OK) { return err; }{...} return ESP_OK; }{ ... } esp_err_t esp_event_loop_delete_default(void) { if (!s_default_loop) { return ESP_ERR_INVALID_STATE; }{...} esp_err_t err; err = esp_event_loop_delete(s_default_loop); if (err != ESP_OK) { return err; }{...} s_default_loop = NULL; return ESP_OK; }{ ... }
Details
Show:
from
Types: Columns:
This file uses the notable symbols shown below. Click anywhere in the file to view more details.