caffeine-sal 0.1.17
Header-only polymorphic middleware services layer for the Caffeine Framework
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
cfn_sal_dev_battery.h File Reference

Abstract Battery Monitor service interface. More...

#include "cfn_sal.h"

Go to the source code of this file.

Data Structures

struct  cfn_sal_dev_battery_config_t
 
struct  cfn_sal_dev_battery_api_s
 Battery Monitor Virtual Method Table (VMT). More...
 

Macros

#define CFN_SAL_DEV_TYPE_BATTERY   CFN_SAL_TYPE('B', 'A', 'T')
 

Typedefs

typedef struct cfn_sal_dev_battery_s cfn_sal_dev_battery_t
 
typedef struct cfn_sal_dev_battery_api_s cfn_sal_dev_battery_api_t
 
typedef void(* cfn_sal_dev_battery_callback_t) (cfn_sal_dev_battery_t *driver, uint32_t event, uint32_t error, void *user_arg)
 

Enumerations

enum  cfn_sal_dev_battery_event_t {
  CFN_SAL_DEV_BATTERY_EVENT_NONE = 0 , CFN_SAL_DEV_BATTERY_EVENT_CHARGING = CFN_HAL_BIT(0) , CFN_SAL_DEV_BATTERY_EVENT_DISCHARGING = CFN_HAL_BIT(1) , CFN_SAL_DEV_BATTERY_EVENT_FULL = CFN_HAL_BIT(2) ,
  CFN_SAL_DEV_BATTERY_EVENT_LOW = CFN_HAL_BIT(3) , CFN_SAL_DEV_BATTERY_EVENT_CRITICAL = CFN_HAL_BIT(4)
}
 
enum  cfn_sal_dev_battery_status_t {
  CFN_SAL_DEV_BATTERY_STATUS_UNKNOWN = 0 , CFN_SAL_DEV_BATTERY_STATUS_CHARGING , CFN_SAL_DEV_BATTERY_STATUS_DISCHARGING , CFN_SAL_DEV_BATTERY_STATUS_NOT_CHARGING ,
  CFN_SAL_DEV_BATTERY_STATUS_FULL
}
 
enum  cfn_sal_dev_battery_charge_state_t { CFN_SAL_DEV_BATTERY_STATE_DISCHARGING = 0 , CFN_SAL_DEV_BATTERY_STATE_CHARGING , CFN_SAL_DEV_BATTERY_STATE_FULL , CFN_SAL_DEV_BATTERY_STATE_FAULT }
 

Functions

 CFN_HAL_VMT_CHECK (struct cfn_sal_dev_battery_api_s)
 
 CFN_SAL_CREATE_DRIVER_TYPE (sal_dev_battery, cfn_sal_dev_battery_config_t, cfn_sal_dev_battery_api_t, cfn_sal_phy_t, cfn_sal_dev_battery_callback_t)
 
CFN_HAL_INLINE void cfn_sal_dev_battery_populate (cfn_sal_dev_battery_t *driver, uint32_t peripheral_id, void *dependency, const cfn_sal_dev_battery_api_t *api, const cfn_sal_phy_t *phy, const cfn_sal_dev_battery_config_t *config, cfn_sal_dev_battery_callback_t callback, void *user_arg)
 
cfn_hal_error_code_t cfn_sal_dev_battery_construct (cfn_sal_dev_battery_t *driver, const cfn_sal_dev_battery_config_t *config, const cfn_sal_phy_t *phy, void *dependency, cfn_sal_dev_battery_callback_t callback, void *user_arg)
 
