fix poll_match_count

This commit is contained in:
proddy
2026-03-29 16:30:38 +02:00
parent c6c2889306
commit 3da3345683
2 changed files with 3 additions and 6 deletions

View File

@@ -1600,12 +1600,12 @@ void EMSESP::incoming_telegram(uint8_t * data, const uint8_t length) {
wait_km_ = true;
connect_time = uuid::get_uptime_sec();
}
// this could also be by coincidence, so we should add a counter to the EMSbus class to check if the poll_id is the same as the EMS_BUS_ID for a certain number of times
if (poll_id == EMSbus::ems_bus_id()) {
EMSbus::poll_matched(uuid::get_uptime());
} else {
EMSbus::poll_match_reset();
}
if (wait_km_) {
if (poll_id != 0x48 && (uuid::get_uptime_sec() - connect_time) < EMS_WAIT_KM_TIMEOUT) {
return;

View File

@@ -215,6 +215,7 @@ class EMSbus {
// sets the flag for EMS bus connected
static void last_bus_activity(uint32_t timestamp) {
// record the first time we connected to the BUS, as this will be our uptime
if (!last_bus_activity_) {
bus_uptime_start_ = timestamp;
}
@@ -222,10 +223,6 @@ class EMSbus {
bus_connected_ = true;
}
static void poll_match_reset() {
poll_match_count_ = 0;
}
// return bus uptime in seconds
static uint32_t bus_uptime() {
if (!bus_uptime_start_) {