Merge branch 'Branch_S550_Fast_Emmc' of 192.168.6.216:linux-em-group/s530-ntk into S550_Base

This commit is contained in:
xiehongyan 2024-01-22 16:33:23 +08:00
commit ac376fea1e
9 changed files with 109 additions and 24 deletions

View File

@ -144,6 +144,12 @@ static UINT32 SF_StrgSpaceCheckFull(MMC_DEV_TYPE mmc_dev)
if(diskFree < MIN_FREE_SIZE_MB) /* 30MB*/ if(diskFree < MIN_FREE_SIZE_MB) /* 30MB*/
{ {
ret = 1; ret = 1;
if(mmc_dev == MMC_DEV_SD){
sf_set_sd_card_full(1);
}
else {
sf_set_emmc_card_full(1);
}
} }
else else
{ {

View File

@ -382,7 +382,7 @@ void sf_log_sava(void)
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
struct tm current_time2 = {0}; struct tm current_time2 = {0};
char tmp[64] = {'\0'}; char tmp[64] = {'\0'};
if(((puiPara->DebugMode) || (puiPara->AutoLogSwitch)) && (!sf_is_usb_flag())) if((((puiPara->DebugMode) || (puiPara->AutoLogSwitch)) && (!sf_is_usb_flag())) && ((TRUE != sf_is_card_full())))
{ {
DBG_DUMP("LogFile_Close ...\n"); DBG_DUMP("LogFile_Close ...\n");
current_time2 = hwclock_get_time(TIME_ID_CURRENT); current_time2 = hwclock_get_time(TIME_ID_CURRENT);

View File

@ -163,6 +163,8 @@ static SINT16 app_Qlog_procress(void) {
char qlogDirCmd[128] = {0}; char qlogDirCmd[128] = {0};
time_t timep; time_t timep;
struct tm *p; struct tm *p;
SF_STORE_ATTR_S storeattrs = {0};
if(SF_FAILURE == sf_check_sd()) if(SF_FAILURE == sf_check_sd())
{ {
MLOGE("ERROR sf_check_sd\n"); MLOGE("ERROR sf_check_sd\n");
@ -174,6 +176,12 @@ static SINT16 app_Qlog_procress(void) {
free(file_path); free(file_path);
return SF_FAILURE; return SF_FAILURE;
} }
sf_activity_info_get(&storeattrs);
if (storeattrs.SDFree < 30) /* 30MB */
{
MLOGE("Card FULL\n");
return SF_FAILURE;
}
time(&timep); time(&timep);
p = gmtime(&timep); p = gmtime(&timep);
if (access(file_path, F_OK) != 0) { if (access(file_path, F_OK) != 0) {

View File

@ -10,7 +10,9 @@ typedef enum sf_MSG_FORMAT_SD_e
}SF_MSG_FORMAT_SD_E; }SF_MSG_FORMAT_SD_E;
BOOL sf_is_card_full(void); BOOL sf_is_card_full(void);
BOOL sf_is_emmc_full(void);
void sf_set_emmc_card_full(BOOL val);
void sf_set_sd_card_full(BOOL val);
typedef BOOL (*SF_CALLBACK_SD_CMD)(void); typedef BOOL (*SF_CALLBACK_SD_CMD)(void);
void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB); void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB);

View File

@ -47,7 +47,8 @@
SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL; SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL;
static int formatSD = CMD_FORMAT_SD_ERR; static int formatSD = CMD_FORMAT_SD_ERR;
static BOOL IsCardFull = FALSE;
static BOOL IsEmmcFull = FALSE;
void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB) void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB)
{ {
@ -85,3 +86,22 @@ UINT32 sf_get_card_statu(void)
return formatSD; return formatSD;
} }
BOOL sf_is_card_full(void)
{
return IsCardFull;
}
void sf_set_sd_card_full(BOOL val)
{
IsCardFull = val;
}
BOOL sf_is_emmc_full(void)
{
//printf("[%s]:%d IsEmmcFull:%d\n", __FUNCTION__, __LINE__, IsEmmcFull);
return IsEmmcFull;
}
void sf_set_emmc_card_full(BOOL val)
{
IsEmmcFull = val;
}

View File

@ -167,7 +167,7 @@ void sf_log_sava(void)
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
struct tm current_time2 = {0}; struct tm current_time2 = {0};
char tmp[64] = {'\0'}; char tmp[64] = {'\0'};
if(((puiPara->DebugMode) || (puiPara->AutoLogSwitch)) && (!sf_is_usb_flag())) if((((puiPara->DebugMode) || (puiPara->AutoLogSwitch)) && (!sf_is_usb_flag())) && ((TRUE != sf_is_card_full()) || (TRUE != sf_is_emmc_full())))
{ {
DBG_DUMP("LogFile_Close ...\n"); DBG_DUMP("LogFile_Close ...\n");
current_time2 = hwclock_get_time(TIME_ID_CURRENT); current_time2 = hwclock_get_time(TIME_ID_CURRENT);

View File

@ -1917,8 +1917,8 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n");
/*.............sun chen@20240111 end.................*/ /*.............sun chen@20240111 end.................*/
//nvt_cmdsys_runcmd("ae dbg 0 256 1 "); nvt_cmdsys_runcmd("ae dbg 0 256 1 ");
nvt_cmdsys_runcmd("awb dbg 0 16 1 ");
HD_VIDEO_FRAME frame_capture = {0}; HD_VIDEO_FRAME frame_capture = {0};
VOS_TICK t1, t2; VOS_TICK t1, t2;
@ -2001,7 +2001,7 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n");
memcpy((void*)&frame_capture, (void*)&frame, sizeof(HD_VIDEO_FRAME)); memcpy((void*)&frame_capture, (void*)&frame, sizeof(HD_VIDEO_FRAME));
break; break;
} }
else{ else{
@ -2012,6 +2012,7 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n");
vos_perf_mark(&g_alg_end_time); vos_perf_mark(&g_alg_end_time);
} }
vos_util_delay_ms(33);
if ((g_moviefast_power_off_tsk_id = vos_task_create(MovieFast_PowerOffTsk, 0, "MovieFastPwrTsk", PRI_MOVIEFAST_CMDTSK, STKSIZE_MOVIEFAST_CMDTSK)) == 0) { if ((g_moviefast_power_off_tsk_id = vos_task_create(MovieFast_PowerOffTsk, 0, "MovieFastPwrTsk", PRI_MOVIEFAST_CMDTSK, STKSIZE_MOVIEFAST_CMDTSK)) == 0) {
DBG_ERR("MovieFast_PowerOffTsk create failed.\r\n"); DBG_ERR("MovieFast_PowerOffTsk create failed.\r\n");
@ -2169,7 +2170,7 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n");
// UINT32 elapse_time_ms = ((t2 - t1) / 1000); // UINT32 elapse_time_ms = ((t2 - t1) / 1000);
CHKPNT; CHKPNT;
vos_util_delay_ms(300); vos_util_delay_ms(234);//(300);
// if(elapse_time_ms < 300) // if(elapse_time_ms < 300)
// vos_util_delay_ms(300 - elapse_time_ms); // vos_util_delay_ms(300 - elapse_time_ms);

View File

@ -1787,8 +1787,34 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
DBG_DUMP("period = %lu ms, max_cnt = %lu\n", period, max_cnt); DBG_DUMP("period = %lu ms, max_cnt = %lu\n", period, max_cnt);
PhotoFast_SliceEncode2_Open(vprc_path, max_cnt); PhotoFast_SliceEncode2_Open(vprc_path, max_cnt);
nvt_cmdsys_runcmd("ae set_speed 0 128 200 200 100"); /*.............sun chen@20240111 start.................*/
//nvt_cmdsys_runcmd("ae set_speed 0 128 200 200 100");
//nvt_cmdsys_runcmd("ae set_speed 0 128 900 900 800");
//nvt_cmdsys_runcmd("ae set_pdctrl 0 32 0 32 0");
{
AET_EXTEND_PARAM ext_param = {0};
ext_param.id = 0;
ext_param.ext_param.dgain_th = 128;
ext_param.ext_param.dgain_mode = 0;
ext_param.ext_param.down_speed = 970;
ext_param.ext_param.up_speed1 = 965;
ext_param.ext_param.up_speed2 = 800;
ext_param.ext_param.hdr_ev = 0;
ext_param.ext_param.fast_ae = 1;
vendor_isp_set_ae(AET_ITEM_EXT_PARAM, &ext_param);
}
// nvt_cmdsys_runcmd("ae dbg 0 256 1 ");
//nvt_cmdsys_runcmd("ae dbg 0 16 1");
{
AET_CONVERGENCE convergence = {0};
convergence.id = 0;
vendor_isp_get_ae(AET_ITEM_CONVERGENCE, &convergence);
// DBG_DUMP("==============to : %d %d \r\n", convergence.convergence.range_conv.h, convergence.convergence.range_conv.l);
convergence.convergence.skip_frame = 3;
vendor_isp_set_ae(AET_ITEM_CONVERGENCE, &convergence);
}
/*.............sun chen@20240111 end.................*/
#endif #endif
#if (FASTCAPTURE_AE_DEBUG == 1) #if (FASTCAPTURE_AE_DEBUG == 1)
if (g_vcap_frm_cnt == 1){ if (g_vcap_frm_cnt == 1){
@ -1797,7 +1823,8 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
// nvt_cmdsys_runcmd("vprc info"); // nvt_cmdsys_runcmd("vprc info");
// nvt_cmdsys_runcmd("ctl_ipp dump_hdl_all"); // nvt_cmdsys_runcmd("ctl_ipp dump_hdl_all");
//ISPT_TOTAL_GAIN total; //ISPT_TOTAL_GAIN total;
// nvt_cmdsys_runcmd("ae dbg 0 256 1 "); nvt_cmdsys_runcmd("ae dbg 0 256 1 ");
nvt_cmdsys_runcmd("ae dbg 0 16 1 ");
// isp_dbg_set_dbg_mode(0, 0x0202002 ); // isp_dbg_set_dbg_mode(0, 0x0202002 );
// nvt_cmdsys_runcmd("iq dbg 0 0 "); // nvt_cmdsys_runcmd("iq dbg 0 0 ");
@ -1990,12 +2017,12 @@ THREAD_RETTYPE PhotoFast_FlowPreviewThread(void *arg)
* *
* 2. third frame since ae preset * 2. third frame since ae preset
******************************************************************************************/ ******************************************************************************************/
if(((g_vcap_frm_cnt >= PHOTOFAST_START_CAP_FRAME_CNT) || (g_ae_preset_flag == TRUE && g_vprc_frm_cnt >= (g_vprc_frm_cnt_ae_preset + 3))) && (start_cap == FALSE)){ if(((g_vcap_frm_cnt >= PHOTOFAST_START_CAP_FRAME_CNT) || (g_ae_preset_flag == TRUE && g_vprc_frm_cnt >= (g_vprc_frm_cnt_ae_preset + 5))) && (start_cap == FALSE)){
if(g_vcap_frm_cnt >= PHOTOFAST_START_CAP_FRAME_CNT){ if(g_vcap_frm_cnt >= PHOTOFAST_START_CAP_FRAME_CNT){
DBG_DUMP("triggered by PHOTOFAST_START_CAP_FRAME_CNT\n"); DBG_DUMP("triggered by PHOTOFAST_START_CAP_FRAME_CNT\n");
} }
else if(g_ae_preset_flag == TRUE && g_vprc_frm_cnt >= (g_vprc_frm_cnt_ae_preset + 3)){ else if(g_ae_preset_flag == TRUE && g_vprc_frm_cnt >= (g_vprc_frm_cnt_ae_preset + 5)){
DBG_DUMP("triggered by AE preset\n"); DBG_DUMP("triggered by AE preset\n");
} }
@ -2388,14 +2415,17 @@ void Set_NIGHTMODE(UINT32 id, UINT8 isSnapVideo)
} }
*/ */
} }
/*.............sun chen@20240111 start.................*/
extern UINT32 jpgexifiso,jpgexifexp;
void Set_AEMODE(UINT32 id) void Set_AEMODE(UINT32 id)
{ {
AET_MANUAL ae_manual = {0}; AET_MANUAL ae_manual = {0};
AWBT_STATUS status = {0}; AWBT_STATUS awbstatus = {0};
AWBT_MANUAL awbmanual = {0};
ISPT_C_GAIN c_gain = {0}; ISPT_C_GAIN c_gain = {0};
HD_RESULT hd_ret; HD_RESULT hd_ret;
#if HUNTING_CAMERA_MCU == ENABLE #if 0//HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
#endif #endif
@ -2407,14 +2437,21 @@ void Set_AEMODE(UINT32 id)
if (1)//SysGetFlag(FL_CONTINUE_SHOT) == CONTINUE_SHOT_BURST_5) if (1)//SysGetFlag(FL_CONTINUE_SHOT) == CONTINUE_SHOT_BURST_5)
{ {
ae_status.id = 0; ae_status.id = 0;
awbstatus.id = 0;
vendor_isp_get_ae(AET_ITEM_STATUS, &ae_status); vendor_isp_get_ae(AET_ITEM_STATUS, &ae_status);
vendor_isp_get_awb(AWBT_ITEM_STATUS, &awbstatus);
//DBG_ERR(">> aet status exp %d iso %d\r\n",ae_status_info.status_info.expotime[0],ae_status_info.status_info.iso_gain[0]); //DBG_ERR(">> aet status exp %d iso %d\r\n",ae_status_info.status_info.expotime[0],ae_status_info.status_info.iso_gain[0]);
ae_manual.id = 0; ae_manual.id = 0;
awbmanual.id = 0;
vendor_isp_get_ae(AET_ITEM_MANUAL, &ae_manual); vendor_isp_get_ae(AET_ITEM_MANUAL, &ae_manual);
vendor_isp_get_awb(AWBT_ITEM_MANUAL, &awbmanual);
//DBG_ERR(">> aet manual exp %d iso %d\r\n",ae_manual.manual.expotime,ae_manual.manual.iso_gain); //DBG_ERR(">> aet manual exp %d iso %d\r\n",ae_manual.manual.expotime,ae_manual.manual.iso_gain);
jpgexifiso = ae_status.status_info.iso_gain[0];
jpgexifexp = ae_status.status_info.expotime[0];
if (id == 1){ if (id == 1){
ae_manual.manual.mode = 1; ae_manual.manual.mode = 1;
#if HUNTING_CAMERA_MCU == ENABLE awbmanual.manual.en = 1;
#if 0//HUNTING_CAMERA_MCU == ENABLE
if(puiPara->CamMode == SF_CAM_MODE_VIDEO2) if(puiPara->CamMode == SF_CAM_MODE_VIDEO2)
{ {
ae_manual.manual.expotime = 33333; ae_manual.manual.expotime = 33333;
@ -2437,6 +2474,12 @@ void Set_AEMODE(UINT32 id)
ae_manual.manual.expotime = ae_status.status_info.expotime[0]; ae_manual.manual.expotime = ae_status.status_info.expotime[0];
ae_manual.manual.iso_gain = ae_status.status_info.iso_gain[0]; ae_manual.manual.iso_gain = ae_status.status_info.iso_gain[0];
#endif #endif
awbmanual.manual.r_gain = awbstatus.status.cur_r_gain;
awbmanual.manual.g_gain = awbstatus.status.cur_g_gain;
awbmanual.manual.b_gain = awbstatus.status.cur_b_gain;
/*ISPT_TOTAL_GAIN total; /*ISPT_TOTAL_GAIN total;
total.id = 0; total.id = 0;
@ -2446,27 +2489,30 @@ void Set_AEMODE(UINT32 id)
} }
else { else {
ae_manual.manual.mode = 0; ae_manual.manual.mode = 0;
awbmanual.manual.en = 0;
} }
//DBG_ERR(">> >>>>>>>>>aet manual mode %d\r\n",ae_manual.manual.mode); DBG_WRN(">> >>>>>>>>>aet manual mode %d\r\n",ae_manual.manual.mode);
vendor_isp_set_ae(AET_ITEM_MANUAL, &ae_manual); vendor_isp_set_ae(AET_ITEM_MANUAL, &ae_manual);
vendor_isp_set_awb(AWBT_ITEM_MANUAL, &awbmanual);
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
if(sf_is_night_mode(0) ==FALSE){ if(sf_is_night_mode(0) ==FALSE){
#else #else
{ {
#endif #endif
status.id = 0; //status.id = 0;
vendor_isp_get_awb(AWBT_ITEM_STATUS, &status); //vendor_isp_get_awb(AWBT_ITEM_STATUS, &status);
c_gain.id = 0; c_gain.id = 0;
c_gain.gain[0] = status.status.cur_r_gain; c_gain.gain[0] = awbstatus.status.cur_r_gain;
c_gain.gain[1] = status.status.cur_g_gain; c_gain.gain[1] = awbstatus.status.cur_g_gain;
c_gain.gain[2] = status.status.cur_b_gain; c_gain.gain[2] = awbstatus.status.cur_b_gain;
vendor_isp_set_common(ISPT_ITEM_C_GAIN, &c_gain); vendor_isp_set_common(ISPT_ITEM_C_GAIN, &c_gain);
DBG_WRN(">>>>>>>>>>>>>>>>set c gain\r\n");
} }
} }
/*.............sun chen@20240111 end.................*/
if ((hd_ret = vendor_isp_uninit()) != HD_OK) { if ((hd_ret = vendor_isp_uninit()) != HD_OK) {
DBG_ERR("vendor_isp_uninit() fail(%d)\r\n", hd_ret); DBG_ERR("vendor_isp_uninit() fail(%d)\r\n", hd_ret);
} }

View File

@ -53,6 +53,7 @@
#include "AppControl/AppControl.h" #include "AppControl/AppControl.h"
#include <sf_commu_mcu.h> #include <sf_commu_mcu.h>
#include "sys_fastboot.h"
#define SERIAL_DEVICE_PATH "/dev/ttyS2" #define SERIAL_DEVICE_PATH "/dev/ttyS2"
@ -726,6 +727,7 @@ unsigned char sf_commu_parse_mcu_data(unsigned char * src, unsigned int len)
ret = sf_getRegFromMcu_depack(copyBuf, copyLen, &reg[0], &val[0]); ret = sf_getRegFromMcu_depack(copyBuf, copyLen, &reg[0], &val[0]);
if (ret > 0) if (ret > 0)
{ {
fastboot_msg_en(ENABLE);
printf("MCU send 0x05, reg_value[%d,%d]\n\n",reg[0], val[0]); printf("MCU send 0x05, reg_value[%d,%d]\n\n",reg[0], val[0]);
sf_getRegFromMcu_ack(reg[0], val[0]); sf_getRegFromMcu_ack(reg[0], val[0]);
//SF_MESSAGE_BUF_S stMessageBuf = {0}; //SF_MESSAGE_BUF_S stMessageBuf = {0};