diff --git a/code/application/source/sf_app/code/include/sf_storeMng.h b/code/application/source/sf_app/code/include/sf_storeMng.h index dedfa40af..ca1195f6f 100644 --- a/code/application/source/sf_app/code/include/sf_storeMng.h +++ b/code/application/source/sf_app/code/include/sf_storeMng.h @@ -107,7 +107,7 @@ SINT32 sf_sd_status_set(SF_SD_STATUS_E enStatus); UINT32 sf_delete_send_flie_list(void); int sf_app_sd_loop(void); - +SINT32 sf_activity_is_full(void); #ifdef __cplusplus #if __cplusplus } 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 751564399..6ad9090e8 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 @@ -1233,10 +1233,16 @@ static SINT32 app_file_transfer(SF_FN_PARAM_S *pfnParam) { if((!PicUpDailyReportFlag) && (pCustomerParam->PicUpDailyReport)) { PicUpDailyReportFlag = 1; - sf_sms_set_pic(1); - sf_sleep_ms(200); - SLOGD("GpsSendFlag:%d\n", pCustomerParam->GpsSendFlag); - break; + if(0 == sf_activity_is_full()) + { + sf_sms_set_pic(1); + sf_sleep_ms(200); + SLOGD("GpsSendFlag:%d\n", pCustomerParam->GpsSendFlag); + break; + } + else { + SLOGE(" SDFree\n"); + } } if (!DailyreportSendFlag) @@ -2072,16 +2078,28 @@ SINT32 app_t110(void) { } SINT32 sf_app_to_cardv_capture(void) { - SINT32 s32ret = 0; - // UINT8 timeCnt = 0; - // UINT8 bIsKeepConnect = 0; - // SF_CHAR version[12] = {0}; - SF_MESSAGE_BUF_S stMessageBuf = {0}; - stMessageBuf.arg1 = SF_WIFI_CMD_CAPTURE; - stMessageBuf.cmdId = CMD_WIFI; - sf_com_message_send_to_cardv(&stMessageBuf); - - return s32ret; + SINT32 s32ret = 0; + // UINT8 timeCnt = 0; + // UINT8 bIsKeepConnect = 0; + // SF_CHAR version[12] = {0}; + SF_MESSAGE_BUF_S stMessageBuf = {0}; + stMessageBuf.arg1 = SF_WIFI_CMD_CAPTURE; + stMessageBuf.cmdId = CMD_WIFI; + if(SF_FAILURE == sf_check_sd()) + { + sf_sms_set_pic(0); + return s32ret; + } + if(0 == sf_activity_is_full()) + { + sf_com_message_send_to_cardv(&stMessageBuf); + } + else + { + sf_sms_set_pic(0); + SLOGE(" SDFree\n"); + } + return s32ret; } SINT32 sf_module_reboot_reg_net(void) @@ -2135,7 +2153,20 @@ SINT32 sf_app_to_cardv_hd_ture(void) { return falg; } falg = 1; - s32ret = sf_share_mem_hd_down(1); + if(SF_FAILURE == sf_check_sd()) + { + sf_set_send_hd(0); + return s32ret; + } + if(0 == sf_activity_is_full()) + { + s32ret = sf_share_mem_hd_down(1); + } + else + { + sf_set_send_hd(0); + SLOGE(" SDFree\n"); + } MLOGI(" e ret:0x%08X\n",s32ret); return s32ret; } diff --git a/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c b/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c index 8ca3165e4..f6ca3cf60 100644 --- a/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c +++ b/code/application/source/sf_app/code/source/storeMng/sf_storeMng.c @@ -211,6 +211,17 @@ SINT32 sf_activity_info_get(SF_STORE_ATTR_S *pstoreattrs) MLOGD("ActiveStorage:Status = %d,Free = %d MB,TotalSize = %d MB\n", pstoreattrs->SDStatus, pstoreattrs->SDFree,pstoreattrs->SDTotalSize); return SF_SUCCESS; } + +SINT32 sf_activity_is_full(void) +{ + SF_STORE_ATTR_S storeattrs = {0}; + sf_activity_info_get(&storeattrs); + if(storeattrs.SDStatus != 0) + return storeattrs.SDStatus; + + return (storeattrs.SDFree <= SD_WARNING_SPACE)?1:0; +} + SINT32 sf_sd_info_get(SF_STORE_ATTR_S *pstoreattrs) { SF_COMM_CHECK_POINTER(pstoreattrs,SF_FAILURE);