Merge branch 'Branch_S530' of gitlab.sifar.tech:linux-em-group/s530-ntk into branch_s530_2

This commit is contained in:
xiaojiazhu 2023-08-21 10:37:59 +08:00
commit c22622fa07
23 changed files with 352 additions and 172 deletions

View File

@ -920,7 +920,7 @@
#define HUNTING_MCU_I2C DISABLE #define HUNTING_MCU_I2C DISABLE
#define HUNTING_MCU_UART ENABLE #define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 DISABLE #define HUNTING_IR_LED_940 DISABLE
#define SF_BASE_VERSION "7MD4RCwD6T7" #define SF_BASE_VERSION "7MD4RCwD6T8"
#define HW_S530 1 #define HW_S530 1
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
#define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */ #define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */

View File

@ -303,6 +303,7 @@ void UiDateImprint_InitBuff(void)
#if defined(_UI_STYLE_LVGL_) #if defined(_UI_STYLE_LVGL_)
pInfo->MemSize = UIDateImprint_GetStampMemSize_LVGL((const lv_font_t *)pFont, UiDateImprint_InitStrBuf()); pInfo->MemSize = UIDateImprint_GetStampMemSize_LVGL((const lv_font_t *)pFont, UiDateImprint_InitStrBuf());
pInfo->MemSize = pInfo->MemSize/4*5;
#else #else
GxGfx_SetTextStroke((const FONT *)pFont, FONTSTYLE_NORMAL, SCALE_1X); GxGfx_SetTextStroke((const FONT *)pFont, FONTSTYLE_NORMAL, SCALE_1X);
GxGfx_Text(0, 0, 0, UiDateImprint_InitStrBuf()); //not really draw GxGfx_Text(0, 0, 0, UiDateImprint_InitStrBuf()); //not really draw
@ -343,6 +344,7 @@ void UiDateImprint_InitBuff(void)
#if defined(_UI_STYLE_LVGL_) #if defined(_UI_STYLE_LVGL_)
pInfo->MemSize = UIDateImprint_GetStampMemSize_LVGL((const lv_font_t *)pFont, UiDateImprint_InitStrBuf()); pInfo->MemSize = UIDateImprint_GetStampMemSize_LVGL((const lv_font_t *)pFont, UiDateImprint_InitStrBuf());
pInfo->MemSize = pInfo->MemSize/4*5;
#else #else
GxGfx_SetTextStroke((const FONT *)pFont, FONTSTYLE_NORMAL, SCALE_1X); GxGfx_SetTextStroke((const FONT *)pFont, FONTSTYLE_NORMAL, SCALE_1X);
GxGfx_Text(0, 0, 0, UiDateImprint_InitStrBuf()); //not really draw GxGfx_Text(0, 0, 0, UiDateImprint_InitStrBuf()); //not really draw
@ -379,6 +381,7 @@ void UiDateImprint_InitBuff(void)
#if defined(_UI_STYLE_LVGL_) #if defined(_UI_STYLE_LVGL_)
pInfo->MemSize = UIDateImprint_GetStampMemSize_LVGL((const lv_font_t *)pFont, UiDateImprint_InitStrBuf()); pInfo->MemSize = UIDateImprint_GetStampMemSize_LVGL((const lv_font_t *)pFont, UiDateImprint_InitStrBuf());
pInfo->MemSize = pInfo->MemSize/4*5;
#else #else
GxGfx_SetTextStroke((const FONT *)pFont, FONTSTYLE_NORMAL, SCALE_1X); GxGfx_SetTextStroke((const FONT *)pFont, FONTSTYLE_NORMAL, SCALE_1X);
GxGfx_Text(0, 0, 0, UiDateImprint_InitStrBuf()); //not really draw GxGfx_Text(0, 0, 0, UiDateImprint_InitStrBuf()); //not really draw

View File

@ -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].type = HD_COMMON_MEM_COMMON_POOL;
mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + _TranscodeExe_Get_Max_Cap_Buf_Size(); mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + _TranscodeExe_Get_Max_Cap_Buf_Size();
#if HUNTING_CAMERA_MCU == ENABLE #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 #else
mem_cfg.pool_info[id].blk_cnt = 1; mem_cfg.pool_info[id].blk_cnt = 1;
#endif #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].type = HD_COMMON_MEM_COMMON_POOL;
mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + _TranscodeExe_Get_Target_Buf_Size(); mem_cfg.pool_info[id].blk_size = DBGINFO_BUFSIZE() + _TranscodeExe_Get_Target_Buf_Size();
#if HUNTING_CAMERA_MCU == ENABLE #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 #else
mem_cfg.pool_info[id].blk_cnt = 1; mem_cfg.pool_info[id].blk_cnt = 1;
#endif #endif

