1/* 2 * Copyright (C) 2021 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15#include <iostream> 16#include "include/sp_utils.h" 17#include "include/Power.h" 18#include "include/sp_log.h" 19namespace OHOS { 20namespace SmartPerf { 21std::map<std::string, std::string> Power::ItemData() 22{ 23 std::map<std::string, std::string> result; 24 if (!rkFlag) { 25 std::string currentNow; 26 SPUtils::LoadFile(currentNowPath, currentNow); 27 std::string voltageNow; 28 SPUtils::LoadFile(voltageNowPath, voltageNow); 29 result["currentNow"] = currentNow; 30 result["voltageNow"] = voltageNow; 31 if (result.find("currentNow") != result.end() && result["currentNow"].empty()) { 32 result["currentNow"] = "NA"; 33 } 34 if (result.find("voltageNow") != result.end() && result["voltageNow"].empty()) { 35 result["voltageNow"] = "NA"; 36 } 37 LOGI("currentNow: %s", currentNow.c_str()); 38 LOGI("voltageNow: %s", voltageNow.c_str()); 39 LOGI("Power::ItemData map size(%u)", result.size()); 40 } else { 41 result["failed"] = "RK does not support power acquisition"; 42 LOGI("failed:RK does not support power acquisition"); 43 } 44 return result; 45} 46void Power::SetRkFlag() 47{ 48 rkFlag = true; 49} 50} 51}