5#if defined(USE_ESP32_VARIANT_ESP32)
10#elif defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || \
11 defined(USE_ESP32_VARIANT_ESP32C5) || defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || \
12 defined(USE_ESP32_VARIANT_ESP32H2) || defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || \
13 defined(USE_ESP32_VARIANT_ESP32S3)
14#include "driver/temperature_sensor.h"
27namespace internal_temperature {
29static const char *
const TAG =
"internal_temperature";
31#if defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32C5) || \
32 defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || defined(USE_ESP32_VARIANT_ESP32H2) || \
33 defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
34static temperature_sensor_handle_t tsensNew = NULL;
42#if defined(USE_ESP32_VARIANT_ESP32)
44 ESP_LOGV(TAG,
"Raw temperature value: %d",
raw);
46 success = (
raw != 128);
47#elif defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || \
48 defined(USE_ESP32_VARIANT_ESP32C5) || defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || \
49 defined(USE_ESP32_VARIANT_ESP32H2) || defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || \
50 defined(USE_ESP32_VARIANT_ESP32S3)
51 esp_err_t result = temperature_sensor_get_celsius(tsensNew, &
temperature);
52 success = (result == ESP_OK);
54 ESP_LOGE(TAG,
"Reading failed (%d)", result);
65 success = (result == 0);
66#if defined(USE_LIBRETINY_VARIANT_BK7231N)
68#elif defined(USE_LIBRETINY_VARIANT_BK7231T)
77 ESP_LOGD(TAG,
"Ignoring invalid temperature (success=%d, value=%.1f)", success,
temperature);
86#if defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32C5) || \
87 defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || defined(USE_ESP32_VARIANT_ESP32H2) || \
88 defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
89 temperature_sensor_config_t tsens_config = TEMPERATURE_SENSOR_CONFIG_DEFAULT(-10, 80);
91 esp_err_t result = temperature_sensor_install(&tsens_config, &tsensNew);
92 if (result != ESP_OK) {
93 ESP_LOGE(TAG,
"Install failed (%d)", result);
98 result = temperature_sensor_enable(tsensNew);
99 if (result != ESP_OK) {
100 ESP_LOGE(TAG,
"Enabling failed (%d)", result);
virtual void mark_failed()
Mark this component as failed.
void dump_config() override
void publish_state(float state)
Publish a new state to the front-end.
uint8_t temprature_sens_read()
uint32_t temp_single_get_current_temperature(uint32_t *temp_value)
Providing packet encoding functions for exchanging data with a remote host.