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-02-05 16:14:30 +08:00
commit 9d8b42cf10
9 changed files with 119 additions and 93 deletions

View File

@ -89,6 +89,8 @@ SINT32 sf_hal_uart_deinit(void);
SINT32 sf_hal_ttyusb2_read_buf(SF_TTY_DATA_TYPE_S *recv); SINT32 sf_hal_ttyusb2_read_buf(SF_TTY_DATA_TYPE_S *recv);
SINT32 sf_get_ttyusb_flag(void);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -1643,7 +1643,7 @@ SINT32 sf_camera_ota_ftp(void)
if(SF_TRUE == sf_file_IsExsit(tmp)){ if(SF_TRUE == sf_file_IsExsit(tmp)){
sf_file_remove(tmp); sf_file_remove(tmp);
} }
sleep(2);
ret = ftp_download_file(SF_CAM_UP_FILE,tmp,0); ret = ftp_download_file(SF_CAM_UP_FILE,tmp,0);
//if(SUCCESS == ret) //if(SUCCESS == ret)
{ {

View File

@ -2491,24 +2491,27 @@ SINT32 sf_power_off_module_ota(void)
/*instant, hybrid mode*/ /*instant, hybrid mode*/
if(CameraCmd.moduleUpdateOTA) if(CameraCmd.moduleUpdateOTA)
{ {
if(app_ttyusb_IsOpen() != SUCCESS) if(0 == sf_check_sd())
{ {
sf_cmd_camera_restart(1);//usb error,need restart if(app_ttyusb_IsOpen() != SUCCESS)
} {
else sf_cmd_camera_restart(1);//usb error,need restart
{ }
ret = sf_4g_module_ota_ftp();//need restart module else
{
ret = sf_4g_module_ota_ftp();//need restart module
//if(ret == OTA_UPDATED_ERROR || ret == OTA_SUCCESS || ret == OTA_VERTION_ERROR || ret == OTA_TIME_OUT) //if(ret == OTA_UPDATED_ERROR || ret == OTA_SUCCESS || ret == OTA_VERTION_ERROR || ret == OTA_TIME_OUT)
{ {
if(CameraCmd.setPara) if(CameraCmd.setPara)
pPara_sms_saved->NetWorkNeedSearch = 3; pPara_sms_saved->NetWorkNeedSearch = 3;
else else
puiPara->NetWorkNeedSearch = 3; puiPara->NetWorkNeedSearch = 3;
sf_set_para_sava(); sf_set_para_sava();
} }
} }
}
} }
return ret; return ret;
} }
@ -2571,28 +2574,31 @@ SINT32 sf_power_off_module_sd_update(void)
/*instant, hybrid mode*/ /*instant, hybrid mode*/
if(CameraCmd.moduleUpdateOTA) if(CameraCmd.moduleUpdateOTA)
{ {
if(app_ttyusb_IsOpen() != SUCCESS) if(0 == sf_check_sd())
{ {
sf_cmd_camera_restart(1);//usb error,need restart if(app_ttyusb_IsOpen() != SUCCESS)
} {
else sf_cmd_camera_restart(1);//usb error,need restart
{ }
ret = OTA_NOUPDATE; else
if(sf_is_4g_module_usb_update_file_exist(updateFileName)) {
{ ret = OTA_NOUPDATE;
ret = sf_4g_module_sd_usb_update(updateFileName); if(sf_is_4g_module_usb_update_file_exist(updateFileName))
} {
ret = sf_4g_module_sd_usb_update(updateFileName);
}
if(ret == OTA_UPDATED_ERROR || ret == OTA_SUCCESS || ret == OTA_VERTION_ERROR || ret == OTA_TIME_OUT) if(ret == OTA_UPDATED_ERROR || ret == OTA_SUCCESS || ret == OTA_VERTION_ERROR || ret == OTA_TIME_OUT)
{ {
if(CameraCmd.setPara) if(CameraCmd.setPara)
pPara_sms_saved->NetWorkNeedSearch = 3; pPara_sms_saved->NetWorkNeedSearch = 3;
else else
puiPara->NetWorkNeedSearch = 3; puiPara->NetWorkNeedSearch = 3;
sf_set_para_sava(); sf_set_para_sava();
} }
} }
}
} }
return 0; return 0;
} }
@ -2850,7 +2856,7 @@ SINT32 sf_power_off_check_fw_update(void)
if(CameraCmd.firmwareUpdateOTA) if(CameraCmd.firmwareUpdateOTA)
{ {
if(sf_in_card_exist() && sf_is_card()) if(0 == sf_check_sd())
{ {
if(app_ttyusb_IsOpen() != SUCCESS) if(app_ttyusb_IsOpen() != SUCCESS)

View File

@ -99,7 +99,7 @@ SINT32 app_ttyusb_IsOpen(void) {
static SINT32 s32ret = SF_SUCCESS; static SINT32 s32ret = SF_SUCCESS;
static int flag = 0; static int flag = 0;
if(flag) if((flag) && (sf_get_ttyusb_flag()))
{ {
return s32ret; return s32ret;
} }

View File

@ -1543,12 +1543,12 @@ void* sf_app_mcu_para_thread(void *arg)
sf_mcu_flag_init(); sf_mcu_flag_init();
sf_mcu_init(); sf_mcu_init();
if((SF_MCU_STARTUP_NORMAL != sf_poweron_type_get()) && (!isUsb)){ if((SF_MCU_STARTUP_NORMAL != sf_poweron_type_get()) && (!isUsb)){
sf_get_power_on_mode();
sf_mcu_wdg_set(5);
if(sf_get_camera_restart()) if(sf_get_camera_restart())
{ {
sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 0); sf_mcu_reg_set(SF_MCU_SOFT_UPDATE, 0);
} }
sf_get_power_on_mode();
sf_mcu_wdg_set(5);
} }
McuInitFlag = 1; McuInitFlag = 1;
McuParaTskCfg.IsRun = 0; McuParaTskCfg.IsRun = 0;

View File

@ -129,9 +129,10 @@ static void sf_bluetooth_power_enable(void)
static void *sf_bluetooth_piscan_task(void *arg) static void *sf_bluetooth_piscan_task(void *arg)
{ {
UINT8 i = 0; UINT8 i = 0;
sf_bluetooth_power_enable(); // sf_bluetooth_power_enable();
sf_load_bt_ko(); sf_load_bt_ko();
usleep(100 * 1000); system("mdev -s");
usleep(300 * 1000);
//system("export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/misc:/customer/rocus/lib"); //system("export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/misc:/customer/rocus/lib");
//system("adduser messagebus"); //system("adduser messagebus");

View File

@ -167,7 +167,16 @@ unsigned char sf_mcu_power_on_para_get (MCUParam_t attrId)
mcuReg[i++] = START_MODE; mcuReg[i++] = START_MODE;
mcuReg[i++] = LUMINANCE_L; mcuReg[i++] = LUMINANCE_L;
mcuReg[i++] = LUMINANCE_H; mcuReg[i++] = LUMINANCE_H;
sf_mcu_read_multi(mcuReg, mcuData, i); if(FAIL == sf_mcu_read_multi(mcuReg, mcuData, i))
{
if(startflag)
{
startflag = 0;
i = 0;
sf_sleep_ms(200);
goto SF_CHK_STARTMODE;
}
}
i = 0; i = 0;
McuSubVersion = mcuData[i++]; McuSubVersion = mcuData[i++];
@ -182,12 +191,6 @@ unsigned char sf_mcu_power_on_para_get (MCUParam_t attrId)
IRSHTTER = (dataTemp2 << 8) | dataTemp1; IRSHTTER = (dataTemp2 << 8) | dataTemp1;
} }
if((startMode != startModetmp) && (startflag))
{
startflag = 0;
sf_sleep_ms(200);
goto SF_CHK_STARTMODE;
}
printf(" start mode = %d IRSHTTER = %d McuVersion:%d.%d.%d\n", startMode, IRSHTTER, (McuVersion>>8)&0xFF, McuVersion & 0xFF, McuSubVersion); printf(" start mode = %d IRSHTTER = %d McuVersion:%d.%d.%d\n", startMode, IRSHTTER, (McuVersion>>8)&0xFF, McuVersion & 0xFF, McuSubVersion);
sf_mcu_rtc_get(&time); sf_mcu_rtc_get(&time);
if(startMode == startModetmp) if(startMode == startModetmp)

View File

@ -457,6 +457,12 @@ SINT32 sf_hal_ttyusb2_read_buf(SF_TTY_DATA_TYPE_S *recv)
return SF_SUCCESS; return SF_SUCCESS;
} }
SINT32 sf_get_ttyusb_flag(void)
{
return TtyUSB2Fd;
}
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -2239,7 +2239,7 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n");
DBG_DUMP("Trigger speed = %lu\n", g_vprc_trigger_frm_time / 1000); DBG_DUMP("Trigger speed = %lu\n", g_vprc_trigger_frm_time / 1000);
} }
else{ else{
hd_videoproc_pull_out_buf(alg_path, &frame_capture, -1); hd_videoproc_pull_out_buf(alg_path, &frame_capture, PHOTOFAST_HD_PUSH_PULL_TIMEOUT_MS);
} }
DBG_DUMP("tmp_buf = %lx , frame.phy_addr[0] = %lx , copy size = %lx\n", DBG_DUMP("tmp_buf = %lx , frame.phy_addr[0] = %lx , copy size = %lx\n",
@ -2250,15 +2250,7 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n");
tmp_buf += yuv_size; tmp_buf += yuv_size;
*/ */
hd_videoproc_release_out_buf(alg_path, &frame_capture); hd_videoproc_release_out_buf(alg_path, &frame_capture);
#if HUNTING_CAMERA_MCU == ENABLE
sf_set_date_time_make_ymdhms();
led_flag = FALSE;
ViewPullFlag = TRUE;
if((SF_MULTISHOT_INTEVEL_0S != puiPara->MultiShotIntevel) && (sf_is_night_mode(0) ==TRUE)){
sf_ir_led_set(0, 0, 0, 0);
}
#endif
//if(++cnt >= max_cnt) //if(++cnt >= max_cnt)
// break; // break;
vos_perf_mark(&t2); vos_perf_mark(&t2);
@ -2269,8 +2261,50 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n");
goto EXIT; goto EXIT;
} }
#if HUNTING_CAMERA_MCU == ENABLE #if 1
while(ViewPullFlag) { if((tmp_buf + yuv_size) > (tmp_buf + tmp_buf_size)){
DBG_ERR("tmp buffer overflow!!\n");
goto EXIT;
}
if(cnt == 0){
g_vprc_trigger_frm_time = frame_capture.timestamp;
g_vprc_trigger_frm_count = frame_capture.count;
DBG_DUMP("Trigger speed = %lu\n", g_vprc_trigger_frm_time / 1000);
}
else{
hd_videoproc_pull_out_buf(alg_path, &frame_capture, PHOTOFAST_HD_PUSH_PULL_TIMEOUT_MS);
}
DBG_DUMP("tmp_buf = %lx , frame.phy_addr[0] = %lx , copy size = %lx\n",
tmp_buf, frame_capture.phy_addr[0], yuv_size);
if(cnt>0)
{
memcpy((void*)(tmp_buf), (void*)frame_capture.phy_addr[0], yuv_size);
tmp_buf += yuv_size;
#if HUNTING_CAMERA_MCU == ENABLE
sf_set_date_time_make_ymdhms();
#endif
}
hd_videoproc_release_out_buf(alg_path, &frame_capture);
#if HUNTING_CAMERA_MCU == ENABLE
//sf_set_date_time_make_ymdhms();
led_flag = FALSE;
ViewPullFlag = TRUE;
if((cnt>0) && (SF_MULTISHOT_INTEVEL_0S != puiPara->MultiShotIntevel) && (sf_is_night_mode(0) ==TRUE)){
sf_ir_led_set(0, 0, 0, 0);
}
#endif
cnt++;
if(cnt > max_cnt)
break;
#if HUNTING_CAMERA_MCU == ENABLE
while((cnt>1) && (ViewPullFlag)) {
if(TRUE == flow_preview_get_stop_flag()){ if(TRUE == flow_preview_get_stop_flag()){
DBG_WRN("detected stop signal, power off ...\n"); DBG_WRN("detected stop signal, power off ...\n");
@ -2305,33 +2339,6 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n");
} }
} }
#endif #endif
#if 1
if((tmp_buf + yuv_size) > (tmp_buf + tmp_buf_size)){
DBG_ERR("tmp buffer overflow!!\n");
goto EXIT;
}
if(cnt == 0){
g_vprc_trigger_frm_time = frame_capture.timestamp;
g_vprc_trigger_frm_count = frame_capture.count;
DBG_DUMP("Trigger speed = %lu\n", g_vprc_trigger_frm_time / 1000);
}
else{
hd_videoproc_pull_out_buf(alg_path, &frame_capture, -1);
}
DBG_DUMP("tmp_buf = %lx , frame.phy_addr[0] = %lx , copy size = %lx\n",
tmp_buf, frame_capture.phy_addr[0], yuv_size);
if(cnt>0)
{
memcpy((void*)(tmp_buf), (void*)frame_capture.phy_addr[0], yuv_size);
tmp_buf += yuv_size;
}
hd_videoproc_release_out_buf(alg_path, &frame_capture);
cnt++;
if(cnt > max_cnt)
break;
#endif #endif
} while(TRUE != flow_preview_get_stop_flag()); } while(TRUE != flow_preview_get_stop_flag());
#endif #endif
@ -2341,9 +2348,10 @@ DBG_WRN(">>>>>>>>>>>>>>> movie thread <<<<<<<<<<\r\n");
if(sf_is_night_mode(0) ==TRUE) if(sf_is_night_mode(0) ==TRUE)
{ {
DBG_ERR(">>>>>>>>>>>>>>>>>>>>>night mode<<<<<<<<<<<<<\r\n"); DBG_ERR(">>>>>>>>>>>>>>>>>>>>>night mode<<<<<<<<<<<<<\r\n");
/*if((SF_MULTISHOT_INTEVEL_0S == puiPara->MultiShotIntevel)){ if((SF_MULTISHOT_INTEVEL_0S == puiPara->MultiShotIntevel)){
sf_ir_led_set(0, 0, 0, 0); sf_ir_led_set(0, 0, 0, 0);
}*/ }
vos_util_delay_ms(10);
sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode, 1); sf_ir_led_set(((2 == puiPara->NightMode) ? 2 : 1),puiPara->FlashLed, puiPara->NightMode, 1);
} }
#endif #endif