View File

@ -1192,14 +1192,14 @@ static void UIFlowPhoto_Key(lv_obj_t* obj, uint32_t key)
{ {
case LV_USER_KEY_SHUTTER2: case LV_USER_KEY_SHUTTER2:
{ {
/*#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
sf_rtsp_stop(); sf_rtsp_stop();
if(TRUE == sf_get_send_statu()) if(TRUE == sf_get_send_statu())
{ {
printf("\r\n[%s] line:%d %d running\n", __FUNCTION__, __LINE__,key); printf("\r\n[%s] line:%d %d running\n", __FUNCTION__, __LINE__,key);
break; break;
} }
#endif*/ #endif
UIFlowPhoto_OnExeCaptureStart(obj); UIFlowPhoto_OnExeCaptureStart(obj);
break; break;
} }

View File

@ -2304,16 +2304,29 @@ void sf_power_on_para_check_init(void)
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
UINT8 PowerOnMode = sf_cardv_convert_power_on_mode(); UINT8 PowerOnMode = sf_cardv_convert_power_on_mode();
if(((PowerOnMode == PWR_ON_AUTO) || (PowerOnMode == PWR_OFF) || (PowerOnMode == PWR_ON_SETUP))) if(((PowerOnMode == PWR_ON_AUTO) || (PowerOnMode == PWR_OFF) || (PowerOnMode == PWR_ON_SETUP)))
{ {
if(1 == puiPara->NeedTimeSyncStartUp){ if(1 == puiPara->NeedTimeSyncStartUp){
puiPara->NeedTimeSyncStartUp = 0; puiPara->NeedTimeSyncStartUp = 0;
} }
if(0 == puiPara->NetWorkNeedSearch){ if(0 == puiPara->NetWorkNeedSearch){
puiPara->NetWorkNeedSearch = 1; puiPara->NetWorkNeedSearch = 1;
} }
memset(puiPara->SimIccid,'\0',sizeof(puiPara->SimIccid)); 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); printf("PowerOnMode=%d NeedTimeSyncStartUp=%d NetWorkNeedSearch:%d\n", PowerOnMode, puiPara->NeedTimeSyncStartUp, puiPara->NetWorkNeedSearch);
if(puiPara->Multishot != SysGetFlag(FL_CONTINUE_SHOT)) 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)) if(puiPara->VideoSize != SysGetFlag(FL_MOVIE_SIZE))
{ {
SysSetFlag(FL_MOVIE_SIZE, puiPara->VideoSize); SysSetFlag(FL_MOVIE_SIZE, puiPara->VideoSize);
SysSetFlag(FL_MOVIE_SIZE_MENU, puiPara->VideoSize);
} }
if(puiPara->ImgSize != SysGetFlag(FL_PHOTO_SIZE)) if(puiPara->ImgSize != SysGetFlag(FL_PHOTO_SIZE))

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

@ -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)); 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(); 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 SF_IQ_TEST != ENABLE
if((0 == isUpdate)) if((0 == isUpdate))

View File

@ -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); printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
if (storeattrs.SDFree < 30) /* 30MB */ 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 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()); sf_statistics_param_load(sf_statistics_param_get());
MLOGI("card-%d mount OK\r\n", pMessageBuf->arg2 + 1); MLOGI("card-%d mount OK\r\n", pMessageBuf->arg2 + 1);

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

