feature: charge: modify battery_gauge code

add temperature and current ioctl api

Signed-off-by: weizhifang <weizhifang@xiaomi.com>
This commit is contained in:
weizhifang 2021-09-18 14:06:16 +08:00 committed by Abdelatif Guettouche
parent 9235d6605b
commit 2a6673bcdd
2 changed files with 28 additions and 0 deletions

View File

@ -328,6 +328,26 @@ static int bat_gauge_ioctl(FAR struct file *filep,
}
break;
case BATIOC_CURRENT:
{
FAR b16_t *ptr = (FAR b16_t *)((uintptr_t)arg);
if (ptr)
{
ret = dev->ops->current(dev, ptr);
}
}
break;
case BATIOC_TEMPERATURE:
{
FAR b8_t *ptr = (FAR b8_t *)((uintptr_t)arg);
if (ptr)
{
ret = dev->ops->temp(dev, ptr);
}
}
break;
default:
_err("ERROR: Unrecognized cmd: %d\n", cmd);
ret = -ENOTTY;

View File

@ -99,6 +99,14 @@ struct battery_gauge_operations_s
/* Battery capacity */
int (*capacity)(struct battery_gauge_dev_s *dev, b16_t *value);
/* Battery current */
int (*current)(struct battery_gauge_dev_s *dev, b16_t *value);
/* Battery temp */
int (*temp)(struct battery_gauge_dev_s *dev, b8_t *value);
};
/* This structure defines the battery driver state structure */