1.电池电压调整
This commit is contained in:
parent
96a50de731
commit
e3104e6907
|
@ -302,7 +302,7 @@ UINT32 sf_battery_adc_value_get_once(void)
|
||||||
if(sf_adc_value_get(SF_ADC_DC, &batAdc) == SUCCESS)
|
if(sf_adc_value_get(SF_ADC_DC, &batAdc) == SUCCESS)
|
||||||
{
|
{
|
||||||
dcVoltageVal = sf_battery_voltage_convert(10, 100, batAdc);
|
dcVoltageVal = sf_battery_voltage_convert(10, 100, batAdc);
|
||||||
dcVoltageVal += 2;
|
//dcVoltageVal += 2;
|
||||||
if(puiPara->BatteryLogSwitch)
|
if(puiPara->BatteryLogSwitch)
|
||||||
printf("DC ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,dcVoltageVal,dcVoltageVal/10,dcVoltageVal%10);
|
printf("DC ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,dcVoltageVal,dcVoltageVal/10,dcVoltageVal%10);
|
||||||
|
|
||||||
|
@ -311,7 +311,7 @@ UINT32 sf_battery_adc_value_get_once(void)
|
||||||
if(sf_adc_value_get(SF_ADC_LI, &batAdc) == SUCCESS)
|
if(sf_adc_value_get(SF_ADC_LI, &batAdc) == SUCCESS)
|
||||||
{
|
{
|
||||||
liPolymerVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
liPolymerVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
||||||
liPolymerVoltageVal += 2;
|
//liPolymerVoltageVal += 2;
|
||||||
if(puiPara->BatteryLogSwitch)
|
if(puiPara->BatteryLogSwitch)
|
||||||
printf("Li ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,liPolymerVoltageVal,liPolymerVoltageVal/10,liPolymerVoltageVal%10);
|
printf("Li ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,liPolymerVoltageVal,liPolymerVoltageVal/10,liPolymerVoltageVal%10);
|
||||||
|
|
||||||
|
@ -320,7 +320,7 @@ UINT32 sf_battery_adc_value_get_once(void)
|
||||||
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
|
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
|
||||||
{
|
{
|
||||||
batVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
batVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
||||||
batVoltageVal += 2;
|
//batVoltageVal += 2;
|
||||||
if(puiPara->BatteryLogSwitch)
|
if(puiPara->BatteryLogSwitch)
|
||||||
printf("Bat ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,batVoltageVal,batVoltageVal/10,batVoltageVal%10);
|
printf("Bat ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,batVoltageVal,batVoltageVal/10,batVoltageVal%10);
|
||||||
}
|
}
|
||||||
|
@ -693,6 +693,68 @@ signed int sf_battery_value_fast_get(void)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/******************************************************
|
||||||
|
Function: sf_battery_adc_value_get
|
||||||
|
Description: auto mode:take the maximum of 5 times;
|
||||||
|
manual mode:take the average of 10 times;
|
||||||
|
Input: N/A
|
||||||
|
Output: N/A
|
||||||
|
Return: SUCCESS/FAIL
|
||||||
|
Others: N/A
|
||||||
|
*******************************************************/
|
||||||
|
SINT32 sf_battery_adc_value_get(void)
|
||||||
|
{
|
||||||
|
UINT8 readBatCnt = 0;
|
||||||
|
|
||||||
|
UINT32 dcTemp = 0;
|
||||||
|
UINT32 batTemp = 0;
|
||||||
|
UINT32 dcValueList = { 0 };
|
||||||
|
UINT32 batValueList = { 0 };
|
||||||
|
|
||||||
|
//SINT32 ret = FAIL;
|
||||||
|
|
||||||
|
//uiPara_t * puiPara = appUiParaGet();
|
||||||
|
|
||||||
|
for(readBatCnt = 0; readBatCnt < 10;) //get average value of 10 times.
|
||||||
|
{
|
||||||
|
if(sf_battery_adc_value_get_once() == SUCCESS)
|
||||||
|
{
|
||||||
|
dcValueList = _DcVoltageVal;
|
||||||
|
|
||||||
|
if(_LiPolymerVoltageVal)
|
||||||
|
{
|
||||||
|
batValueList = _LiPolymerVoltageVal;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
batValueList = _BatVoltageVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
dcTemp += dcValueList;
|
||||||
|
batTemp += batValueList;
|
||||||
|
|
||||||
|
readBatCnt++;
|
||||||
|
|
||||||
|
sf_sleep_ms(100);
|
||||||
|
if(readBatCnt >= SF_READ_BAT_MAX)
|
||||||
|
{
|
||||||
|
_DcVoltageVal = dcTemp / SF_READ_BAT_MAX;
|
||||||
|
|
||||||
|
if(_LiPolymerVoltageVal)
|
||||||
|
{
|
||||||
|
_LiPolymerVoltageVal = batTemp / SF_READ_BAT_MAX;
|
||||||
|
}
|
||||||
|
else if(_BatVoltageVal)
|
||||||
|
{
|
||||||
|
_BatVoltageVal = batTemp / SF_READ_BAT_MAX;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
/*************************************************
|
/*************************************************
|
||||||
Function: sf_battery_level_polling
|
Function: sf_battery_level_polling
|
||||||
Description: polling battery level
|
Description: polling battery level
|
||||||
|
@ -717,11 +779,11 @@ void sf_battery_level_polling(void)
|
||||||
|
|
||||||
static UINT32 battEmpty = 0;
|
static UINT32 battEmpty = 0;
|
||||||
|
|
||||||
for(readBatCnt = 0; readBatCnt < 100;) //get average value of 100 times.
|
for(readBatCnt = 0; readBatCnt < 10;) //get average value of 10 times.
|
||||||
{
|
{
|
||||||
if(sf_battery_adc_value_get_once() == SUCCESS)
|
if(sf_battery_adc_value_get() == SUCCESS)
|
||||||
{
|
{
|
||||||
sf_sleep_ms(100);
|
//sf_sleep_ms(100);
|
||||||
|
|
||||||
dcTemp += _DcVoltageVal;
|
dcTemp += _DcVoltageVal;
|
||||||
temperValue += _TemperAdc;
|
temperValue += _TemperAdc;
|
||||||
|
@ -731,17 +793,17 @@ void sf_battery_level_polling(void)
|
||||||
LibatTemp += _LiPolymerVoltageVal;
|
LibatTemp += _LiPolymerVoltageVal;
|
||||||
batCnt++;
|
batCnt++;
|
||||||
}
|
}
|
||||||
else
|
else if(_BatVoltageVal)
|
||||||
{
|
{
|
||||||
batTemp += _BatVoltageVal;
|
batTemp += _BatVoltageVal;
|
||||||
LibatCnt++;
|
LibatCnt++;
|
||||||
}
|
}
|
||||||
readBatCnt++;
|
readBatCnt++;
|
||||||
|
|
||||||
if(readBatCnt >= 100)
|
if(readBatCnt >= 10)
|
||||||
{
|
{
|
||||||
_DcVoltageVal = dcTemp / 100;
|
_DcVoltageVal = dcTemp / 10;
|
||||||
_TemperAdc = temperValue/100;
|
_TemperAdc = temperValue/10;
|
||||||
|
|
||||||
if(LibatCnt)
|
if(LibatCnt)
|
||||||
_LiPolymerVoltageVal = LibatTemp / LibatCnt;
|
_LiPolymerVoltageVal = LibatTemp / LibatCnt;
|
||||||
|
@ -1221,8 +1283,10 @@ UINT8 sf_battery_type_get(void)
|
||||||
return SF_POWER_TYPE_DC;
|
return SF_POWER_TYPE_DC;
|
||||||
else if(LiPolymerVoltageVal)
|
else if(LiPolymerVoltageVal)
|
||||||
return SF_POWER_TYPE_LI_POLYER;
|
return SF_POWER_TYPE_LI_POLYER;
|
||||||
else
|
else if(BatVoltageVal)
|
||||||
return SF_POWER_TYPE_AA;
|
return SF_POWER_TYPE_AA;
|
||||||
|
else
|
||||||
|
return SF_POWER_TYPE_DC;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*************************************************
|
/*************************************************
|
||||||
|
|
Loading…
Reference in New Issue
Block a user