view src/cs/drivers/drv_app/pwr/pwr_api.h @ 192:4f40ae165be4

abb.c & init.c: sync with Magnetite for Luna additions These Luna target-specific additions are conditionalized on CONFIG_TARGET_LUNA, a C preprocessor symbol that will never be defined in Selenite, hence this change has exactly zero impact on FC Selenite. However, they are being pulled in as a sync in order to keep the diff between Magnetite and Selenite to a minimum; keeping this diff to a minimum increases our opportunities for possible evolution of future FC firmwares.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 23 May 2020 07:03:46 +0000
parents b6a5e36de839
children
line wrap: on
line source

/*******************************************************************************
 *
 * pwr_api.h
 *
 * Purpose: This file contains definitions that can be used by any SWE
 *          for power management services.
 *
 * Author    Candice Bazanegue (c-brille@ti.com)
 *
 * (C) Texas Instruments 2001
 *
 ******************************************************************************/

#ifndef __PWR_API_H__
#define __PWR_API_H__

#include "rv/rv_general.h"

typedef T_RV_RET T_POWER_RET;

typedef enum
{
    POWER_OK      =  0,    /* OK */
    POWER_ERROR   = -1     /* ERROR */
};


/* Define the different charging process states */
typedef enum
{
   CHARGE_STOPPED,
   TESTING_BATTERY,
   CI_CHARGE_STARTED,   /* constant current charge */
   CV_CHARGE_STARTED    /* constant voltage charge */
}T_PWR_CHARGING_STATE;


/* Define the different states for TIMER0 use */
typedef enum
{
   BATTERY_TYPE_TEST,
   BATTERY_SHORT_TEST,
   BATTERY_OPEN_TEST,
   BATTERY_50UA_TEMP_TEST,
   BATTERY_10UA_TEMP_TEST,
   BATTERY_CALIBRATION
}T_PWR_TIMER0_STATE;


typedef struct
{
   BOOLEAN        info_enable;
   T_RV_RETURN    return_path;
}T_POWER_INFO;

typedef UINT8 T_PWR_PERCENT;

typedef struct
{
   T_PWR_PERCENT  remain_capa_threshold;
   T_RV_RETURN    return_path;
}T_POWER_ALERT;

typedef enum
{
   BAT_TEMP_OUTSIDE_LIMITS,
   BAT_OPEN_TEST_FAILED,
   BAT_SHORT_TEST_FAILED,
   BAT_TYPE_UNKNOWN
} T_BAT_PROBLEM;




/* Prototypes */

T_POWER_RET power_info_register(BOOLEAN info_enable, T_RV_RETURN return_path);
T_POWER_RET power_alert_register(T_PWR_PERCENT remain_capa_threshold, T_RV_RETURN return_path);
T_POWER_RET power_emergency_register(T_RV_RETURN return_path);
T_POWER_RET power_battery_information(void);
void pwr_get_bat_info(void);

#endif /* __PWR_API_H__ */