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 HUNTING_MCU_I2C DISABLE
|
||||
#define HUNTING_MCU_UART ENABLE
|
||||
#define HUNTING_IR_LED_940 ENABLE
|
||||
#define HUNTING_IR_LED_940 DISABLE
|
||||
#define SF_BASE_VERSION "7MD4RCwD6T4"
|
||||
#define HW_S530 1
|
||||
#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);
|
||||
void sf_battery_level_update(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_check_thread(void *arg);
|
||||
void sf_battery_thread_init(void);
|
||||
|
@ -32,4 +32,6 @@ BOOL sf_battery_check_init(void);
|
|||
void sf_set_need_check_first(void);
|
||||
BOOL sf_is_enough_power_to_update(void);
|
||||
void sf_adc_init(void);
|
||||
|
||||
BOOL sf_is_battery_low(UINT8 refresh, UINT8 nightMode);
|
||||
#endif
|
||||
|
|
|
@ -185,7 +185,7 @@ int main(int argc, char *argv[])
|
|||
sf_mcu_reg_set(SF_MCU_CTRL_MODULE_PIR, 1);
|
||||
}
|
||||
|
||||
sf_battery_check_init();
|
||||
//sf_battery_check_init();
|
||||
sf_app_battery_start();
|
||||
//sf_app_data_ready_start();
|
||||
|
||||
|
|
|
@ -966,6 +966,7 @@ SINT32 sf_app_battery_start(void)
|
|||
SLOGE("thread has already run !!!\n");
|
||||
return SF_FAILURE;
|
||||
}
|
||||
sf_adc_init();
|
||||
ret = pthread_create(&BatteryTskCfg.TskId, NULL, sf_battery_check_thread, NULL);
|
||||
if(ret != SF_SUCCESS)
|
||||
{
|
||||
|
|
|
@ -193,6 +193,7 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval)
|
|||
return SUCCESS;
|
||||
|
||||
}
|
||||
#if 0
|
||||
/*************************************************
|
||||
Function: sf_battery_adc_value_get_once
|
||||
Description: get battery adc only once
|
||||
|
@ -228,6 +229,7 @@ UINT32 sf_battery_adc_value_get_once(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
_LiPolymerVoltageVal = 0;
|
||||
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
|
||||
{
|
||||
_BatVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
||||
|
@ -260,6 +262,63 @@ UINT32 sf_battery_adc_value_get_once(void)
|
|||
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
|
||||
|
||||
|
@ -494,30 +553,26 @@ BOOL sf_check_low_battery(void)
|
|||
}
|
||||
|
||||
/******************************************************
|
||||
Function: sf_battery_adc_value_get
|
||||
Description: auto mode:take the maximum of 5 times;
|
||||
manual mode:take the average of 10 times;
|
||||
Function: sf_battery_value_fast_get
|
||||
Description: fast maximum of 5 times;
|
||||
Input: N/A
|
||||
Output: N/A
|
||||
Return: SUCCESS/FAIL
|
||||
Others: N/A
|
||||
*******************************************************/
|
||||
signed int sf_battery_adc_value_get(void)
|
||||
signed int sf_battery_value_fast_get(void)
|
||||
{
|
||||
UINT8 readBatCnt = 0;
|
||||
|
||||
UINT32 dcTemp = 0;
|
||||
UINT32 batTemp = 0;
|
||||
UINT32 dcValueList[12] = { 0 };
|
||||
UINT32 batValueList[12] = { 0 };
|
||||
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
||||
|
||||
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);
|
||||
needCheckFirst = FALSE;
|
||||
//needCheckFirst = FALSE;
|
||||
|
||||
for(readBatCnt = 0; readBatCnt < 5;) //get max value of 5 times.
|
||||
{
|
||||
|
@ -570,7 +625,7 @@ signed int sf_battery_adc_value_get(void)
|
|||
LiPolymerVoltageVal = 0;
|
||||
}
|
||||
|
||||
if(DcVoltageVal >= SF_DC_IN_VOLATAGE)
|
||||
if((DcVoltageVal > LiPolymerVoltageVal) && (DcVoltageVal >= BatVoltageVal) && (DcVoltageVal >= SF_DC_IN_VOLATAGE))
|
||||
{
|
||||
IsPowerDcIn = 1;
|
||||
}
|
||||
|
@ -595,47 +650,6 @@ signed int sf_battery_adc_value_get(void)
|
|||
|
||||
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;
|
||||
}
|
||||
|
@ -653,8 +667,9 @@ void sf_battery_level_polling(void)
|
|||
UINT16 readBatCnt = 0;
|
||||
UINT32 dcTemp = 0;
|
||||
UINT32 batTemp = 0;
|
||||
UINT32 dcValueList[12] = { 0 };
|
||||
UINT32 batValueList[12] = { 0 };
|
||||
UINT32 LibatTemp = 0;
|
||||
UINT8 LibatCnt = 0;
|
||||
UINT8 batCnt = 0;
|
||||
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
||||
static UINT32 prePowerDcStatus = 0;
|
||||
|
||||
|
@ -662,62 +677,34 @@ void sf_battery_level_polling(void)
|
|||
|
||||
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;
|
||||
|
||||
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);
|
||||
}
|
||||
sf_sleep_ms(100);
|
||||
|
||||
dcTemp += _DcVoltageVal;
|
||||
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);
|
||||
}
|
||||
LibatTemp += _LiPolymerVoltageVal;
|
||||
batCnt++;
|
||||
}
|
||||
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);
|
||||
batTemp += _BatVoltageVal;
|
||||
LibatCnt++;
|
||||
}
|
||||
}
|
||||
|
||||
dcTemp += dcValueList[readBatCnt];
|
||||
batTemp += batValueList[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)
|
||||
{
|
||||
_LiPolymerVoltageVal = batTemp / SF_READ_BAT_MAX;
|
||||
}
|
||||
else
|
||||
{
|
||||
_BatVoltageVal = batTemp / SF_READ_BAT_MAX;
|
||||
}
|
||||
|
||||
DcVoltageVal = _DcVoltageVal;
|
||||
LiPolymerVoltageVal = _LiPolymerVoltageVal;
|
||||
BatVoltageVal = _BatVoltageVal;
|
||||
|
||||
if(DcVoltageVal >= SF_DC_IN_VOLATAGE)
|
||||
if((_DcVoltageVal > _LiPolymerVoltageVal) && (_DcVoltageVal >= _BatVoltageVal) && (_DcVoltageVal >= SF_DC_IN_VOLATAGE))
|
||||
{
|
||||
IsPowerDcIn = 1;
|
||||
}
|
||||
|
@ -726,6 +713,19 @@ void sf_battery_level_polling(void)
|
|||
IsPowerDcIn = 0;
|
||||
}
|
||||
|
||||
if ((_LiPolymerVoltageVal > _BatVoltageVal))
|
||||
{
|
||||
_BatVoltageVal = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
_LiPolymerVoltageVal = 0;
|
||||
}
|
||||
|
||||
DcVoltageVal = _DcVoltageVal;
|
||||
LiPolymerVoltageVal = _LiPolymerVoltageVal;
|
||||
BatVoltageVal = _BatVoltageVal;
|
||||
|
||||
if(puiPara->BatteryLogSwitch)
|
||||
{
|
||||
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;
|
||||
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
|
||||
}
|
||||
}
|
||||
|
@ -810,12 +813,31 @@ void* sf_battery_check_thread(void *arg)
|
|||
{
|
||||
//THREAD_ENTRY();
|
||||
printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
|
||||
sf_battery_check_init();
|
||||
|
||||
if(sf_is_battery_low(1, 0) == TRUE)
|
||||
{
|
||||
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__);
|
||||
//THREAD_RETURN(0);
|
||||
return NULL;
|
||||
|
@ -1158,6 +1180,59 @@ UINT8 sf_battery_type_get(void)
|
|||
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
|
||||
Description: Perform a battery test in manual mode.
|
||||
|
@ -1170,7 +1245,7 @@ BOOL sf_battery_check_init(void)
|
|||
{
|
||||
sf_adc_init();
|
||||
|
||||
if(sf_battery_adc_value_get() == SUCCESS)
|
||||
if(sf_battery_value_fast_get() == SUCCESS)
|
||||
{
|
||||
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)
|
||||
{
|
||||
sf_set_need_check_first();
|
||||
sf_battery_adc_value_get();
|
||||
//sf_set_need_check_first();
|
||||
sf_battery_value_fast_get();
|
||||
printf("update DC=%d Li=%d Bat=%d\n", DcVoltageVal, LiPolymerVoltageVal, BatVoltageVal);
|
||||
|
||||
if(sf_battery_value_get(0) < 40)
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
version-info = [00 01 00 01];
|
||||
ae_expect_lum {
|
||||
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 {
|
||||
size = [50 01 00 00];
|
||||
|
@ -15,7 +15,7 @@
|
|||
};
|
||||
ae_over_exposure {
|
||||
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 {
|
||||
size = [2c 00 00 00];
|
||||
|
@ -27,7 +27,7 @@
|
|||
};
|
||||
ae_meter_window {
|
||||
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 {
|
||||
size = [82 00 00 00];
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
version-info = [00 00 00 01];
|
||||
awb_th {
|
||||
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 {
|
||||
size = [18 00 00 00];
|
||||
|
@ -15,11 +15,11 @@
|
|||
};
|
||||
awb_ct_weight {
|
||||
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 {
|
||||
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 {
|
||||
size = [60 00 00 00];
|
||||
|
@ -35,7 +35,7 @@
|
|||
};
|
||||
awb_expand_block {
|
||||
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 {
|
||||
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},
|
||||
{910, 126, 1070},
|
||||
{900, 135, 1020},
|
||||
{885, 153, 1040},
|
||||
{870, 160, 1090},
|
||||
{859, 177, 1010},
|
||||
{854, 258, 1000},
|
||||
{849, 500, 1000},
|
||||
{845, 768, 1000},
|
||||
{842, 984, 1000},
|
||||
{885, 203, 1010},
|
||||
{870, 381, 1020},
|
||||
{859, 499, 1000},
|
||||
{854, 512, 1010},
|
||||
{849, 826, 1010},
|
||||
{845, 1021, 1000},
|
||||
{842, 1128, 1000},
|
||||
{839, 1372, 1000},
|
||||
{830, 2236, 1000},
|
||||
{828, 3459, 1000},
|
||||
|
|
|
@ -472,7 +472,7 @@
|
|||
//..............................................................................
|
||||
// External Storage Config
|
||||
#define SDINSERT_FUNCTION ENABLE //Auto Detect
|
||||
#define SDHOTPLUG_FUNCTION DISABLE
|
||||
#define SDHOTPLUG_FUNCTION ENABLE
|
||||
//..............................................................................
|
||||
// FILEDB Config
|
||||
#define USE_FILEDB ENABLE //DISABLE
|
||||
|
@ -740,7 +740,7 @@
|
|||
#define _NETWORK_ON_ETH_
|
||||
#endif
|
||||
|
||||
#define MAC_APPEN_SSID ENABLE
|
||||
#define MAC_APPEN_SSID DISABLE//ENABLE
|
||||
#define ACL_TIME 15000 //minmum 15 sec
|
||||
#define WIFI_APP_MANUFACTURER "NVT"
|
||||
#define WIFI_APP_MODLE "CarDV_WiFi"
|
||||
|
@ -952,7 +952,7 @@
|
|||
#define MOVIE_AI_DEMO DISABLE
|
||||
#define HUNTING_MCU_I2C DISABLE
|
||||
#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_BASE_VERSION "7MD4RCwD6T4"
|
||||
#define HW_S530 1
|
||||
|
|
|
@ -385,6 +385,7 @@ static void * get_fdt_by_sensor_type(char *name)
|
|||
static void mcu_task(void)
|
||||
{
|
||||
#if HUNTING_CAMERA_MCU == ENABLE
|
||||
sf_battery_thread_init();
|
||||
vos_util_delay_ms(5);
|
||||
sf_mcu_power_on_para_get(SF_MCU_POWERON);
|
||||
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_NORMAL);
|
||||
|
||||
sf_battery_thread_init();
|
||||
|
||||
//vos_util_delay_ms(15);
|
||||
//if(sf_is_night_mode(1) !=TRUE)
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include "PhotoFastCapDateImprint.h"
|
||||
#include "PhotoFast.h"
|
||||
#include <kwrap/cmdsys.h>
|
||||
#include "DxHunting.h"
|
||||
|
||||
#if HUNTING_CAMERA_MCU == ENABLE
|
||||
#include <sf_mcu.h>
|
||||
|
@ -28,6 +29,7 @@
|
|||
*********************************************************************************/
|
||||
|
||||
#define PHOTOFAST_FAST_CLOSE 1
|
||||
#define PHOTOFAST_FAST_STAMP 1
|
||||
|
||||
#define PHOTOFAST_SLICE_ENC_DBG_DUMP 0
|
||||
#define PHOTOFAST_SLICE_ENC_DBG_PRIMARY_YUV 0
|
||||
|
@ -1142,7 +1144,9 @@ static INT32 PhotoFast_SliceEncode_Encode_Primary(
|
|||
BOOL restart = FALSE;
|
||||
|
||||
/* config which slice stamp should be attached */
|
||||
#if !PHOTOFAST_FAST_STAMP
|
||||
const UINT8 slice_idx_of_date_stamp = dst_slice_info.slice_num - 1;
|
||||
#endif
|
||||
|
||||
HD_VIDEOENC_BS bs_data_pull;
|
||||
|
||||
|
@ -1178,7 +1182,8 @@ static INT32 PhotoFast_SliceEncode_Encode_Primary(
|
|||
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){
|
||||
|
||||
HD_VIDEO_FRAME slice_img;
|
||||
|
@ -1193,6 +1198,7 @@ static INT32 PhotoFast_SliceEncode_Encode_Primary(
|
|||
|
||||
PhotoFastCapDateImprint_GenYuvData(&slice_img);
|
||||
}
|
||||
#endif
|
||||
|
||||
vf_gfx_scale_param.dst_img.count = 0;
|
||||
vf_gfx_scale_param.dst_img.timestamp = hd_gettime_us();
|
||||
|
@ -1896,6 +1902,13 @@ INT32 PhotoFast_SliceEncode_CB2(void* user_data)
|
|||
goto EXIT;
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
* Fast Stamp (higher speed, lower quality)
|
||||
******************************************************************/
|
||||
#if PHOTOFAST_FAST_STAMP
|
||||
PhotoFastCapDateImprint_GenYuvData(&queue_ele_in->frame);
|
||||
#endif
|
||||
|
||||
/*******************************************************************
|
||||
* Screennail & Thumbnail Scale
|
||||
******************************************************************/
|
||||
|
@ -1910,8 +1923,10 @@ INT32 PhotoFast_SliceEncode_CB2(void* user_data)
|
|||
goto EXIT;
|
||||
}
|
||||
|
||||
#if !PHOTOFAST_FAST_STAMP
|
||||
PhotoFastCapDateImprint_GenYuvData(&video_frame_out_screennail);
|
||||
PhotoFastCapDateImprint_GenYuvData(&video_frame_out_thumbnail);
|
||||
#endif
|
||||
|
||||
/*******************************************************************
|
||||
* Primary
|
||||
|
@ -2217,6 +2232,10 @@ VOID PhotoFast_SliceEncode2_Close(VOID)
|
|||
|
||||
#if !PHOTOFAST_FAST_CLOSE
|
||||
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
|
||||
|
||||
/* check stopped */
|
||||
|
@ -2224,6 +2243,10 @@ VOID PhotoFast_SliceEncode2_Close(VOID)
|
|||
|
||||
#if !PHOTOFAST_FAST_CLOSE
|
||||
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
|
||||
|
||||
DBG_DUMP("slice encode finished\n");
|
||||
|
@ -2232,12 +2255,20 @@ VOID PhotoFast_SliceEncode2_Close(VOID)
|
|||
|
||||
#if !PHOTOFAST_FAST_CLOSE
|
||||
lfqueue_destroy(&queue23);
|
||||
#else
|
||||
if(DrvGPIO_GetPhotoMovieModeFromMonitor() == DX_HUNTING_MODE_PHOTO){
|
||||
lfqueue_destroy(&queue23);
|
||||
}
|
||||
#endif
|
||||
|
||||
PhotoFast_SliceEncode_Uninit_Flag(&task2_param.flag_id);
|
||||
|
||||
#if !PHOTOFAST_FAST_CLOSE
|
||||
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
|
||||
}
|
||||
|
||||
|
|
|
@ -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#Support SD hot plug function
|
||||
#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
|
||||
//#NT#2016/10/04#Lincy Lin -end
|
||||
return;
|
||||
|
@ -835,14 +835,22 @@ static void UIFlowPhoto_ScrOpen(lv_obj_t* obj)
|
|||
|
||||
//#NT#2016/10/04#Lincy Lin -begin
|
||||
//#NT#Support SD hot plug function
|
||||
#if (SDHOTPLUG_FUNCTION == ENABLE)
|
||||
//#if (SDHOTPLUG_FUNCTION == ENABLE)
|
||||
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 */
|
||||
gPhotoData.State = PHOTO_ST_WARNING_MENU;
|
||||
UIFlowWrnMsgAPI_Open_StringID(LV_PLUGIN_STRING_ID_STRID_PLEASE_INSERT_SD, 0);
|
||||
return;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
//#endif
|
||||
//#NT#2016/10/04#Lincy Lin -end
|
||||
UIFlowInfoPhoto = UIFlowInfoPhotoInitVal;
|
||||
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)
|
||||
{
|
||||
#if (SDHOTPLUG_FUNCTION == ENABLE)
|
||||
#if 0//(SDHOTPLUG_FUNCTION == ENABLE)
|
||||
if (UIStorageCheck(STORAGE_CHECK_ERROR, NULL) == TRUE) {
|
||||
DBG_DUMP("card err,removed\r\n");
|
||||
} 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)
|
||||
{
|
||||
#if (SDHOTPLUG_FUNCTION == ENABLE)
|
||||
#if 0//(SDHOTPLUG_FUNCTION == ENABLE)
|
||||
DBG_DUMP("card removed\r\n");
|
||||
if (System_GetState(SYS_STATE_CURRMODE) != PRIMARY_MODE_PLAYBACK) {
|
||||
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
|
||||
Description: get battery adc only once
|
||||
Function: sf_adc_value_get
|
||||
Description: get battery adc
|
||||
Input: N/A
|
||||
Output: N/A
|
||||
Return: SUCCESS/FAIL
|
||||
|
@ -191,12 +191,12 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval)
|
|||
vos_util_delay_ms(1);
|
||||
|
||||
*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;
|
||||
return SUCCESS;
|
||||
|
||||
}
|
||||
|
||||
#if 0
|
||||
/*************************************************
|
||||
Function: sf_battery_adc_value_get_once
|
||||
Description: get battery adc only once
|
||||
|
@ -232,6 +232,7 @@ UINT32 sf_battery_adc_value_get_once(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
_LiPolymerVoltageVal = 0;
|
||||
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
|
||||
{
|
||||
_BatVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
||||
|
@ -264,6 +265,63 @@ UINT32 sf_battery_adc_value_get_once(void)
|
|||
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
|
||||
|
||||
|
@ -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;
|
||||
manual mode:take the average of 10 times;
|
||||
Input: N/A
|
||||
|
@ -492,22 +550,19 @@ BOOL sf_check_low_battery(void)
|
|||
Return: SUCCESS/FAIL
|
||||
Others: N/A
|
||||
*******************************************************/
|
||||
signed int sf_battery_adc_value_get(void)
|
||||
signed int sf_battery_value_fast_get(void)
|
||||
{
|
||||
UINT8 readBatCnt = 0;
|
||||
|
||||
UINT32 dcTemp = 0;
|
||||
UINT32 batTemp = 0;
|
||||
UINT32 dcValueList[12] = { 0 };
|
||||
UINT32 batValueList[12] = { 0 };
|
||||
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||
|
||||
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);
|
||||
needCheckFirst = FALSE;
|
||||
//needCheckFirst = FALSE;
|
||||
|
||||
for(readBatCnt = 0; readBatCnt < 5;) //get max value of 5 times.
|
||||
{
|
||||
|
@ -560,7 +615,7 @@ signed int sf_battery_adc_value_get(void)
|
|||
LiPolymerVoltageVal = 0;
|
||||
}
|
||||
|
||||
if(DcVoltageVal >= SF_DC_IN_VOLATAGE)
|
||||
if((DcVoltageVal > LiPolymerVoltageVal) && (DcVoltageVal >= BatVoltageVal) && (DcVoltageVal >= SF_DC_IN_VOLATAGE))
|
||||
{
|
||||
IsPowerDcIn = 1;
|
||||
}
|
||||
|
@ -585,47 +640,6 @@ signed int sf_battery_adc_value_get(void)
|
|||
|
||||
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;
|
||||
}
|
||||
|
@ -643,8 +657,9 @@ void sf_battery_level_polling(void)
|
|||
UINT16 readBatCnt = 0;
|
||||
UINT32 dcTemp = 0;
|
||||
UINT32 batTemp = 0;
|
||||
UINT32 dcValueList[12] = { 0 };
|
||||
UINT32 batValueList[12] = { 0 };
|
||||
UINT32 LibatTemp = 0;
|
||||
UINT8 LibatCnt = 0;
|
||||
UINT8 batCnt = 0;
|
||||
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||
static UINT32 prePowerDcStatus = 0;
|
||||
|
||||
|
@ -652,62 +667,34 @@ void sf_battery_level_polling(void)
|
|||
|
||||
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;
|
||||
|
||||
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);
|
||||
}
|
||||
vos_util_delay_ms(100);
|
||||
|
||||
dcTemp += _DcVoltageVal;
|
||||
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);
|
||||
}
|
||||
LibatTemp += _LiPolymerVoltageVal;
|
||||
batCnt++;
|
||||
}
|
||||
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);
|
||||
batTemp += _BatVoltageVal;
|
||||
LibatCnt++;
|
||||
}
|
||||
}
|
||||
|
||||
dcTemp += dcValueList[readBatCnt];
|
||||
batTemp += batValueList[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)
|
||||
{
|
||||
_LiPolymerVoltageVal = batTemp / SF_READ_BAT_MAX;
|
||||
}
|
||||
else
|
||||
{
|
||||
_BatVoltageVal = batTemp / SF_READ_BAT_MAX;
|
||||
}
|
||||
|
||||
DcVoltageVal = _DcVoltageVal;
|
||||
LiPolymerVoltageVal = _LiPolymerVoltageVal;
|
||||
BatVoltageVal = _BatVoltageVal;
|
||||
|
||||
if(DcVoltageVal >= SF_DC_IN_VOLATAGE)
|
||||
if((_DcVoltageVal > _LiPolymerVoltageVal) && (_DcVoltageVal >= _BatVoltageVal) && (_DcVoltageVal >= SF_DC_IN_VOLATAGE))
|
||||
{
|
||||
IsPowerDcIn = 1;
|
||||
}
|
||||
|
@ -716,6 +703,19 @@ void sf_battery_level_polling(void)
|
|||
IsPowerDcIn = 0;
|
||||
}
|
||||
|
||||
if ((_LiPolymerVoltageVal > _BatVoltageVal))
|
||||
{
|
||||
_BatVoltageVal = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
_LiPolymerVoltageVal = 0;
|
||||
}
|
||||
|
||||
DcVoltageVal = _DcVoltageVal;
|
||||
LiPolymerVoltageVal = _LiPolymerVoltageVal;
|
||||
BatVoltageVal = _BatVoltageVal;
|
||||
|
||||
if(puiPara->BatteryLogSwitch)
|
||||
{
|
||||
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;
|
||||
printf("[%s:%d]power off because low battery\n", __FUNCTION__, __LINE__);
|
||||
//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)
|
||||
|
@ -799,11 +803,13 @@ THREAD_RETTYPE sf_battery_check_thread(void *arg)
|
|||
{
|
||||
printf("[%s:%d]power off because low battery\n", __FUNCTION__, __LINE__);
|
||||
//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 {
|
||||
|
||||
while(sf_while_flag())
|
||||
{
|
||||
sf_battery_level_polling();
|
||||
|
@ -1175,7 +1181,7 @@ BOOL sf_is_battery_low(UINT8 refresh, UINT8 nightMode)
|
|||
|
||||
if(refresh)
|
||||
{
|
||||
sf_battery_adc_value_get();
|
||||
sf_battery_value_fast_get();
|
||||
//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)
|
||||
{
|
||||
if(sf_battery_adc_value_get() == SUCCESS)
|
||||
if(sf_battery_value_fast_get() == SUCCESS)
|
||||
{
|
||||
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)
|
||||
{
|
||||
sf_set_need_check_first();
|
||||
sf_battery_adc_value_get();
|
||||
//sf_set_need_check_first();
|
||||
sf_battery_value_fast_get();
|
||||
printf("update DC=%lu Li=%lu Bat=%lu\n", DcVoltageVal, LiPolymerVoltageVal, BatVoltageVal);
|
||||
|
||||
if(sf_battery_value_get(0) < 40)
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
version-info = [00 01 00 01];
|
||||
ae_expect_lum {
|
||||
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 {
|
||||
size = [50 01 00 00];
|
||||
|
@ -15,7 +15,7 @@
|
|||
};
|
||||
ae_over_exposure {
|
||||
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 {
|
||||
size = [2c 00 00 00];
|
||||
|
@ -27,7 +27,7 @@
|
|||
};
|
||||
ae_meter_window {
|
||||
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 {
|
||||
size = [82 00 00 00];
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
version-info = [00 00 00 01];
|
||||
awb_th {
|
||||
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 {
|
||||
size = [18 00 00 00];
|
||||
|
@ -15,11 +15,11 @@
|
|||
};
|
||||
awb_ct_weight {
|
||||
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 {
|
||||
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 {
|
||||
size = [60 00 00 00];
|
||||
|
@ -35,7 +35,7 @@
|
|||
};
|
||||
awb_expand_block {
|
||||
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 {
|
||||
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