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, static int goldfish_battery_state(FAR struct battery_gauge_dev_s *dev,
FAR int *status); FAR int *status);
static int goldfish_battery_voltage(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);
static int goldfish_battery_capacity(FAR struct battery_gauge_dev_s *dev, 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, 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, static int goldfish_battery_temp(FAR struct battery_gauge_dev_s *dev,
FAR b8_t *value); FAR int *value);
/**************************************************************************** /****************************************************************************
* Private Data * 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, 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 = FAR struct goldfish_battery_data_s *data =
container_of(dev, struct goldfish_battery_data_s, battery); container_of(dev, struct goldfish_battery_data_s, battery);
uint32_t regval; uint32_t regval;
float vol;
/* BATTERY_VOLTAGE units is µV */ /* BATTERY_VOLTAGE units is µV */
regval = GOLDFISH_BATTERY_READ(data, BATTERY_VOLTAGE); 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 = regval / 1000;
*value = ftob16(vol);
return OK; return OK;
} }
static int goldfish_battery_capacity(FAR struct battery_gauge_dev_s *dev, 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 = FAR struct goldfish_battery_data_s *data =
container_of(dev, struct goldfish_battery_data_s, battery); 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 */ /* BATTERY_CAPACITY units is percentage */
regval = GOLDFISH_BATTERY_READ(data, BATTERY_CAPACITY); regval = GOLDFISH_BATTERY_READ(data, BATTERY_CAPACITY);
*value = uitoub16(regval); *value = regval;
return OK; return OK;
} }
static int goldfish_battery_current(FAR struct battery_gauge_dev_s *dev, 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 = FAR struct goldfish_battery_data_s *data =
container_of(dev, struct goldfish_battery_data_s, battery); container_of(dev, struct goldfish_battery_data_s, battery);
uint32_t regval; uint32_t regval;
float current;
/* BATTERY_CURRENT_NOW units is µA */ /* BATTERY_CURRENT_NOW units is µA */
regval = GOLDFISH_BATTERY_READ(data, BATTERY_CURRENT_NOW); 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 = regval / 1000;
*value = ftob16(current);
return OK; return OK;
} }
static int goldfish_battery_temp(FAR struct battery_gauge_dev_s *dev, 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 = FAR struct goldfish_battery_data_s *data =
container_of(dev, struct goldfish_battery_data_s, battery); container_of(dev, struct goldfish_battery_data_s, battery);
int32_t regval; int32_t regval;
float temp;
/* BATTERY_TEMP units is 0.1 celsius */ /* BATTERY_TEMP units is 0.1 celsius */
regval = GOLDFISH_BATTERY_READ(data, BATTERY_TEMP); regval = GOLDFISH_BATTERY_READ(data, BATTERY_TEMP);
/* convert to unit celsius and fill b16_t */ *value = regval;
temp = regval / 10.0f;
*value = ftob8(temp);
return OK; return OK;
} }