@ -682,13 +682,13 @@ SINT32 app_system_poweroff(SF_POWEROFF_TYPE_E enType )
//if((puiPara->DebugMode) || (puiPara->QLogSwitch)){ //if((puiPara->DebugMode) || (puiPara->QLogSwitch)){
// sync(); // sync();
//} //}
if(SF_MCU_STARTUP_ONKEY != sf_poweron_type_get()) //if(SF_MCU_STARTUP_ONKEY != sf_poweron_type_get())
sync(); system("sync");
//MLOGD("s\n"); //MLOGD("s\n");
sf_mcu_reg_set(SF_MCU_POWEROFF,sf_poweroff_type_get()); sf_mcu_reg_set(SF_MCU_POWEROFF,sf_poweroff_type_get());
if(SF_MCU_STARTUP_ONKEY != sf_poweron_type_get()) //if(SF_MCU_STARTUP_ONKEY != sf_poweron_type_get())
sync(); system("sync");
/* /*
SF_STORE_ATTR_S storeattrs = {0}; SF_STORE_ATTR_S storeattrs = {0};
SF_STARTUP_TYPE_E startup = SF_MCU_STARTUP_ONKEY; 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()); sf_sys_poweroff(sf_poweroff_type_get());
*/ */
return SF_SUCCESS; return SF_SUCCESS;
} }
SINT32 app_http_time_by_timezone_set(void) SINT32 app_http_time_by_timezone_set(void)
{ {

View File

@ -395,7 +395,6 @@ void* sf_led_thread(void *arg)
printf("[%s:%d] s\n", __FUNCTION__, __LINE__); printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
while(isLedExit) while(isLedExit)
{ {
for(i = 0; i < SF_LED_ALL; i++) for(i = 0; i < SF_LED_ALL; i++)
{ {
if(isUsbIn) if(isUsbIn)
@ -423,11 +422,11 @@ void* sf_led_thread(void *arg)
{ {
sf_led_off(LedInfo[i].ledId); 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); 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); sf_led_off(LedInfo[i].ledId);
LedInfo[i].times = 0; LedInfo[i].times = 0;
@ -466,11 +465,11 @@ void* sf_led_thread(void *arg)
{ {
sf_led_off(LedInfo[i].ledId); 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); 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); sf_led_off(LedInfo[i].ledId);
LedInfo[i].times = 0; LedInfo[i].times = 0;
@ -493,11 +492,11 @@ void* sf_led_thread(void *arg)
{ {
sf_led_on(LedInfo[i].ledId); 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); 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); sf_led_on(LedInfo[i].ledId);
LedInfo[i].times = 0; LedInfo[i].times = 0;
@ -510,11 +509,11 @@ void* sf_led_thread(void *arg)
{ {
sf_led_on(LedInfo[i].ledId); 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); 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); sf_led_on(LedInfo[i].ledId);
LedInfo[i].times = 0; LedInfo[i].times = 0;
@ -523,7 +522,7 @@ void* sf_led_thread(void *arg)
} }
#endif #endif
} }
sf_sleep_ms(10); sf_sleep_ms(40);
} }
printf("[%s:%d] e \n", __FUNCTION__, __LINE__); printf("[%s:%d] e \n", __FUNCTION__, __LINE__);

View File

