From 44dc8857172b83d2b94d3bbf150e6ac7f9a34e36 Mon Sep 17 00:00:00 2001 From: "XI.CHEN" <2311041011@qq.com> Date: Mon, 17 Mar 2025 15:43:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B7=A5=E4=BD=9C=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=8A=A5=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/PhoneDevice.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index 7e3c7b18..631daaf5 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -1248,32 +1248,45 @@ float CPhoneDevice::QueryBattaryVoltage(int timesForAvg, bool* isCharging) int val = 0; int totalVals = 0; float chargingBusVoltage = 0.0f; - for (int idx = 0; idx < timesForAvg; idx++) + int idx = 0; + int t1 = time(NULL); + for (idx = 0; idx < timesForAvg; idx++) { + auto now = std::chrono::system_clock::now(); val = GpioControl::getChargingBusVoltage(); + auto now2 = std::chrono::system_clock::now(); + auto duration = std::chrono::duration_cast(now2 - now).count(); + XYLOG(XYLOG_SEVERITY_INFO,"WorkStatus BusVoltage val=%d, time=%lld", val, static_cast(duration)); if (val > 1000) { chargingBusVoltage = (float)val / 1000.0; break; } } + int t2 = time(NULL) - t1; + XYLOG(XYLOG_SEVERITY_INFO,"WorkStatus BusVoltage end, time=%d", t2); if (isCharging != NULL) { *isCharging = chargingBusVoltage > DEFAULT_WARNING_CHARGING_BUS_VOL; } - + int t3 = time(NULL); int matched = 0; for (int idx = 0; idx < timesForAvg; idx++) { + auto now3 = std::chrono::system_clock::now(); val = GpioControl::getBatteryVoltage(); // // BatVol + auto now4 = std::chrono::system_clock::now(); + auto duration = std::chrono::duration_cast(now4 - now3).count(); + XYLOG(XYLOG_SEVERITY_INFO,"WorkStatus BatteryVoltage val=%d, time=%lld", val, static_cast(duration)); if (val > 0) { totalVals += val > BATTARY_VOLTAGE_MAX ? BATTARY_VOLTAGE_MAX : val; matched++; } } - + int t4 = time(NULL) - t3; + XYLOG(XYLOG_SEVERITY_INFO,"WorkStatus BatteryVoltage end, time=%d", t4); return (matched > 0) ? ((float)totalVals / 1000.0 / matched) : 0; }