Merge branch 'Branch_S550_Fast_Emmc' of 192.168.6.216:linux-em-group/s530-ntk into S550_Base

This commit is contained in:
xiehongyan 2024-01-17 13:45:37 +08:00
commit 79a983571c
14 changed files with 137 additions and 70 deletions

View File

@ -130,18 +130,14 @@ static UINT32 SF_StrgSpaceCheckFull(MMC_DEV_TYPE mmc_dev)
}
#endif
/*check disk free size*/
if(mmc_dev == MMC_DEV_SD)
{
if(sf_in_card_exist())
if((mmc_dev == MMC_DEV_SD) && (sf_in_card_exist() == TRUE))
{
diskFree = FileSys_GetDiskInfoEx('A', FST_INFO_FREE_SPACE);
}
}
else
else if((mmc_dev == MMC_DEV_EMMC) && (sf_in_emmc_exist()))
{
diskFree = FileSys_GetDiskInfoEx('B', FST_INFO_FREE_SPACE);
}
diskFree = diskFree/1024/1024;
if(diskFree < MIN_DISK_FREE_SIZE_MB) /* 30MB */

View File

@ -721,14 +721,11 @@ UINT32 PhotoExe_GetFreePicNum(void)
//uiFreeSpace = FileSys_GetDiskInfo(FST_INFO_FREE_SPACE);
#if USE_MMC_DEV_CHECK
if(mmc_dev->dev_type == MMC_DEV_SD)
{
if(sf_in_card_exist() == TRUE)
if((mmc_dev->dev_type == MMC_DEV_SD) && (sf_in_card_exist() == TRUE))
{
uiFreeSpace = FileSys_GetDiskInfoEx('A', FST_INFO_FREE_SPACE);
}
}
else if(mmc_dev->dev_type == MMC_DEV_EMMC)
else if((mmc_dev->dev_type == MMC_DEV_EMMC) && (sf_in_emmc_exist()))
{
uiFreeSpace = FileSys_GetDiskInfoEx('B', FST_INFO_FREE_SPACE);
}
@ -792,14 +789,11 @@ UINT32 PhotoExe_GetTotalPicNum(void)
#if USE_MMC_DEV_CHECK
if(mmc_dev->dev_type == MMC_DEV_SD)
{
if(sf_in_card_exist() == TRUE)
if((mmc_dev->dev_type == MMC_DEV_SD) && (sf_in_card_exist() == TRUE))
{
uiSpace = FileSys_GetDiskInfoEx('A', FST_INFO_DISK_SIZE);
}
}
else if(mmc_dev->dev_type == MMC_DEV_EMMC)
else if((mmc_dev->dev_type == MMC_DEV_EMMC) && (sf_in_emmc_exist()))
{
uiSpace = FileSys_GetDiskInfoEx('B', FST_INFO_DISK_SIZE);
}

View File

