From 934f173a52deba44e107f236686015a2bcadef48 Mon Sep 17 00:00:00 2001 From: WangLibo Date: Thu, 6 Feb 2025 17:01:50 +0800 Subject: [PATCH] When the heartbeatInterval sent by the platform = 0, the local heartbeatInterval is used. --- src/chargepoint/status/StatusManager.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/chargepoint/status/StatusManager.cpp b/src/chargepoint/status/StatusManager.cpp index 3c70abef..b2ecde50 100644 --- a/src/chargepoint/status/StatusManager.cpp +++ b/src/chargepoint/status/StatusManager.cpp @@ -434,7 +434,15 @@ void StatusManager::bootNotificationProcess() // Configure hearbeat std::chrono::seconds interval(boot_conf.interval); - m_ocpp_config.heartbeatInterval(interval); + if(boot_conf.interval == 0) + { + interval = m_ocpp_config.heartbeatInterval(); + } + else + { + m_ocpp_config.heartbeatInterval(interval); + } + m_heartbeat_timer.start(std::chrono::milliseconds(interval)); } else @@ -551,7 +559,15 @@ void StatusManager::sendBootNotification() // Restart hearbeat timer std::chrono::seconds interval(boot_conf.interval); - m_ocpp_config.heartbeatInterval(interval); + if(boot_conf.interval == 0) + { + interval = m_ocpp_config.heartbeatInterval(); + } + else + { + m_ocpp_config.heartbeatInterval(interval); + } + m_heartbeat_timer.restart(std::chrono::milliseconds(interval)); // Save registration status