diff --git a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h index 6b400108f..eccee93fa 100755 --- a/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h +++ b/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h @@ -920,7 +920,7 @@ #define HUNTING_MCU_I2C DISABLE #define HUNTING_MCU_UART ENABLE #define HUNTING_IR_LED_940 DISABLE -#define SF_BASE_VERSION "7MD4RCwD6T7" +#define SF_BASE_VERSION "7MD4RCwD6T8" #define HW_S530 1 #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */ diff --git a/code/application/source/cardv/SrcCode/UIApp/Photo/UIDateImprint.c b/code/application/source/cardv/SrcCode/UIApp/Photo/UIDateImprint.c index 4c5403cea..42610004c 100755 --- a/code/application/source/cardv/SrcCode/UIApp/Photo/UIDateImprint.c +++ b/code/application/source/cardv/SrcCode/UIApp/Photo/UIDateImprint.c @@ -303,6 +303,7 @@ void UiDateImprint_InitBuff(void) #if defined(_UI_STYLE_LVGL_) pInfo->MemSize = UIDateImprint_GetStampMemSize_LVGL((const lv_font_t *)pFont, UiDateImprint_InitStrBuf()); + pInfo->MemSize = pInfo->MemSize/4*5; #else GxGfx_SetTextStroke((const FONT *)pFont, FONTSTYLE_NORMAL, SCALE_1X); GxGfx_Text(0, 0, 0, UiDateImprint_InitStrBuf()); //not really draw @@ -343,6 +344,7 @@ void UiDateImprint_InitBuff(void) #if defined(_UI_STYLE_LVGL_) pInfo->MemSize = UIDateImprint_GetStampMemSize_LVGL((const lv_font_t *)pFont, UiDateImprint_InitStrBuf()); + pInfo->MemSize = pInfo->MemSize/4*5; #else GxGfx_SetTextStroke((const FONT *)pFont, FONTSTYLE_NORMAL, SCALE_1X); GxGfx_Text(0, 0, 0, UiDateImprint_InitStrBuf()); //not really draw @@ -379,6 +381,7 @@ void UiDateImprint_InitBuff(void) #if defined(_UI_STYLE_LVGL_) pInfo->MemSize = UIDateImprint_GetStampMemSize_LVGL((const lv_font_t *)pFont, UiDateImprint_InitStrBuf()); + pInfo->MemSize = pInfo->MemSize/4*5; #else GxGfx_SetTextStroke((const FONT *)pFont, FONTSTYLE_NORMAL, SCALE_1X); GxGfx_Text(0, 0, 0, UiDateImprint_InitStrBuf()); //not really draw diff --git a/code/application/source/cardv/SrcCode/UIApp/Transcode/UIAppTranscode_Exe.c b/code/application/source/cardv/SrcCode/UIApp/Transcode/UIAppTranscode_Exe.c old mode 100644 new mode 100755 index a9773eaf1..f8fe77698 --- a/code/application/source/cardv/SrcCode/UIApp/Transcode/UIAppTranscode_Exe.c +++ b/code/application/source/cardv/SrcCode/UIApp/Transcode/UIAppTranscode_Exe.c @@ -108,7 +108,12 @@ static HD_RESULT _TranscodeExe_CommPool_Init(void) mem_cfg.pool_info[id].type = HD_COMMON_MEM_COMMON_POOL; mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + _TranscodeExe_Get_Max_Cap_Buf_Size(); #if HUNTING_CAMERA_MCU == ENABLE - mem_cfg.pool_info[id].blk_cnt = 0; + if(sf_get_fw_update()) + { + mem_cfg.pool_info[id].blk_cnt = 0; + }else { + mem_cfg.pool_info[id].blk_cnt = 1; + } #else mem_cfg.pool_info[id].blk_cnt = 1; #endif @@ -120,7 +125,12 @@ static HD_RESULT _TranscodeExe_CommPool_Init(void) mem_cfg.pool_info[id].type = HD_COMMON_MEM_COMMON_POOL; mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + _TranscodeExe_Get_Target_Buf_Size(); #if HUNTING_CAMERA_MCU == ENABLE - mem_cfg.pool_info[id].blk_cnt = 0; + if(sf_get_fw_update()) + { + mem_cfg.pool_info[id].blk_cnt = 0; + }else { + mem_cfg.pool_info[id].blk_cnt = 1; + } #else mem_cfg.pool_info[id].blk_cnt = 1; #endif diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c index 9eda12cf1..5ad118326 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIFlowLVGL/UIFlowPhoto/UIFlowPhotoEventCallback.c @@ -1192,14 +1192,14 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key) { case LV_USER_KEY_SHUTTER2: { - /*#if HUNTING_CAMERA_MCU == ENABLE + #if HUNTING_CAMERA_MCU == ENABLE sf_rtsp_stop(); if(TRUE == sf_get_send_statu()) { printf("\r\n[%s] line:%d %d running\n", __FUNCTION__, __LINE__,key); break; } - #endif*/ + #endif UIFlowPhoto_OnExeCaptureStart(obj); break; } diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UICfgDefault.h old mode 100644 new mode 100755 diff --git a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c index 28edc5be5..c273efb58 100755 --- a/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c +++ b/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c @@ -2304,16 +2304,29 @@ void sf_power_on_para_check_init(void) #if HUNTING_CAMERA_MCU == ENABLE UIMenuStoreInfo *puiPara = sf_ui_para_get(); UINT8 PowerOnMode = sf_cardv_convert_power_on_mode(); - if(((PowerOnMode == PWR_ON_AUTO) || (PowerOnMode == PWR_OFF) || (PowerOnMode == PWR_ON_SETUP))) - { - if(1 == puiPara->NeedTimeSyncStartUp){ - puiPara->NeedTimeSyncStartUp = 0; - } - if(0 == puiPara->NetWorkNeedSearch){ - puiPara->NetWorkNeedSearch = 1; - } + if(((PowerOnMode == PWR_ON_AUTO) || (PowerOnMode == PWR_OFF) || (PowerOnMode == PWR_ON_SETUP))) + { + if(1 == puiPara->NeedTimeSyncStartUp){ + puiPara->NeedTimeSyncStartUp = 0; + } + if(0 == puiPara->NetWorkNeedSearch){ + puiPara->NetWorkNeedSearch = 1; + } memset(puiPara->SimIccid,'\0',sizeof(puiPara->SimIccid)); - } + } + else if(PowerOnMode == PWR_ON_TIME_SYNC) + { + puiPara->NetWorkNeedSearch = 0; + puiPara->NeedTimeSyncStartUp = 0; + } + else if(PowerOnMode == PWR_ON_DAILY_REPORT) + { + puiPara->NeedTimeSyncStartUp = 1; + if (puiPara->DailyReportSwitch) { + puiPara->GpsSendFlag = 1; // indicate need send dp file in b power on. + } + } + printf("PowerOnMode=%d NeedTimeSyncStartUp=%d NetWorkNeedSearch:%d\n", PowerOnMode, puiPara->NeedTimeSyncStartUp, puiPara->NetWorkNeedSearch); if(puiPara->Multishot != SysGetFlag(FL_CONTINUE_SHOT)) { @@ -2323,6 +2336,7 @@ void sf_power_on_para_check_init(void) if(puiPara->VideoSize != SysGetFlag(FL_MOVIE_SIZE)) { SysSetFlag(FL_MOVIE_SIZE, puiPara->VideoSize); + SysSetFlag(FL_MOVIE_SIZE_MENU, puiPara->VideoSize); } if(puiPara->ImgSize != SysGetFlag(FL_PHOTO_SIZE)) diff --git a/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c b/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c index c54053f05..42ea7be92 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_eg91_sim.c @@ -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: diff --git a/code/application/source/sf_app/code/source/4gMng/sf_sms.c b/code/application/source/sf_app/code/source/4gMng/sf_sms.c index 17ac2fd17..0aeb030bc 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_sms.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_sms.c @@ -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; } - } + }*/ } diff --git a/code/application/source/sf_app/code/source/app/sf_app.c b/code/application/source/sf_app/code/source/app/sf_app.c index 1c3061591..889684e71 100755 --- a/code/application/source/sf_app/code/source/app/sf_app.c +++ b/code/application/source/sf_app/code/source/app/sf_app.c @@ -151,7 +151,7 @@ int main(int argc, char *argv[]) printf("[%s:%d] isUsb = %d isCard = %d isUpdate:%d CamMode:%d startup:%d %s\n", __FUNCTION__, __LINE__, isUsb,isCard,isUpdate,puiPara->CamMode, startup, sf_poweron_type_string(startup)); sf_led_init(); - if((!isUsb) && (SF_MCU_STARTUP_NORMAL != startup) /*&& (0 == isUpdate)*/) + if((!isUsb) && (SF_MCU_STARTUP_NORMAL != startup) && (SF_MCU_STARTUP_OFF != startup)/*&& (0 == isUpdate)*/) { #if SF_IQ_TEST != ENABLE if((0 == isUpdate)) diff --git a/code/application/source/sf_app/code/source/app/sf_common.c b/code/application/source/sf_app/code/source/app/sf_common.c index b00cb4207..b60b6c69d 100755 --- a/code/application/source/sf_app/code/source/app/sf_common.c +++ b/code/application/source/sf_app/code/source/app/sf_common.c @@ -580,11 +580,11 @@ static SINT32 sf_app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf) printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize); if (storeattrs.SDFree < 30) /* 30MB */ { - sf_sys_status_led_set(SF_LED_SYS_STATE_SD_NORMAL); + sf_sys_status_led_set(SF_LED_SYS_STATE_SD_FULL); } else { - sf_sys_status_led_set(SF_LED_SYS_STATE_SD_FULL); + sf_sys_status_led_set(SF_LED_SYS_STATE_SD_NORMAL); } sf_statistics_param_load(sf_statistics_param_get()); MLOGI("card-%d mount OK\r\n", pMessageBuf->arg2 + 1); diff --git a/code/application/source/sf_app/code/source/app/sf_service.c b/code/application/source/sf_app/code/source/app/sf_service.c index 34700da2e..b142fc090 100755 --- a/code/application/source/sf_app/code/source/app/sf_service.c +++ b/code/application/source/sf_app/code/source/app/sf_service.c @@ -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) diff --git a/code/application/source/sf_app/code/source/app/sf_system.c b/code/application/source/sf_app/code/source/app/sf_system.c index aebb49ea8..1daa1b977 100755 --- a/code/application/source/sf_app/code/source/app/sf_system.c +++ b/code/application/source/sf_app/code/source/app/sf_system.c @@ -682,13 +682,13 @@ SINT32 app_system_poweroff(SF_POWEROFF_TYPE_E enType ) //if((puiPara->DebugMode) || (puiPara->QLogSwitch)){ // sync(); //} - if(SF_MCU_STARTUP_ONKEY != sf_poweron_type_get()) - sync(); + //if(SF_MCU_STARTUP_ONKEY != sf_poweron_type_get()) + system("sync"); //MLOGD("s\n"); sf_mcu_reg_set(SF_MCU_POWEROFF,sf_poweroff_type_get()); - if(SF_MCU_STARTUP_ONKEY != sf_poweron_type_get()) - sync(); + //if(SF_MCU_STARTUP_ONKEY != sf_poweron_type_get()) + system("sync"); /* SF_STORE_ATTR_S storeattrs = {0}; SF_STARTUP_TYPE_E startup = SF_MCU_STARTUP_ONKEY; @@ -738,7 +738,7 @@ SINT32 app_system_poweroff(SF_POWEROFF_TYPE_E enType ) sf_sys_poweroff(sf_poweroff_type_get()); */ - return SF_SUCCESS; + return SF_SUCCESS; } SINT32 app_http_time_by_timezone_set(void) { diff --git a/code/application/source/sf_app/code/source/devMng/sf_ledmng.c b/code/application/source/sf_app/code/source/devMng/sf_ledmng.c index 1240279ba..22268ff59 100755 --- a/code/application/source/sf_app/code/source/devMng/sf_ledmng.c +++ b/code/application/source/sf_app/code/source/devMng/sf_ledmng.c @@ -395,7 +395,6 @@ void* sf_led_thread(void *arg) printf("[%s:%d] s\n", __FUNCTION__, __LINE__); while(isLedExit) { - for(i = 0; i < SF_LED_ALL; i++) { if(isUsbIn) @@ -423,11 +422,11 @@ void* sf_led_thread(void *arg) { sf_led_off(LedInfo[i].ledId); } - else if(LedInfo[i].times == 50) //50*10ms + else if(LedInfo[i].times == 10) //10*50ms { sf_led_on(LedInfo[i].ledId); } - else if(LedInfo[i].times == 100) //100*10ms + else if(LedInfo[i].times == 20) //20*50ms { sf_led_off(LedInfo[i].ledId); LedInfo[i].times = 0; @@ -466,11 +465,11 @@ void* sf_led_thread(void *arg) { sf_led_off(LedInfo[i].ledId); } - else if(LedInfo[i].times == 25) //50*10ms + else if(LedInfo[i].times == 10) //10*50ms { sf_led_on(LedInfo[i].ledId); } - else if(LedInfo[i].times == 50) //100*10ms + else if(LedInfo[i].times == 20) //20*50ms { sf_led_off(LedInfo[i].ledId); LedInfo[i].times = 0; @@ -493,11 +492,11 @@ void* sf_led_thread(void *arg) { sf_led_on(LedInfo[i].ledId); } - else if(LedInfo[i].times == 50) //50*10ms + else if(LedInfo[i].times == 10) //10*50ms { sf_led_off(LedInfo[i].ledId); } - else if(LedInfo[i].times == 100) //100*10ms + else if(LedInfo[i].times == 20) //20*50ms { sf_led_on(LedInfo[i].ledId); LedInfo[i].times = 0; @@ -510,11 +509,11 @@ void* sf_led_thread(void *arg) { sf_led_on(LedInfo[i].ledId); } - else if(LedInfo[i].times == 25) //25*10ms + else if(LedInfo[i].times == 5) //5*50ms { sf_led_off(LedInfo[i].ledId); } - else if(LedInfo[i].times == 50) //50*10ms + else if(LedInfo[i].times == 10) //10*50ms { sf_led_on(LedInfo[i].ledId); LedInfo[i].times = 0; @@ -523,7 +522,7 @@ void* sf_led_thread(void *arg) } #endif } - sf_sleep_ms(10); + sf_sleep_ms(40); } printf("[%s:%d] e \n", __FUNCTION__, __LINE__); diff --git a/code/application/source/sf_app/code/source/wifi/sf_data_transfer.c b/code/application/source/sf_app/code/source/wifi/sf_data_transfer.c old mode 100644 new mode 100755 index d0d6975b7..bf7a87db5 --- a/code/application/source/sf_app/code/source/wifi/sf_data_transfer.c +++ b/code/application/source/sf_app/code/source/wifi/sf_data_transfer.c @@ -320,11 +320,14 @@ U8 sf_DataMapSet(U32 key, U8 function, S8 *fileName, U32 FileSize) MLOGI(" key:%d,fileName:%s\n",key,fileName); - if(fileName == NULL) + if(fileName == NULL){ + MLOGE("CMD_ERR error!\n"); return CMD_ERR; + } if(pClient == NULL) { + MLOGE("pClient == NULL error!\n"); return DATA_CMD_8855_NO_CONNECT; } @@ -352,9 +355,10 @@ U8 sf_DataMapSet(U32 key, U8 function, S8 *fileName, U32 FileSize) if(function) { memcpy((char *)&pClient->map.fileName[0], (char *)fileName,strlen((char *)fileName)); - // printf("map.fileName:%s,filename:%s,len:%d\n",pClient->map.fileName,fileName,strlen((char *)fileName)); // pClient->map.fileName[strlen(fileName)+1]=0; pClient->map.fileSize = FileSize; + printf("pClient->map.function:%d map.fileName:%s,filename:%s,len:%d fileSize:%d\n",pClient->map.function, pClient->map.fileName,fileName,strlen((char *)fileName),pClient->map.fileSize); + } else { @@ -459,7 +463,7 @@ void *sf_DataSvrTransferThread(void *addr) if(pClient->map.function != 3) { - MLOGI("function=%d,name=%s\n",pClient->map.function,pClient->map.fileName); + MLOGI("key:%d function=%d,name=%s\n",pClient->map.key, pClient->map.function,pClient->map.fileName); //printf("socket=%d,key=%d,C_port=%d\n",pClient->socket,pClient->map.key,ntohs(pClient->ClientAddr.sin_port)); } //pClient->map.fileName[47]=0; @@ -467,6 +471,7 @@ void *sf_DataSvrTransferThread(void *addr) //send(pClient->socket, tmpbuf, 100); if(pClient->map.function == 0 || poweroff_mode) //stop { + MLOGI("key:%d function=%d,name=%s\n",pClient->map.key, pClient->map.function,pClient->map.fileName); sf_DataMapClear(pClient); if(poweroff_mode) { diff --git a/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c b/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c old mode 100644 new mode 100755 index 9e8ef91b8..7261d4925 --- a/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c +++ b/code/application/source/sf_app/code/source/wifi/sf_wifi_svr.c @@ -25,6 +25,7 @@ //#include "sf_syslib.h" //#include "sf_para.h" +#include "sf_param_common.h" #include "sf_wifi_svr.h" #include "sf_data_transfer.h" #include "sf_svr_send.h" @@ -55,6 +56,7 @@ #include "Mode/UIModePhoto.h" #include "Mode/UIModeMovie.h" #include "sf_log.h" +#include "DCF.h" #if SF_LPA_SDK #include "lpasdk/api/lpasdk_api.h" #include "sf_4g_lpa.h" @@ -85,6 +87,8 @@ #define SF_WIFI_NETDEV_NAME "ap0" #define SF_WIFI_NETDEV_8189_NAME "wlan0" +#define FILE_LIST_NUM_MAX ((MAX_DCF_FILE_NUM+1)*32) /* 64:support 64GB; 64 * 1000: the number of files's infor;*/ + /************************************************************************** * D A T A T Y P E S * **************************************************************************/ @@ -123,8 +127,8 @@ SINT8 gApPasswd[MAX_PASSWORD_LEN]= {"abc.1234"}; pthread_mutex_t gAppSvrMutex; UINT32 gDevFileListNums = 0,gDevDirListNums = 0; -MSG_DEV_THUMB_LIST_Get_Data_Rsp_T gDevFileList[9999]; -MSG_DEV_THUMB_DIR_LIST_T gDevDirList[999]; +MSG_DEV_THUMB_LIST_Get_Data_Rsp_T gDevFileList[FILE_LIST_NUM_MAX]; +MSG_DEV_THUMB_DIR_LIST_T gDevDirList[MAX_DCF_DIR_NUM+1]; UINT16 CurrentWifiCmd = 0; @@ -547,10 +551,13 @@ void appsvr_getFileList(UINT8 *dirPath, UINT8 *startFileKey) // printf("[appsvr_getFileList]open \n",nFileNums,idx); //printf("[appsvr_getFileList]nFileNums:%d, idx:%d, %s %d\n",nFileNums,idx,fname,gDevFileListNums); // printf("[appsvr_getFileList]nFileNums:%d, %d\n",nFileNums,gDevFileListNums); - strcpy((char *)gDevFileList[nFileNums + gDevFileListNums].fileNameString, (char *)ptr->d_name); - gDevFileList[nFileNums + gDevFileListNums].srcFileType = (ptr->d_name[0] == 'W' ? 0 : (ptr->d_name[0] == 'S' ? 1 : 1));//ptr->d_name[3] - '0'; - //printf("%s\n", g3g75DevFileList[nFileNums - idx + gDevFileListNums].fileName); - nFileNums ++ ; + if(strstr((char *)ptr->d_name, SF_DCF_EXT_MOV) || strstr((char *)ptr->d_name, SF_DCF_EXT_PHOTO)) + { + strcpy((char *)gDevFileList[nFileNums + gDevFileListNums].fileNameString, (char *)ptr->d_name); + gDevFileList[nFileNums + gDevFileListNums].srcFileType = (ptr->d_name[0] == 'W' ? 0 : (ptr->d_name[0] == 'S' ? 1 : 1));//ptr->d_name[3] - '0'; + //printf("%s\n", g3g75DevFileList[nFileNums - idx + gDevFileListNums].fileName); + nFileNums ++ ; + } //printf("[appsvr_getFileList]%d,%s\n",nFileNums - idx, gDevFileList[nFileNums - idx].fileName); } #else @@ -611,6 +618,10 @@ void appsvr_getDirList(UINT8* dirPath, UINT8 *startDirKey) { continue; } + if(((nFileNums) > MAX_DCF_DIR_NUM)) + { + break; + } } gDevDirListNums = nFileNums; @@ -669,11 +680,11 @@ UINT8 appCmpFileList(void) void appCreatThumbList(S8 *fileName)//start file name example: 10010032.JPG { - UINT16 i = 0; + //UINT16 i = 0; UINT8 dirPath[50] = {0}; UINT8 startDirKey[5] = {0}; UINT8 startFileKey[5] = {0}; - UINT8 temp[5] = {0}; + //UINT8 temp[5] = {0}; MLOGI("fileName:%s\n",fileName); @@ -684,10 +695,10 @@ void appCreatThumbList(S8 *fileName)//start file name example: 10010032.JPG } else { - // startDirKey[0] = '\0'; - // startFileKey[0] = '\0'; - strncpy((char *)startDirKey, "100", 3); - strncpy((char *)startFileKey, "0001", 4); + startDirKey[0] = '\0'; + startFileKey[0] = '\0'; + //strncpy((char *)startDirKey, "100", 3); + //strncpy((char *)startFileKey, "0001", 4); } memset(gDevFileList, 0, sizeof(gDevFileList)); @@ -695,18 +706,20 @@ void appCreatThumbList(S8 *fileName)//start file name example: 10010032.JPG //printf("get dir s\n"); sprintf((char *)dirPath, "%s/", THUMB_PATH); - + appsvr_getFileList(dirPath, startFileKey); // appsvr_getDirList(dirPath, startDirKey); // printf("get dir e\n"); // strcpy((char *)gDevDirList[0].dirName, dirPath); - + /* // while((gDevDirList[i].dirName[0] != '\0') && (i <= DCF_DIR_NUM_MAX)) { MLOGI("i=%d,dir:%s\n", i, gDevDirList[i].dirName); // printf("get file s\n"); sprintf((char *)dirPath, "%s/%s", THUMB_PATH, gDevDirList[i].dirName); + + if(strcmp((char *)gDevDirList[i].dirName, (char *)startDirKey) == 0) { appsvr_getFileList(dirPath, startFileKey); @@ -719,7 +732,7 @@ void appCreatThumbList(S8 *fileName)//start file name example: 10010032.JPG i++; } - +*/ //appsvr_getFileList(dirPath, startDirKey); @@ -1603,6 +1616,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen) if(puiPara->VideoSize != SysGetFlag(FL_MOVIE_SIZE)) { SysSetFlag(FL_MOVIE_SIZE, puiPara->VideoSize); + SysSetFlag(FL_MOVIE_SIZE_MENU, puiPara->VideoSize); } //forbuild appMediaAttrUpdate(puiPara.VideoSize); //sf_set_video_size(puiPara->VideoSize); @@ -1811,7 +1825,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen) // msgParse.msgBuf.rctrlFileTransferInfo.filePath[13]=0; msgParse.msgBuf.rctrlFileTransferInfo.type = (tempbuf[0] == 'W' ? 0 : (tempbuf[0] == 'S' ? 1 : 1)); } - // printf("Send File:%s,function:%d,len:%d\n",msgParse.msgBuf.rctrlFileTransferInfo.fileName,function,strlen((char *)msgParse.msgBuf.rctrlFileTransferInfo.fileName)); + //printf("Send File:%s,function:%d,len:%d\n",msgParse.msgBuf.rctrlFileTransferInfo.fileName,function,strlen((char *)msgParse.msgBuf.rctrlFileTransferInfo.fileName)); if(function == 2)//download { fileFd = open((char *)fileName, O_RDONLY); @@ -1842,6 +1856,7 @@ SINT32 sf_svr_packet_proc(SINT32 fd, UINT8 *pAppData, UINT16 dataLen) } else if(function == 1)//upload { + sf_sleep_ms(1000); fSize = ntohl(pMsgStruct->msgBuf.ctrlFileTransfer.fileSize); ret = sf_DataMapSet(keyMap, function, fileName, fSize); } @@ -2420,7 +2435,7 @@ void *sf_server_accept_thread(void *pData) } else if ( ret == 0 ) { - usleep(1*1000); /* ms */ + usleep(200*1000); /* ms */ } else { diff --git a/code/lib/source/sifar/code/include/sf_common.h b/code/lib/source/sifar/code/include/sf_common.h index deec4d975..ac81eaa4c 100755 --- a/code/lib/source/sifar/code/include/sf_common.h +++ b/code/lib/source/sifar/code/include/sf_common.h @@ -119,4 +119,5 @@ BOOL sf_cmd_ftp_switch(unsigned char argc, char **argv); BOOL sf_cmd_ftp(unsigned char argc, char **argv); BOOL sf_cmd_ftps(unsigned char argc, char **argv); UINT32 sf_cardv_cap_start(void); +UINT32 sf_cardv_hd_cap_start(void); #endif diff --git a/code/lib/source/sifar/code/source/common/sf_common.c b/code/lib/source/sifar/code/source/common/sf_common.c index a985cd116..28e117624 100755 --- a/code/lib/source/sifar/code/source/common/sf_common.c +++ b/code/lib/source/sifar/code/source/common/sf_common.c @@ -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; @@ -428,8 +433,27 @@ BOOL sf_cmd_video_size(unsigned char argc, char **argv) if(value < MOVIE_SIZE_ID_MAX){ puiPara->VideoSize = value; SysSetFlag(FL_MOVIE_SIZE, value); - //SysSetFlag(FL_MOVIE_SIZE_MENU, value); + SysSetFlag(FL_MOVIE_SIZE_MENU, value); Save_MenuInfo(); + int iCurrMode = System_GetState(SYS_STATE_CURRMODE); + int iNextMode = PRIMARY_MODE_PHOTO; + + if((puiPara->CamMode == SF_CAM_MODE_PHOTO) || (puiPara->CamMode == SF_CAM_MODE_PHOTO_VIDEO)) + { + iNextMode = PRIMARY_MODE_PHOTO; + } + else if(puiPara->CamMode == SF_CAM_MODE_VIDEO) + { + iNextMode = PRIMARY_MODE_MOVIE; + } + else + { + iNextMode = PRIMARY_MODE_PHOTO; + } + + UI_SetData(FL_PreMode, iCurrMode); + UI_SetData(FL_NextMode, iNextMode); + Ux_PostEvent(NVTEVT_SYSTEM_MODE, 1, iNextMode); } printf("[%s:%d] FL_MOVIE_SIZE:%d\n", __FUNCTION__, __LINE__,SysGetFlag(FL_MOVIE_SIZE)); return TRUE; @@ -1423,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); @@ -1613,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; @@ -2446,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; + } \ No newline at end of file diff --git a/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h b/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h index 4202c156e..9188c1ab9 100755 --- a/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h +++ b/rtos/code/application/source/cardv/SrcCode/PrjCfg_HUNTING_S530.h @@ -947,7 +947,7 @@ #define HUNTING_MCU_UART ENABLE #define HUNTING_IR_LED_940 DISABLE #define SF_EXIF_MN_BUF_SIZE 256 -#define SF_BASE_VERSION "7MD4RCwD6T7" +#define SF_BASE_VERSION "7MD4RCwD6T8" #define HW_S530 1 #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */ diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastCapDateImprint.c b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastCapDateImprint.c index 5d3c12691..9fb955ead 100755 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastCapDateImprint.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastCapDateImprint.c @@ -432,6 +432,7 @@ void PhotoFastCapDateImprint_InitBuff(void) // else{ // size = stamp_img.buff_size.output_buffer_size; // } + stamp_text.buff_size.output_buffer_size = stamp_text.buff_size.output_buffer_size/4*5; size = stamp_text.buff_size.output_buffer_size; ret = hd_common_mem_alloc("stamp_pri", &pa, (void **)&va, size, ddr_id); diff --git a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c index 2ab69dca2..2639cbaa0 100755 --- a/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c +++ b/rtos/code/application/source/cardv/SrcCode/UIWnd/LVGL_SPORTCAM/UIInfo/UIInfo.c @@ -1705,6 +1705,7 @@ void sf_power_on_para_check_init(void) if(puiPara->VideoSize != SysGetFlag(FL_MOVIE_SIZE)) { SysSetFlag(FL_MOVIE_SIZE, puiPara->VideoSize); + SysSetFlag(FL_MOVIE_SIZE_MENU, puiPara->VideoSize); } if(puiPara->ImgSize != SysGetFlag(FL_PHOTO_SIZE)) diff --git a/rtos/code/driver/na51089/include/sf_mcu.h b/rtos/code/driver/na51089/include/sf_mcu.h index 3e67556e2..6bd5db036 100755 --- a/rtos/code/driver/na51089/include/sf_mcu.h +++ b/rtos/code/driver/na51089/include/sf_mcu.h @@ -514,7 +514,7 @@ void sf_file_thumb_cfg_fill(char* filepath,char* fileName,UINT32 size, SF_FILE_T void sf_file_thumb_cfg_set(SF_SRCFILE_ATTR_S *pThumbFileCfgl); void sf_file_thumb_cfg_clear(void); void sf_file_thumb_cfg_sava(void); -void sf_add_file_name_to_send_list(char *sendfname); +void sf_add_file_name_to_send_list(char *sendfname, UINT32 fd); UINT8 sf_mcu_power_on_para_get(MCUParam_t attrId); void sf_mcu_flag_init(void); void sf_mcu_flag_set_done(MCU_FLAG_INIT boot_init); diff --git a/rtos/code/driver/na51089/source/mcu/sf_battery.c b/rtos/code/driver/na51089/source/mcu/sf_battery.c index 9243c385c..356d0a5d5 100755 --- a/rtos/code/driver/na51089/source/mcu/sf_battery.c +++ b/rtos/code/driver/na51089/source/mcu/sf_battery.c @@ -1565,10 +1565,11 @@ void sf_BatteryInfoSave(char *name) UINT32 batAdc = 0; //char fileName[64] = {0}; - int fd = 0; - struct stat st; - - tmpBuf = malloc(512); + FST_FILE fd = 0; + //struct stat st; + UINT32 size = 0; + INT32 ret_fs = 0; + tmpBuf = malloc(100); if (tmpBuf == NULL) { printf("%s:%d tmpBuf malloc err\n", __FUNCTION__, __LINE__); @@ -1577,17 +1578,19 @@ void sf_BatteryInfoSave(char *name) //snprintf(fileName, sizeof(fileName), "%s", SF_BATTERY_TEST_FILE); - if(access(SF_BATTERY_TEST_FILE, F_OK) == 0) + /*if(access(SF_BATTERY_TEST_FILE, F_OK) == 0) { printf("fileName:%s\n",SF_BATTERY_TEST_FILE); fd = open(SF_BATTERY_TEST_FILE, O_APPEND | O_WRONLY); } else { fd = open(SF_BATTERY_TEST_FILE, O_APPEND | O_WRONLY | O_CREAT); - } + }*/ + printf("fileName:%s\n",SF_BATTERY_TEST_FILE); + fd = FileSys_OpenFile(SF_BATTERY_TEST_FILE, FST_OPEN_ALWAYS | FST_OPEN_WRITE); - LibatAdc = sf_battery_convert_to_adc(15, 100, LiPolymerVoltageValTest); - batAdc = sf_battery_convert_to_adc(15, 100, BatVoltageValTest); + LibatAdc = sf_battery_convert_to_adc(24, 100, LiPolymerVoltageValTest); + batAdc = sf_battery_convert_to_adc(24, 100, BatVoltageValTest); sprintf(tmpBuf, "%s BatAdc=%lu BatVal=%lu LiBatAdc=%lu LiBatVal=%lu TemperAdc=%lu\r\n", name, batAdc, BatVoltageValTest, LibatAdc, LiPolymerVoltageValTest, TemperAdc); @@ -1595,11 +1598,22 @@ void sf_BatteryInfoSave(char *name) if(fd) { - fstat(fd, &st); + /*fstat(fd, &st); lseek(fd, 0, SEEK_END); write(fd, tmpBuf, strlen(tmpBuf)); close(fd); printf("Add Success st_size:%ld\n", st.st_size); + */ + ret_fs = FileSys_SeekFile((FST_FILE)fd, 0, FST_SEEK_END); + if (ret_fs != FST_STA_OK) { + printf("%s:%d seek file failed\r\n", __FUNCTION__, __LINE__); + } + size = strlen(tmpBuf); + ret_fs = FileSys_WriteFile((FST_FILE)fd, (UINT8*)tmpBuf, &size, 0, NULL); + if (ret_fs != FST_STA_OK) { + printf("%s:%d FileSys_WriteFile failed\r\n", __FUNCTION__, __LINE__); + } + FileSys_CloseFile(fd); } free(tmpBuf); } diff --git a/rtos/code/driver/na51089/source/mcu/sf_mcu.c b/rtos/code/driver/na51089/source/mcu/sf_mcu.c index 27e68741d..a589cf61b 100755 --- a/rtos/code/driver/na51089/source/mcu/sf_mcu.c +++ b/rtos/code/driver/na51089/source/mcu/sf_mcu.c @@ -2157,13 +2157,60 @@ void sf_file_thumb_cfg_sava(void) UIMenuStoreInfo *puiPara = sf_ui_para_get(); if (pThumbFileCfg != NULL) { - for(fileIndex = 0; fileIndex < pThumbFileCfg->filecnt; fileIndex++) - { - if((0 == fileIndex) || ((1 == puiPara->SendMulti))){ - sf_add_file_name_to_send_list(pThumbFileCfg->stfileattr[fileIndex].thumbfileName); - printf("%s:%d thumbfileSize:%ld thumbfileName:%s thumbfilePath:%s\n", __FUNCTION__, __LINE__,pThumbFileCfg->stfileattr[fileIndex].thumbfileSize,pThumbFileCfg->stfileattr[fileIndex].thumbfileName,pThumbFileCfg->stfileattr[fileIndex].thumbfilePath); + + char sendListName[64] = {0}; + FST_FILE fs = 0; + //char buff[SF_SEND_LIST_ITEM_LENGTH+1] = {0}; + int fd = 0; + static int flag = 0; + //struct stat st; + #if SF_IQ_TEST != ENABLE + INT32 uiStatus = 0; + UINT8 ucAttrib = 0; + uiStatus = FileSys_GetAttrib(PHOTO_THUMB_PATH, &ucAttrib); + if (uiStatus == FST_STA_OK) { + if(!(ucAttrib&FST_ATTRIB_HIDDEN)){ + FileSys_SetAttrib(PHOTO_THUMB_PATH, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE); } - } + } + #endif + + //printf("Add %s to send.List\n", sendfname); + if(0 == puiPara->SendType){ + snprintf(sendListName, sizeof(sendListName), "%s", SF_THUMB_SEND_AUTO); + if((access(sendListName, F_OK) == 0) && (0 == flag)) + { + if (FileSys_DeleteFile(sendListName) != FST_STA_OK) { + DBG_IND("Ignore deleting file.\r\n"); + } + } + flag = 1; + + }else { + snprintf(sendListName, sizeof(sendListName), "%s", SF_THUMB_SEND_LIST); + } + + /*if(access(sendListName, F_OK) == 0) + { + printf("sendListName:%s\n",sendListName); + fd = open(sendListName, O_APPEND | O_WRONLY); + } + else { + fd = open(sendListName, O_APPEND | O_WRONLY | O_CREAT); + }*/ + fs = FileSys_OpenFile(sendListName, FST_OPEN_ALWAYS | FST_OPEN_WRITE); + if(/*fd*/fs) + { + for(fileIndex = 0; fileIndex < pThumbFileCfg->filecnt; fileIndex++) + { + if((0 == fileIndex) || ((1 == puiPara->SendMulti))){ + sf_add_file_name_to_send_list(pThumbFileCfg->stfileattr[fileIndex].thumbfileName, fd); + printf("%s:%d thumbfileSize:%ld thumbfileName:%s thumbfilePath:%s\n", __FUNCTION__, __LINE__,pThumbFileCfg->stfileattr[fileIndex].thumbfileSize,pThumbFileCfg->stfileattr[fileIndex].thumbfileName,pThumbFileCfg->stfileattr[fileIndex].thumbfilePath); + } + } + FileSys_CloseFile(fs); + //close(fd); + } //printf("%s:%d e Size:%ld\n", __FUNCTION__, __LINE__,pThumbFileCfg->stfileattr[fileIndex].thumbfileSize); free(pThumbFileCfg); } @@ -2177,61 +2224,39 @@ void sf_file_thumb_cfg_sava(void) Return: N/A Others: N/A *************************************************/ -void sf_add_file_name_to_send_list(char *sendfname) +void sf_add_file_name_to_send_list(char *sendfname, UINT32 fd) { - char sendListName[64] = {0}; + //char sendListName[64] = {0}; char buff[SF_SEND_LIST_ITEM_LENGTH+1] = {0}; - int fd = 0; - static int flag = 0; - struct stat st; + //struct stat st; + UINT32 size = 0; + INT32 ret_fs = 0; UIMenuStoreInfo *puiPara = sf_ui_para_get(); - #if SF_IQ_TEST != ENABLE - INT32 uiStatus = 0; - UINT8 ucAttrib = 0; - uiStatus = FileSys_GetAttrib(PHOTO_THUMB_PATH, &ucAttrib); - if (uiStatus == FST_STA_OK) { - if(!(ucAttrib&FST_ATTRIB_HIDDEN)){ - FileSys_SetAttrib(PHOTO_THUMB_PATH, FST_ATTRIB_HIDDEN/* | FST_ATTRIB_SYSTEM*/, TRUE); - } - } - #endif - + if(strlen(sendfname) != SF_SEND_LIST_ITEM_LENGTH-3) //3 ->CamMode \r\n { printf("%s:%d AddFileNameToSenddist fail: send file name format error\n", __FUNCTION__, __LINE__); return; } - //printf("Add %s to send.List\n", sendfname); - if(0 == puiPara->SendType){ - snprintf(sendListName, sizeof(sendListName), "%s", SF_THUMB_SEND_AUTO); - if((access(sendListName, F_OK) == 0) && (0 == flag)) - { - if (FileSys_DeleteFile(sendListName) != FST_STA_OK) { - DBG_IND("Ignore deleting file.\r\n"); - } - } - flag = 1; - - }else { - snprintf(sendListName, sizeof(sendListName), "%s", SF_THUMB_SEND_LIST); - } - if(access(sendListName, F_OK) == 0) - { - printf("sendListName:%s\n",sendListName); - fd = open(sendListName, O_APPEND | O_WRONLY); - } - else { - fd = open(sendListName, O_APPEND | O_WRONLY | O_CREAT); - } if(fd) { - fstat(fd, &st); - lseek(fd, 0, SEEK_END); + //fstat(fd, &st); + //lseek(fd, 0, SEEK_END); + ret_fs = FileSys_SeekFile((FST_FILE)fd, 0, FST_SEEK_END); + if (ret_fs != FST_STA_OK) { + printf("%s:%d seek file failed\r\n", __FUNCTION__, __LINE__); + } + snprintf(buff, sizeof(buff), "%d%s\r\n", puiPara->CamMode, sendfname); + size = SF_SEND_LIST_ITEM_LENGTH; + ret_fs = FileSys_WriteFile((FST_FILE)fd, (UINT8*)buff, &size, 0, NULL); + if (ret_fs != FST_STA_OK) { + printf("%s:%d FileSys_WriteFile failed\r\n", __FUNCTION__, __LINE__); + } + + //write(fd, buff, SF_SEND_LIST_ITEM_LENGTH); - write(fd, buff, SF_SEND_LIST_ITEM_LENGTH); - close(fd); //printf("Add Success st_size:%ld\n", st.st_size); } #if SF_BATTERY_TEST == ENABLE @@ -2291,8 +2316,10 @@ void sf_hw_info_save(char *name) //UINT32 batAdc = 0; //char fileName[64] = {0}; - int fd = 0; + FST_FILE fd = 0; //struct stat st; + UINT32 size = 0; + INT32 ret_fs = 0; struct tm drRtcTime; @@ -2300,7 +2327,7 @@ void sf_hw_info_save(char *name) char datestr[30] = { 0 }; - tmpBuf = malloc(512); + tmpBuf = malloc(100); if (tmpBuf == NULL) { printf("%s:%d tmpBuf malloc err\n", __FUNCTION__, __LINE__); @@ -2326,14 +2353,16 @@ void sf_hw_info_save(char *name) //snprintf(fileName, sizeof(fileName), "%s", SF_HW_TEST_FILE); - if(access(SF_HW_TEST_FILE, F_OK) == 0) + /*if(access(SF_HW_TEST_FILE, F_OK) == 0) { printf("fileName:%s\n",SF_HW_TEST_FILE); fd = open(SF_HW_TEST_FILE, O_APPEND | O_WRONLY); } else { fd = open(SF_HW_TEST_FILE, O_APPEND | O_WRONLY | O_CREAT); - } + }*/ + printf("fileName:%s\n",SF_HW_TEST_FILE); + fd = FileSys_OpenFile(SF_HW_TEST_FILE, FST_OPEN_ALWAYS | FST_OPEN_WRITE); sprintf(tmpBuf, "%s %s IRSHTTER=%d TemperAdc=%lu ae_adj=%lu iso=%lu exp=%lu lv=%lu\r\n", datestr, name, IRSHTTER, sf_get_temper_adc(), testadj, testiso, testexp, testlv); @@ -2342,10 +2371,20 @@ void sf_hw_info_save(char *name) if(fd) { //fstat(fd, &st); - lseek(fd, 0, SEEK_END); + /*lseek(fd, 0, SEEK_END); write(fd, tmpBuf, strlen(tmpBuf)); - close(fd); + close(fd);*/ //printf("Add Success st_size:%ld\n", st.st_size); + ret_fs = FileSys_SeekFile((FST_FILE)fd, 0, FST_SEEK_END); + if (ret_fs != FST_STA_OK) { + printf("%s:%d seek file failed\r\n", __FUNCTION__, __LINE__); + } + size = strlen(tmpBuf); + ret_fs = FileSys_WriteFile((FST_FILE)fd, (UINT8*)tmpBuf, &size, 0, NULL); + if (ret_fs != FST_STA_OK) { + printf("%s:%d FileSys_WriteFile failed\r\n", __FUNCTION__, __LINE__); + } + FileSys_CloseFile(fd); } free(tmpBuf); }