power/battery: battery drivers props use unification unit

battery drivers used unification unit

Signed-off-by: yezhonghui <yezhonghui@xiaomi.com>
This commit is contained in:
yezhonghui
2024-12-11 11:28:41 +08:00
committed by Alan C. Assis
parent 443e0cf0db
commit dba108ae5c
+14 -22
View File
@@ -102,13 +102,13 @@ static int goldfish_charger_online(FAR struct battery_gauge_dev_s *dev,
static int goldfish_battery_state(FAR struct battery_gauge_dev_s *dev,
FAR int *status);
static int goldfish_battery_voltage(FAR struct battery_gauge_dev_s *dev,
FAR b16_t *value);
FAR int *value);
static int goldfish_battery_capacity(FAR struct battery_gauge_dev_s *dev,
FAR b16_t *value);
FAR int *value);
static int goldfish_battery_current(FAR struct battery_gauge_dev_s *dev,
FAR b16_t *value);
FAR int *value);
static int goldfish_battery_temp(FAR struct battery_gauge_dev_s *dev,
FAR b8_t *value);
FAR int *value);
/****************************************************************************
* Private Data
@@ -174,26 +174,24 @@ static int goldfish_battery_state(FAR struct battery_gauge_dev_s *dev,
}
static int goldfish_battery_voltage(FAR struct battery_gauge_dev_s *dev,
FAR b16_t *value)
FAR int *value)
{
FAR struct goldfish_battery_data_s *data =
container_of(dev, struct goldfish_battery_data_s, battery);
uint32_t regval;
float vol;
/* BATTERY_VOLTAGE units is µV */
regval = GOLDFISH_BATTERY_READ(data, BATTERY_VOLTAGE);
/* convert to unit V and fill b16_t */
/* convert to unit mV and fill int */
vol = regval / 1000000.0f;
*value = ftob16(vol);
*value = regval / 1000;
return OK;
}
static int goldfish_battery_capacity(FAR struct battery_gauge_dev_s *dev,
FAR b16_t *value)
FAR int *value)
{
FAR struct goldfish_battery_data_s *data =
container_of(dev, struct goldfish_battery_data_s, battery);
@@ -202,45 +200,39 @@ static int goldfish_battery_capacity(FAR struct battery_gauge_dev_s *dev,
/* BATTERY_CAPACITY units is percentage */
regval = GOLDFISH_BATTERY_READ(data, BATTERY_CAPACITY);
*value = uitoub16(regval);
*value = regval;
return OK;
}
static int goldfish_battery_current(FAR struct battery_gauge_dev_s *dev,
FAR b16_t *value)
FAR int *value)
{
FAR struct goldfish_battery_data_s *data =
container_of(dev, struct goldfish_battery_data_s, battery);
uint32_t regval;
float current;
/* BATTERY_CURRENT_NOW units is µA */
regval = GOLDFISH_BATTERY_READ(data, BATTERY_CURRENT_NOW);
/* convert to unit mA and fill b16_t */
/* convert to unit mA and fill int */
current = regval / 1000.0f;
*value = ftob16(current);
*value = regval / 1000;
return OK;
}
static int goldfish_battery_temp(FAR struct battery_gauge_dev_s *dev,
FAR b8_t *value)
FAR int *value)
{
FAR struct goldfish_battery_data_s *data =
container_of(dev, struct goldfish_battery_data_s, battery);
int32_t regval;
float temp;
/* BATTERY_TEMP units is 0.1 celsius */
regval = GOLDFISH_BATTERY_READ(data, BATTERY_TEMP);
/* convert to unit celsius and fill b16_t */
temp = regval / 10.0f;
*value = ftob8(temp);
*value = regval;
return OK;
}