1.调整电池检测;2.修复rtos下p mode待写卡时关机问题;3.在rots下同步Linux的关于sd卡热插拔;4.更新iq

This commit is contained in:
payton 2023-06-30 09:52:34 +08:00
parent 03e6aa0093
commit 89da32c0c8
26 changed files with 510 additions and 323 deletions

View File

@ -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 */

View File

@ -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

View File

@ -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();

View File

@ -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)
{ {

View File

@ -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)

View File

@ -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];

View File

@ -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

Binary file not shown.

Binary file not shown.

View File

@ -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
View File

@ -0,0 +1 @@
Linux/cfg_565_HUNTING_EVB_LINUX_4G_S530

View File

@ -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},

View File

@ -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

View File

@ -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)

View File

@ -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
} }

View File

@ -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();

View File

@ -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);

View File

@ -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)

View File

@ -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];

View File

@ -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