@ -740,8 +740,8 @@ static void update_sd_emmc_status(void)
UINT64 diskSizeSd = 0;
UINT64 diskFreeSd = 0;
UINT64 diskSizeEmmc = FileSys_GetDiskInfoEx('B', FST_INFO_DISK_SIZE);
UINT64 diskFreeEmmc = FileSys_GetDiskInfoEx('B', FST_INFO_FREE_SPACE);
UINT64 diskSizeEmmc = 0;
UINT64 diskFreeEmmc = 0;
char * textLabel;
char * textLabelError;
UINT16 idLeft;
@ -749,7 +749,11 @@ static void update_sd_emmc_status(void)
BOOL setWarning = false;
BOOL showError = true;
if(sf_in_emmc_exist())
{
diskSizeEmmc = FileSys_GetDiskInfoEx('B', FST_INFO_DISK_SIZE);
diskFreeEmmc = FileSys_GetDiskInfoEx('B', FST_INFO_FREE_SPACE);
}
lv_obj_set_hidden(label_7_scr_uiflowphoto, showError);
//lv_obj_set_pos(label_7_scr_uiflowphoto, 65, 171);
lv_label_set_text(label_7_scr_uiflowphoto, "");
@ -805,8 +809,12 @@ static void update_sd_emmc_status(void)
}
else{
if(sf_in_card_exist() == TRUE)
{
diskSizeSd = FileSys_GetDiskInfoEx('A', FST_INFO_DISK_SIZE);
diskFreeSd = FileSys_GetDiskInfoEx('A', FST_INFO_FREE_SPACE);
}
//printf("[%s]sd card disk size: %lld,free size: %lld\n", __FUNCTION__, diskSizeSd, diskFreeSd);
//printf("[%s]emmc card disk size: %lld,free size: %lld\n", __FUNCTION__, diskSizeEmmc, diskFreeEmmc);

View File

@ -47,6 +47,8 @@ SINT32 app_led_pin_init(void);
SINT32 sf_in_card_exist(void);
SINT32 sf_in_emmc_exist(void);
SINT32 sf_is_card_full(void);
void sf_set_card_full(SINT32 vol);

View File

@ -91,6 +91,7 @@ MMC_DEV_TYPE sf_get_strg_dev(void);
char *sf_root_path_strcat(char *path_name);
char *sf_get_root_path(void);
SINT32 sf_activity_info_get(SF_STORE_ATTR_S *pstoreattrs);
SINT32 sf_sd_info_get(SF_STORE_ATTR_S *pstoreattrs);
SINT32 sf_emmc_info_get(SF_STORE_ATTR_S *pstoreattrs);
SINT32 sf_sd_remove_file(const char *path,SINT32 threshold) ;

View File

@ -3168,7 +3168,7 @@ SINT32 sf_mem_send_file_to_ftp(void)
printf("netGeneration:%dG,tempPicSize=%d,piccount=%d,pic=%d\n", sf_get_net_generation(), tempPicSize, piccount, pic);
sprintf((char *)ftpFileName, "%sN-E1000001.JPG", cameraID);
sprintf((char *)filePath, "UFS:MEMPHOTO.JPG");
sprintf((char *)filePath, "/tmp/MEMPHOTO.JPG");
printf("%s:%d ftpFileName:%s filePath:%s \n", __FUNCTION__, __LINE__, ftpFileName, filePath);
@ -3177,7 +3177,14 @@ SINT32 sf_mem_send_file_to_ftp(void)
gprsMode = 0;//puiPara->GprsMode;
printf("[%s:%d] ssl:%d,GprsMode:%d\n", __FUNCTION__, __LINE__, ssl, gprsMode);
ret1 = sf_ftp_config(ssl, gprsMode, timeout);
if(SF_SUCCESS == ret1)
{
ret1 = sf_ftp_send(ftpFileName, filePath, timeout);
}
/*
else {
ret1 = sf_mem_ftp_config(ssl, gprsMode, timeout);
if(SF_SUCCESS == ret1)
@ -3189,6 +3196,8 @@ SINT32 sf_mem_send_file_to_ftp(void)
{
ret2 = sf_mem_ftp_stop(ssl, gprsMode);
}
}*/
MLOGD(" end ret1:[0x%08X],ret2:[0x%08X]\n", ret1, ret2);

View File

@ -2676,9 +2676,8 @@ SINT32 sf_power_off_check_sd(void)
{
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
SF_STORE_ATTR_S storeattrs = {0};
MMC_DEV_TYPE mmc_dev = MMC_DEV_NO;
SF_STORE_ATTR_S SDstoreattrs = {0};
mmc_dev = sf_get_strg_dev();
/******************** SD cycle *************************/
if((0 == sf_check_sd()) || (sf_get_mode_flag() == 1))
{
@ -2692,10 +2691,10 @@ SINT32 sf_power_off_check_sd(void)
/*check disk free size*/
sf_emmc_info_get(&storeattrs);
sf_sd_info_get(&SDstoreattrs);
if((puiPara->SdLoopSwitch) && (!sf_get_mode_flag()))
{
if((storeattrs.SDStatus == 0) & (storeattrs.SDFree < SDLOOP_REMAIN_SPACE))
if((storeattrs.SDStatus == 0) & (storeattrs.SDFree < SDLOOP_REMAIN_SPACE) && (SDstoreattrs.SDFree < 30))
{
// sf_sd_loopremove(SF_DCIM_DIR);
sf_app_sd_loop();
@ -2704,29 +2703,14 @@ SINT32 sf_power_off_check_sd(void)
}
}
printf("Emmc free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
if(mmc_dev != MMC_DEV_EMMC)
{
sf_sd_info_get(&storeattrs);
printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
if(storeattrs.SDFree < 30) /* 30MB */
printf("SD free=%dM/%dM\n", SDstoreattrs.SDFree, SDstoreattrs.SDTotalSize);
if((SDstoreattrs.SDFree < 30) && (storeattrs.SDFree < 30)) /* 30MB */
{
sf_set_card_full(1);
puiPara->SdFailCount++;
sf_sleep_ms(100);
}
}
else if(storeattrs.SDFree < 30) /* 30MB */
{
if(puiPara->SdLoopSwitch == 0)
{
sf_set_card_full(1);
puiPara->SdFailCount++;
sf_sleep_ms(100);
}
if(mmc_dev == MMC_DEV_EMMC)
{
printf("eMMC is FULL!\n");
}
printf("card is FULL!\n");
}
else
{

View File

@ -616,7 +616,7 @@ static SINT32 sfStrgDevOnActionMount(int dev_id, int result)
if(SF_MCU_STARTUP_ONKEY == startup)
{
SF_STORE_ATTR_S storeattrs = {0};
sf_sd_info_get(&storeattrs);
sf_activity_info_get(&storeattrs);
printf("SD free=%dM/%dM\n", storeattrs.SDFree, storeattrs.SDTotalSize);
if (storeattrs.SDFree < 30) /* 30MB */
{

View File

@ -531,6 +531,13 @@ SINT32 sf_in_card_exist(void)
return (regValue & 0xFF) ? 0:1;
}
SINT32 sf_in_emmc_exist(void)
{
if (access("/dev/mmcblk1p1", F_OK) == SUCCESS) {
return 1;
}
return 0;
}
SINT32 sf_is_card_full(void)
{
@ -539,8 +546,16 @@ SINT32 sf_is_card_full(void)
void sf_set_card_full(SINT32 vol)
{
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
if((0 == puiPara->SendType) && (!sf_get_mode_flag()))
{
MLOGW("The memory sending function has been enabled, but the identification is not effective. IsCardFull:%d\n",vol);
IsCardFull = 0;
}
else {
IsCardFull = vol;
}
}
SINT32 sf_is_card(void)
{

View File

@ -2429,11 +2429,11 @@ int sf_check_sd(void)
{
UINT8 i = 0;
int ret = SF_SUCCESS;
// if(0 == sf_in_card_exist())
// {
// NET_SLOGE("NO SD\r\n");
// return SF_FAILURE;
// }
if(0 == sf_in_card_exist() && (0 == sf_in_emmc_exist()))
{
NET_SLOGE("NO SD\r\n");
return SF_FAILURE;
}
if (sf_sd_status_get() != SF_SD_OK) {
ret = SF_FAILURE;
for (i = 0; i < 20; i++)

View File

@ -1924,7 +1924,7 @@ SINT32 sf_mem_upload_file_to_module(UINT32 MemPhotoAddr, UINT32 MemPhotosize)
sf_test_uploadFsize = 0;
ret = sf_hal_ttyusb2_write((SF_CHAR *)MemPhotoAddr, MemPhotosize);
if(ret != SF_FAILURE)
if(ret != (SINT32)MemPhotosize)
{
printf("[%s:%d]Upload data error\n", __FUNCTION__, __LINE__);
}
@ -1976,11 +1976,24 @@ UINT32 MemPhotoAddr , MemPhotosize;
SINT32 sf_usr_mem_photo_ch(void)
{
SYS_USRMEM usrmem = {0};
UINT32 fd = 0;
if(sys_usrmem_init(&usrmem) == 0){
if(sys_usrmem_read_photo(&usrmem, &MemPhotoAddr, &MemPhotosize) == 0){
SLOGI("photo address %lx, size %lx", MemPhotoAddr, MemPhotosize);
return sf_mem_upload_file_to_module(MemPhotoAddr, MemPhotosize);
fd = open("/tmp/MEMPHOTO.JPG", O_WRONLY | O_CREAT);
if(fd)
{
lseek(fd, 0, SEEK_END);
write(fd, MemPhotoAddr, MemPhotosize);
close(fd);
system("sync");
return 0;
}
else {
return 1;//sf_mem_upload_file_to_module(MemPhotoAddr, MemPhotosize);
}
}
else{
SLOGE("read photo failed\n");

View File

@ -152,7 +152,7 @@ char *sf_root_path_strcat(char *path_name)
return tmp;
}
SINT32 sf_sd_info_get(SF_STORE_ATTR_S *pstoreattrs)
SINT32 sf_activity_info_get(SF_STORE_ATTR_S *pstoreattrs)
{
SF_COMM_CHECK_POINTER(pstoreattrs,SF_FAILURE);
@ -195,6 +195,44 @@ SINT32 sf_sd_info_get(SF_STORE_ATTR_S *pstoreattrs)
return SF_FAILURE;
}
MLOGD("ActiveStorage:Status = %d,Free = %d MB,TotalSize = %d MB\n", pstoreattrs->SDStatus, pstoreattrs->SDFree,pstoreattrs->SDTotalSize);
return SF_SUCCESS;
}
SINT32 sf_sd_info_get(SF_STORE_ATTR_S *pstoreattrs)
{
SF_COMM_CHECK_POINTER(pstoreattrs,SF_FAILURE);
SINT32 fd = -1;
fd = open(SF_SD_ROOT, O_RDONLY,0);
if(fd >= 0)
{
struct statfs diskInfo;
statfs(SF_SD_ROOT, &diskInfo);
if(diskInfo.f_bsize > 1024)
{
pstoreattrs->SDTotalSize = (diskInfo.f_blocks * (diskInfo.f_bsize >> 10)) >> 10 ; //blocks * 4096 / 1024 /1024 = MB
pstoreattrs->SDFree = (diskInfo.f_bavail * (diskInfo.f_bsize >> 10)) >> 10 ;
}
else
{
pstoreattrs->SDTotalSize = (diskInfo.f_blocks * diskInfo.f_bsize) >> 10 ; //blocks * 4096 / 1024 /1024 = MB
pstoreattrs->SDFree = (diskInfo.f_bavail * diskInfo.f_bsize) >> 10 ;
}
close(fd);
if(pstoreattrs->SDTotalSize > 0)
pstoreattrs->SDStatus = 0; //SD card SUCESS
else
pstoreattrs->SDStatus = 2; //SD card ERROR
}
else
{
pstoreattrs->SDStatus = 1; //SD card not insert
pstoreattrs->SDFree = 0;
pstoreattrs->SDTotalSize = 0;
return SF_FAILURE;
}
MLOGD("SDStatus = %d,SDFree = %d MB,SDTotalSize = %d MB\n", pstoreattrs->SDStatus, pstoreattrs->SDFree,pstoreattrs->SDTotalSize);
return SF_SUCCESS;
}

View File

@ -16,7 +16,7 @@ typedef BOOL (*SF_CALLBACK_SD_CMD)(void);
void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB);
BOOL sf_in_card_exist(void);
SINT32 sf_in_emmc_exist(void);
void sf_set_card_statu(UINT32 val);
UINT32 sf_get_card_statu(void);

View File

@ -68,6 +68,13 @@ BOOL sf_in_card_exist(void)
}
SINT32 sf_in_emmc_exist(void)
{
if (access("/dev/mmcblk1p1", F_OK) == SUCCESS) {
return 1;
}
return 0;
}
void sf_set_card_statu(UINT32 val)
{
formatSD = val;