#ifndef __HAL_BATTERY_H__
#define __HAL_BATTERY_H__
/*********************************************************************
 * INCLUDES
 */
#include "usr_config.h"
#include "bsp_adc.h"
#include "bsp_time.h"

#include "system.h"

#define ADC_REF_VOLTAGE_IN_MILLIVOLTS   600					/**< Reference voltage (in milli volts) used by ADC while doing conversion. */
#define ADC_PRE_SCALING_COMPENSATION    6					/**< The ADC is configured to use VDD with 1/3 prescaling as input. And hence the result of conversion is to be multiplied by 3 to get the actual value of the battery voltage.*/
#define ADC_RES_10BIT                   4096				/**< Maximum digital value for 10-bit ADC conversion. */

#define ADC_RESULT_IN_MILLI_VOLTS(ADC_VALUE)\
        ((((ADC_VALUE) * ADC_REF_VOLTAGE_IN_MILLIVOLTS) / ADC_RES_10BIT) * ADC_PRE_SCALING_COMPENSATION)


/*********************************************************************
 * API
 */
void Battery_Initialize(void);
uint8_t GetBatteryPersent(void);
void hal_battery_init(void);
int16_t hal_GetBatttery_Adc(void);

#endif




