mirror of
https://github.com/esphome/esphome.git
synced 2026-09-22 04:28:43 +00:00
[multiple] Fix wrong behavior in 5 components (#14647)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
fecedeb018
commit
7c1b9f0cb4
@@ -144,9 +144,12 @@ void Anova::update() {
|
||||
return;
|
||||
|
||||
if (this->current_request_ < 2) {
|
||||
auto *pkt = this->codec_->get_read_device_status_request();
|
||||
if (this->current_request_ == 0)
|
||||
this->codec_->get_set_unit_request(this->fahrenheit_ ? 'f' : 'c');
|
||||
AnovaPacket *pkt;
|
||||
if (this->current_request_ == 0) {
|
||||
pkt = this->codec_->get_set_unit_request(this->fahrenheit_ ? 'f' : 'c');
|
||||
} else {
|
||||
pkt = this->codec_->get_read_device_status_request();
|
||||
}
|
||||
auto status =
|
||||
esp_ble_gattc_write_char(this->parent_->get_gattc_if(), this->parent_->get_conn_id(), this->char_handle_,
|
||||
pkt->length, pkt->data, ESP_GATT_WRITE_TYPE_NO_RSP, ESP_GATT_AUTH_REQ_NONE);
|
||||
|
||||
@@ -136,7 +136,6 @@ optional<bool> SettleFilter::new_value(bool value) {
|
||||
return {};
|
||||
} else {
|
||||
this->steady_ = false;
|
||||
this->output(value);
|
||||
this->set_timeout(FILTER_TIMEOUT_ID, this->delay_.value(), [this]() { this->steady_ = true; });
|
||||
return value;
|
||||
}
|
||||
|
||||
@@ -190,11 +190,9 @@ void BL0906::bias_correction_(uint8_t address, float measurements, float correct
|
||||
float i_rms0 = measurements * ki;
|
||||
float i_rms = correction * ki;
|
||||
int32_t value = (i_rms * i_rms - i_rms0 * i_rms0) / 256;
|
||||
data.l = value << 24 >> 24;
|
||||
data.m = value << 16 >> 24;
|
||||
if (value < 0) {
|
||||
data.h = (value << 8 >> 24) | 0b10000000;
|
||||
}
|
||||
data.l = value & 0xFF;
|
||||
data.m = (value >> 8) & 0xFF;
|
||||
data.h = (value >> 16) & 0xFF;
|
||||
data.address = bl0906_checksum(address, &data);
|
||||
ESP_LOGV(TAG, "RMSOS:%02X%02X%02X%02X%02X%02X", BL0906_WRITE_COMMAND, address, data.l, data.m, data.h, data.address);
|
||||
this->write_byte(BL0906_WRITE_COMMAND);
|
||||
|
||||
@@ -549,7 +549,7 @@ void ESPBTDevice::parse_adv_(const uint8_t *payload, uint8_t len) {
|
||||
// CSS 1.5 TX POWER LEVEL
|
||||
// "The TX Power Level data type indicates the transmitted power level of the packet containing the data type."
|
||||
// CSS 1: Optional in this context (may appear more than once in a block).
|
||||
this->tx_powers_.push_back(*payload);
|
||||
this->tx_powers_.push_back(*record);
|
||||
break;
|
||||
}
|
||||
case ESP_BLE_AD_TYPE_APPEARANCE: {
|
||||
|
||||
@@ -76,6 +76,9 @@ esp_err_t configure_timer_frequency(ledc_mode_t speed_mode, ledc_timer_t timer_n
|
||||
init_result = ledc_timer_config(&timer_conf);
|
||||
if (init_result != ESP_OK) {
|
||||
ESP_LOGW(TAG, "Unable to initialize timer with frequency %.1f and bit depth of %u", frequency, bit_depth);
|
||||
if (bit_depth <= 1) {
|
||||
break;
|
||||
}
|
||||
// try again with a lower bit depth
|
||||
timer_conf.duty_resolution = static_cast<ledc_timer_bit_t>(--bit_depth);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user