1.高清图生成改为线程和调整高清图指令解析

This commit is contained in:
payton 2023-08-18 22:44:32 +08:00
parent 4daff525c5
commit 254f2a0e35
4 changed files with 113 additions and 54 deletions

View File

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

View File

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

View File

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

View File

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