mirror of
https://github.com/esphome/esphome.git
synced 2024-11-29 02:04:13 +01:00
Internal temperature: Support Beken platform (#6491)
This commit is contained in:
parent
46c63f48c2
commit
270fb5e7ac
2 changed files with 17 additions and 1 deletions
|
@ -14,6 +14,11 @@ uint8_t temprature_sens_read();
|
||||||
#ifdef USE_RP2040
|
#ifdef USE_RP2040
|
||||||
#include "Arduino.h"
|
#include "Arduino.h"
|
||||||
#endif // USE_RP2040
|
#endif // USE_RP2040
|
||||||
|
#ifdef USE_BK72XX
|
||||||
|
extern "C" {
|
||||||
|
uint32_t temp_single_get_current_temperature(uint32_t *temp_value);
|
||||||
|
}
|
||||||
|
#endif // USE_BK72XX
|
||||||
|
|
||||||
namespace esphome {
|
namespace esphome {
|
||||||
namespace internal_temperature {
|
namespace internal_temperature {
|
||||||
|
@ -46,6 +51,16 @@ void InternalTemperatureSensor::update() {
|
||||||
temperature = analogReadTemp();
|
temperature = analogReadTemp();
|
||||||
success = (temperature != 0.0f);
|
success = (temperature != 0.0f);
|
||||||
#endif // USE_RP2040
|
#endif // USE_RP2040
|
||||||
|
#ifdef USE_BK72XX
|
||||||
|
uint32_t raw, result;
|
||||||
|
result = temp_single_get_current_temperature(&raw);
|
||||||
|
success = (result == 0);
|
||||||
|
#ifdef USE_LIBRETINY_VARIANT_BK7231T
|
||||||
|
temperature = raw * 0.04f;
|
||||||
|
#else
|
||||||
|
temperature = raw * 0.128f;
|
||||||
|
#endif // USE_LIBRETINY_VARIANT_BK7231T
|
||||||
|
#endif // USE_BK72XX
|
||||||
if (success && std::isfinite(temperature)) {
|
if (success && std::isfinite(temperature)) {
|
||||||
this->publish_state(temperature);
|
this->publish_state(temperature);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -14,6 +14,7 @@ from esphome.const import (
|
||||||
KEY_FRAMEWORK_VERSION,
|
KEY_FRAMEWORK_VERSION,
|
||||||
PLATFORM_ESP32,
|
PLATFORM_ESP32,
|
||||||
PLATFORM_RP2040,
|
PLATFORM_RP2040,
|
||||||
|
PLATFORM_BK72XX,
|
||||||
)
|
)
|
||||||
from esphome.core import CORE
|
from esphome.core import CORE
|
||||||
|
|
||||||
|
@ -51,7 +52,7 @@ CONFIG_SCHEMA = cv.All(
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
|
entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
|
||||||
).extend(cv.polling_component_schema("60s")),
|
).extend(cv.polling_component_schema("60s")),
|
||||||
cv.only_on([PLATFORM_ESP32, PLATFORM_RP2040]),
|
cv.only_on([PLATFORM_ESP32, PLATFORM_RP2040, PLATFORM_BK72XX]),
|
||||||
validate_config,
|
validate_config,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue