Compare commits

...

7 Commits

Author SHA1 Message Date
payton
d946a74470 1.rtos下老化软件宏 2024-01-05 21:04:38 +08:00
payton
f1fedc13d5 1.Linux下老化软件宏 2024-01-05 21:04:27 +08:00
payton
76dac8eab4 1.Linux下存储判断 2024-01-05 21:03:59 +08:00
payton
49bdf2d6c5 1.rtos下卡判断 2024-01-05 21:03:37 +08:00
payton
88984d2cfd 1.根据老化软件增加log 2024-01-05 20:56:50 +08:00
payton
de5d529c11 1.rtos下emmc对齐 2024-01-05 20:56:00 +08:00
payton
a9a7aebb2e 1.rtos增加emmc容量获取和IsEmmcFull判断 2024-01-05 20:55:01 +08:00
13 changed files with 106 additions and 16 deletions

View File

@ -984,7 +984,9 @@
#define SF_SD_LOG_INFO_FILENAME "/tmp/SD.txt"
#define SF_4G_MODE_TEST DISABLE
#define SF_AGEING_TEST ENABLE
#define SF_AGEING_EMMC_TEST ENABLE
#define SF_AGEING_SD_TEST DISABLE
#define SF_DCIM_PATH ":\\DCIM\\"
//////////////////////sf end///////////////////////////////

View File