@ -320,11 +320,14 @@ U8 sf_DataMapSet(U32 key, U8 function, S8 *fileName, U32 FileSize)
MLOGI(" key:%d,fileName:%s\n",key,fileName); MLOGI(" key:%d,fileName:%s\n",key,fileName);
if(fileName == NULL) if(fileName == NULL){
MLOGE("CMD_ERR error!\n");
return CMD_ERR; return CMD_ERR;
}
if(pClient == NULL) if(pClient == NULL)
{ {
MLOGE("pClient == NULL error!\n");
return DATA_CMD_8855_NO_CONNECT; return DATA_CMD_8855_NO_CONNECT;
} }
@ -352,9 +355,10 @@ U8 sf_DataMapSet(U32 key, U8 function, S8 *fileName, U32 FileSize)
if(function) if(function)
{ {
memcpy((char *)&pClient->map.fileName[0], (char *)fileName,strlen((char *)fileName)); 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.fileName[strlen(fileName)+1]=0;
pClient->map.fileSize = FileSize; 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 else
{ {
@ -459,7 +463,7 @@ void *sf_DataSvrTransferThread(void *addr)
if(pClient->map.function != 3) 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)); //printf("socket=%d,key=%d,C_port=%d\n",pClient->socket,pClient->map.key,ntohs(pClient->ClientAddr.sin_port));
} }
//pClient->map.fileName[47]=0; //pClient->map.fileName[47]=0;
@ -467,6 +471,7 @@ void *sf_DataSvrTransferThread(void *addr)
//send(pClient->socket, tmpbuf, 100); //send(pClient->socket, tmpbuf, 100);
if(pClient->map.function == 0 || poweroff_mode) //stop 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); sf_DataMapClear(pClient);
if(poweroff_mode) if(poweroff_mode)
{ {

View File

@ -25,6 +25,7 @@
//#include "sf_syslib.h" //#include "sf_syslib.h"
//#include "sf_para.h" //#include "sf_para.h"
#include "sf_param_common.h"
#include "sf_wifi_svr.h" #include "sf_wifi_svr.h"
#include "sf_data_transfer.h" #include "sf_data_transfer.h"
#include "sf_svr_send.h" #include "sf_svr_send.h"
@ -55,6 +56,7 @@
#include "Mode/UIModePhoto.h" #include "Mode/UIModePhoto.h"
#include "Mode/UIModeMovie.h" #include "Mode/UIModeMovie.h"
#include "sf_log.h" #include "sf_log.h"
#include "DCF.h"
#if SF_LPA_SDK #if SF_LPA_SDK
#include "lpasdk/api/lpasdk_api.h" #include "lpasdk/api/lpasdk_api.h"
#include "sf_4g_lpa.h" #include "sf_4g_lpa.h"
@ -85,6 +87,8 @@
#define SF_WIFI_NETDEV_NAME "ap0" #define SF_WIFI_NETDEV_NAME "ap0"
#define SF_WIFI_NETDEV_8189_NAME "wlan0" #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 * * D A T A T Y P E S *
**************************************************************************/ **************************************************************************/
@ -123,8 +127,8 @@ SINT8 gApPasswd[MAX_PASSWORD_LEN]= {"abc.1234"};
pthread_mutex_t gAppSvrMutex; pthread_mutex_t gAppSvrMutex;
UINT32 gDevFileListNums = 0,gDevDirListNums = 0; UINT32 gDevFileListNums = 0,gDevDirListNums = 0;
MSG_DEV_THUMB_LIST_Get_Data_Rsp_T gDevFileList[9999]; MSG_DEV_THUMB_LIST_Get_Data_Rsp_T gDevFileList[FILE_LIST_NUM_MAX];
MSG_DEV_THUMB_DIR_LIST_T gDevDirList[999]; MSG_DEV_THUMB_DIR_LIST_T gDevDirList[MAX_DCF_DIR_NUM+1];
UINT16 CurrentWifiCmd = 0; UINT16 CurrentWifiCmd = 0;
@ -547,10 +551,13 @@ void appsvr_getFileList(UINT8 *dirPath, UINT8 *startFileKey)
// printf("[appsvr_getFileList]open \n",nFileNums,idx); // 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, idx:%d, %s %d\n",nFileNums,idx,fname,gDevFileListNums);
// printf("[appsvr_getFileList]nFileNums:%d, %d\n",nFileNums,gDevFileListNums); // printf("[appsvr_getFileList]nFileNums:%d, %d\n",nFileNums,gDevFileListNums);
strcpy((char *)gDevFileList[nFileNums + gDevFileListNums].fileNameString, (char *)ptr->d_name); if(strstr((char *)ptr->d_name, SF_DCF_EXT_MOV) || strstr((char *)ptr->d_name, SF_DCF_EXT_PHOTO))
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); strcpy((char *)gDevFileList[nFileNums + gDevFileListNums].fileNameString, (char *)ptr->d_name);
nFileNums ++ ; 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); //printf("[appsvr_getFileList]%d,%s\n",nFileNums - idx, gDevFileList[nFileNums - idx].fileName);
} }
#else #else
@ -611,6 +618,10 @@ void appsvr_getDirList(UINT8* dirPath, UINT8 *startDirKey)
{ {
continue; continue;
} }
if(((nFileNums) > MAX_DCF_DIR_NUM))
{
break;
}
} }
gDevDirListNums = nFileNums; gDevDirListNums = nFileNums;
@ -669,11 +680,11 @@ UINT8 appCmpFileList(void)
void appCreatThumbList(S8 *fileName)//start file name example: 10010032.JPG void appCreatThumbList(S8 *fileName)//start file name example: 10010032.JPG
{ {
UINT16 i = 0; //UINT16 i = 0;
UINT8 dirPath[50] = {0}; UINT8 dirPath[50] = {0};
UINT8 startDirKey[5] = {0}; UINT8 startDirKey[5] = {0};
UINT8 startFileKey[5] = {0}; UINT8 startFileKey[5] = {0};
UINT8 temp[5] = {0}; //UINT8 temp[5] = {0};
MLOGI("fileName:%s\n",fileName); MLOGI("fileName:%s\n",fileName);
@ -684,10 +695,10 @@ void appCreatThumbList(S8 *fileName)//start file name example: 10010032.JPG
} }
else else
{ {
// startDirKey[0] = '\0'; startDirKey[0] = '\0';
// startFileKey[0] = '\0'; startFileKey[0] = '\0';
strncpy((char *)startDirKey, "100", 3); //strncpy((char *)startDirKey, "100", 3);
strncpy((char *)startFileKey, "0001", 4); //strncpy((char *)startFileKey, "0001", 4);
} }
memset(gDevFileList, 0, sizeof(gDevFileList)); memset(gDevFileList, 0, sizeof(gDevFileList));
@ -695,18 +706,20 @@ void appCreatThumbList(S8 *fileName)//start file name example: 10010032.JPG
//printf("get dir s\n"); //printf("get dir s\n");
sprintf((char *)dirPath, "%s/", THUMB_PATH); sprintf((char *)dirPath, "%s/", THUMB_PATH);
appsvr_getFileList(dirPath, startFileKey);
// appsvr_getDirList(dirPath, startDirKey); // appsvr_getDirList(dirPath, startDirKey);
// printf("get dir e\n"); // printf("get dir e\n");
// strcpy((char *)gDevDirList[0].dirName, dirPath); // strcpy((char *)gDevDirList[0].dirName, dirPath);
/*
// while((gDevDirList[i].dirName[0] != '\0') && (i <= DCF_DIR_NUM_MAX)) // while((gDevDirList[i].dirName[0] != '\0') && (i <= DCF_DIR_NUM_MAX))
{ {
MLOGI("i=%d,dir:%s\n", i, gDevDirList[i].dirName); MLOGI("i=%d,dir:%s\n", i, gDevDirList[i].dirName);
// printf("get file s\n"); // printf("get file s\n");
sprintf((char *)dirPath, "%s/%s", THUMB_PATH, gDevDirList[i].dirName); sprintf((char *)dirPath, "%s/%s", THUMB_PATH, gDevDirList[i].dirName);
if(strcmp((char *)gDevDirList[i].dirName, (char *)startDirKey) == 0) if(strcmp((char *)gDevDirList[i].dirName, (char *)startDirKey) == 0)
{ {
appsvr_getFileList(dirPath, startFileKey); appsvr_getFileList(dirPath, startFileKey);
@ -719,7 +732,7 @@ void appCreatThumbList(S8 *fileName)//start file name example: 10010032.JPG
i++; i++;
} }
*/
//appsvr_getFileList(dirPath, startDirKey); //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)) if(puiPara->VideoSize != SysGetFlag(FL_MOVIE_SIZE))
{ {
SysSetFlag(FL_MOVIE_SIZE, puiPara->VideoSize); SysSetFlag(FL_MOVIE_SIZE, puiPara->VideoSize);
SysSetFlag(FL_MOVIE_SIZE_MENU, puiPara->VideoSize);
} }
//forbuild appMediaAttrUpdate(puiPara.VideoSize); //forbuild appMediaAttrUpdate(puiPara.VideoSize);
//sf_set_video_size(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.filePath[13]=0;
msgParse.msgBuf.rctrlFileTransferInfo.type = (tempbuf[0] == 'W' ? 0 : (tempbuf[0] == 'S' ? 1 : 1)); 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 if(function == 2)//download
{ {
fileFd = open((char *)fileName, O_RDONLY); 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 else if(function == 1)//upload
{ {
sf_sleep_ms(1000);
fSize = ntohl(pMsgStruct->msgBuf.ctrlFileTransfer.fileSize); fSize = ntohl(pMsgStruct->msgBuf.ctrlFileTransfer.fileSize);
ret = sf_DataMapSet(keyMap, function, fileName, fSize); ret = sf_DataMapSet(keyMap, function, fileName, fSize);
} }
@ -2420,7 +2435,7 @@ void *sf_server_accept_thread(void *pData)
} }
else if ( ret == 0 ) else if ( ret == 0 )
{ {
usleep(1*1000); /* ms */ usleep(200*1000); /* ms */
} }
else else
{ {

View File

@ -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_ftp(unsigned char argc, char **argv);
BOOL sf_cmd_ftps(unsigned char argc, char **argv); BOOL sf_cmd_ftps(unsigned char argc, char **argv);
UINT32 sf_cardv_cap_start(void); UINT32 sf_cardv_cap_start(void);
UINT32 sf_cardv_hd_cap_start(void);
#endif #endif

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;
@ -428,8 +433,27 @@ BOOL sf_cmd_video_size(unsigned char argc, char **argv)
if(value < MOVIE_SIZE_ID_MAX){ if(value < MOVIE_SIZE_ID_MAX){
puiPara->VideoSize = value; puiPara->VideoSize = value;
SysSetFlag(FL_MOVIE_SIZE, value); SysSetFlag(FL_MOVIE_SIZE, value);
//SysSetFlag(FL_MOVIE_SIZE_MENU, value); SysSetFlag(FL_MOVIE_SIZE_MENU, value);
Save_MenuInfo(); 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)); printf("[%s:%d] FL_MOVIE_SIZE:%d\n", __FUNCTION__, __LINE__,SysGetFlag(FL_MOVIE_SIZE));
return TRUE; 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) 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);
@ -1613,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;
@ -2446,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;
} }

