1.调整电池检测;2.修复rtos下p mode待写卡时关机问题;3.在rots下同步Linux的关于sd卡热插拔;4.更新iq
This commit is contained in:
parent
03e6aa0093
commit
89da32c0c8
|
@ -917,7 +917,7 @@
|
||||||
#define DZOOM_FUNC ENABLE
|
#define DZOOM_FUNC ENABLE
|
||||||
#define HUNTING_MCU_I2C DISABLE
|
#define HUNTING_MCU_I2C DISABLE
|
||||||
#define HUNTING_MCU_UART ENABLE
|
#define HUNTING_MCU_UART ENABLE
|
||||||
#define HUNTING_IR_LED_940 ENABLE
|
#define HUNTING_IR_LED_940 DISABLE
|
||||||
#define SF_BASE_VERSION "7MD4RCwD6T4"
|
#define SF_BASE_VERSION "7MD4RCwD6T4"
|
||||||
#define HW_S530 1
|
#define HW_S530 1
|
||||||
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
|
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
|
||||||
|
|
|
@ -19,7 +19,7 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval);
|
||||||
UINT32 sf_battery_adc_value_get_once(void);
|
UINT32 sf_battery_adc_value_get_once(void);
|
||||||
void sf_battery_level_update(void);
|
void sf_battery_level_update(void);
|
||||||
BOOL sf_check_low_battery(void);
|
BOOL sf_check_low_battery(void);
|
||||||
signed int sf_battery_adc_value_get(void);
|
signed int sf_battery_value_fast_get(void);
|
||||||
void sf_battery_level_polling(void);
|
void sf_battery_level_polling(void);
|
||||||
void* sf_battery_check_thread(void *arg);
|
void* sf_battery_check_thread(void *arg);
|
||||||
void sf_battery_thread_init(void);
|
void sf_battery_thread_init(void);
|
||||||
|
@ -32,4 +32,6 @@ BOOL sf_battery_check_init(void);
|
||||||
void sf_set_need_check_first(void);
|
void sf_set_need_check_first(void);
|
||||||
BOOL sf_is_enough_power_to_update(void);
|
BOOL sf_is_enough_power_to_update(void);
|
||||||
void sf_adc_init(void);
|
void sf_adc_init(void);
|
||||||
|
|
||||||
|
BOOL sf_is_battery_low(UINT8 refresh, UINT8 nightMode);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -185,7 +185,7 @@ int main(int argc, char *argv[])
|
||||||
sf_mcu_reg_set(SF_MCU_CTRL_MODULE_PIR, 1);
|
sf_mcu_reg_set(SF_MCU_CTRL_MODULE_PIR, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
sf_battery_check_init();
|
//sf_battery_check_init();
|
||||||
sf_app_battery_start();
|
sf_app_battery_start();
|
||||||
//sf_app_data_ready_start();
|
//sf_app_data_ready_start();
|
||||||
|
|
||||||
|
|
|
@ -966,6 +966,7 @@ SINT32 sf_app_battery_start(void)
|
||||||
SLOGE("thread has already run !!!\n");
|
SLOGE("thread has already run !!!\n");
|
||||||
return SF_FAILURE;
|
return SF_FAILURE;
|
||||||
}
|
}
|
||||||
|
sf_adc_init();
|
||||||
ret = pthread_create(&BatteryTskCfg.TskId, NULL, sf_battery_check_thread, NULL);
|
ret = pthread_create(&BatteryTskCfg.TskId, NULL, sf_battery_check_thread, NULL);
|
||||||
if(ret != SF_SUCCESS)
|
if(ret != SF_SUCCESS)
|
||||||
{
|
{
|
||||||
|
|
|
@ -193,6 +193,7 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval)
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
#if 0
|
||||||
/*************************************************
|
/*************************************************
|
||||||
Function: sf_battery_adc_value_get_once
|
Function: sf_battery_adc_value_get_once
|
||||||
Description: get battery adc only once
|
Description: get battery adc only once
|
||||||
|
@ -228,6 +229,7 @@ UINT32 sf_battery_adc_value_get_once(void)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
_LiPolymerVoltageVal = 0;
|
||||||
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);
|
||||||
|
@ -260,6 +262,63 @@ UINT32 sf_battery_adc_value_get_once(void)
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
/*************************************************
|
||||||
|
Function: sf_battery_adc_value_get_once
|
||||||
|
Description: get battery adc only once
|
||||||
|
Input: N/A
|
||||||
|
Output: N/A
|
||||||
|
Return: SUCCESS/FAIL
|
||||||
|
Others: N/A
|
||||||
|
*************************************************/
|
||||||
|
UINT32 sf_battery_adc_value_get_once(void)
|
||||||
|
{
|
||||||
|
UINT32 batAdc = 0;
|
||||||
|
UINT32 dcVoltageVal = 0;
|
||||||
|
UINT32 liPolymerVoltageVal = 0;
|
||||||
|
UINT32 batVoltageVal = 0;
|
||||||
|
static UINT8 getBatAdcFlg = 0;
|
||||||
|
|
||||||
|
if(getBatAdcFlg)
|
||||||
|
return SUCCESS;
|
||||||
|
|
||||||
|
getBatAdcFlg = 1;
|
||||||
|
|
||||||
|
|
||||||
|
if(sf_adc_value_get(SF_ADC_DC, &batAdc) == SUCCESS)
|
||||||
|
{
|
||||||
|
dcVoltageVal = sf_battery_voltage_convert(10, 100, batAdc);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(sf_adc_value_get(SF_ADC_LI, &batAdc) == SUCCESS)
|
||||||
|
{
|
||||||
|
liPolymerVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
|
||||||
|
{
|
||||||
|
batVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
||||||
|
batVoltageVal += 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
_DcVoltageVal = dcVoltageVal;
|
||||||
|
|
||||||
|
if ((liPolymerVoltageVal > batVoltageVal))
|
||||||
|
{
|
||||||
|
_LiPolymerVoltageVal = liPolymerVoltageVal;
|
||||||
|
_BatVoltageVal = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_LiPolymerVoltageVal = 0;
|
||||||
|
_BatVoltageVal = batVoltageVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
getBatAdcFlg = 0;
|
||||||
|
|
||||||
|
return SUCCESS;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HW_S530
|
#if HW_S530
|
||||||
|
|
||||||
|
@ -494,30 +553,26 @@ BOOL sf_check_low_battery(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************
|
/******************************************************
|
||||||
Function: sf_battery_adc_value_get
|
Function: sf_battery_value_fast_get
|
||||||
Description: auto mode:take the maximum of 5 times;
|
Description: fast maximum of 5 times;
|
||||||
manual mode:take the average of 10 times;
|
|
||||||
Input: N/A
|
Input: N/A
|
||||||
Output: N/A
|
Output: N/A
|
||||||
Return: SUCCESS/FAIL
|
Return: SUCCESS/FAIL
|
||||||
Others: N/A
|
Others: N/A
|
||||||
*******************************************************/
|
*******************************************************/
|
||||||
signed int sf_battery_adc_value_get(void)
|
signed int sf_battery_value_fast_get(void)
|
||||||
{
|
{
|
||||||
UINT8 readBatCnt = 0;
|
UINT8 readBatCnt = 0;
|
||||||
|
|
||||||
UINT32 dcTemp = 0;
|
|
||||||
UINT32 batTemp = 0;
|
|
||||||
UINT32 dcValueList[12] = { 0 };
|
UINT32 dcValueList[12] = { 0 };
|
||||||
UINT32 batValueList[12] = { 0 };
|
UINT32 batValueList[12] = { 0 };
|
||||||
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
||||||
|
|
||||||
SINT32 ret = FAIL;
|
SINT32 ret = FAIL;
|
||||||
|
|
||||||
if((sf_get_mode_flag() == 0) || (needCheckFirst == TRUE))
|
//if((sf_get_mode_flag() == 0) || (needCheckFirst == TRUE))
|
||||||
{
|
{
|
||||||
//printf("[%s:%d]ConfigureModeFlag=%d,needCheckFirst=%d\n",__FUNCTION__,__LINE__,sf_get_mode_flag(),needCheckFirst);
|
//printf("[%s:%d]ConfigureModeFlag=%d,needCheckFirst=%d\n",__FUNCTION__,__LINE__,sf_get_mode_flag(),needCheckFirst);
|
||||||
needCheckFirst = FALSE;
|
//needCheckFirst = FALSE;
|
||||||
|
|
||||||
for(readBatCnt = 0; readBatCnt < 5;) //get max value of 5 times.
|
for(readBatCnt = 0; readBatCnt < 5;) //get max value of 5 times.
|
||||||
{
|
{
|
||||||
|
@ -570,14 +625,14 @@ signed int sf_battery_adc_value_get(void)
|
||||||
LiPolymerVoltageVal = 0;
|
LiPolymerVoltageVal = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(DcVoltageVal >= SF_DC_IN_VOLATAGE)
|
if((DcVoltageVal > LiPolymerVoltageVal) && (DcVoltageVal >= BatVoltageVal) && (DcVoltageVal >= SF_DC_IN_VOLATAGE))
|
||||||
{
|
{
|
||||||
IsPowerDcIn = 1;
|
IsPowerDcIn = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
IsPowerDcIn = 0;
|
IsPowerDcIn = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(puiPara->BatteryLogSwitch)
|
if(puiPara->BatteryLogSwitch)
|
||||||
{
|
{
|
||||||
|
@ -595,47 +650,6 @@ signed int sf_battery_adc_value_get(void)
|
||||||
|
|
||||||
ret = SUCCESS;
|
ret = SUCCESS;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
for(readBatCnt = 0; readBatCnt < 10;) //get average value of 10 times.
|
|
||||||
{
|
|
||||||
if(sf_battery_adc_value_get_once() == SUCCESS)
|
|
||||||
{
|
|
||||||
dcValueList[readBatCnt] = _DcVoltageVal;
|
|
||||||
|
|
||||||
if(_LiPolymerVoltageVal)
|
|
||||||
{
|
|
||||||
batValueList[readBatCnt] = _LiPolymerVoltageVal;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
batValueList[readBatCnt] = _BatVoltageVal;
|
|
||||||
}
|
|
||||||
|
|
||||||
dcTemp += dcValueList[readBatCnt];
|
|
||||||
batTemp += batValueList[readBatCnt];
|
|
||||||
|
|
||||||
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
|
|
||||||
{
|
|
||||||
_BatVoltageVal = batTemp / SF_READ_BAT_MAX;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -653,8 +667,9 @@ void sf_battery_level_polling(void)
|
||||||
UINT16 readBatCnt = 0;
|
UINT16 readBatCnt = 0;
|
||||||
UINT32 dcTemp = 0;
|
UINT32 dcTemp = 0;
|
||||||
UINT32 batTemp = 0;
|
UINT32 batTemp = 0;
|
||||||
UINT32 dcValueList[12] = { 0 };
|
UINT32 LibatTemp = 0;
|
||||||
UINT32 batValueList[12] = { 0 };
|
UINT8 LibatCnt = 0;
|
||||||
|
UINT8 batCnt = 0;
|
||||||
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
||||||
static UINT32 prePowerDcStatus = 0;
|
static UINT32 prePowerDcStatus = 0;
|
||||||
|
|
||||||
|
@ -662,70 +677,55 @@ void sf_battery_level_polling(void)
|
||||||
|
|
||||||
static UINT32 battEmpty = 0;
|
static UINT32 battEmpty = 0;
|
||||||
|
|
||||||
for(readBatCnt = 0; readBatCnt < 10;) //get average value of 10 times.
|
for(readBatCnt = 0; readBatCnt < 100;) //get average value of 100 times.
|
||||||
{
|
{
|
||||||
if(sf_battery_adc_value_get() == SUCCESS)
|
if(sf_battery_adc_value_get_once() == SUCCESS)
|
||||||
{
|
{
|
||||||
dcValueList[readBatCnt] = _DcVoltageVal;
|
sf_sleep_ms(100);
|
||||||
|
|
||||||
if(puiPara->BatteryLogSwitch)
|
|
||||||
{
|
|
||||||
printf("%s:%d [%d]DC ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(10, 130, dcValueList[readBatCnt]),
|
|
||||||
dcValueList[readBatCnt], dcValueList[readBatCnt] / 10, dcValueList[readBatCnt] % 10);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(_LiPolymerVoltageVal)
|
|
||||||
{
|
|
||||||
batValueList[readBatCnt] = _LiPolymerVoltageVal;
|
|
||||||
|
|
||||||
if(puiPara->BatteryLogSwitch)
|
|
||||||
{
|
|
||||||
printf("%s:%d [%d]Li Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 130, batValueList[readBatCnt]),
|
|
||||||
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
batValueList[readBatCnt] = _BatVoltageVal;
|
|
||||||
|
|
||||||
if(puiPara->BatteryLogSwitch)
|
|
||||||
{
|
|
||||||
printf("%s:%d [%d]Other Battery ADC Value=%d,After Convert:%d(%d.%dV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 130, batValueList[readBatCnt]),
|
|
||||||
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dcTemp += dcValueList[readBatCnt];
|
|
||||||
batTemp += batValueList[readBatCnt];
|
|
||||||
|
|
||||||
|
dcTemp += _DcVoltageVal;
|
||||||
|
if(_LiPolymerVoltageVal)
|
||||||
|
{
|
||||||
|
LibatTemp += _LiPolymerVoltageVal;
|
||||||
|
batCnt++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
batTemp += _BatVoltageVal;
|
||||||
|
LibatCnt++;
|
||||||
|
}
|
||||||
readBatCnt++;
|
readBatCnt++;
|
||||||
|
|
||||||
if(readBatCnt >= SF_READ_BAT_MAX)
|
if(readBatCnt >= 100)
|
||||||
{
|
{
|
||||||
_DcVoltageVal = dcTemp / SF_READ_BAT_MAX;
|
_DcVoltageVal = dcTemp / 100;
|
||||||
|
if(LibatCnt)
|
||||||
|
_LiPolymerVoltageVal = LibatTemp / LibatCnt;
|
||||||
|
if(batCnt)
|
||||||
|
_BatVoltageVal = batTemp / batCnt;
|
||||||
|
|
||||||
if(_LiPolymerVoltageVal)
|
if((_DcVoltageVal > _LiPolymerVoltageVal) && (_DcVoltageVal >= _BatVoltageVal) && (_DcVoltageVal >= SF_DC_IN_VOLATAGE))
|
||||||
{
|
{
|
||||||
_LiPolymerVoltageVal = batTemp / SF_READ_BAT_MAX;
|
IsPowerDcIn = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_BatVoltageVal = batTemp / SF_READ_BAT_MAX;
|
IsPowerDcIn = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((_LiPolymerVoltageVal > _BatVoltageVal))
|
||||||
|
{
|
||||||
|
_BatVoltageVal = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_LiPolymerVoltageVal = 0;
|
||||||
|
}
|
||||||
|
|
||||||
DcVoltageVal = _DcVoltageVal;
|
DcVoltageVal = _DcVoltageVal;
|
||||||
LiPolymerVoltageVal = _LiPolymerVoltageVal;
|
LiPolymerVoltageVal = _LiPolymerVoltageVal;
|
||||||
BatVoltageVal = _BatVoltageVal;
|
BatVoltageVal = _BatVoltageVal;
|
||||||
|
|
||||||
if(DcVoltageVal >= SF_DC_IN_VOLATAGE)
|
|
||||||
{
|
|
||||||
IsPowerDcIn = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
IsPowerDcIn = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(puiPara->BatteryLogSwitch)
|
if(puiPara->BatteryLogSwitch)
|
||||||
{
|
{
|
||||||
printf("\n[average]DC,After Convert:(%d.%dV),Is Dc In=%s\n", DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No");
|
printf("\n[average]DC,After Convert:(%d.%dV),Is Dc In=%s\n", DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No");
|
||||||
|
@ -780,10 +780,13 @@ void sf_battery_level_polling(void)
|
||||||
{
|
{
|
||||||
battEmpty = 1;
|
battEmpty = 1;
|
||||||
printf("[%s:%d]power off because low battery\n", __FUNCTION__, __LINE__);
|
printf("[%s:%d]power off because low battery\n", __FUNCTION__, __LINE__);
|
||||||
|
#if SF_IQ_TEST != ENABLE
|
||||||
|
sf_set_power_off_flag(1);
|
||||||
SF_MESSAGE_BUF_S stMessageBuf = {0};
|
SF_MESSAGE_BUF_S stMessageBuf = {0};
|
||||||
stMessageBuf.cmdId = CMD_POWEROFF;
|
stMessageBuf.cmdId = CMD_POWEROFF;
|
||||||
stMessageBuf.arg1 = APP_POWER_OFF_BATT_EMPTY;
|
stMessageBuf.arg1 = APP_POWER_OFF_BATT_EMPTY;
|
||||||
sf_com_message_send_to_cardv(&stMessageBuf);
|
sf_com_message_send_to_cardv(&stMessageBuf);
|
||||||
|
#endif
|
||||||
//Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, APP_POWER_OFF_BATT_EMPTY); //shutdown start
|
//Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, APP_POWER_OFF_BATT_EMPTY); //shutdown start
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -810,12 +813,31 @@ void* sf_battery_check_thread(void *arg)
|
||||||
{
|
{
|
||||||
//THREAD_ENTRY();
|
//THREAD_ENTRY();
|
||||||
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||||
sf_battery_check_init();
|
|
||||||
|
|
||||||
while(sf_app_while_flag())
|
if(sf_is_battery_low(1, 0) == TRUE)
|
||||||
{
|
{
|
||||||
sf_battery_level_polling();
|
printf("[%s:%d]power off because low battery\n", __FUNCTION__, __LINE__);
|
||||||
}
|
#if SF_IQ_TEST != ENABLE
|
||||||
|
sf_set_power_off_flag(1);
|
||||||
|
SF_MESSAGE_BUF_S stMessageBuf = {0};
|
||||||
|
stMessageBuf.cmdId = CMD_POWEROFF;
|
||||||
|
stMessageBuf.arg1 = APP_POWER_OFF_BATT_EMPTY;
|
||||||
|
sf_com_message_send_to_cardv(&stMessageBuf);
|
||||||
|
#endif
|
||||||
|
//Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, APP_POWER_OFF_BATT_EMPTY); //shutdown start
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sf_battery_level_update();
|
||||||
|
#if HW_S530
|
||||||
|
sf_view_osd_battery_draw(TRUE);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
while(sf_app_while_flag())
|
||||||
|
{
|
||||||
|
sf_battery_level_polling();
|
||||||
|
}
|
||||||
|
}
|
||||||
printf("[%s:%d] e \n", __FUNCTION__, __LINE__);
|
printf("[%s:%d] e \n", __FUNCTION__, __LINE__);
|
||||||
//THREAD_RETURN(0);
|
//THREAD_RETURN(0);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -1158,6 +1180,59 @@ UINT8 sf_battery_type_get(void)
|
||||||
return SF_POWER_TYPE_AA;
|
return SF_POWER_TYPE_AA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*************************************************
|
||||||
|
Function: sf_is_battery_low
|
||||||
|
Description: Judge whether the power is low
|
||||||
|
Input: refresh:refresh ADC acquisition or no,
|
||||||
|
nightMode:day or night
|
||||||
|
Output: N/A
|
||||||
|
Return: TRUE/FALSE
|
||||||
|
Others: N/A
|
||||||
|
*************************************************/
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
batteryVal = sf_battery_value_get(nightMode);
|
||||||
|
|
||||||
|
if(!sf_get_mode_flag())
|
||||||
|
{
|
||||||
|
if(batteryVal >= 70)
|
||||||
|
{
|
||||||
|
batteryLevel = SF_BATT_LEVEL_4;
|
||||||
|
}
|
||||||
|
else if(batteryVal >= 40)
|
||||||
|
{
|
||||||
|
batteryLevel = SF_BATT_LEVEL_3;
|
||||||
|
}
|
||||||
|
else if(batteryVal >= 20)
|
||||||
|
{
|
||||||
|
batteryLevel = SF_BATT_LEVEL_2;
|
||||||
|
}
|
||||||
|
else if(batteryVal >= 1)
|
||||||
|
{
|
||||||
|
batteryLevel = SF_BATT_LEVEL_1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
batteryLevel = SF_BATT_LEVEL_0;
|
||||||
|
}
|
||||||
|
|
||||||
|
sf_LatestBattLevel = batteryLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(batteryVal == 0)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
/*************************************************
|
/*************************************************
|
||||||
Function: sf_battery_check_init
|
Function: sf_battery_check_init
|
||||||
Description: Perform a battery test in manual mode.
|
Description: Perform a battery test in manual mode.
|
||||||
|
@ -1170,7 +1245,7 @@ BOOL sf_battery_check_init(void)
|
||||||
{
|
{
|
||||||
sf_adc_init();
|
sf_adc_init();
|
||||||
|
|
||||||
if(sf_battery_adc_value_get() == SUCCESS)
|
if(sf_battery_value_fast_get() == SUCCESS)
|
||||||
{
|
{
|
||||||
if(sf_check_low_battery() == TRUE)
|
if(sf_check_low_battery() == TRUE)
|
||||||
{
|
{
|
||||||
|
@ -1202,8 +1277,8 @@ void sf_set_need_check_first(void)
|
||||||
*************************************************/
|
*************************************************/
|
||||||
BOOL sf_is_enough_power_to_update(void)
|
BOOL sf_is_enough_power_to_update(void)
|
||||||
{
|
{
|
||||||
sf_set_need_check_first();
|
//sf_set_need_check_first();
|
||||||
sf_battery_adc_value_get();
|
sf_battery_value_fast_get();
|
||||||
printf("update DC=%d Li=%d Bat=%d\n", DcVoltageVal, LiPolymerVoltageVal, BatVoltageVal);
|
printf("update DC=%d Li=%d Bat=%d\n", DcVoltageVal, LiPolymerVoltageVal, BatVoltageVal);
|
||||||
|
|
||||||
if(sf_battery_value_get(0) < 40)
|
if(sf_battery_value_get(0) < 40)
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
version-info = [00 01 00 01];
|
version-info = [00 01 00 01];
|
||||||
ae_expect_lum {
|
ae_expect_lum {
|
||||||
size = [b0 00 00 00];
|
size = [b0 00 00 00];
|
||||||
data = [3c 00 00 00 3c 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 27 00 00 00 2c 00 00 00 32 00 00 00 3a 00 00 00 44 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 3c 00 00 00 46 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00];
|
data = [3c 00 00 00 3c 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 44 00 00 00 4b 00 00 00 55 00 00 00 55 00 00 00 55 00 00 00 55 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 3c 00 00 00 46 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00];
|
||||||
};
|
};
|
||||||
ae_la_clamp {
|
ae_la_clamp {
|
||||||
size = [50 01 00 00];
|
size = [50 01 00 00];
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
};
|
};
|
||||||
ae_over_exposure {
|
ae_over_exposure {
|
||||||
size = [b0 01 00 00];
|
size = [b0 01 00 00];
|
||||||
data = [01 00 00 00 8c 00 00 00 03 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 05 00 00 00 04 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00 09 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 05 00 00 00 07 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 04 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00];
|
data = [01 00 00 00 b4 00 00 00 03 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 05 00 00 00 03 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00 09 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 05 00 00 00 07 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 04 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00];
|
||||||
};
|
};
|
||||||
ae_convergence {
|
ae_convergence {
|
||||||
size = [2c 00 00 00];
|
size = [2c 00 00 00];
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
};
|
};
|
||||||
ae_meter_window {
|
ae_meter_window {
|
||||||
size = [00 01 00 00];
|
size = [00 01 00 00];
|
||||||
data = [01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 04 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 04 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00];
|
data = [01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00];
|
||||||
};
|
};
|
||||||
ae_lum_gamma {
|
ae_lum_gamma {
|
||||||
size = [82 00 00 00];
|
size = [82 00 00 00];
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
version-info = [00 00 00 01];
|
version-info = [00 00 00 01];
|
||||||
awb_th {
|
awb_th {
|
||||||
size = [30 00 00 00];
|
size = [30 00 00 00];
|
||||||
data = [05 00 00 00 f5 00 00 00 39 00 00 00 fd 00 00 00 b7 ff ff ff 6a 00 00 00 21 00 00 00 8f 00 00 00 18 00 00 00 6e 00 00 00 17 00 00 00 2e 00 00 00];
|
data = [05 00 00 00 f5 00 00 00 39 00 00 00 fd 00 00 00 b7 ff ff ff 6a 00 00 00 21 00 00 00 8f 00 00 00 18 00 00 00 6e 00 00 00 18 00 00 00 2d 00 00 00];
|
||||||
};
|
};
|
||||||
awb_lv {
|
awb_lv {
|
||||||
size = [18 00 00 00];
|
size = [18 00 00 00];
|
||||||
|
@ -15,11 +15,11 @@
|
||||||
};
|
};
|
||||||
awb_ct_weight {
|
awb_ct_weight {
|
||||||
size = [78 00 00 00];
|
size = [78 00 00 00];
|
||||||
data = [fc 08 00 00 f0 0a 00 00 74 0e 00 00 5c 12 00 00 64 19 00 00 f8 2a 00 00 48 03 00 00 60 03 00 00 bc 03 00 00 f7 03 00 00 23 04 00 00 c3 04 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 05 00 00 00 06 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 03 00 00 00 08 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00];
|
data = [fc 08 00 00 f0 0a 00 00 74 0e 00 00 5c 12 00 00 64 19 00 00 f8 2a 00 00 48 03 00 00 60 03 00 00 bc 03 00 00 f7 03 00 00 23 04 00 00 c3 04 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00];
|
||||||
};
|
};
|
||||||
awb_target {
|
awb_target {
|
||||||
size = [24 00 00 00];
|
size = [24 00 00 00];
|
||||||
data = [60 03 00 00 f7 03 00 00 23 04 00 00 00 04 00 00 18 04 00 00 1c 04 00 00 00 04 00 00 e8 03 00 00 e8 03 00 00];
|
data = [60 03 00 00 f7 03 00 00 23 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00];
|
||||||
};
|
};
|
||||||
awb_ct_info {
|
awb_ct_info {
|
||||||
size = [60 00 00 00];
|
size = [60 00 00 00];
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
};
|
};
|
||||||
awb_expand_block {
|
awb_expand_block {
|
||||||
size = [90 00 00 00];
|
size = [90 00 00 00];
|
||||||
data = [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 10 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 05 00 00 00 05 00 00 00 05 00 00 00 05 00 00 00 f5 00 00 00 f5 00 00 00 f5 00 00 00 f5 00 00 00 69 00 00 00 69 00 00 00 5b 00 00 00 72 00 00 00 78 00 00 00 7a 00 00 00 69 00 00 00 80 00 00 00 05 00 00 00 38 00 00 00 12 00 00 00 20 00 00 00 19 00 00 00 4a 00 00 00 20 00 00 00 cb ff ff ff];
|
data = [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 14 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 05 00 00 00 05 00 00 00 05 00 00 00 05 00 00 00 f5 00 00 00 f5 00 00 00 f5 00 00 00 f5 00 00 00 69 00 00 00 69 00 00 00 5b 00 00 00 72 00 00 00 87 00 00 00 7a 00 00 00 69 00 00 00 80 00 00 00 e6 ff ff ff 38 00 00 00 12 00 00 00 20 00 00 00 07 00 00 00 4a 00 00 00 20 00 00 00 cb ff ff ff];
|
||||||
};
|
};
|
||||||
awb_luma_weight {
|
awb_luma_weight {
|
||||||
size = [44 00 00 00];
|
size = [44 00 00 00];
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
BIN
code/hdal/vendor/output/libvendor_ai2_pub.a
vendored
BIN
code/hdal/vendor/output/libvendor_ai2_pub.a
vendored
Binary file not shown.
BIN
code/hdal/vendor/output/libvendor_ai2_pub2.a
vendored
BIN
code/hdal/vendor/output/libvendor_ai2_pub2.a
vendored
Binary file not shown.
|
@ -0,0 +1,63 @@
|
||||||
|
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
#!automatically-generated file. do not edit!!
|
||||||
|
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
BOARD_DRAM_ADDR = 0x00000000
|
||||||
|
BOARD_DRAM_SIZE = 0x08000000
|
||||||
|
BOARD_SHMEM_ADDR = 0x00007E00
|
||||||
|
BOARD_SHMEM_SIZE = 0x00000200
|
||||||
|
BOARD_LOADER_ADDR = 0x01000000
|
||||||
|
BOARD_LOADER_SIZE = 0x00080000
|
||||||
|
BOARD_FDT_ADDR = 0x01800000
|
||||||
|
BOARD_FDT_SIZE = 0x00040000
|
||||||
|
BOARD_RTOS_ADDR = 0x01840000
|
||||||
|
BOARD_RTOS_SIZE = 0x00FC0000
|
||||||
|
BOARD_LINUXTMP_ADDR = 0x02800000
|
||||||
|
BOARD_LINUXTMP_SIZE = 0x04000000
|
||||||
|
BOARD_UBOOT_ADDR = 0x06800000
|
||||||
|
BOARD_UBOOT_SIZE = 0x01640000
|
||||||
|
BOARD_LOGO-FB_ADDR = 0x07E40000
|
||||||
|
BOARD_LOGO-FB_SIZE = 0x001C0000
|
||||||
|
BOARD_LINUX_ADDR = 0x00000000
|
||||||
|
BOARD_LINUX_SIZE = 0x01800000
|
||||||
|
BOARD_LINUX_MAXBLK_ADDR = 0x00000000
|
||||||
|
BOARD_LINUX_MAXBLK_SIZE = 0x01800000
|
||||||
|
BOARD_MEDIA_ADDR = 0x03600000
|
||||||
|
BOARD_MEDIA_SIZE = 0x04A00000
|
||||||
|
BIN_NAME = FW98565A
|
||||||
|
BIN_NAME_T = FW98565T
|
||||||
|
RTOS_APP_MAIN = cardv
|
||||||
|
EMBMEM_BLK_SIZE = 0x10000
|
||||||
|
EMBMEM = EMBMEM_SPI_NOR
|
||||||
|
FW_TYPE = FW_TYPE_PARTIAL
|
||||||
|
UI_STYLE = UI_STYLE_LVGL
|
||||||
|
NVT_CFG_APP_EXTERNAL = hostapd wireless_tool iperf-3 wpa_supplicant dhd_priv
|
||||||
|
NVT_CFG_APP = mem cardv memcpy isp_demon sf_app
|
||||||
|
NVT_ROOTFS_ETC =
|
||||||
|
NVT_BINARY_FILE_STRIP = yes
|
||||||
|
NVT_CFG_KERNEL_CFG = na51089_evb_cardv_defconfig_release
|
||||||
|
NVT_MAKE_POST = make_post.sh
|
||||||
|
NVT_SAMPLES_INSTALL = DISABLE
|
||||||
|
NVT_CFG_UBOOT_CFG =
|
||||||
|
NVT_LINUX_SMP = NVT_LINUX_SMP_OFF
|
||||||
|
NVT_CHIP_ID = CHIP_NA51089
|
||||||
|
NVT_LINUX_COMPRESS = NVT_LINUX_COMPRESS_GZ
|
||||||
|
NVT_DEFAULT_NETWORK_BOOT_PROTOCOL = NVT_DEFAULT_NETWORK_BOOT_PROTOCOL_STATIC_IP
|
||||||
|
NVT_ROOTFS_TYPE = NVT_ROOTFS_TYPE_RAMDISK
|
||||||
|
LCD1 = disp_if8b_lcd1_psd200_st7789v
|
||||||
|
SENSOR1 = sen_os05b10
|
||||||
|
SENSOR1_CFG = sen_os05b10_565
|
||||||
|
SENSOR2 = sen_off
|
||||||
|
SENSOR2_CFG = sen_off
|
||||||
|
NVT_ROOTFS_RW_PART_EN = NVT_ROOTFS_RW_PART_EN_ON
|
||||||
|
NVT_ETHERNET = NVT_ETHERNET_NONE
|
||||||
|
NVT_SDIO_WIFI = NVT_SDIO_WIFI_RTK
|
||||||
|
NVT_USB_WIFI = NVT_USB_WIFI_NONE
|
||||||
|
NVT_USB_4G = NVT_USB_4G_NONE
|
||||||
|
WIFI_RTK_MDL = WIFI_RTK_MDL_8189
|
||||||
|
WIFI_BRCM_MDL = WIFI_BRCM_MDL_43456c5_ampk6256c5
|
||||||
|
WIFI_NVT_MDL = WIFI_NVT_MDL_18211
|
||||||
|
NVT_CURL_SSL = NVT_CURL_SSL_OPENSSL
|
||||||
|
NVT_UBOOT_ENV_IN_STORG_SUPPORT = NVT_UBOOT_ENV_IN_STORG_SUPPORT_OFF
|
||||||
|
TOUCH = TOUCH_OFF
|
||||||
|
UBOOT_ONLY_LOAD_LINUX = UBOOT_ONLY_LOAD_LINUX_ON
|
1
configs/cfg_gen
Symbolic link
1
configs/cfg_gen
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530
|
|
@ -1101,13 +1101,13 @@ static UINT32 ae_adc_tbl[57][3] = {
|
||||||
{930, 103, 1000},
|
{930, 103, 1000},
|
||||||
{910, 126, 1070},
|
{910, 126, 1070},
|
||||||
{900, 135, 1020},
|
{900, 135, 1020},
|
||||||
{885, 153, 1040},
|
{885, 203, 1010},
|
||||||
{870, 160, 1090},
|
{870, 381, 1020},
|
||||||
{859, 177, 1010},
|
{859, 499, 1000},
|
||||||
{854, 258, 1000},
|
{854, 512, 1010},
|
||||||
{849, 500, 1000},
|
{849, 826, 1010},
|
||||||
{845, 768, 1000},
|
{845, 1021, 1000},
|
||||||
{842, 984, 1000},
|
{842, 1128, 1000},
|
||||||
{839, 1372, 1000},
|
{839, 1372, 1000},
|
||||||
{830, 2236, 1000},
|
{830, 2236, 1000},
|
||||||
{828, 3459, 1000},
|
{828, 3459, 1000},
|
||||||
|
|
|
@ -472,7 +472,7 @@
|
||||||
//..............................................................................
|
//..............................................................................
|
||||||
// External Storage Config
|
// External Storage Config
|
||||||
#define SDINSERT_FUNCTION ENABLE //Auto Detect
|
#define SDINSERT_FUNCTION ENABLE //Auto Detect
|
||||||
#define SDHOTPLUG_FUNCTION DISABLE
|
#define SDHOTPLUG_FUNCTION ENABLE
|
||||||
//..............................................................................
|
//..............................................................................
|
||||||
// FILEDB Config
|
// FILEDB Config
|
||||||
#define USE_FILEDB ENABLE //DISABLE
|
#define USE_FILEDB ENABLE //DISABLE
|
||||||
|
@ -740,7 +740,7 @@
|
||||||
#define _NETWORK_ON_ETH_
|
#define _NETWORK_ON_ETH_
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MAC_APPEN_SSID ENABLE
|
#define MAC_APPEN_SSID DISABLE//ENABLE
|
||||||
#define ACL_TIME 15000 //minmum 15 sec
|
#define ACL_TIME 15000 //minmum 15 sec
|
||||||
#define WIFI_APP_MANUFACTURER "NVT"
|
#define WIFI_APP_MANUFACTURER "NVT"
|
||||||
#define WIFI_APP_MODLE "CarDV_WiFi"
|
#define WIFI_APP_MODLE "CarDV_WiFi"
|
||||||
|
@ -952,7 +952,7 @@
|
||||||
#define MOVIE_AI_DEMO DISABLE
|
#define MOVIE_AI_DEMO DISABLE
|
||||||
#define HUNTING_MCU_I2C DISABLE
|
#define HUNTING_MCU_I2C DISABLE
|
||||||
#define HUNTING_MCU_UART ENABLE
|
#define HUNTING_MCU_UART ENABLE
|
||||||
#define HUNTING_IR_LED_940 ENABLE
|
#define HUNTING_IR_LED_940 DISABLE
|
||||||
#define SF_EXIF_MN_BUF_SIZE 256
|
#define SF_EXIF_MN_BUF_SIZE 256
|
||||||
#define SF_BASE_VERSION "7MD4RCwD6T4"
|
#define SF_BASE_VERSION "7MD4RCwD6T4"
|
||||||
#define HW_S530 1
|
#define HW_S530 1
|
||||||
|
|
|
@ -385,6 +385,7 @@ static void * get_fdt_by_sensor_type(char *name)
|
||||||
static void mcu_task(void)
|
static void mcu_task(void)
|
||||||
{
|
{
|
||||||
#if HUNTING_CAMERA_MCU == ENABLE
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
|
sf_battery_thread_init();
|
||||||
vos_util_delay_ms(5);
|
vos_util_delay_ms(5);
|
||||||
sf_mcu_power_on_para_get(SF_MCU_POWERON);
|
sf_mcu_power_on_para_get(SF_MCU_POWERON);
|
||||||
sf_mcu_wdg_set(5);
|
sf_mcu_wdg_set(5);
|
||||||
|
@ -395,7 +396,6 @@ static void mcu_task(void)
|
||||||
//sf_sys_status_led_set(SF_LED_SYS_STATE_PIR_NOT_DETECT);
|
//sf_sys_status_led_set(SF_LED_SYS_STATE_PIR_NOT_DETECT);
|
||||||
//sf_sys_status_led_set(SF_LED_SYS_STATE_NORMAL);
|
//sf_sys_status_led_set(SF_LED_SYS_STATE_NORMAL);
|
||||||
|
|
||||||
sf_battery_thread_init();
|
|
||||||
|
|
||||||
//vos_util_delay_ms(15);
|
//vos_util_delay_ms(15);
|
||||||
//if(sf_is_night_mode(1) !=TRUE)
|
//if(sf_is_night_mode(1) !=TRUE)
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include "PhotoFastCapDateImprint.h"
|
#include "PhotoFastCapDateImprint.h"
|
||||||
#include "PhotoFast.h"
|
#include "PhotoFast.h"
|
||||||
#include <kwrap/cmdsys.h>
|
#include <kwrap/cmdsys.h>
|
||||||
|
#include "DxHunting.h"
|
||||||
|
|
||||||
#if HUNTING_CAMERA_MCU == ENABLE
|
#if HUNTING_CAMERA_MCU == ENABLE
|
||||||
#include <sf_mcu.h>
|
#include <sf_mcu.h>
|
||||||
|
@ -28,6 +29,7 @@
|
||||||
*********************************************************************************/
|
*********************************************************************************/
|
||||||
|
|
||||||
#define PHOTOFAST_FAST_CLOSE 1
|
#define PHOTOFAST_FAST_CLOSE 1
|
||||||
|
#define PHOTOFAST_FAST_STAMP 1
|
||||||
|
|
||||||
#define PHOTOFAST_SLICE_ENC_DBG_DUMP 0
|
#define PHOTOFAST_SLICE_ENC_DBG_DUMP 0
|
||||||
#define PHOTOFAST_SLICE_ENC_DBG_PRIMARY_YUV 0
|
#define PHOTOFAST_SLICE_ENC_DBG_PRIMARY_YUV 0
|
||||||
|
@ -1142,7 +1144,9 @@ static INT32 PhotoFast_SliceEncode_Encode_Primary(
|
||||||
BOOL restart = FALSE;
|
BOOL restart = FALSE;
|
||||||
|
|
||||||
/* config which slice stamp should be attached */
|
/* config which slice stamp should be attached */
|
||||||
|
#if !PHOTOFAST_FAST_STAMP
|
||||||
const UINT8 slice_idx_of_date_stamp = dst_slice_info.slice_num - 1;
|
const UINT8 slice_idx_of_date_stamp = dst_slice_info.slice_num - 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
HD_VIDEOENC_BS bs_data_pull;
|
HD_VIDEOENC_BS bs_data_pull;
|
||||||
|
|
||||||
|
@ -1178,7 +1182,8 @@ static INT32 PhotoFast_SliceEncode_Encode_Primary(
|
||||||
goto EXIT;
|
goto EXIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
// /* attach the date stamp to a slice */
|
/* attach the date stamp to a slice */
|
||||||
|
#if !PHOTOFAST_FAST_STAMP
|
||||||
if(slice_idx == slice_idx_of_date_stamp){
|
if(slice_idx == slice_idx_of_date_stamp){
|
||||||
|
|
||||||
HD_VIDEO_FRAME slice_img;
|
HD_VIDEO_FRAME slice_img;
|
||||||
|
@ -1193,6 +1198,7 @@ static INT32 PhotoFast_SliceEncode_Encode_Primary(
|
||||||
|
|
||||||
PhotoFastCapDateImprint_GenYuvData(&slice_img);
|
PhotoFastCapDateImprint_GenYuvData(&slice_img);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
vf_gfx_scale_param.dst_img.count = 0;
|
vf_gfx_scale_param.dst_img.count = 0;
|
||||||
vf_gfx_scale_param.dst_img.timestamp = hd_gettime_us();
|
vf_gfx_scale_param.dst_img.timestamp = hd_gettime_us();
|
||||||
|
@ -1896,6 +1902,13 @@ INT32 PhotoFast_SliceEncode_CB2(void* user_data)
|
||||||
goto EXIT;
|
goto EXIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*******************************************************************
|
||||||
|
* Fast Stamp (higher speed, lower quality)
|
||||||
|
******************************************************************/
|
||||||
|
#if PHOTOFAST_FAST_STAMP
|
||||||
|
PhotoFastCapDateImprint_GenYuvData(&queue_ele_in->frame);
|
||||||
|
#endif
|
||||||
|
|
||||||
/*******************************************************************
|
/*******************************************************************
|
||||||
* Screennail & Thumbnail Scale
|
* Screennail & Thumbnail Scale
|
||||||
******************************************************************/
|
******************************************************************/
|
||||||
|
@ -1910,8 +1923,10 @@ INT32 PhotoFast_SliceEncode_CB2(void* user_data)
|
||||||
goto EXIT;
|
goto EXIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !PHOTOFAST_FAST_STAMP
|
||||||
PhotoFastCapDateImprint_GenYuvData(&video_frame_out_screennail);
|
PhotoFastCapDateImprint_GenYuvData(&video_frame_out_screennail);
|
||||||
PhotoFastCapDateImprint_GenYuvData(&video_frame_out_thumbnail);
|
PhotoFastCapDateImprint_GenYuvData(&video_frame_out_thumbnail);
|
||||||
|
#endif
|
||||||
|
|
||||||
/*******************************************************************
|
/*******************************************************************
|
||||||
* Primary
|
* Primary
|
||||||
|
@ -2217,6 +2232,10 @@ VOID PhotoFast_SliceEncode2_Close(VOID)
|
||||||
|
|
||||||
#if !PHOTOFAST_FAST_CLOSE
|
#if !PHOTOFAST_FAST_CLOSE
|
||||||
set_flg(task3_param.flag_id, FLG_PHOTO_FAST_SLICE_ENC_CMD_STOP);
|
set_flg(task3_param.flag_id, FLG_PHOTO_FAST_SLICE_ENC_CMD_STOP);
|
||||||
|
#else
|
||||||
|
if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_PHOTO){
|
||||||
|
set_flg(task3_param.flag_id, FLG_PHOTO_FAST_SLICE_ENC_CMD_STOP);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* check stopped */
|
/* check stopped */
|
||||||
|
@ -2224,6 +2243,10 @@ VOID PhotoFast_SliceEncode2_Close(VOID)
|
||||||
|
|
||||||
#if !PHOTOFAST_FAST_CLOSE
|
#if !PHOTOFAST_FAST_CLOSE
|
||||||
wai_flg(&flag, task3_param.flag_id, FLG_PHOTO_FAST_SLICE_ENC_STA_STOPPED, TWF_ORW);
|
wai_flg(&flag, task3_param.flag_id, FLG_PHOTO_FAST_SLICE_ENC_STA_STOPPED, TWF_ORW);
|
||||||
|
#else
|
||||||
|
if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_PHOTO){
|
||||||
|
wai_flg(&flag, task3_param.flag_id, FLG_PHOTO_FAST_SLICE_ENC_STA_STOPPED, TWF_ORW);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DBG_DUMP("slice encode finished\n");
|
DBG_DUMP("slice encode finished\n");
|
||||||
|
@ -2232,12 +2255,20 @@ VOID PhotoFast_SliceEncode2_Close(VOID)
|
||||||
|
|
||||||
#if !PHOTOFAST_FAST_CLOSE
|
#if !PHOTOFAST_FAST_CLOSE
|
||||||
lfqueue_destroy(&queue23);
|
lfqueue_destroy(&queue23);
|
||||||
|
#else
|
||||||
|
if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_PHOTO){
|
||||||
|
lfqueue_destroy(&queue23);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
PhotoFast_SliceEncode_Uninit_Flag(&task2_param.flag_id);
|
PhotoFast_SliceEncode_Uninit_Flag(&task2_param.flag_id);
|
||||||
|
|
||||||
#if !PHOTOFAST_FAST_CLOSE
|
#if !PHOTOFAST_FAST_CLOSE
|
||||||
PhotoFast_SliceEncode_Uninit_Flag(&task3_param.flag_id);
|
PhotoFast_SliceEncode_Uninit_Flag(&task3_param.flag_id);
|
||||||
|
#else
|
||||||
|
if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_PHOTO){
|
||||||
|
PhotoFast_SliceEncode_Uninit_Flag(&task3_param.flag_id);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -794,7 +794,7 @@ void UIFlowPhoto_OnStorageChange(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA*
|
||||||
//#NT#2016/10/04#Lincy Lin -begin
|
//#NT#2016/10/04#Lincy Lin -begin
|
||||||
//#NT#Support SD hot plug function
|
//#NT#Support SD hot plug function
|
||||||
#if (SDHOTPLUG_FUNCTION == ENABLE)
|
#if (SDHOTPLUG_FUNCTION == ENABLE)
|
||||||
Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, System_GetState(SYS_STATE_CURRMODE));
|
//Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, System_GetState(SYS_STATE_CURRMODE));
|
||||||
#endif
|
#endif
|
||||||
//#NT#2016/10/04#Lincy Lin -end
|
//#NT#2016/10/04#Lincy Lin -end
|
||||||
return;
|
return;
|
||||||
|
@ -835,14 +835,22 @@ static void UIFlowPhoto_ScrOpen(lv_obj_t* obj)
|
||||||
|
|
||||||
//#NT#2016/10/04#Lincy Lin -begin
|
//#NT#2016/10/04#Lincy Lin -begin
|
||||||
//#NT#Support SD hot plug function
|
//#NT#Support SD hot plug function
|
||||||
#if (SDHOTPLUG_FUNCTION == ENABLE)
|
//#if (SDHOTPLUG_FUNCTION == ENABLE)
|
||||||
if (UIStorageCheck(STORAGE_CHECK_ERROR, NULL) == TRUE) {
|
if (UIStorageCheck(STORAGE_CHECK_ERROR, NULL) == TRUE) {
|
||||||
|
#if (DRAM_SIZE_64MB_DISP_OFF == ENABLE)
|
||||||
|
//sd error,no panel! playsound or flash led being warring msg
|
||||||
|
UISound_Play(DEMOSOUND_SOUND_SHUTTER_TONE);
|
||||||
|
UISound_Play(DEMOSOUND_SOUND_SHUTTER_TONE);
|
||||||
|
UISound_Play(DEMOSOUND_SOUND_SHUTTER_TONE);
|
||||||
|
#else
|
||||||
|
|
||||||
/* never closed */
|
/* never closed */
|
||||||
|
gPhotoData.State = PHOTO_ST_WARNING_MENU;
|
||||||
UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, 0);
|
UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, 0);
|
||||||
return;
|
return;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
//#endif
|
||||||
//#NT#2016/10/04#Lincy Lin -end
|
//#NT#2016/10/04#Lincy Lin -end
|
||||||
UIFlowInfoPhoto = UIFlowInfoPhotoInitVal;
|
UIFlowInfoPhoto = UIFlowInfoPhotoInitVal;
|
||||||
FlowPhoto_InitCfgSetting();
|
FlowPhoto_InitCfgSetting();
|
||||||
|
|
|
@ -318,7 +318,7 @@ static INT32 UIFlowWifiLinkOK_OnBatteryLow(lv_obj_t* obj, const LV_USER_EVENT_NV
|
||||||
|
|
||||||
static INT32 UIFlowWiFiLinkOK_OnStorageInit(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
|
static INT32 UIFlowWiFiLinkOK_OnStorageInit(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
|
||||||
{
|
{
|
||||||
#if (SDHOTPLUG_FUNCTION == ENABLE)
|
#if 0//(SDHOTPLUG_FUNCTION == ENABLE)
|
||||||
if (UIStorageCheck(STORAGE_CHECK_ERROR, NULL) == TRUE) {
|
if (UIStorageCheck(STORAGE_CHECK_ERROR, NULL) == TRUE) {
|
||||||
DBG_DUMP("card err,removed\r\n");
|
DBG_DUMP("card err,removed\r\n");
|
||||||
} else {
|
} else {
|
||||||
|
@ -336,7 +336,7 @@ static INT32 UIFlowWiFiLinkOK_OnStorageInit(lv_obj_t* obj, const LV_USER_EVENT_N
|
||||||
|
|
||||||
static INT32 UIFlowWiFiLinkOK_OnStorageChange(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
|
static INT32 UIFlowWiFiLinkOK_OnStorageChange(lv_obj_t* obj, const LV_USER_EVENT_NVTMSG_DATA* msg)
|
||||||
{
|
{
|
||||||
#if (SDHOTPLUG_FUNCTION == ENABLE)
|
#if 0//(SDHOTPLUG_FUNCTION == ENABLE)
|
||||||
DBG_DUMP("card removed\r\n");
|
DBG_DUMP("card removed\r\n");
|
||||||
if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_PLAYBACK) {
|
if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_PLAYBACK) {
|
||||||
ImageUnit_SetParam(&ISF_CamFile, CAMFILE_PARAM_FILEDB_CLOSE, 0);
|
ImageUnit_SetParam(&ISF_CamFile, CAMFILE_PARAM_FILEDB_CLOSE, 0);
|
||||||
|
|
|
@ -134,8 +134,8 @@ void sf_adc_init(void)
|
||||||
|
|
||||||
}
|
}
|
||||||
/*************************************************
|
/*************************************************
|
||||||
Function: sf_battery_adc_value_get_once
|
Function: sf_adc_value_get
|
||||||
Description: get battery adc only once
|
Description: get battery adc
|
||||||
Input: N/A
|
Input: N/A
|
||||||
Output: N/A
|
Output: N/A
|
||||||
Return: SUCCESS/FAIL
|
Return: SUCCESS/FAIL
|
||||||
|
@ -191,12 +191,12 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval)
|
||||||
vos_util_delay_ms(1);
|
vos_util_delay_ms(1);
|
||||||
|
|
||||||
*pval = adc_readData(0);
|
*pval = adc_readData(0);
|
||||||
//printf("[%s:%d] *pval:%d\n", __FUNCTION__, __LINE__,*pval);
|
//printf("[%s:%d] 1 *pval:%lu\n", __FUNCTION__, __LINE__,*pval);
|
||||||
getAdcFlg = 0;
|
getAdcFlg = 0;
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
#if 0
|
||||||
/*************************************************
|
/*************************************************
|
||||||
Function: sf_battery_adc_value_get_once
|
Function: sf_battery_adc_value_get_once
|
||||||
Description: get battery adc only once
|
Description: get battery adc only once
|
||||||
|
@ -232,6 +232,7 @@ UINT32 sf_battery_adc_value_get_once(void)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
_LiPolymerVoltageVal = 0;
|
||||||
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);
|
||||||
|
@ -264,6 +265,63 @@ UINT32 sf_battery_adc_value_get_once(void)
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
/*************************************************
|
||||||
|
Function: sf_battery_adc_value_get_once
|
||||||
|
Description: get battery adc only once
|
||||||
|
Input: N/A
|
||||||
|
Output: N/A
|
||||||
|
Return: SUCCESS/FAIL
|
||||||
|
Others: N/A
|
||||||
|
*************************************************/
|
||||||
|
UINT32 sf_battery_adc_value_get_once(void)
|
||||||
|
{
|
||||||
|
UINT32 batAdc = 0;
|
||||||
|
UINT32 dcVoltageVal = 0;
|
||||||
|
UINT32 liPolymerVoltageVal = 0;
|
||||||
|
UINT32 batVoltageVal = 0;
|
||||||
|
static UINT8 getBatAdcFlg = 0;
|
||||||
|
|
||||||
|
if(getBatAdcFlg)
|
||||||
|
return SUCCESS;
|
||||||
|
|
||||||
|
getBatAdcFlg = 1;
|
||||||
|
|
||||||
|
|
||||||
|
if(sf_adc_value_get(SF_ADC_DC, &batAdc) == SUCCESS)
|
||||||
|
{
|
||||||
|
dcVoltageVal = sf_battery_voltage_convert(10, 100, batAdc);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(sf_adc_value_get(SF_ADC_LI, &batAdc) == SUCCESS)
|
||||||
|
{
|
||||||
|
liPolymerVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
|
||||||
|
{
|
||||||
|
batVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
||||||
|
batVoltageVal += 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
_DcVoltageVal = dcVoltageVal;
|
||||||
|
|
||||||
|
if ((liPolymerVoltageVal > batVoltageVal))
|
||||||
|
{
|
||||||
|
_LiPolymerVoltageVal = liPolymerVoltageVal;
|
||||||
|
_BatVoltageVal = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_LiPolymerVoltageVal = 0;
|
||||||
|
_BatVoltageVal = batVoltageVal;
|
||||||
|
}
|
||||||
|
|
||||||
|
getBatAdcFlg = 0;
|
||||||
|
|
||||||
|
return SUCCESS;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#if HW_S530
|
#if HW_S530
|
||||||
|
|
||||||
|
@ -484,7 +542,7 @@ BOOL sf_check_low_battery(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************
|
/******************************************************
|
||||||
Function: sf_battery_adc_value_get
|
Function: sf_battery_value_fast_get
|
||||||
Description: auto mode:take the maximum of 5 times;
|
Description: auto mode:take the maximum of 5 times;
|
||||||
manual mode:take the average of 10 times;
|
manual mode:take the average of 10 times;
|
||||||
Input: N/A
|
Input: N/A
|
||||||
|
@ -492,22 +550,19 @@ BOOL sf_check_low_battery(void)
|
||||||
Return: SUCCESS/FAIL
|
Return: SUCCESS/FAIL
|
||||||
Others: N/A
|
Others: N/A
|
||||||
*******************************************************/
|
*******************************************************/
|
||||||
signed int sf_battery_adc_value_get(void)
|
signed int sf_battery_value_fast_get(void)
|
||||||
{
|
{
|
||||||
UINT8 readBatCnt = 0;
|
UINT8 readBatCnt = 0;
|
||||||
|
|
||||||
UINT32 dcTemp = 0;
|
|
||||||
UINT32 batTemp = 0;
|
|
||||||
UINT32 dcValueList[12] = { 0 };
|
UINT32 dcValueList[12] = { 0 };
|
||||||
UINT32 batValueList[12] = { 0 };
|
UINT32 batValueList[12] = { 0 };
|
||||||
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
|
|
||||||
SINT32 ret = FAIL;
|
SINT32 ret = FAIL;
|
||||||
|
|
||||||
if((sf_get_mode_flag() == 0) || (needCheckFirst == TRUE))
|
//if((sf_get_mode_flag() == 0) || (needCheckFirst == TRUE))
|
||||||
{
|
{
|
||||||
//printf("[%s:%d]ConfigureModeFlag=%d,needCheckFirst=%d\n",__FUNCTION__,__LINE__,sf_get_mode_flag(),needCheckFirst);
|
//printf("[%s:%d]ConfigureModeFlag=%d,needCheckFirst=%d\n",__FUNCTION__,__LINE__,sf_get_mode_flag(),needCheckFirst);
|
||||||
needCheckFirst = FALSE;
|
//needCheckFirst = FALSE;
|
||||||
|
|
||||||
for(readBatCnt = 0; readBatCnt < 5;) //get max value of 5 times.
|
for(readBatCnt = 0; readBatCnt < 5;) //get max value of 5 times.
|
||||||
{
|
{
|
||||||
|
@ -560,14 +615,14 @@ signed int sf_battery_adc_value_get(void)
|
||||||
LiPolymerVoltageVal = 0;
|
LiPolymerVoltageVal = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(DcVoltageVal >= SF_DC_IN_VOLATAGE)
|
if((DcVoltageVal > LiPolymerVoltageVal) && (DcVoltageVal >= BatVoltageVal) && (DcVoltageVal >= SF_DC_IN_VOLATAGE))
|
||||||
{
|
{
|
||||||
IsPowerDcIn = 1;
|
IsPowerDcIn = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
IsPowerDcIn = 0;
|
IsPowerDcIn = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(puiPara->BatteryLogSwitch)
|
if(puiPara->BatteryLogSwitch)
|
||||||
{
|
{
|
||||||
|
@ -585,47 +640,6 @@ signed int sf_battery_adc_value_get(void)
|
||||||
|
|
||||||
ret = SUCCESS;
|
ret = SUCCESS;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
for(readBatCnt = 0; readBatCnt < 10;) //get average value of 10 times.
|
|
||||||
{
|
|
||||||
if(sf_battery_adc_value_get_once() == SUCCESS)
|
|
||||||
{
|
|
||||||
dcValueList[readBatCnt] = _DcVoltageVal;
|
|
||||||
|
|
||||||
if(_LiPolymerVoltageVal)
|
|
||||||
{
|
|
||||||
batValueList[readBatCnt] = _LiPolymerVoltageVal;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
batValueList[readBatCnt] = _BatVoltageVal;
|
|
||||||
}
|
|
||||||
|
|
||||||
dcTemp += dcValueList[readBatCnt];
|
|
||||||
batTemp += batValueList[readBatCnt];
|
|
||||||
|
|
||||||
readBatCnt++;
|
|
||||||
vos_util_delay_ms(100);
|
|
||||||
|
|
||||||
if(readBatCnt >= SF_READ_BAT_MAX)
|
|
||||||
{
|
|
||||||
_DcVoltageVal = dcTemp / SF_READ_BAT_MAX;
|
|
||||||
|
|
||||||
if(_LiPolymerVoltageVal)
|
|
||||||
{
|
|
||||||
_LiPolymerVoltageVal = batTemp / SF_READ_BAT_MAX;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_BatVoltageVal = batTemp / SF_READ_BAT_MAX;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = SUCCESS;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -643,8 +657,9 @@ void sf_battery_level_polling(void)
|
||||||
UINT16 readBatCnt = 0;
|
UINT16 readBatCnt = 0;
|
||||||
UINT32 dcTemp = 0;
|
UINT32 dcTemp = 0;
|
||||||
UINT32 batTemp = 0;
|
UINT32 batTemp = 0;
|
||||||
UINT32 dcValueList[12] = { 0 };
|
UINT32 LibatTemp = 0;
|
||||||
UINT32 batValueList[12] = { 0 };
|
UINT8 LibatCnt = 0;
|
||||||
|
UINT8 batCnt = 0;
|
||||||
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
static UINT32 prePowerDcStatus = 0;
|
static UINT32 prePowerDcStatus = 0;
|
||||||
|
|
||||||
|
@ -652,70 +667,55 @@ void sf_battery_level_polling(void)
|
||||||
|
|
||||||
static UINT32 battEmpty = 0;
|
static UINT32 battEmpty = 0;
|
||||||
|
|
||||||
for(readBatCnt = 0; readBatCnt < 10;) //get average value of 10 times.
|
for(readBatCnt = 0; readBatCnt < 100;) //get average value of 100 times.
|
||||||
{
|
{
|
||||||
if(sf_battery_adc_value_get() == SUCCESS)
|
if(sf_battery_adc_value_get_once() == SUCCESS)
|
||||||
{
|
{
|
||||||
dcValueList[readBatCnt] = _DcVoltageVal;
|
vos_util_delay_ms(100);
|
||||||
|
|
||||||
if(puiPara->BatteryLogSwitch)
|
|
||||||
{
|
|
||||||
printf("%s:%d [%d]DC ADC Value=%lu,After Convert:%lu(%lu.%luV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(10, 130, dcValueList[readBatCnt]),
|
|
||||||
dcValueList[readBatCnt], dcValueList[readBatCnt] / 10, dcValueList[readBatCnt] % 10);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(_LiPolymerVoltageVal)
|
|
||||||
{
|
|
||||||
batValueList[readBatCnt] = _LiPolymerVoltageVal;
|
|
||||||
|
|
||||||
if(puiPara->BatteryLogSwitch)
|
|
||||||
{
|
|
||||||
printf("%s:%d [%d]Li Battery ADC Value=%lu,After Convert:%lu(%lu.%luV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 130, batValueList[readBatCnt]),
|
|
||||||
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
batValueList[readBatCnt] = _BatVoltageVal;
|
|
||||||
|
|
||||||
if(puiPara->BatteryLogSwitch)
|
|
||||||
{
|
|
||||||
printf("%s:%d [%d]Other Battery ADC Value=%lu,After Convert:%lu(%lu.%luV)\n", __FUNCTION__, __LINE__, readBatCnt + 1, sf_battery_convert_to_adc(15, 130, batValueList[readBatCnt]),
|
|
||||||
batValueList[readBatCnt], batValueList[readBatCnt] / 10, batValueList[readBatCnt] % 10);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dcTemp += dcValueList[readBatCnt];
|
|
||||||
batTemp += batValueList[readBatCnt];
|
|
||||||
|
|
||||||
|
dcTemp += _DcVoltageVal;
|
||||||
|
if(_LiPolymerVoltageVal)
|
||||||
|
{
|
||||||
|
LibatTemp += _LiPolymerVoltageVal;
|
||||||
|
batCnt++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
batTemp += _BatVoltageVal;
|
||||||
|
LibatCnt++;
|
||||||
|
}
|
||||||
readBatCnt++;
|
readBatCnt++;
|
||||||
|
|
||||||
if(readBatCnt >= SF_READ_BAT_MAX)
|
if(readBatCnt >= 100)
|
||||||
{
|
{
|
||||||
_DcVoltageVal = dcTemp / SF_READ_BAT_MAX;
|
_DcVoltageVal = dcTemp / 100;
|
||||||
|
if(LibatCnt)
|
||||||
|
_LiPolymerVoltageVal = LibatTemp / LibatCnt;
|
||||||
|
if(batCnt)
|
||||||
|
_BatVoltageVal = batTemp / batCnt;
|
||||||
|
|
||||||
if(_LiPolymerVoltageVal)
|
if((_DcVoltageVal > _LiPolymerVoltageVal) && (_DcVoltageVal >= _BatVoltageVal) && (_DcVoltageVal >= SF_DC_IN_VOLATAGE))
|
||||||
{
|
{
|
||||||
_LiPolymerVoltageVal = batTemp / SF_READ_BAT_MAX;
|
IsPowerDcIn = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_BatVoltageVal = batTemp / SF_READ_BAT_MAX;
|
IsPowerDcIn = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((_LiPolymerVoltageVal > _BatVoltageVal))
|
||||||
|
{
|
||||||
|
_BatVoltageVal = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_LiPolymerVoltageVal = 0;
|
||||||
|
}
|
||||||
|
|
||||||
DcVoltageVal = _DcVoltageVal;
|
DcVoltageVal = _DcVoltageVal;
|
||||||
LiPolymerVoltageVal = _LiPolymerVoltageVal;
|
LiPolymerVoltageVal = _LiPolymerVoltageVal;
|
||||||
BatVoltageVal = _BatVoltageVal;
|
BatVoltageVal = _BatVoltageVal;
|
||||||
|
|
||||||
if(DcVoltageVal >= SF_DC_IN_VOLATAGE)
|
|
||||||
{
|
|
||||||
IsPowerDcIn = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
IsPowerDcIn = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(puiPara->BatteryLogSwitch)
|
if(puiPara->BatteryLogSwitch)
|
||||||
{
|
{
|
||||||
printf("\n[average]DC,After Convert:(%lu.%luV),Is Dc In=%s\n", DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No");
|
printf("\n[average]DC,After Convert:(%lu.%luV),Is Dc In=%s\n", DcVoltageVal / 10, DcVoltageVal % 10, IsPowerDcIn == 1? "Yes" : "No");
|
||||||
|
@ -769,6 +769,10 @@ void sf_battery_level_polling(void)
|
||||||
battEmpty = 1;
|
battEmpty = 1;
|
||||||
printf("[%s:%d]power off because low battery\n", __FUNCTION__, __LINE__);
|
printf("[%s:%d]power off because low battery\n", __FUNCTION__, __LINE__);
|
||||||
//Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, APP_POWER_OFF_BATT_EMPTY); //shutdown start
|
//Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, APP_POWER_OFF_BATT_EMPTY); //shutdown start
|
||||||
|
#if SF_IQ_TEST != ENABLE
|
||||||
|
sf_set_power_off_flag(1);
|
||||||
|
flow_preview_set_stop_flag(TRUE);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(sf_LatestBattLevel == SF_BATT_LEVEL_1)
|
else if(sf_LatestBattLevel == SF_BATT_LEVEL_1)
|
||||||
|
@ -799,11 +803,13 @@ THREAD_RETTYPE sf_battery_check_thread(void *arg)
|
||||||
{
|
{
|
||||||
printf("[%s:%d]power off because low battery\n", __FUNCTION__, __LINE__);
|
printf("[%s:%d]power off because low battery\n", __FUNCTION__, __LINE__);
|
||||||
//Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, APP_POWER_OFF_BATT_EMPTY); //shutdown start
|
//Ux_PostEvent(NVTEVT_SYSTEM_SHUTDOWN, 1, APP_POWER_OFF_BATT_EMPTY); //shutdown start
|
||||||
|
#if SF_IQ_TEST != ENABLE
|
||||||
sf_set_power_off_flag(1);
|
sf_set_power_off_flag(1);
|
||||||
flow_preview_set_stop_flag(TRUE);
|
flow_preview_set_stop_flag(TRUE);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
while(sf_while_flag())
|
while(sf_while_flag())
|
||||||
{
|
{
|
||||||
sf_battery_level_polling();
|
sf_battery_level_polling();
|
||||||
|
@ -1175,7 +1181,7 @@ BOOL sf_is_battery_low(UINT8 refresh, UINT8 nightMode)
|
||||||
|
|
||||||
if(refresh)
|
if(refresh)
|
||||||
{
|
{
|
||||||
sf_battery_adc_value_get();
|
sf_battery_value_fast_get();
|
||||||
//printf("DC=%d Custom=%d bat=%d\n", dcValue, CustomValue, batli8v);
|
//printf("DC=%d Custom=%d bat=%d\n", dcValue, CustomValue, batli8v);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1222,7 +1228,7 @@ BOOL sf_is_battery_low(UINT8 refresh, UINT8 nightMode)
|
||||||
*************************************************/
|
*************************************************/
|
||||||
BOOL sf_battery_check_init(void)
|
BOOL sf_battery_check_init(void)
|
||||||
{
|
{
|
||||||
if(sf_battery_adc_value_get() == SUCCESS)
|
if(sf_battery_value_fast_get() == SUCCESS)
|
||||||
{
|
{
|
||||||
if(sf_is_battery_low(0, 0) == TRUE)
|
if(sf_is_battery_low(0, 0) == TRUE)
|
||||||
{
|
{
|
||||||
|
@ -1256,8 +1262,8 @@ void sf_set_need_check_first(void)
|
||||||
*************************************************/
|
*************************************************/
|
||||||
BOOL sf_is_enough_power_to_update(void)
|
BOOL sf_is_enough_power_to_update(void)
|
||||||
{
|
{
|
||||||
sf_set_need_check_first();
|
//sf_set_need_check_first();
|
||||||
sf_battery_adc_value_get();
|
sf_battery_value_fast_get();
|
||||||
printf("update DC=%lu Li=%lu Bat=%lu\n", DcVoltageVal, LiPolymerVoltageVal, BatVoltageVal);
|
printf("update DC=%lu Li=%lu Bat=%lu\n", DcVoltageVal, LiPolymerVoltageVal, BatVoltageVal);
|
||||||
|
|
||||||
if(sf_battery_value_get(0) < 40)
|
if(sf_battery_value_get(0) < 40)
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
version-info = [00 01 00 01];
|
version-info = [00 01 00 01];
|
||||||
ae_expect_lum {
|
ae_expect_lum {
|
||||||
size = [b0 00 00 00];
|
size = [b0 00 00 00];
|
||||||
data = [3c 00 00 00 3c 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 26 00 00 00 27 00 00 00 2c 00 00 00 32 00 00 00 3a 00 00 00 44 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 50 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 3c 00 00 00 46 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00];
|
data = [3c 00 00 00 3c 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 3a 00 00 00 44 00 00 00 4b 00 00 00 55 00 00 00 55 00 00 00 55 00 00 00 55 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 32 00 00 00 3c 00 00 00 46 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00 5a 00 00 00];
|
||||||
};
|
};
|
||||||
ae_la_clamp {
|
ae_la_clamp {
|
||||||
size = [50 01 00 00];
|
size = [50 01 00 00];
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
};
|
};
|
||||||
ae_over_exposure {
|
ae_over_exposure {
|
||||||
size = [b0 01 00 00];
|
size = [b0 01 00 00];
|
||||||
data = [01 00 00 00 8c 00 00 00 03 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 05 00 00 00 04 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00 09 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 05 00 00 00 07 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 04 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00];
|
data = [01 00 00 00 b4 00 00 00 03 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 05 00 00 00 03 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00 09 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 05 00 00 00 07 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 04 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00 07 00 00 00];
|
||||||
};
|
};
|
||||||
ae_convergence {
|
ae_convergence {
|
||||||
size = [2c 00 00 00];
|
size = [2c 00 00 00];
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
};
|
};
|
||||||
ae_meter_window {
|
ae_meter_window {
|
||||||
size = [00 01 00 00];
|
size = [00 01 00 00];
|
||||||
data = [01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 04 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 04 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00];
|
data = [01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00];
|
||||||
};
|
};
|
||||||
ae_lum_gamma {
|
ae_lum_gamma {
|
||||||
size = [82 00 00 00];
|
size = [82 00 00 00];
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
version-info = [00 00 00 01];
|
version-info = [00 00 00 01];
|
||||||
awb_th {
|
awb_th {
|
||||||
size = [30 00 00 00];
|
size = [30 00 00 00];
|
||||||
data = [05 00 00 00 f5 00 00 00 39 00 00 00 fd 00 00 00 b7 ff ff ff 6a 00 00 00 21 00 00 00 8f 00 00 00 18 00 00 00 6e 00 00 00 17 00 00 00 2e 00 00 00];
|
data = [05 00 00 00 f5 00 00 00 39 00 00 00 fd 00 00 00 b7 ff ff ff 6a 00 00 00 21 00 00 00 8f 00 00 00 18 00 00 00 6e 00 00 00 18 00 00 00 2d 00 00 00];
|
||||||
};
|
};
|
||||||
awb_lv {
|
awb_lv {
|
||||||
size = [18 00 00 00];
|
size = [18 00 00 00];
|
||||||
|
@ -15,11 +15,11 @@
|
||||||
};
|
};
|
||||||
awb_ct_weight {
|
awb_ct_weight {
|
||||||
size = [78 00 00 00];
|
size = [78 00 00 00];
|
||||||
data = [fc 08 00 00 f0 0a 00 00 74 0e 00 00 5c 12 00 00 64 19 00 00 f8 2a 00 00 48 03 00 00 60 03 00 00 bc 03 00 00 f7 03 00 00 23 04 00 00 c3 04 00 00 01 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 05 00 00 00 06 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 03 00 00 00 08 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00];
|
data = [fc 08 00 00 f0 0a 00 00 74 0e 00 00 5c 12 00 00 64 19 00 00 f8 2a 00 00 48 03 00 00 60 03 00 00 bc 03 00 00 f7 03 00 00 23 04 00 00 c3 04 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00];
|
||||||
};
|
};
|
||||||
awb_target {
|
awb_target {
|
||||||
size = [24 00 00 00];
|
size = [24 00 00 00];
|
||||||
data = [60 03 00 00 f7 03 00 00 23 04 00 00 00 04 00 00 18 04 00 00 1c 04 00 00 00 04 00 00 e8 03 00 00 e8 03 00 00];
|
data = [60 03 00 00 f7 03 00 00 23 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00 00 04 00 00];
|
||||||
};
|
};
|
||||||
awb_ct_info {
|
awb_ct_info {
|
||||||
size = [60 00 00 00];
|
size = [60 00 00 00];
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
};
|
};
|
||||||
awb_expand_block {
|
awb_expand_block {
|
||||||
size = [90 00 00 00];
|
size = [90 00 00 00];
|
||||||
data = [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 10 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 05 00 00 00 05 00 00 00 05 00 00 00 05 00 00 00 f5 00 00 00 f5 00 00 00 f5 00 00 00 f5 00 00 00 69 00 00 00 69 00 00 00 5b 00 00 00 72 00 00 00 78 00 00 00 7a 00 00 00 69 00 00 00 80 00 00 00 05 00 00 00 38 00 00 00 12 00 00 00 20 00 00 00 19 00 00 00 4a 00 00 00 20 00 00 00 cb ff ff ff];
|
data = [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 06 00 00 00 06 00 00 00 06 00 00 00 14 00 00 00 0a 00 00 00 0a 00 00 00 0a 00 00 00 05 00 00 00 05 00 00 00 05 00 00 00 05 00 00 00 f5 00 00 00 f5 00 00 00 f5 00 00 00 f5 00 00 00 69 00 00 00 69 00 00 00 5b 00 00 00 72 00 00 00 87 00 00 00 7a 00 00 00 69 00 00 00 80 00 00 00 e6 ff ff ff 38 00 00 00 12 00 00 00 20 00 00 00 07 00 00 00 4a 00 00 00 20 00 00 00 cb ff ff ff];
|
||||||
};
|
};
|
||||||
awb_luma_weight {
|
awb_luma_weight {
|
||||||
size = [44 00 00 00];
|
size = [44 00 00 00];
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user