@ -759,6 +759,12 @@ INT32 System_Set_Storage_Act_Drive(char drive)
DCF_HANDLE System_Get_DCF_Handle(void)
{
#if SF_AGEING_EMMC_TEST == ENABLE
return 0;//emmc
#endif
#if SF_AGEING_SD_TEST == ENABLE
return 1;//sd
#endif
#if USE_MMC_DEV_CHECK
SF_ST_MMC_DEV *mmc_dev = SF_GetMMCDev();
if(mmc_dev == NULL)

View File

@ -2490,7 +2490,9 @@ 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;
mmc_dev = sf_get_strg_dev();
/******************** SD cycle *************************/
if((0 == sf_check_sd()) || (sf_get_mode_flag() == 1))
{
@ -2526,6 +2528,10 @@ SINT32 sf_power_off_check_sd(void)
puiPara->SdFailCount++;
sf_sleep_ms(100);
}
if(mmc_dev == MMC_DEV_EMMC)
{
printf("eMMC is FULL!\n");
}
}
else
{

View File

@ -634,6 +634,10 @@ static SINT32 sfStrgDevOnActionMount(int dev_id, int result)
{
sf_app_mcu_updata_start();
}
if(dev_id == MMC_DEV_EMMC)
{
printf("EMMC has Mounted!\r\n");
}
break;
case FST_STA_DISK_UNFORMAT:
sf_statistics_param_load(sf_statistics_param_get());
@ -646,6 +650,10 @@ static SINT32 sfStrgDevOnActionMount(int dev_id, int result)
case FST_STA_CARD_ERR:
sf_sys_status_led_set(SF_LED_SYS_STATE_SD_ERROR);
MLOGI("^Rcard-%d mount FAIL: Card Error\r\n", dev_id + 1);
if(dev_id == MMC_DEV_EMMC)
{
printf("Mount eMMC Fail!\r\n");
}
break;
default:
MLOGI("^Rcard-%d mount FAIL: ErrID=%d\r\n", dev_id + 1, status);
@ -688,6 +696,7 @@ static SINT32 sfStrgDevEmmcHandler(int cb_evt, int dev_id, int result)
{
case CMD_SD_STRG_CB_UNKNOWN:
sf_set_card_full(1);
printf("eMMC is FULL!\r\n");
break;
case CMD_SD_STRG_CB_MOUNT_FINISH:

View File

@ -91,15 +91,17 @@ SINT32 app_ttyusb_IsOpen(void) {
UINT8 i = 0;
for (i = 0; i < 40; i++) {
for (i = 0; i < 150; i++) {
if (access("/dev/ttyUSB2", F_OK) == SF_SUCCESS) {
printf("tty usb ko exist!\r\n");
printf("4G Init OK\r\n");
break;
} else {
usleep(100 * 1000);
if(39 == i)
if(149 == i)
{
MLOGE("NO ttyUSB dev!!\n");
printf("4G Init ERR\r\n");
}
}
}
@ -119,6 +121,7 @@ SINT32 app_ttyusb_IsOpen(void) {
{
MLOGE("-------ttyUSB retry init fail!\n");
s32ret = SF_TTY_ERROR_OPEN;
printf("4G Init Fail, retry\r\n");
break;
}
}

View File

@ -2781,6 +2781,14 @@ void sf_wifi_hw_init(void)
}
ret = system("ifconfig wlan0 192.168.1.1 netmask 255.255.255.0 up");
if(ret == 0)
{
printf("Wifi Init OK\r\n");
}
else
{
printf("Wifi Init ERR\r\n");
}
//ret = system("hostapd -ddd /appfs/etc/hostapd/hostapd-8189.conf &");
//ret = system("udhcpd /appfs/etc/udhcpd-8189.conf");
//FILE *fp;

View File

@ -988,7 +988,9 @@
#endif
#define SF_NO_SD_SEND ENABLE
#define SF_4G_MODE_TEST DISABLE
#define SF_AGEING_TEST ENABLE
#define SF_AGEING_EMMC_TEST ENABLE
#define SF_AGEING_SD_TEST DISABLE
////////////////////sf end////////////////////////////////

View File

@ -90,7 +90,7 @@ static void card_insert_job2(void)
int ret;
FILE_TSK_INIT_PARAM Param = {0};
FS_HANDLE StrgDXH2;
UINT32 start_sector = 16 ; /* linux cmd fdisk can list partition info */
UINT32 start_sector = 8192 ; /* linux cmd fdisk can list partition info */
UINT32 totoal_sectors = 0;
StrgDXH2 = (FS_HANDLE)sdio2_getStorageObject(STRG_OBJ_FAT1);
STORAGE_OBJ* pStrg = sdio2_getStorageObject(STRG_OBJ_FAT1);
@ -126,7 +126,14 @@ static void card_insert_job2(void)
#if USE_RTOS_MMC_CHECK
SF_RtosStrgRegister(1, ret);
#endif
fastboot_set_done(BOOT_INIT_FILESYSOK_2);
#if SF_AGEING_TEST == ENABLE
sf_check_emmc_full();
fastboot_set_done(BOOT_INIT_FILESYSOK_2);
#else
fastboot_set_done(BOOT_INIT_FILESYSOK_2);
#endif
printf("filesys2_init e\r\n");
#endif

View File

@ -868,7 +868,12 @@ static DCF_HANDLE MovieFast_Get_DCF_Handle(void)
//#endif
SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl);
SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2);
#if SF_AGEING_EMMC_TEST == ENABLE
return g_dcf_hdl2;
#endif
#if SF_AGEING_SD_TEST == ENABLE
return g_dcf_hdl;
#endif
#if USE_RTOS_MMC_CHECK
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
if(mmc_dev ==NULL)
@ -1077,7 +1082,7 @@ static void MovieFast_WriteFile_Task(void* arg)
MovieFast_Wait_FileSys(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS);
#if HUNTING_CAMERA_MCU == ENABLE
if(TRUE == sf_is_card_full())
if(TRUE == sf_is_card_full() && TRUE == sf_is_emmc_full())
{
DBG_ERR("ERR card full\r\n");
//return ;
@ -1094,7 +1099,7 @@ static void MovieFast_WriteFile_Task(void* arg)
if(param->va){
DBG_DUMP("Write %s\n", param->path);
#if HUNTING_CAMERA_MCU == ENABLE
if(TRUE != sf_is_card_full())
if(TRUE != sf_is_card_full() || TRUE != sf_is_emmc_full())
#endif
{
FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
@ -1105,9 +1110,9 @@ static void MovieFast_WriteFile_Task(void* arg)
free(param->va);
}
else if(param->frame.phy_addr[0]){
DBG_DUMP("Write %s\n", param->path);
DBG_DUMP("Write2 %s\n", param->path);
#if HUNTING_CAMERA_MCU == ENABLE
if(TRUE != sf_is_card_full())
if(TRUE != sf_is_card_full() || TRUE != sf_is_emmc_full())
#endif
{
FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE);
@ -1358,7 +1363,7 @@ THREAD_RETTYPE MovieFast_InitFileNamingThread2(void *arg)
DCF_ScanObjEx(g_dcf_hdl2);
#if HUNTING_CAMERA_MCU == ENABLE
if(TRUE != sf_is_card_full())
if(TRUE != sf_is_emmc_full())
#endif
{
#if USE_RTOS_MMC_CHECK

View File

@ -939,6 +939,12 @@ DCF_HANDLE PhotoFast_Get_DCF_Handle()
SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl);
SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2);
#if SF_AGEING_EMMC_TEST == ENABLE
return g_dcf_hdl2;
#endif
#if SF_AGEING_SD_TEST == ENABLE
return g_dcf_hdl;
#endif
#if USE_RTOS_MMC_CHECK
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
if(mmc_dev ==NULL)
@ -1070,7 +1076,7 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId,
//sprintf(tmp, "W%03ld%04ld.JPG", nextFolderID, nextFileID);
strncpy(g_photo_fast_write_file_Path, tmp, sizeof(g_photo_fast_write_file_Path) - 1);
DBG_IND("last send file:%s\r\n", tmp);
if(TRUE == sf_is_card_full())
if(TRUE == sf_is_card_full() && TRUE == sf_is_emmc_full())
{
DBG_ERR("ERR Addr=0x%x,Size=0x%x,Fmt=%d card full\r\n", Addr, Size, Fmt);
rt =FST_STA_ERROR;
@ -2010,7 +2016,7 @@ exit:
#if SF_TRIGGER_TIME_TEST == ENABLE
sf_trigger_time_led_cb(0);
#endif
if((sf_get_power_off_flag()) || (TRUE == sf_is_card_full()))
if((sf_get_power_off_flag()) || (TRUE == sf_is_card_full() && TRUE == sf_is_emmc_full()))
{
vos_flag_set(PHOTOFAST_FLG_ID, FLGPHOTOFAST_SHUTDOWN);
}

View File

@ -2419,7 +2419,7 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data)
DBG_IND("PHOTO THUMB %s\n", tmp);
vos_perf_mark(&t3);
if(FALSE == sf_is_card_full())
if((TRUE != sf_is_card_full() && (mmc_dev->dev_type == MMC_DEV_SD)) || (TRUE != sf_is_emmc_full() && (mmc_dev->dev_type == MMC_DEV_EMMC)))
{
FST_FILE fp = FileSys_OpenFile(tmp, FST_CREATE_ALWAYS | FST_OPEN_WRITE);

View File

@ -494,7 +494,8 @@ UINT16 sf_mcu_get_irshtter(void);
BOOL sf_is_card_full(void);
UINT32 sf_check_card_full(void);
BOOL sf_is_emmc_full(void);
UINT32 sf_check_emmc_full(void);
typedef BOOL (*SF_CALLBACK_SD_CMD)(void);
void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB);

View File

@ -48,6 +48,7 @@
static BOOL IsCardFull = FALSE;
SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL;
extern BOOL DrvCARD_DetStrgCard(void);
static BOOL IsEmmcFull = FALSE;
SF_RTOS_ST_MMC_DEV *sf_rtos_mmc_dev[MMC_DEV_MAX_NUM] = {NULL};
@ -92,6 +93,40 @@ UINT32 sf_check_card_full(void)
return ret;
}
BOOL sf_is_emmc_full(void)
{
//printf("[%s]:%d IsCardFull:%d\n", __FUNCTION__, __LINE__, IsCardFull);
return IsEmmcFull;
}
UINT32 sf_check_emmc_full(void)
{
UINT64 diskFree = 0;
UINT32 ret = 0;
/*check disk free size*/
diskFree = FileSys_GetDiskInfoEx('B', FST_INFO_FREE_SPACE);
diskFree = diskFree/1024/1024;
if(diskFree < 30) /* 30MB */
{
ret = TRUE;
//if(0 == puiPara->SdLoopSwitch)
{
IsCardFull = TRUE;
}
//printf("%s:%d sd card is full diskFree=%lu",__FUNCTION__,__LINE__,diskFree);
}
else
{
ret = FALSE;
//printf("%s:%d sd card no full diskFree=%lu",__FUNCTION__,__LINE__,diskFree);
}
printf("[%s:%d]emmc diskFree=%lluM\n", __FUNCTION__, __LINE__, diskFree);
return ret;
}
void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB)
{