Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
fuel_gauge.h File Reference

Main header file for fuel gauge driver API. More...

#include <errno.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <zephyr/device.h>
#include <zephyr/syscalls/fuel_gauge.h>

Go to the source code of this file.

Data Structures

union  fuel_gauge_prop_val
 Property field to value/type union. More...
struct  sbs_gauge_manufacturer_name
struct  sbs_gauge_device_name
struct  sbs_gauge_device_chemistry
struct  fuel_gauge_driver_api
  Driver Operations Fuel Gauge driver operations More...

Macros

#define SBS_GAUGE_MANUFACTURER_NAME_MAX_SIZE   20
 Data structures for reading SBS buffer properties.
#define SBS_GAUGE_DEVICE_NAME_MAX_SIZE   20
#define SBS_GAUGE_DEVICE_CHEMISTRY_MAX_SIZE   4

Typedefs

typedef uint16_t fuel_gauge_prop_t
typedef int(* fuel_gauge_get_property_t) (const struct device *dev, fuel_gauge_prop_t prop, union fuel_gauge_prop_val *val)
 Callback API for getting a fuel_gauge property.
typedef int(* fuel_gauge_set_property_t) (const struct device *dev, fuel_gauge_prop_t prop, union fuel_gauge_prop_val val)
 Callback API for setting a fuel_gauge property.
typedef int(* fuel_gauge_get_buffer_property_t) (const struct device *dev, fuel_gauge_prop_t prop_type, void *dst, size_t dst_len)
 Callback API for getting a fuel_gauge buffer property.
typedef int(* fuel_gauge_battery_cutoff_t) (const struct device *dev)
 Callback API for doing a battery cutoff.

Enumerations

