1.高清图生成改为线程和调整高清图指令解析
This commit is contained in:
		
							parent
							
								
									4daff525c5
								
							
						
					
					
						commit
						254f2a0e35
					
				| 
						 | 
				
			
			@ -4587,7 +4587,6 @@ SINT32 sf_get_ntp(SINT32 value, SF_PARA_TIME_S *current_time)
 | 
			
		|||
 | 
			
		||||
    while(sf_app_while_flag())
 | 
			
		||||
    {
 | 
			
		||||
		printf("================================================================== \n");
 | 
			
		||||
        switch(eSmsLocation)
 | 
			
		||||
        {
 | 
			
		||||
            case SMS_SIM_INIT_CNTP:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1298,6 +1298,7 @@ SINT32 sf_sms_read_message(void)
 | 
			
		|||
	int msmflag = 0;
 | 
			
		||||
	int msmtmp[255] = { 0 };
 | 
			
		||||
	int msmmb = 0;
 | 
			
		||||
    //static testflag = 0;
 | 
			
		||||
 | 
			
		||||
	UIMenuStoreInfo *pPara = sf_app_ui_para_get();
 | 
			
		||||
	SF_PDT_PARAM_STATISTICS_S *pSifarPara = sf_statistics_param_get();
 | 
			
		||||
| 
						 | 
				
			
			@ -1428,6 +1429,11 @@ SINT32 sf_sms_read_message(void)
 | 
			
		|||
			case SMS_SIM_PARA:
 | 
			
		||||
 | 
			
		||||
				printf("\n[%s:%d] pSifarPara->SmsFlag:%d\n", __FUNCTION__, __LINE__, pSifarPara->SmsFlag);
 | 
			
		||||
                /*if(0 == testflag)
 | 
			
		||||
                {
 | 
			
		||||
                    snprintf((char *)gsmPara, sizeof(gsmPara), "AT+CMGR=0+CMGR: \"REC UNREAD\",\"8619925440232\",,\"22/10/25,14:29:23+32\"$R09*10#W1000001#W1000003#W1000005#W1000007#W1000009#W1000011#W1000013#W1000015#W1000017#W1000019$");
 | 
			
		||||
                    testflag = 1;
 | 
			
		||||
                }*/
 | 
			
		||||
 | 
			
		||||
				if((gsmPara[0] != '\0')  && (strstr((const char *)gsmPara, "+CMGR:") == NULL) && (strstr((const char *)gsmPara, "AT+CMGR") != NULL))
 | 
			
		||||
				{
 | 
			
		||||
| 
						 | 
				
			
			@ -1712,6 +1718,8 @@ SINT32 sf_sms_read_message(void)
 | 
			
		|||
 | 
			
		||||
			case SMS_SIM_CMGD2:
 | 
			
		||||
				strcpy((char *)gsmPara, "AT+CMGD=1,3\r");
 | 
			
		||||
                printf("[%s:%d] %s\n", __FUNCTION__, __LINE__,gsmPara);
 | 
			
		||||
 | 
			
		||||
				ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
 | 
			
		||||
				SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
 | 
			
		||||
				eSmsLocation = SMS_SIM_EXIT;
 | 
			
		||||
| 
						 | 
				
			
			@ -1780,7 +1788,6 @@ SINT32 sf_check_message(void)
 | 
			
		|||
	SINT32 ttyRet = 0;
 | 
			
		||||
    char strtmp[20] = {0};
 | 
			
		||||
    UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
 | 
			
		||||
 | 
			
		||||
	printf("%s:%d s\n", __FUNCTION__, __LINE__);
 | 
			
		||||
 | 
			
		||||
	if(SUCCESS != app_ttyusb_IsOpen())
 | 
			
		||||
| 
						 | 
				
			
			@ -2148,10 +2155,10 @@ void sf_hd_pic_add_to_list(UINT8 *fileName)
 | 
			
		|||
void sf_hd_pic_list_print(void)
 | 
			
		||||
{
 | 
			
		||||
    UINT8 i = 0;
 | 
			
		||||
    int fd = 0;
 | 
			
		||||
    //int fd = 0;
 | 
			
		||||
    struct stat st_buffer;
 | 
			
		||||
    char sendListName[64] = {0};
 | 
			
		||||
    char buff[SF_SEND_LIST_ITEM_LENGTH+1] = {0};
 | 
			
		||||
    //char sendListName[64] = {0};
 | 
			
		||||
    //char buff[SF_SEND_LIST_ITEM_LENGTH+1] = {0};
 | 
			
		||||
    SubImgList_t *pList = pSubImgListHead->pNext;
 | 
			
		||||
    printf("[%s:%d] print list:\n", __FUNCTION__, __LINE__);
 | 
			
		||||
    SF_HDFILE_ATTR_S* fileCfg = sf_file_hd_cfg_get();
 | 
			
		||||
| 
						 | 
				
			
			@ -2164,29 +2171,31 @@ void sf_hd_pic_list_print(void)
 | 
			
		|||
            printf("Failed to create directory");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    snprintf(sendListName, sizeof(sendListName), "%s", SF_HD_DIR_LIST);
 | 
			
		||||
    fd = open(sendListName, O_APPEND | O_WRONLY | O_CREAT);
 | 
			
		||||
    if(fd){
 | 
			
		||||
        lseek(fd, 0, SEEK_SET);
 | 
			
		||||
    //snprintf(sendListName, sizeof(sendListName), "%s", SF_HD_DIR_LIST);
 | 
			
		||||
    //fd = open(sendListName, O_APPEND | O_WRONLY | O_CREAT);
 | 
			
		||||
    //if(fd)
 | 
			
		||||
    {
 | 
			
		||||
        //lseek(fd, 0, SEEK_SET);
 | 
			
		||||
        while(pList != NULL)
 | 
			
		||||
        {
 | 
			
		||||
            snprintf(buff, sizeof(buff), "%d%d\r\n", pList->dirKey, pList->fileKey);
 | 
			
		||||
            write(fd, buff, strlen(buff));
 | 
			
		||||
            //snprintf(buff, sizeof(buff), "%d%d\r\n", pList->dirKey, pList->fileKey);
 | 
			
		||||
            //write(fd, buff, strlen(buff));
 | 
			
		||||
            printf("ID:%d f:%d,%d\n", i++, pList->dirKey, pList->fileKey);
 | 
			
		||||
            fileCfg->stfileattr[fileCfg->filecnt].dirKey = pList->dirKey;
 | 
			
		||||
            fileCfg->stfileattr[fileCfg->filecnt].fileKey = pList->fileKey;
 | 
			
		||||
            fileCfg->filecnt += 1;
 | 
			
		||||
            pList = pList->pNext;
 | 
			
		||||
        }
 | 
			
		||||
    	close(fd);
 | 
			
		||||
    	//close(fd);
 | 
			
		||||
    }
 | 
			
		||||
    /*
 | 
			
		||||
    else{
 | 
			
		||||
        while(pList != NULL)
 | 
			
		||||
        {
 | 
			
		||||
            printf("ID:%d f:%d,%d\n", i++, pList->dirKey, pList->fileKey);
 | 
			
		||||
            pList = pList->pNext;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    }*/
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1069,6 +1069,9 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) {
 | 
			
		|||
        }
 | 
			
		||||
        
 | 
			
		||||
        if(sf_get_send_hd()){
 | 
			
		||||
            if(1 != sf_app_to_cardv_hd_ture()){
 | 
			
		||||
                break;
 | 
			
		||||
            }
 | 
			
		||||
            s32ret = sf_hd_ftp_send();
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
| 
						 | 
				
			
			@ -1098,6 +1101,9 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) {
 | 
			
		|||
    }
 | 
			
		||||
    
 | 
			
		||||
    if(sf_get_send_hd()){
 | 
			
		||||
        if(1 != sf_app_to_cardv_hd_ture()){
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
        s32ret = sf_hd_ftp_send();
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
| 
						 | 
				
			
			@ -1499,9 +1505,6 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam) {
 | 
			
		|||
    break;
 | 
			
		||||
  case SF_MCU_STARTUP_SYN_PARAM:
 | 
			
		||||
 | 
			
		||||
    pCustomerParam->NetWorkNeedSearch = 0;
 | 
			
		||||
    pCustomerParam->NeedTimeSyncStartUp = 0;
 | 
			
		||||
 | 
			
		||||
    s32ret = app_ttyusb_IsOpen();
 | 
			
		||||
    SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1532,6 +1535,9 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam) {
 | 
			
		|||
    s32ret = sf_read_message();
 | 
			
		||||
    SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
 | 
			
		||||
 | 
			
		||||
    pCustomerParam->NetWorkNeedSearch = 0;
 | 
			
		||||
    pCustomerParam->NeedTimeSyncStartUp = 0;
 | 
			
		||||
 | 
			
		||||
    s32ret = sf_file_send_auto();
 | 
			
		||||
    SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1654,6 +1660,7 @@ SINT32 sf_module_reboot_reg_net(void)
 | 
			
		|||
SINT32 sf_app_to_cardv_hd_ture(void) {
 | 
			
		||||
    static UINT8 falg = 0;
 | 
			
		||||
    SINT32 s32ret = SF_FAILURE;
 | 
			
		||||
	MLOGI(" falg:%d\n",falg);
 | 
			
		||||
 | 
			
		||||
    char sendHDName[64] = {0}; 
 | 
			
		||||
    if(falg)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -104,6 +104,11 @@ static SF_THREAD_S CapTskCfg =
 | 
			
		|||
	.IsRun = 0,
 | 
			
		||||
	.TskId = -1,
 | 
			
		||||
};
 | 
			
		||||
static SF_THREAD_S HdCapTskCfg =
 | 
			
		||||
{
 | 
			
		||||
	.IsRun = 0,
 | 
			
		||||
	.TskId = -1,
 | 
			
		||||
};
 | 
			
		||||
int sf_pir_statu_read(void)
 | 
			
		||||
{
 | 
			
		||||
	static UINT8 state = 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -1442,10 +1447,11 @@ UINT32 sf_cardv_adc_value_get(UINT32 mux, UINT32 *pval)
 | 
			
		|||
 | 
			
		||||
void sf_transcode_bs_ready_cb(void* bitstream_va, UINT32 size)
 | 
			
		||||
{
 | 
			
		||||
	SLOGI("bitstream_va = %lx , size = %lx\n", bitstream_va, size);
 | 
			
		||||
    //SF_HD_DIR
 | 
			
		||||
	char tmp[64] = {'\0'};
 | 
			
		||||
	snprintf(tmp, sizeof(tmp), "%s%s", SF_HD_DIR_CARDV, HdflieName); 
 | 
			
		||||
    SLOGI("bitstream_va = %lx , size = %lx File:%s\n", bitstream_va, size, tmp);
 | 
			
		||||
 | 
			
		||||
	FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
 | 
			
		||||
	FileSys_WriteFile(fp, (UINT8*)bitstream_va, &size, 0, NULL);
 | 
			
		||||
	FileSys_CloseFile(fp);
 | 
			
		||||
| 
						 | 
				
			
			@ -1632,43 +1638,7 @@ static SINT32 sf_cardv_proccess_cmd_wifi(SF_MESSAGE_BUF_S *pMessageBuf)
 | 
			
		|||
            sf_cardv_cap_start();
 | 
			
		||||
            break;
 | 
			
		||||
        case SF_WIFI_CMD_HD_TURE:
 | 
			
		||||
            if(!hdFlagInit)
 | 
			
		||||
            {
 | 
			
		||||
                hdFlagInit = 1;
 | 
			
		||||
                FileSys_MakeDir(PHOTO_THUMB_PATH);
 | 
			
		||||
                FileSys_MakeDir(SF_HD_DIR_CARDV);
 | 
			
		||||
                sf_hd_flag_init();
 | 
			
		||||
            }
 | 
			
		||||
            char *arg[2] = { 0 };
 | 
			
		||||
            char *str = malloc(64);
 | 
			
		||||
            if(NULL != str)
 | 
			
		||||
            {
 | 
			
		||||
                if(SF_SUCCESS == sf_share_mem_hd_update())
 | 
			
		||||
                {   
 | 
			
		||||
                    SF_HDFILE_ATTR_S* fileCfg = sf_file_hd_cfg_get();
 | 
			
		||||
 | 
			
		||||
                    UINT8 fileIndex = 1;
 | 
			
		||||
 | 
			
		||||
                    for(fileIndex = 1; fileIndex < fileCfg->filecnt; fileIndex++)
 | 
			
		||||
                    {
 | 
			
		||||
                        //HdflieName
 | 
			
		||||
                        memset(HdflieName, '\0', sizeof(HdflieName));
 | 
			
		||||
                        sf_hd_flag_clear_done(0);
 | 
			
		||||
                        snprintf(HdflieName, sizeof(HdflieName), "W%03d%04d.JPG", fileCfg->stfileattr[fileIndex].dirKey, fileCfg->stfileattr[fileIndex].fileKey);
 | 
			
		||||
                        snprintf(str, 64, "A:\\DCIM\\%03d%s\\%s%04d.JPG", fileCfg->stfileattr[fileIndex].dirKey, DCF_DIR_NAME, DCF_FILE_NAME, fileCfg->stfileattr[fileIndex].fileKey);
 | 
			
		||||
                        printf("%s\n", str);
 | 
			
		||||
                        arg[0] = str;
 | 
			
		||||
                        sf_cmd_transcode_start(arg);
 | 
			
		||||
                        if(sf_hd_flag_wait_done_timeout(HD_FLAG_INITT_OK, 5000))
 | 
			
		||||
                        {
 | 
			
		||||
                            MLOGE("HD timeout\n");
 | 
			
		||||
                            //return - 1;
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                free(str);
 | 
			
		||||
            }
 | 
			
		||||
            sf_share_mem_hd_down(0);
 | 
			
		||||
            sf_cardv_hd_cap_start();
 | 
			
		||||
            break;
 | 
			
		||||
		default:
 | 
			
		||||
			break;
 | 
			
		||||
| 
						 | 
				
			
			@ -2465,4 +2435,78 @@ UINT32 sf_cardv_cap_start(void)
 | 
			
		|||
	CapTskCfg.IsRun = 1;
 | 
			
		||||
	return SF_SUCCESS;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void* sf_cardv_hd_cap_thread(void *arg)
 | 
			
		||||
{
 | 
			
		||||
	UINT8 PowerOnMode = sf_cardv_convert_power_on_mode();
 | 
			
		||||
    MLOGD(" HD start PowerOnMode:%d\n", PowerOnMode);
 | 
			
		||||
    if((PWR_ON_SMS == PowerOnMode) || (PWR_ON_TIME_SYNC == PowerOnMode))
 | 
			
		||||
    {
 | 
			
		||||
        //if(TRUE != sf_is_preview())
 | 
			
		||||
        {
 | 
			
		||||
            if(!hdFlagInit)
 | 
			
		||||
            {
 | 
			
		||||
                hdFlagInit = 1;
 | 
			
		||||
                FileSys_MakeDir(PHOTO_THUMB_PATH);
 | 
			
		||||
                FileSys_MakeDir(SF_HD_DIR_CARDV);
 | 
			
		||||
                sf_hd_flag_init();
 | 
			
		||||
            }
 | 
			
		||||
            char *arg[2] = { 0 };
 | 
			
		||||
            char *str = malloc(64);
 | 
			
		||||
            if(NULL != str)
 | 
			
		||||
            {
 | 
			
		||||
                if(SF_SUCCESS == sf_share_mem_hd_update())
 | 
			
		||||
                {   
 | 
			
		||||
                    SF_HDFILE_ATTR_S* fileCfg = sf_file_hd_cfg_get();
 | 
			
		||||
 | 
			
		||||
                    UINT8 fileIndex = 0;
 | 
			
		||||
 | 
			
		||||
                    for(fileIndex = 0; fileIndex < fileCfg->filecnt; fileIndex++)
 | 
			
		||||
                    {
 | 
			
		||||
                        //HdflieName
 | 
			
		||||
                        memset(HdflieName, '\0', sizeof(HdflieName));
 | 
			
		||||
                        sf_hd_flag_clear_done(0);
 | 
			
		||||
                        snprintf(HdflieName, sizeof(HdflieName), "W%03d%04d.JPG", fileCfg->stfileattr[fileIndex].dirKey, fileCfg->stfileattr[fileIndex].fileKey);
 | 
			
		||||
                        snprintf(str, 64, "A:\\DCIM\\%03d%s\\%s%04d.JPG", fileCfg->stfileattr[fileIndex].dirKey, DCF_DIR_NAME, DCF_FILE_NAME, fileCfg->stfileattr[fileIndex].fileKey);
 | 
			
		||||
                        printf("%s\n", str);
 | 
			
		||||
                        arg[0] = str;
 | 
			
		||||
                        sf_cmd_transcode_start(arg);
 | 
			
		||||
                        if(sf_hd_flag_wait_done_timeout(HD_FLAG_INITT_OK, 5000))
 | 
			
		||||
                        {
 | 
			
		||||
                            MLOGE("HD timeout\n");
 | 
			
		||||
                            //return - 1;
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                free(str);
 | 
			
		||||
            }
 | 
			
		||||
            sf_share_mem_hd_down(0);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    MLOGD(" HD end\n");
 | 
			
		||||
 | 
			
		||||
	HdCapTskCfg.IsRun = 0;
 | 
			
		||||
	return NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
UINT32 sf_cardv_hd_cap_start(void)
 | 
			
		||||
{
 | 
			
		||||
    SINT32 ret = 1;
 | 
			
		||||
    MLOGD(" HD start\n");
 | 
			
		||||
	if(HdCapTskCfg.IsRun)
 | 
			
		||||
	{	
 | 
			
		||||
		SLOGE("thread has already run !!!\n");
 | 
			
		||||
		return 1;
 | 
			
		||||
	}
 | 
			
		||||
	ret = pthread_create(&HdCapTskCfg.TskId, NULL, sf_cardv_hd_cap_thread, NULL);
 | 
			
		||||
	if(ret != SF_SUCCESS)
 | 
			
		||||
	{	
 | 
			
		||||
        MLOGD("thread  creat fail!\n");
 | 
			
		||||
		return ret;
 | 
			
		||||
	}
 | 
			
		||||
	HdCapTskCfg.IsRun = 1;
 | 
			
		||||
	return SF_SUCCESS;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user