View File

@ -947,7 +947,7 @@
#define HUNTING_MCU_UART ENABLE #define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 DISABLE #define HUNTING_IR_LED_940 DISABLE
#define SF_EXIF_MN_BUF_SIZE 256 #define SF_EXIF_MN_BUF_SIZE 256
#define SF_BASE_VERSION "7MD4RCwD6T7" #define SF_BASE_VERSION "7MD4RCwD6T8"
#define HW_S530 1 #define HW_S530 1
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
#define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */ #define DCF_FILE_NAME "SYFW" /* SYFW0001.JPG */

View File

@ -432,6 +432,7 @@ void PhotoFastCapDateImprint_InitBuff(void)
// else{ // else{
// size = stamp_img.buff_size.output_buffer_size; // 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; size = stamp_text.buff_size.output_buffer_size;
ret = hd_common_mem_alloc("stamp_pri", &pa, (void **)&va, size, ddr_id); ret = hd_common_mem_alloc("stamp_pri", &pa, (void **)&va, size, ddr_id);

View File

@ -1705,6 +1705,7 @@ void sf_power_on_para_check_init(void)
if(puiPara->VideoSize != SysGetFlag(FL_MOVIE_SIZE)) if(puiPara->VideoSize != SysGetFlag(FL_MOVIE_SIZE))
{ {
SysSetFlag(FL_MOVIE_SIZE, puiPara->VideoSize); SysSetFlag(FL_MOVIE_SIZE, puiPara->VideoSize);
SysSetFlag(FL_MOVIE_SIZE_MENU, puiPara->VideoSize);
} }
if(puiPara->ImgSize != SysGetFlag(FL_PHOTO_SIZE)) if(puiPara->ImgSize != SysGetFlag(FL_PHOTO_SIZE))

