1
6
7
8
9
10
11
12
13
14
15
16
17
18
21
22
23
29
40
41
44
51
59
60
61
68
69
70
78
79
80
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
109
113
114
117
121
122
123
124
125
126
127
128
129
130
131
132
135
138
139
142
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
164
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
/* ... */
#pragma once
#include <stdint.h>
#include <stdbool.h>
#include "esp_err.h"
#include "hal/temperature_sensor_types.h"
#ifdef __cplusplus
extern "C" {
#endif
/* ... */
typedef struct temperature_sensor_obj_t *temperature_sensor_handle_t;
/* ... */
typedef struct {
int range_min;
int range_max;
temperature_sensor_clk_src_t clk_src;
struct {
uint32_t allow_pd;
/* ... */
}{ ... } flags;
}{ ... } temperature_sensor_config_t;
/* ... */
#define TEMPERATURE_SENSOR_CONFIG_DEFAULT(min, max) \
{ \
.range_min = min, \
.range_max = max, \
.clk_src = TEMPERATURE_SENSOR_CLK_SRC_DEFAULT, \
}{...}
...
/* ... */
esp_err_t temperature_sensor_install(const temperature_sensor_config_t *tsens_config, temperature_sensor_handle_t *ret_tsens);
/* ... */
esp_err_t temperature_sensor_uninstall(temperature_sensor_handle_t tsens);
/* ... */
esp_err_t temperature_sensor_enable(temperature_sensor_handle_t tsens);
/* ... */
esp_err_t temperature_sensor_disable(temperature_sensor_handle_t tsens);
/* ... */
esp_err_t temperature_sensor_get_celsius(temperature_sensor_handle_t tsens, float *out_celsius);
#if SOC_TEMPERATURE_SENSOR_INTR_SUPPORT
/* ... */
typedef enum {
TEMPERATURE_VAL_HIGHER_THAN_HIGH_THRESHOLD = 0,
TEMPERATURE_VAL_LOWER_THAN_LOW_THRESHOLD = 1,
}{...} temperature_val_intr_condition_t;
/* ... */
typedef struct {
int celsius_value;
temperature_val_intr_condition_t intr_condition;
}{...} temperature_sensor_threshold_event_data_t;
/* ... */
typedef bool (*temperature_thres_cb_t)(temperature_sensor_handle_t tsens, const temperature_sensor_threshold_event_data_t *edata, void *user_data);
/* ... */
typedef struct {
temperature_thres_cb_t on_threshold;
}{...} temperature_sensor_event_callbacks_t;
/* ... */
typedef struct {
float high_threshold;
float low_threshold;
}{...} temperature_sensor_abs_threshold_config_t;
/* ... */
esp_err_t temperature_sensor_set_absolute_threshold(temperature_sensor_handle_t tsens, const temperature_sensor_abs_threshold_config_t *abs_cfg);
/* ... */
typedef struct {
float increase_delta;
float decrease_delta;
}{...} temperature_sensor_delta_threshold_config_t;
/* ... */
esp_err_t temperature_sensor_set_delta_threshold(temperature_sensor_handle_t tsens, const temperature_sensor_delta_threshold_config_t *delta_cfg);
/* ... */
esp_err_t temperature_sensor_register_callbacks(temperature_sensor_handle_t tsens, const temperature_sensor_event_callbacks_t *cbs, void *user_arg);
/* ... */
#endif
#ifdef __cplusplus
}{...}
#endif