+/***
+ * @Date: 2024-05-30 15:59:37
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-07-19 11:44:23
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/include/dial/DialModelPower.h
+ */
/***
* @Date: 2024-04-15 10:55:58
* @LastEditors: Caisking 3449750381@qq.com
void NotifyPowerUpdate();
private:
- uint8_t power_ = 0;
+ int16_t power_ = 0;
bool powerUpdated_{false};
};
}
if (onChangeListener_ != nullptr)
{
onChangeListener_->OnDialFloatDataUpdate(DialDataType::DATA_TYPE_POWER, power_);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"[UpdatePower!]\r\n");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[UpdatePower!]\r\n");
}
}
}
+/***
+ * @Date: 2024-07-06 16:27:31
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-07-19 11:47:44
+ * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelPowerStandby.cpp
+ */
/***
* @Date: 2024-04-27 11:56:33
* @LastEditors: Caisking 3449750381@qq.com
if (!PowerStanbyUpdated_)
{
UpdatePowerStanby();
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdatePowerStanby %d", PowerStanby_);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "UpdatePower %d", PowerStanby_);
return false;
}
+
float voltage = 0.0F;
PowerStanby_ = battery_get_voltage(&voltage);
- out = static_cast<float>(PowerStanby_);
+
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Battery voltage obtained: %.2f", voltage);
+
+ // 计算映射值
+ float minPower = 0; // 最小电量映射值
+ float maxPower = 100; // 最大电量映射值
+ float mappedValue = static_cast<float>(PowerStanby_ - minPower) / (maxPower - minPower); // 进行映射计算
+
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Raw power value: %d, Mapped value: %.2f", PowerStanby_, mappedValue);
+
+ // 如果需要在 0 到 1 范围映射
+ out = mappedValue;
+
+ WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Mapped value sent to caller: %.2f", out);
+
return true;
}