enum  fuel_gauge_prop_type {
  FUEL_GAUGE_AVG_CURRENT_UA = 0 , FUEL_GAUGE_AVG_CURRENT = FUEL_GAUGE_AVG_CURRENT_UA , FUEL_GAUGE_CURRENT_UA , FUEL_GAUGE_CURRENT = FUEL_GAUGE_CURRENT_UA ,
  FUEL_GAUGE_CHARGE_CUTOFF , FUEL_GAUGE_CYCLE_COUNT , FUEL_GAUGE_CONNECT_STATE , FUEL_GAUGE_FLAGS ,
  FUEL_GAUGE_FULL_CHARGE_CAPACITY_UAH , FUEL_GAUGE_FULL_CHARGE_CAPACITY = FUEL_GAUGE_FULL_CHARGE_CAPACITY_UAH , FUEL_GAUGE_PRESENT_STATE , FUEL_GAUGE_REMAINING_CAPACITY_UAH ,
  FUEL_GAUGE_REMAINING_CAPACITY = FUEL_GAUGE_REMAINING_CAPACITY_UAH , FUEL_GAUGE_RUNTIME_TO_EMPTY_MINS , FUEL_GAUGE_RUNTIME_TO_EMPTY = FUEL_GAUGE_RUNTIME_TO_EMPTY_MINS , FUEL_GAUGE_RUNTIME_TO_FULL_MINS ,
  FUEL_GAUGE_RUNTIME_TO_FULL = FUEL_GAUGE_RUNTIME_TO_FULL_MINS , FUEL_GAUGE_SBS_MFR_ACCESS , FUEL_GAUGE_ABSOLUTE_STATE_OF_CHARGE_PCT , FUEL_GAUGE_ABSOLUTE_STATE_OF_CHARGE = FUEL_GAUGE_ABSOLUTE_STATE_OF_CHARGE_PCT ,
  FUEL_GAUGE_RELATIVE_STATE_OF_CHARGE_PCT , FUEL_GAUGE_RELATIVE_STATE_OF_CHARGE = FUEL_GAUGE_RELATIVE_STATE_OF_CHARGE_PCT , FUEL_GAUGE_TEMPERATURE_DK , FUEL_GAUGE_TEMPERATURE = FUEL_GAUGE_TEMPERATURE_DK ,
  FUEL_GAUGE_VOLTAGE_UV , FUEL_GAUGE_VOLTAGE = FUEL_GAUGE_VOLTAGE_UV , FUEL_GAUGE_SBS_MODE , FUEL_GAUGE_CHARGE_CURRENT_UA ,
  FUEL_GAUGE_CHARGE_CURRENT = FUEL_GAUGE_CHARGE_CURRENT_UA , FUEL_GAUGE_CHARGE_VOLTAGE_UV , FUEL_GAUGE_CHARGE_VOLTAGE = FUEL_GAUGE_CHARGE_VOLTAGE_UV , FUEL_GAUGE_STATUS ,
  FUEL_GAUGE_DESIGN_CAPACITY , FUEL_GAUGE_DESIGN_VOLTAGE_MV , FUEL_GAUGE_DESIGN_VOLTAGE = FUEL_GAUGE_DESIGN_VOLTAGE_MV , FUEL_GAUGE_SBS_ATRATE ,
  FUEL_GAUGE_SBS_ATRATE_TIME_TO_FULL_MINS , FUEL_GAUGE_SBS_ATRATE_TIME_TO_FULL = FUEL_GAUGE_SBS_ATRATE_TIME_TO_FULL_MINS , FUEL_GAUGE_SBS_ATRATE_TIME_TO_EMPTY_MINS , FUEL_GAUGE_SBS_ATRATE_TIME_TO_EMPTY = FUEL_GAUGE_SBS_ATRATE_TIME_TO_EMPTY_MINS ,
  FUEL_GAUGE_SBS_ATRATE_OK , FUEL_GAUGE_SBS_REMAINING_CAPACITY_ALARM , FUEL_GAUGE_SBS_REMAINING_TIME_ALARM_MINS , FUEL_GAUGE_SBS_REMAINING_TIME_ALARM = FUEL_GAUGE_SBS_REMAINING_TIME_ALARM_MINS ,
  FUEL_GAUGE_MANUFACTURER_NAME , FUEL_GAUGE_DEVICE_NAME , FUEL_GAUGE_DEVICE_CHEMISTRY , FUEL_GAUGE_CURRENT_DIRECTION ,
  FUEL_GAUGE_STATE_OF_CHARGE_ALARM_PCT , FUEL_GAUGE_STATE_OF_CHARGE_ALARM = FUEL_GAUGE_STATE_OF_CHARGE_ALARM_PCT , FUEL_GAUGE_LOW_VOLTAGE_ALARM_UV , FUEL_GAUGE_LOW_VOLTAGE_ALARM = FUEL_GAUGE_LOW_VOLTAGE_ALARM_UV ,
  FUEL_GAUGE_HIGH_VOLTAGE_ALARM_UV , FUEL_GAUGE_HIGH_VOLTAGE_ALARM = FUEL_GAUGE_HIGH_VOLTAGE_ALARM_UV , FUEL_GAUGE_LOW_CURRENT_ALARM_UA , FUEL_GAUGE_LOW_CURRENT_ALARM = FUEL_GAUGE_LOW_CURRENT_ALARM_UA ,
  FUEL_GAUGE_HIGH_CURRENT_ALARM_UA , FUEL_GAUGE_HIGH_CURRENT_ALARM = FUEL_GAUGE_HIGH_CURRENT_ALARM_UA , FUEL_GAUGE_LOW_TEMPERATURE_ALARM_DK , FUEL_GAUGE_LOW_TEMPERATURE_ALARM = FUEL_GAUGE_LOW_TEMPERATURE_ALARM_DK ,
  FUEL_GAUGE_HIGH_TEMPERATURE_ALARM_DK , FUEL_GAUGE_HIGH_TEMPERATURE_ALARM = FUEL_GAUGE_HIGH_TEMPERATURE_ALARM_DK , FUEL_GAUGE_LOW_GPIO_ALARM_UV , FUEL_GAUGE_LOW_GPIO_ALARM = FUEL_GAUGE_LOW_GPIO_ALARM_UV ,
  FUEL_GAUGE_HIGH_GPIO_ALARM_UV , FUEL_GAUGE_HIGH_GPIO_ALARM = FUEL_GAUGE_HIGH_GPIO_ALARM_UV , FUEL_GAUGE_GPIO_VOLTAGE_UV , FUEL_GAUGE_GPIO_VOLTAGE = FUEL_GAUGE_GPIO_VOLTAGE_UV ,
  FUEL_GAUGE_ADC_MODE , FUEL_GAUGE_CC_CONFIG , FUEL_GAUGE_STATE_OF_HEALTH , FUEL_GAUGE_THERM_VOLTAGE_UV ,
  FUEL_GAUGE_COMMON_COUNT , FUEL_GAUGE_CUSTOM_BEGIN , FUEL_GAUGE_PROP_MAX = UINT16_MAX
}

Functions

int fuel_gauge_get_prop (const struct device *dev, fuel_gauge_prop_t prop, union fuel_gauge_prop_val *val)
 Fetch a battery fuel-gauge property.
int fuel_gauge_get_props (const struct device *dev, const fuel_gauge_prop_t *props, union fuel_gauge_prop_val *vals, size_t len)
 Fetch multiple battery fuel-gauge properties.
int fuel_gauge_set_prop (const struct device *dev, fuel_gauge_prop_t prop, union fuel_gauge_prop_val val)
 Set a battery fuel-gauge property.
int fuel_gauge_set_props (const struct device *dev, const fuel_gauge_prop_t *props, const union fuel_gauge_prop_val *vals, size_t len)
 Set a battery fuel-gauge property.
int fuel_gauge_get_buffer_prop (const struct device *dev, fuel_gauge_prop_t prop_type, void *dst, size_t dst_len)
 Fetch a battery fuel-gauge buffer property.
int fuel_gauge_battery_cutoff (const struct device *dev)
 Have fuel gauge cutoff its associated battery.

Detailed Description

Main header file for fuel gauge driver API.