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()) while(sf_app_while_flag())
{ {
printf("================================================================== \n");
switch(eSmsLocation) switch(eSmsLocation)
{ {
case SMS_SIM_INIT_CNTP: case SMS_SIM_INIT_CNTP:

View File

@ -1298,6 +1298,7 @@ SINT32 sf_sms_read_message(void)
int msmflag = 0; int msmflag = 0;
int msmtmp[255] = { 0 }; int msmtmp[255] = { 0 };
int msmmb = 0; int msmmb = 0;
//static testflag = 0;
UIMenuStoreInfo *pPara = sf_app_ui_para_get(); UIMenuStoreInfo *pPara = sf_app_ui_para_get();
SF_PDT_PARAM_STATISTICS_S *pSifarPara = sf_statistics_param_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: case SMS_SIM_PARA:
printf("\n[%s:%d] pSifarPara->SmsFlag:%d\n", __FUNCTION__, __LINE__, pSifarPara->SmsFlag); 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)) 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: case SMS_SIM_CMGD2:
strcpy((char *)gsmPara, "AT+CMGD=1,3\r"); 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)); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
eSmsLocation = SMS_SIM_EXIT; eSmsLocation = SMS_SIM_EXIT;
@ -1780,7 +1788,6 @@ SINT32 sf_check_message(void)
SINT32 ttyRet = 0; SINT32 ttyRet = 0;
char strtmp[20] = {0}; char strtmp[20] = {0};
UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
printf("%s:%d s\n", __FUNCTION__, __LINE__); printf("%s:%d s\n", __FUNCTION__, __LINE__);
if(SUCCESS != app_ttyusb_IsOpen()) 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) void sf_hd_pic_list_print(void)
{ {
UINT8 i = 0; UINT8 i = 0;
int fd = 0; //int fd = 0;
struct stat st_buffer; struct stat st_buffer;
char sendListName[64] = {0}; //char sendListName[64] = {0};
char buff[SF_SEND_LIST_ITEM_LENGTH+1] = {0}; //char buff[SF_SEND_LIST_ITEM_LENGTH+1] = {0};
SubImgList_t *pList = pSubImgListHead->pNext; SubImgList_t *pList = pSubImgListHead->pNext;
printf("[%s:%d] print list:\n", __FUNCTION__, __LINE__); printf("[%s:%d] print list:\n", __FUNCTION__, __LINE__);
SF_HDFILE_ATTR_S* fileCfg = sf_file_hd_cfg_get(); 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"); printf("Failed to create directory");
} }
} }
snprintf(sendListName, sizeof(sendListName), "%s", SF_HD_DIR_LIST); //snprintf(sendListName, sizeof(sendListName), "%s", SF_HD_DIR_LIST);
fd = open(sendListName, O_APPEND | O_WRONLY | O_CREAT); //fd = open(sendListName, O_APPEND | O_WRONLY | O_CREAT);
if(fd){ //if(fd)
lseek(fd, 0, SEEK_SET); {
//lseek(fd, 0, SEEK_SET);
while(pList != NULL) while(pList != NULL)
{ {
snprintf(buff, sizeof(buff), "%d%d\r\n", pList->dirKey, pList->fileKey); //snprintf(buff, sizeof(buff), "%d%d\r\n", pList->dirKey, pList->fileKey);
write(fd, buff, strlen(buff)); //write(fd, buff, strlen(buff));
printf("ID:%d f:%d,%d\n", i++, pList->dirKey, pList->fileKey); printf("ID:%d f:%d,%d\n", i++, pList->dirKey, pList->fileKey);
fileCfg->stfileattr[fileCfg->filecnt].dirKey = pList->dirKey; fileCfg->stfileattr[fileCfg->filecnt].dirKey = pList->dirKey;
fileCfg->stfileattr[fileCfg->filecnt].fileKey = pList->fileKey; fileCfg->stfileattr[fileCfg->filecnt].fileKey = pList->fileKey;
fileCfg->filecnt += 1; fileCfg->filecnt += 1;
pList = pList->pNext; pList = pList->pNext;
} }
close(fd); //close(fd);
} }
/*
else{ else{
while(pList != NULL) while(pList != NULL)
{ {
printf("ID:%d f:%d,%d\n", i++, pList->dirKey, pList->fileKey); printf("ID:%d f:%d,%d\n", i++, pList->dirKey, pList->fileKey);
pList = pList->pNext; 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(sf_get_send_hd()){
if(1 != sf_app_to_cardv_hd_ture()){
break;
}
s32ret = sf_hd_ftp_send(); 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(sf_get_send_hd()){
if(1 != sf_app_to_cardv_hd_ture()){
break;
}
s32ret = sf_hd_ftp_send(); s32ret = sf_hd_ftp_send();
} }
@ -1499,9 +1505,6 @@ static SINT32 app_Register_Net_startup_mode(SF_FN_PARAM_S *pfnParam) {
break; break;
case SF_MCU_STARTUP_SYN_PARAM: case SF_MCU_STARTUP_SYN_PARAM:
pCustomerParam->NetWorkNeedSearch = 0;
pCustomerParam->NeedTimeSyncStartUp = 0;
s32ret = app_ttyusb_IsOpen(); s32ret = app_ttyusb_IsOpen();
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); 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(); s32ret = sf_read_message();
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST);
pCustomerParam->NetWorkNeedSearch = 0;
pCustomerParam->NeedTimeSyncStartUp = 0;
s32ret = sf_file_send_auto(); s32ret = sf_file_send_auto();
SF_APPCOMM_CHECK_RETURN(s32ret, SF_APP_ERROR_REQUEST); 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) { SINT32 sf_app_to_cardv_hd_ture(void) {
static UINT8 falg = 0; static UINT8 falg = 0;
SINT32 s32ret = SF_FAILURE; SINT32 s32ret = SF_FAILURE;
MLOGI(" falg:%d\n",falg);
char sendHDName[64] = {0}; char sendHDName[64] = {0};
if(falg) if(falg)

View File

@ -104,6 +104,11 @@ static SF_THREAD_S CapTskCfg =
.IsRun = 0, .IsRun = 0,
.TskId = -1, .TskId = -1,
}; };
static SF_THREAD_S HdCapTskCfg =
{
.IsRun = 0,
.TskId = -1,
};
int sf_pir_statu_read(void) int sf_pir_statu_read(void)
{ {
static UINT8 state = 0; 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) void sf_transcode_bs_ready_cb(void* bitstream_va, UINT32 size)
{ {
SLOGI("bitstream_va = %lx , size = %lx\n", bitstream_va, size);
//SF_HD_DIR //SF_HD_DIR
char tmp[64] = {'\0'}; char tmp[64] = {'\0'};
snprintf(tmp, sizeof(tmp), "%s%s", SF_HD_DIR_CARDV, HdflieName); 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); FST_FILE fp = FileSys_OpenFile(tmp, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
FileSys_WriteFile(fp, (UINT8*)bitstream_va, &size, 0, NULL); FileSys_WriteFile(fp, (UINT8*)bitstream_va, &size, 0, NULL);
FileSys_CloseFile(fp); FileSys_CloseFile(fp);
@ -1632,43 +1638,7 @@ static SINT32 sf_cardv_proccess_cmd_wifi(SF_MESSAGE_BUF_S *pMessageBuf)
sf_cardv_cap_start(); sf_cardv_cap_start();
break; break;
case SF_WIFI_CMD_HD_TURE: case SF_WIFI_CMD_HD_TURE:
if(!hdFlagInit) sf_cardv_hd_cap_start();
{
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);
break; break;
default: default:
break; break;
@ -2465,4 +2435,78 @@ UINT32 sf_cardv_cap_start(void)
CapTskCfg.IsRun = 1; CapTskCfg.IsRun = 1;
return SF_SUCCESS; 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;
} }