View File

@ -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_set(SF_SRCFILE_ATTR_S *pThumbFileCfgl);
void sf_file_thumb_cfg_clear(void); void sf_file_thumb_cfg_clear(void);
void sf_file_thumb_cfg_sava(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); UINT8 sf_mcu_power_on_para_get(MCUParam_t attrId);
void sf_mcu_flag_init(void); void sf_mcu_flag_init(void);
void sf_mcu_flag_set_done(MCU_FLAG_INIT boot_init); void sf_mcu_flag_set_done(MCU_FLAG_INIT boot_init);

View File

@ -1565,10 +1565,11 @@ void sf_BatteryInfoSave(char *name)
UINT32 batAdc = 0; UINT32 batAdc = 0;
//char fileName[64] = {0}; //char fileName[64] = {0};
int fd = 0; FST_FILE fd = 0;
struct stat st; //struct stat st;
UINT32 size = 0;
tmpBuf = malloc(512); INT32 ret_fs = 0;
tmpBuf = malloc(100);
if (tmpBuf == NULL) { if (tmpBuf == NULL) {
printf("%s:%d tmpBuf malloc err\n", __FUNCTION__, __LINE__); 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); //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); printf("fileName:%s\n",SF_BATTERY_TEST_FILE);
fd = open(SF_BATTERY_TEST_FILE, O_APPEND | O_WRONLY); fd = open(SF_BATTERY_TEST_FILE, O_APPEND | O_WRONLY);
} }
else { else {
fd = open(SF_BATTERY_TEST_FILE, O_APPEND | O_WRONLY | O_CREAT); 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); LibatAdc = sf_battery_convert_to_adc(24, 100, LiPolymerVoltageValTest);
batAdc = sf_battery_convert_to_adc(15, 100, BatVoltageValTest); 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); 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) if(fd)
{ {
fstat(fd, &st); /*fstat(fd, &st);
lseek(fd, 0, SEEK_END); lseek(fd, 0, SEEK_END);
write(fd, tmpBuf, strlen(tmpBuf)); write(fd, tmpBuf, strlen(tmpBuf));
close(fd); close(fd);
printf("Add Success st_size:%ld\n", st.st_size); 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); free(tmpBuf);
} }

View File

@ -2157,13 +2157,60 @@ void sf_file_thumb_cfg_sava(void)
UIMenuStoreInfo *puiPara = sf_ui_para_get(); UIMenuStoreInfo *puiPara = sf_ui_para_get();
if (pThumbFileCfg != NULL) { if (pThumbFileCfg != NULL) {
for(fileIndex = 0; fileIndex < pThumbFileCfg->filecnt; fileIndex++)
{ char sendListName[64] = {0};
if((0 == fileIndex) || ((1 == puiPara->SendMulti))){ FST_FILE fs = 0;
sf_add_file_name_to_send_list(pThumbFileCfg->stfileattr[fileIndex].thumbfileName); //char buff[SF_SEND_LIST_ITEM_LENGTH+1] = {0};
printf("%s:%d thumbfileSize:%ld thumbfileName:%s thumbfilePath:%s\n", __FUNCTION__, __LINE__,pThumbFileCfg->stfileattr[fileIndex].thumbfileSize,pThumbFileCfg->stfileattr[fileIndex].thumbfileName,pThumbFileCfg->stfileattr[fileIndex].thumbfilePath); 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); //printf("%s:%d e Size:%ld\n", __FUNCTION__, __LINE__,pThumbFileCfg->stfileattr[fileIndex].thumbfileSize);
free(pThumbFileCfg); free(pThumbFileCfg);
} }
@ -2177,61 +2224,39 @@ void sf_file_thumb_cfg_sava(void)
Return: N/A Return: N/A
Others: 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}; char buff[SF_SEND_LIST_ITEM_LENGTH+1] = {0};
int fd = 0; //struct stat st;
static int flag = 0; UINT32 size = 0;
struct stat st; INT32 ret_fs = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get(); 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 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__); printf("%s:%d AddFileNameToSenddist fail: send file name format error\n", __FUNCTION__, __LINE__);
return; 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) if(fd)
{ {
fstat(fd, &st); //fstat(fd, &st);
lseek(fd, 0, SEEK_END); //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); 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); //printf("Add Success st_size:%ld\n", st.st_size);
} }
#if SF_BATTERY_TEST == ENABLE #if SF_BATTERY_TEST == ENABLE
@ -2291,8 +2316,10 @@ void sf_hw_info_save(char *name)
//UINT32 batAdc = 0; //UINT32 batAdc = 0;
//char fileName[64] = {0}; //char fileName[64] = {0};
int fd = 0; FST_FILE fd = 0;
//struct stat st; //struct stat st;
UINT32 size = 0;
INT32 ret_fs = 0;
struct tm drRtcTime; struct tm drRtcTime;
@ -2300,7 +2327,7 @@ void sf_hw_info_save(char *name)
char datestr[30] = { 0 }; char datestr[30] = { 0 };
tmpBuf = malloc(512); tmpBuf = malloc(100);
if (tmpBuf == NULL) { if (tmpBuf == NULL) {
printf("%s:%d tmpBuf malloc err\n", __FUNCTION__, __LINE__); 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); //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); printf("fileName:%s\n",SF_HW_TEST_FILE);
fd = open(SF_HW_TEST_FILE, O_APPEND | O_WRONLY); fd = open(SF_HW_TEST_FILE, O_APPEND | O_WRONLY);
} }
else { else {
fd = open(SF_HW_TEST_FILE, O_APPEND | O_WRONLY | O_CREAT); 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); 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) if(fd)
{ {
//fstat(fd, &st); //fstat(fd, &st);
lseek(fd, 0, SEEK_END); /*lseek(fd, 0, SEEK_END);
write(fd, tmpBuf, strlen(tmpBuf)); write(fd, tmpBuf, strlen(tmpBuf));
close(fd); close(fd);*/
//printf("Add Success st_size:%ld\n", st.st_size); //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); free(tmpBuf);
} }