mirror of
https://github.com/esphome/esphome.git
synced 2026-08-22 22:26:21 +00:00
[atc_mithermometer] Make duplicate-packet counter per-instance (#17496)
This commit is contained in:
@@ -65,12 +65,11 @@ optional<ParseResult> ATCMiThermometer::parse_header_(const esp32_ble_tracker::S
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint8_t last_frame_count = 0;
|
if (this->last_frame_count_ == raw[12]) {
|
||||||
if (last_frame_count == raw[12]) {
|
ESP_LOGVV(TAG, "parse_header(): duplicate data packet received (%hhu).", this->last_frame_count_);
|
||||||
ESP_LOGVV(TAG, "parse_header(): duplicate data packet received (%hhu).", last_frame_count);
|
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
last_frame_count = raw[12];
|
this->last_frame_count_ = raw[12];
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ class ATCMiThermometer final : public Component, public esp32_ble_tracker::ESPBT
|
|||||||
sensor::Sensor *battery_voltage_{nullptr};
|
sensor::Sensor *battery_voltage_{nullptr};
|
||||||
sensor::Sensor *signal_strength_{nullptr};
|
sensor::Sensor *signal_strength_{nullptr};
|
||||||
|
|
||||||
|
uint8_t last_frame_count_{0};
|
||||||
|
|
||||||
optional<ParseResult> parse_header_(const esp32_ble_tracker::ServiceData &service_data);
|
optional<ParseResult> parse_header_(const esp32_ble_tracker::ServiceData &service_data);
|
||||||
bool parse_message_(const std::vector<uint8_t> &message, ParseResult &result);
|
bool parse_message_(const std::vector<uint8_t> &message, ParseResult &result);
|
||||||
bool report_results_(const optional<ParseResult> &result, const char *address);
|
bool report_results_(const optional<ParseResult> &result, const char *address);
|
||||||
|
|||||||
Reference in New Issue
Block a user