/*******************************************************************************
|
* File Name : Battery.c
|
* Description :
|
* Created on : 2021Äê4ÔÂ11ÈÕ
|
* Author : www.hido-studio.com
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Include Files *
|
*******************************************************************************/
|
#include "Battery.h"
|
#include "ADC_hal.h"
|
|
/*******************************************************************************
|
* Macro *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Type Definition *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Local Variable *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Local Function Declaration *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Local Function *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Global Function *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Function Name : Battery_GetADC
|
* Description : »ñÈ¡µç³ØADCÖµ
|
* Input : None
|
* Output : None
|
* Return : µç³ØADCÖµ
|
* Author : www.hido-studio.com
|
* Modified Date: : 2021Äê4ÔÂ11ÈÕ
|
*******************************************************************************/
|
HIDO_UINT16 Battery_GetADC(HIDO_VOID)
|
{
|
HIDO_UINT32 u32ADC = 0;//TODO ADC_GetValue(ADC_CH_BAT);
|
|
return (HIDO_UINT16)u32ADC;
|
}
|
|
/*******************************************************************************
|
* Function Name : Battery_GetVoltage
|
* Description : »ñÈ¡µç³Øµçѹ
|
* Input : None
|
* Output : None
|
* Return : µç³Øµçѹ
|
* Author : www.hido-studio.com
|
* Modified Date: : 2021Äê4ÔÂ11ÈÕ
|
*******************************************************************************/
|
HIDO_FLOAT Battery_GetVoltage(HIDO_VOID)
|
{
|
HIDO_UINT32 u32ADC = 0;//TODO ADC_GetValue(ADC_CH_BAT);
|
HIDO_FLOAT fVoltage = (u32ADC / 4095.0) * 3.3;
|
|
fVoltage = fVoltage * (HIDO_FLOAT)2.0;
|
|
return fVoltage;
|
}
|
|
/*******************************************************************************
|
* Function Name : Battery_GetPercentage
|
* Description : »ñÈ¡µç³ØÈÝÁ¿°Ù·Ö±È
|
* Input : None
|
* Output : None
|
* Return : µç³ØÈÝÁ¿°Ù·Ö±È
|
* Author : www.hido-studio.com
|
* Modified Date: : 2021Äê4ÔÂ11ÈÕ
|
*******************************************************************************/
|
HIDO_UINT32 Battery_GetPercentage(HIDO_VOID)
|
{
|
HIDO_FLOAT fVoltage = 0;
|
HIDO_UINT32 u32Percentage = 0;
|
|
//TODO fVoltage = Battery_GetVoltage();
|
if(fVoltage < (HIDO_FLOAT)3.3)
|
{
|
u32Percentage = 0;
|
}
|
else if(u32Percentage > 4.2)
|
{
|
u32Percentage = 100;
|
}
|
else
|
{
|
u32Percentage = (fVoltage - (HIDO_FLOAT)3.3) / (HIDO_FLOAT)(4.2 - 3.3)*100;
|
}
|
|
return u32Percentage;
|
}
|