cfn_hal_error_code_t cfn_sal_dev_battery_destruct (cfn_sal_dev_battery_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_init (cfn_sal_dev_battery_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_deinit (cfn_sal_dev_battery_t *driver)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_config_set (cfn_sal_dev_battery_t *driver, const cfn_sal_dev_battery_config_t *config)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_config_get (cfn_sal_dev_battery_t *driver, cfn_sal_dev_battery_config_t *config)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_callback_register (cfn_sal_dev_battery_t *driver, cfn_sal_dev_battery_callback_t callback, void *user_arg)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_power_state_set (cfn_sal_dev_battery_t *driver, cfn_hal_power_state_t state)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_event_enable (cfn_sal_dev_battery_t *driver, uint32_t event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_event_disable (cfn_sal_dev_battery_t *driver, uint32_t event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_event_get (cfn_sal_dev_battery_t *driver, uint32_t *event_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_error_enable (cfn_sal_dev_battery_t *driver, uint32_t error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_error_disable (cfn_sal_dev_battery_t *driver, uint32_t error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_error_get (cfn_sal_dev_battery_t *driver, uint32_t *error_mask)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_voltage (cfn_sal_dev_battery_t *driver, float *volts_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_percentage (cfn_sal_dev_battery_t *driver, uint8_t *percent_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_current (cfn_sal_dev_battery_t *driver, float *amps_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_remaining_capacity (cfn_sal_dev_battery_t *driver, uint32_t *mah_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_status (cfn_sal_dev_battery_t *driver, cfn_sal_dev_battery_status_t *status_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_temperature (cfn_sal_dev_battery_t *driver, float *temp_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_read_current_ma (cfn_sal_dev_battery_t *driver, float *current_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_read_capacity_mah (cfn_sal_dev_battery_t *driver, float *cap_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_read_state_of_charge (cfn_sal_dev_battery_t *driver, float *soc_percent_out)
 
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_charge_state (cfn_sal_dev_battery_t *driver, cfn_sal_dev_battery_charge_state_t *state_out)
 

Detailed Description

Abstract Battery Monitor service interface.

Macro Definition Documentation

◆ CFN_SAL_DEV_TYPE_BATTERY

#define CFN_SAL_DEV_TYPE_BATTERY   CFN_SAL_TYPE('B', 'A', 'T')

Typedef Documentation

◆ cfn_sal_dev_battery_api_t

◆ cfn_sal_dev_battery_callback_t

typedef void(* cfn_sal_dev_battery_callback_t) (cfn_sal_dev_battery_t *driver, uint32_t event, uint32_t error, void *user_arg)

◆ cfn_sal_dev_battery_t

typedef struct cfn_sal_dev_battery_s cfn_sal_dev_battery_t

Enumeration Type Documentation

◆ cfn_sal_dev_battery_charge_state_t

Enumerator
CFN_SAL_DEV_BATTERY_STATE_DISCHARGING 
CFN_SAL_DEV_BATTERY_STATE_CHARGING 
CFN_SAL_DEV_BATTERY_STATE_FULL 
CFN_SAL_DEV_BATTERY_STATE_FAULT 

◆ cfn_sal_dev_battery_event_t

Enumerator
CFN_SAL_DEV_BATTERY_EVENT_NONE 
CFN_SAL_DEV_BATTERY_EVENT_CHARGING 
CFN_SAL_DEV_BATTERY_EVENT_DISCHARGING 
CFN_SAL_DEV_BATTERY_EVENT_FULL 
CFN_SAL_DEV_BATTERY_EVENT_LOW 
CFN_SAL_DEV_BATTERY_EVENT_CRITICAL 

◆ cfn_sal_dev_battery_status_t

Enumerator
CFN_SAL_DEV_BATTERY_STATUS_UNKNOWN 
CFN_SAL_DEV_BATTERY_STATUS_CHARGING 
CFN_SAL_DEV_BATTERY_STATUS_DISCHARGING 
CFN_SAL_DEV_BATTERY_STATUS_NOT_CHARGING 
CFN_SAL_DEV_BATTERY_STATUS_FULL 

Function Documentation

◆ CFN_HAL_VMT_CHECK()

CFN_HAL_VMT_CHECK ( struct cfn_sal_dev_battery_api_s  )

◆ CFN_SAL_CREATE_DRIVER_TYPE()

CFN_SAL_CREATE_DRIVER_TYPE ( sal_dev_battery  ,
cfn_sal_dev_battery_config_t  ,
cfn_sal_dev_battery_api_t  ,
cfn_sal_phy_t  ,
cfn_sal_dev_battery_callback_t   
)

◆ cfn_sal_dev_battery_callback_register()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_callback_register ( cfn_sal_dev_battery_t driver,
cfn_sal_dev_battery_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_dev_battery_config_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_config_get ( cfn_sal_dev_battery_t driver,
cfn_sal_dev_battery_config_t config 
)

◆ cfn_sal_dev_battery_config_set()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_config_set ( cfn_sal_dev_battery_t driver,
const cfn_sal_dev_battery_config_t config 
)

◆ cfn_sal_dev_battery_construct()

cfn_hal_error_code_t cfn_sal_dev_battery_construct ( cfn_sal_dev_battery_t driver,
const cfn_sal_dev_battery_config_t config,
const cfn_sal_phy_t phy,
void *  dependency,
cfn_sal_dev_battery_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_dev_battery_deinit()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_deinit ( cfn_sal_dev_battery_t driver)

◆ cfn_sal_dev_battery_destruct()

cfn_hal_error_code_t cfn_sal_dev_battery_destruct ( cfn_sal_dev_battery_t driver)

◆ cfn_sal_dev_battery_error_disable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_error_disable ( cfn_sal_dev_battery_t driver,
uint32_t  error_mask 
)

◆ cfn_sal_dev_battery_error_enable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_error_enable ( cfn_sal_dev_battery_t driver,
uint32_t  error_mask 
)

◆ cfn_sal_dev_battery_error_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_error_get ( cfn_sal_dev_battery_t driver,
uint32_t *  error_mask 
)

◆ cfn_sal_dev_battery_event_disable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_event_disable ( cfn_sal_dev_battery_t driver,
uint32_t  event_mask 
)

◆ cfn_sal_dev_battery_event_enable()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_event_enable ( cfn_sal_dev_battery_t driver,
uint32_t  event_mask 
)

◆ cfn_sal_dev_battery_event_get()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_event_get ( cfn_sal_dev_battery_t driver,
uint32_t *  event_mask 
)

◆ cfn_sal_dev_battery_get_charge_state()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_charge_state ( cfn_sal_dev_battery_t driver,
cfn_sal_dev_battery_charge_state_t state_out 
)

◆ cfn_sal_dev_battery_get_current()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_current ( cfn_sal_dev_battery_t driver,
float *  amps_out 
)

◆ cfn_sal_dev_battery_get_percentage()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_percentage ( cfn_sal_dev_battery_t driver,
uint8_t *  percent_out 
)

◆ cfn_sal_dev_battery_get_remaining_capacity()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_remaining_capacity ( cfn_sal_dev_battery_t driver,
uint32_t *  mah_out 
)

◆ cfn_sal_dev_battery_get_status()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_status ( cfn_sal_dev_battery_t driver,
cfn_sal_dev_battery_status_t status_out 
)

◆ cfn_sal_dev_battery_get_temperature()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_temperature ( cfn_sal_dev_battery_t driver,
float *  temp_out 
)

◆ cfn_sal_dev_battery_get_voltage()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_get_voltage ( cfn_sal_dev_battery_t driver,
float *  volts_out 
)

◆ cfn_sal_dev_battery_init()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_init ( cfn_sal_dev_battery_t driver)

◆ cfn_sal_dev_battery_populate()

CFN_HAL_INLINE void cfn_sal_dev_battery_populate ( cfn_sal_dev_battery_t driver,
uint32_t  peripheral_id,
void *  dependency,
const cfn_sal_dev_battery_api_t api,
const cfn_sal_phy_t phy,
const cfn_sal_dev_battery_config_t config,
cfn_sal_dev_battery_callback_t  callback,
void *  user_arg 
)

◆ cfn_sal_dev_battery_power_state_set()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_power_state_set ( cfn_sal_dev_battery_t driver,
cfn_hal_power_state_t  state 
)

◆ cfn_sal_dev_battery_read_capacity_mah()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_read_capacity_mah ( cfn_sal_dev_battery_t driver,
float *  cap_out 
)

◆ cfn_sal_dev_battery_read_current_ma()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_read_current_ma ( cfn_sal_dev_battery_t driver,
float *  current_out 
)

◆ cfn_sal_dev_battery_read_state_of_charge()

CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_battery_read_state_of_charge ( cfn_sal_dev_battery_t driver,
float *  soc_percent_out 
)