Skip to content

Commit 9d596a0

Browse files
authored
fix total operation hours value get incorrect (#37916)
1 parent a2e7564 commit 9d596a0

File tree

2 files changed

+5
-27
lines changed

2 files changed

+5
-27
lines changed

src/platform/ESP32/DiagnosticDataProviderImpl.cpp

+1-14
Original file line numberDiff line numberDiff line change
@@ -156,20 +156,7 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetUpTime(uint64_t & upTime)
156156

157157
CHIP_ERROR DiagnosticDataProviderImpl::GetTotalOperationalHours(uint32_t & totalOperationalHours)
158158
{
159-
uint64_t upTime = 0;
160-
161-
if (GetUpTime(upTime) == CHIP_NO_ERROR)
162-
{
163-
uint32_t totalHours = 0;
164-
if (ConfigurationMgr().GetTotalOperationalHours(totalHours) == CHIP_NO_ERROR)
165-
{
166-
VerifyOrReturnError(upTime / 3600 <= UINT32_MAX, CHIP_ERROR_INVALID_INTEGER_VALUE);
167-
totalOperationalHours = totalHours + static_cast<uint32_t>(upTime / 3600);
168-
return CHIP_NO_ERROR;
169-
}
170-
}
171-
172-
return CHIP_ERROR_INVALID_TIME;
159+
return ConfigurationMgr().GetTotalOperationalHours(totalOperationalHours);
173160
}
174161

175162
CHIP_ERROR DiagnosticDataProviderImpl::GetBootReason(BootReasonType & bootReason)

src/platform/ESP32/PlatformManagerImpl.cpp

+4-13
Original file line numberDiff line numberDiff line change
@@ -90,24 +90,15 @@ CHIP_ERROR PlatformManagerImpl::_InitChipStack()
9090

9191
void PlatformManagerImpl::_Shutdown()
9292
{
93-
uint64_t upTime = 0;
93+
uint32_t totalOperationalHours = 0;
9494

95-
if (GetDiagnosticDataProvider().GetUpTime(upTime) == CHIP_NO_ERROR)
95+
if (ConfigurationMgr().GetTotalOperationalHours(totalOperationalHours) == CHIP_NO_ERROR)
9696
{
97-
uint32_t totalOperationalHours = 0;
98-
99-
if (ConfigurationMgr().GetTotalOperationalHours(totalOperationalHours) == CHIP_NO_ERROR)
100-
{
101-
ConfigurationMgr().StoreTotalOperationalHours(totalOperationalHours + static_cast<uint32_t>(upTime / 3600));
102-
}
103-
else
104-
{
105-
ChipLogError(DeviceLayer, "Failed to get total operational hours of the Node");
106-
}
97+
ConfigurationMgr().StoreTotalOperationalHours(totalOperationalHours);
10798
}
10899
else
109100
{
110-
ChipLogError(DeviceLayer, "Failed to get current uptime since the Node’s last reboot");
101+
ChipLogError(DeviceLayer, "Failed to get total operational hours of the Node");
111102
}
112103

113104
Internal::GenericPlatformManagerImpl_FreeRTOS<PlatformManagerImpl>::_Shutdown();

0 commit comments

Comments
 (0)