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_SD_LOG_INFO_FILENAME "/tmp/SD.txt"
#define SF_4G_MODE_TEST DISABLE #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\\" #define SF_DCIM_PATH ":\\DCIM\\"
//////////////////////sf end/////////////////////////////// //////////////////////sf end///////////////////////////////

View File

@ -759,6 +759,12 @@ INT32 System_Set_Storage_Act_Drive(char drive)
DCF_HANDLE System_Get_DCF_Handle(void) 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 #if USE_MMC_DEV_CHECK
SF_ST_MMC_DEV *mmc_dev = SF_GetMMCDev(); SF_ST_MMC_DEV *mmc_dev = SF_GetMMCDev();
if(mmc_dev == NULL) if(mmc_dev == NULL)

View File

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

View File

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

View File

@ -91,15 +91,17 @@ SINT32 app_ttyusb_IsOpen(void) {
UINT8 i = 0; UINT8 i = 0;
for (i = 0; i < 40; i++) { for (i = 0; i < 150; i++) {
if (access("/dev/ttyUSB2", F_OK) == SF_SUCCESS) { if (access("/dev/ttyUSB2", F_OK) == SF_SUCCESS) {
printf("tty usb ko exist!\r\n"); printf("tty usb ko exist!\r\n");
printf("4G Init OK\r\n");
break; break;
} else { } else {
usleep(100 * 1000); usleep(100 * 1000);
if(39 == i) if(149 == i)
{ {
MLOGE("NO ttyUSB dev!!\n"); 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"); MLOGE("-------ttyUSB retry init fail!\n");
s32ret = SF_TTY_ERROR_OPEN; s32ret = SF_TTY_ERROR_OPEN;
printf("4G Init Fail, retry\r\n");
break; 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"); 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("hostapd -ddd /appfs/etc/hostapd/hostapd-8189.conf &");
//ret = system("udhcpd /appfs/etc/udhcpd-8189.conf"); //ret = system("udhcpd /appfs/etc/udhcpd-8189.conf");
//FILE *fp; //FILE *fp;

View File

@ -988,7 +988,9 @@
#endif #endif
#define SF_NO_SD_SEND ENABLE #define SF_NO_SD_SEND ENABLE
#define SF_4G_MODE_TEST DISABLE #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//////////////////////////////// ////////////////////sf end////////////////////////////////

View File

@ -90,7 +90,7 @@ static void card_insert_job2(void)
int ret; int ret;
FILE_TSK_INIT_PARAM Param = {0}; FILE_TSK_INIT_PARAM Param = {0};
FS_HANDLE StrgDXH2; 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; UINT32 totoal_sectors = 0;
StrgDXH2 = (FS_HANDLE)sdio2_getStorageObject(STRG_OBJ_FAT1); StrgDXH2 = (FS_HANDLE)sdio2_getStorageObject(STRG_OBJ_FAT1);
STORAGE_OBJ* pStrg = 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 #if USE_RTOS_MMC_CHECK
SF_RtosStrgRegister(1, ret); SF_RtosStrgRegister(1, ret);
#endif #endif
#if SF_AGEING_TEST == ENABLE
sf_check_emmc_full();
fastboot_set_done(BOOT_INIT_FILESYSOK_2); fastboot_set_done(BOOT_INIT_FILESYSOK_2);
#else
fastboot_set_done(BOOT_INIT_FILESYSOK_2);
#endif
printf("filesys2_init e\r\n"); printf("filesys2_init e\r\n");
#endif #endif

View File

@ -868,7 +868,12 @@ static DCF_HANDLE MovieFast_Get_DCF_Handle(void)
//#endif //#endif
SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl); SF_RtosStrgSetDcfHandle(MMC_DEV_SD, g_dcf_hdl);
SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2); 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 #if USE_RTOS_MMC_CHECK
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev(); SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
if(mmc_dev ==NULL) if(mmc_dev ==NULL)
@ -1077,7 +1082,7 @@ static void MovieFast_WriteFile_Task(void* arg)
MovieFast_Wait_FileSys(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS); MovieFast_Wait_FileSys(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS);
#if HUNTING_CAMERA_MCU == ENABLE #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"); DBG_ERR("ERR card full\r\n");
//return ; //return ;
@ -1094,7 +1099,7 @@ static void MovieFast_WriteFile_Task(void* arg)
if(param->va){ if(param->va){
DBG_DUMP("Write %s\n", param->path); DBG_DUMP("Write %s\n", param->path);
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
if(TRUE != sf_is_card_full()) if(TRUE != sf_is_card_full() || TRUE != sf_is_emmc_full())
#endif #endif
{ {
FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE); 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); free(param->va);
} }
else if(param->frame.phy_addr[0]){ 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 HUNTING_CAMERA_MCU == ENABLE
if(TRUE != sf_is_card_full()) if(TRUE != sf_is_card_full() || TRUE != sf_is_emmc_full())
#endif #endif
{ {
FST_FILE fp = FileSys_OpenFile(param->path, FST_OPEN_ALWAYS | FST_OPEN_WRITE); 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); DCF_ScanObjEx(g_dcf_hdl2);
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
if(TRUE != sf_is_card_full()) if(TRUE != sf_is_emmc_full())
#endif #endif
{ {
#if USE_RTOS_MMC_CHECK #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_SD, g_dcf_hdl);
SF_RtosStrgSetDcfHandle(MMC_DEV_EMMC, g_dcf_hdl2); 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 #if USE_RTOS_MMC_CHECK
SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev(); SF_RTOS_ST_MMC_DEV *mmc_dev = SF_RtosStrgCheckWorkableDev();
if(mmc_dev ==NULL) 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); //sprintf(tmp, "W%03ld%04ld.JPG", nextFolderID, nextFileID);
strncpy(g_photo_fast_write_file_Path, tmp, sizeof(g_photo_fast_write_file_Path) - 1); 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); 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); DBG_ERR("ERR Addr=0x%x,Size=0x%x,Fmt=%d card full\r\n", Addr, Size, Fmt);
rt =FST_STA_ERROR; rt =FST_STA_ERROR;
@ -2010,7 +2016,7 @@ exit:
#if SF_TRIGGER_TIME_TEST == ENABLE #if SF_TRIGGER_TIME_TEST == ENABLE
sf_trigger_time_led_cb(0); sf_trigger_time_led_cb(0);
#endif #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); 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); DBG_IND("PHOTO THUMB %s\n", tmp);
vos_perf_mark(&t3); 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); 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); BOOL sf_is_card_full(void);
UINT32 sf_check_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); typedef BOOL (*SF_CALLBACK_SD_CMD)(void);
void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB); void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB);

View File

@ -48,6 +48,7 @@
static BOOL IsCardFull = FALSE; static BOOL IsCardFull = FALSE;
SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL; SF_CALLBACK_SD_CMD g_fpSd_Exist_CB = NULL;
extern BOOL DrvCARD_DetStrgCard(void); extern BOOL DrvCARD_DetStrgCard(void);
static BOOL IsEmmcFull = FALSE;
SF_RTOS_ST_MMC_DEV *sf_rtos_mmc_dev[MMC_DEV_MAX_NUM] = {NULL}; 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; 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) void sf_sd_exist_reg_cb(SF_CALLBACK_SD_CMD fpCB)
{ {