1.关于DC 7V低电关机修改
This commit is contained in:
parent
9c46bc33f6
commit
b2f005bf21
|
@ -38,4 +38,5 @@ void sf_stamp_temperature_get(INT16 *fTem,INT16 *cTem); /*0:F 1:C*/
|
|||
void sf_temper_update(void);
|
||||
INT16 sf_celsius_change_to_fahrenheit(INT16 cTemper);
|
||||
UINT16 sf_battery_val_get(void);
|
||||
void sf_app_set_battery_level(unsigned long Val);
|
||||
#endif
|
||||
|
|
|
@ -1469,11 +1469,13 @@ UINT8 sf_check_power_on_mode(void)
|
|||
char *pStrUpFw = "UpFw=";
|
||||
char *pStrUpMcu = "mcu=";
|
||||
char *pStrOtsOk = "ota_flag=0x1";
|
||||
char *pStrSF = "sf=";
|
||||
|
||||
char *temp = NULL;
|
||||
UINT8 startup = 0;
|
||||
UINT8 UpFw = 0;
|
||||
UINT8 Upmcu = 0;
|
||||
unsigned long sftmp = 0;
|
||||
|
||||
system("cat /proc/cmdline > /tmp/Mode.txt");
|
||||
fp = fopen("/tmp/Mode.txt","r");
|
||||
|
@ -1512,6 +1514,14 @@ UINT8 sf_check_power_on_mode(void)
|
|||
SLOGI(": ota upgrade success\r\n");
|
||||
sf_cmd_camera_restart(1);
|
||||
}
|
||||
temp = strstr(pStrSrc, pStrSF);
|
||||
if ( temp != NULL) {
|
||||
temp += strlen("sf=");
|
||||
// sscanf(temp, "%hhd", &sftmp);
|
||||
sftmp = strtoul(temp, NULL, 10);
|
||||
sf_app_set_battery_level(sftmp);
|
||||
// sf_cardv_battery_level_set(sftmp);
|
||||
}
|
||||
SLOGI("StartMode=%d,UpFw=%d Upmcu=%d ota=%d\r\n", startup, UpFw, Upmcu, sf_get_camera_restart());
|
||||
|
||||
free(pStrSrc);
|
||||
|
|
|
@ -788,7 +788,7 @@ signed int sf_battery_value_fast_get(void)
|
|||
LiPolymerVoltageVal = 0;
|
||||
}
|
||||
|
||||
if((DcVoltageVal > LiPolymerVoltageVal) && (DcVoltageVal >= BatVoltageVal) && (DcVoltageVal >= SF_DC_IN_VOLATAGE))
|
||||
if((DcVoltageVal > LiPolymerVoltageVal) && (DcVoltageVal >= BatVoltageVal))
|
||||
{
|
||||
IsPowerDcIn = 1;
|
||||
}
|
||||
|
@ -877,7 +877,7 @@ SINT32 sf_battery_adc_value_get(void)
|
|||
if(batCnt)
|
||||
_BatVoltageVal = batTemp / batCnt;
|
||||
|
||||
if((_DcVoltageVal > _LiPolymerVoltageVal) && (_DcVoltageVal >= _BatVoltageVal) && (_DcVoltageVal >= SF_DC_IN_VOLATAGE))
|
||||
if((_DcVoltageVal > _LiPolymerVoltageVal) && (_DcVoltageVal >= _BatVoltageVal))
|
||||
{
|
||||
IsPowerDcIn = 1;
|
||||
}
|
||||
|
@ -967,7 +967,7 @@ void sf_battery_level_polling(void)
|
|||
if(batCnt)
|
||||
_BatVoltageVal = (UINT32)round(batTemp / batCnt);
|
||||
|
||||
if((_DcVoltageVal > _LiPolymerVoltageVal) && (_DcVoltageVal >= _BatVoltageVal) && (_DcVoltageVal >= SF_DC_IN_VOLATAGE))
|
||||
if((_DcVoltageVal > _LiPolymerVoltageVal) && (_DcVoltageVal >= _BatVoltageVal))
|
||||
{
|
||||
IsPowerDcIn = 1;
|
||||
}
|
||||
|
@ -1437,9 +1437,12 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
|
|||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(DcVoltageVal > SF_DC_IN_VOLATAGE)
|
||||
{
|
||||
value = 100;
|
||||
}
|
||||
}
|
||||
|
||||
return value;
|
||||
|
||||
|
@ -1506,11 +1509,11 @@ BOOL sf_is_battery_low(UINT8 refresh, UINT8 nightMode)
|
|||
UINT8 batteryVal = 0;
|
||||
UINT8 batteryLevel = 0;
|
||||
|
||||
if(refresh)
|
||||
{
|
||||
sf_battery_value_fast_get();
|
||||
//printf("DC=%d Custom=%d bat=%d\n", dcValue, CustomValue, batli8v);
|
||||
}
|
||||
// if(refresh)
|
||||
// {
|
||||
// sf_battery_value_fast_get();
|
||||
// //printf("DC=%d Custom=%d bat=%d\n", dcValue, CustomValue, batli8v);
|
||||
// }
|
||||
|
||||
batteryVal = sf_battery_value_get(nightMode);
|
||||
|
||||
|
@ -1720,4 +1723,28 @@ void sf_temper_update(void)
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
void sf_app_set_battery_level(unsigned long Val)
|
||||
{
|
||||
// UINT16 batteryVal = 0;
|
||||
UINT16 powerVal = 0;
|
||||
UINT16 batteryType = 0;
|
||||
|
||||
// batteryVal = (Val>>18) & 0x7F;//0~100
|
||||
batteryType = (Val>>16) & 0x03;
|
||||
powerVal = Val & 0xFF;
|
||||
|
||||
if(batteryType == SF_POWER_TYPE_DC)
|
||||
{
|
||||
IsPowerDcIn = 1;
|
||||
DcVoltageVal = powerVal;
|
||||
}
|
||||
else if (batteryType == SF_POWER_TYPE_LI_POLYER) {
|
||||
LiPolymerVoltageVal = powerVal;
|
||||
}
|
||||
else {
|
||||
BatVoltageVal = powerVal;
|
||||
}
|
||||
// MLOGI("batteryVal:%d batteryType:%d powerVal:%d p:%d\n",batteryVal, batteryType, powerVal,Val);
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -359,6 +359,10 @@ UINT32 sf_battery_adc_value_get_once(void)
|
|||
if(sf_adc_value_get(SF_ADC_DC, &batAdc) == SUCCESS)
|
||||
{
|
||||
dcVoltageVal = sf_battery_voltage_convert(24, 100, batAdc);
|
||||
if(dcVoltageVal)
|
||||
{
|
||||
dcVoltageVal += 1;
|
||||
}
|
||||
//dcVoltageVal += 4;
|
||||
if(puiPara->BatteryLogSwitch)
|
||||
printf("DC ADC Value:%lu After Convert:%lu(%lu.%luV)\n",batAdc,dcVoltageVal,dcVoltageVal/10,dcVoltageVal%10);
|
||||
|
@ -731,7 +735,7 @@ signed int sf_battery_value_fast_get(void)
|
|||
LiPolymerVoltageVal = 0;
|
||||
}
|
||||
|
||||
if((DcVoltageVal > LiPolymerVoltageVal) && (DcVoltageVal >= BatVoltageVal) && (DcVoltageVal >= SF_DC_IN_VOLATAGE))
|
||||
if((DcVoltageVal > LiPolymerVoltageVal) && (DcVoltageVal >= BatVoltageVal))
|
||||
{
|
||||
IsPowerDcIn = 1;
|
||||
}
|
||||
|
@ -823,7 +827,7 @@ void sf_battery_level_polling(void)
|
|||
if(batCnt)
|
||||
_BatVoltageVal = batTemp / batCnt;
|
||||
|
||||
if((_DcVoltageVal > _LiPolymerVoltageVal) && (_DcVoltageVal >= _BatVoltageVal) && (_DcVoltageVal >= SF_DC_IN_VOLATAGE))
|
||||
if((_DcVoltageVal > _LiPolymerVoltageVal) && (_DcVoltageVal >= _BatVoltageVal))
|
||||
{
|
||||
IsPowerDcIn = 1;
|
||||
}
|
||||
|
@ -936,6 +940,11 @@ THREAD_RETTYPE sf_battery_check_thread(void *arg)
|
|||
sf_set_power_off_flag(APP_POWER_OFF_BATT_EMPTY);
|
||||
flow_preview_set_stop_flag(TRUE);
|
||||
#endif
|
||||
while(1)
|
||||
{
|
||||
vos_util_delay_ms(1000);
|
||||
printf("[%s:%d] cnt power off because low battery\n", __FUNCTION__, __LINE__);
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
||||
|
@ -1297,9 +1306,12 @@ UINT8 sf_battery_value_get(UINT8 nightMode)
|
|||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(DcVoltageVal > SF_DC_IN_VOLATAGE)
|
||||
{
|
||||
value = 100;
|
||||
}
|
||||
}
|
||||
|
||||
return value;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user