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 ca1195f6f..e129f858e 100644 --- a/code/application/source/sf_app/code/include/sf_storeMng.h +++ b/code/application/source/sf_app/code/include/sf_storeMng.h @@ -108,6 +108,10 @@ UINT32 sf_delete_send_flie_list(void); int sf_app_sd_loop(void); SINT32 sf_activity_is_full(void); +SINT32 sf_emmc_status_set(SF_SD_STATUS_E enStatus); +SF_SD_STATUS_E sf_emmc_status_get(void); +SINT32 sf_activity_status_set(SF_SD_STATUS_E enStatus); +SF_SD_STATUS_E sf_activity_status_get(void); #ifdef __cplusplus #if __cplusplus } diff --git a/code/application/source/sf_app/code/source/app/sf_common.c b/code/application/source/sf_app/code/source/app/sf_common.c index e013b63d2..199303ca8 100755 --- a/code/application/source/sf_app/code/source/app/sf_common.c +++ b/code/application/source/sf_app/code/source/app/sf_common.c @@ -185,7 +185,7 @@ const SF_CHAR* app_process_message_getstatusstring(SF_MESSAGE_TYPE_E enType) static void create_qrcode(void) { - if(sf_sd_status_get() == SF_SD_OK || sf_sd_status_get() == SF_SD_FULL) + if(sf_activity_status_get() == SF_SD_OK || sf_activity_status_get() == SF_SD_FULL) { SF_CHAR version[12] = {0}; SF_CHAR iccidStr[22] = {0}; @@ -219,7 +219,7 @@ static SINT32 process_cmd_shortclick(SF_MESSAGE_BUF_S *pMessageBuf) if(!longClickhold) break; create_qrcode(); - // if(sf_sd_status_get() == SF_SD_OK || sf_sd_status_get() == SF_SD_FULL) + // if(sf_activity_status_get() == SF_SD_OK || sf_activity_status_get() == SF_SD_FULL) // { // SF_CHAR version[12] = {0}; // SF_CHAR iccidStr[22] = {0}; @@ -330,7 +330,7 @@ static SINT32 process_cmd_shortclick(SF_MESSAGE_BUF_S *pMessageBuf) case SF_KEY_PIN_FORMAT: if(!longClickhold) break; - if(sf_sd_status_get() == SF_SD_OK || sf_sd_status_get() == SF_SD_FULL) + if(sf_activity_status_get() == SF_SD_OK || sf_activity_status_get() == SF_SD_FULL) { pCustomer->DebugMode = pCustomer->DebugMode?0:1; sf_led_event_process((pCustomer->DebugMode?LED_STATUS_SLOWFLASH_ON:LED_STATUS_HOLD_ON),LED_GROUP_SD,LED_TYPE_GREEN); @@ -485,7 +485,7 @@ static SINT32 process_cmd_longclick(SF_MESSAGE_BUF_S *pMessageBuf) // } break; case SF_KEY_PIN_FORMAT: - if(sf_sd_status_get() == SF_SD_OUT) + if(sf_activity_status_get() == SF_SD_OUT) break; if(sf_cap_status_get() != 0) break; @@ -610,14 +610,19 @@ static SINT32 sfStrgDevOnActionMount(int dev_id, int result) switch (status) { case FST_STA_OK: - sf_set_card(1); - sf_sd_status_set(SF_SD_OK); - if(dev_id == MMC_DEV_EMMC) + // sf_set_card(1); + if(dev_id == MMC_DEV_EMMC) { printf("EMMC has Mounted!\r\n"); - sf_strg_dev_register(MMC_DEV_EMMC, MMC_DEV_MOUNT_STATE_MOUNTED); + //sf_strg_dev_register(MMC_DEV_EMMC, MMC_DEV_MOUNT_STATE_MOUNTED); sf_set_emmc_err(0); + sf_emmc_status_set(SF_SD_OK); } + else if(dev_id == MMC_DEV_SD) + { + sf_sd_status_set(SF_SD_OK); + } + // if(SF_MCU_STARTUP_ONKEY == startup) // { // SF_STORE_ATTR_S storeattrs = {0}; @@ -669,13 +674,13 @@ static SINT32 sfStrgDevSdHandler(int cb_evt, int dev_id, int result) switch(cb_evt) { case CMD_SD_STRG_CB_UNKNOWN: - sf_set_card_full(1); + // sf_set_card_full(1); break; case CMD_SD_STRG_CB_INSERTED: - sf_set_card(1); + // sf_set_card(1); break; case CMD_SD_STRG_CB_REMOVED: - sf_set_card(0); + // sf_set_card(0); sf_sd_status_set(SF_SD_OUT); sf_sys_status_led_set(SF_LED_SYS_STATE_SD_ERROR); break; @@ -683,11 +688,14 @@ static SINT32 sfStrgDevSdHandler(int cb_evt, int dev_id, int result) sfStrgDevOnActionMount(dev_id, result); break; case CMD_SD_STRG_CB_UNMOUNT_FINISH: - sf_set_card(0); + // sf_set_card(0); sf_sd_status_set(SF_SD_OUT); sf_sys_status_led_set(SF_LED_SYS_STATE_SD_ERROR); MLOGI("CMD_SD_STRG_CB_UNMOUNT_FINISH\r\n"); break; + default: + MLOGI("default\r\n"); + break; } return SF_SUCCESS; } @@ -698,7 +706,7 @@ static SINT32 sfStrgDevEmmcHandler(int cb_evt, int dev_id, int result) switch(cb_evt) { case CMD_SD_STRG_CB_UNKNOWN: - sf_set_card_full(1); + // sf_set_card_full(1); printf("eMMC is FULL!\r\n"); break; @@ -706,11 +714,15 @@ static SINT32 sfStrgDevEmmcHandler(int cb_evt, int dev_id, int result) sfStrgDevOnActionMount(dev_id, result); break; case CMD_SD_STRG_CB_UNMOUNT_FINISH: - sf_set_card(0); - sf_sd_status_set(SF_SD_OUT); + // sf_set_card(0); + sf_emmc_status_set(SF_SD_OUT); + sf_sys_status_led_set(SF_LED_SYS_STATE_SD_ERROR); MLOGI("CMD_SD_STRG_CB_UNMOUNT_FINISH\r\n"); break; + default: + MLOGI("default\r\n"); + break; } return SF_SUCCESS; } @@ -737,15 +749,37 @@ static SINT32 sf_app_process_cmd_SD(SF_MESSAGE_BUF_S *pMessageBuf) case CMD_SD_FULL: sf_sys_status_led_set(SF_LED_SYS_STATE_SD_ERROR); MLOGI("CMD_SD_FULL\r\n"); - sf_set_card_full(1); - sf_sd_status_set(SF_SD_FULL); + if(pMessageBuf->arg2 == MMC_DEV_SD) + { + sf_set_card_full(1); + sf_sd_status_set(SF_SD_FULL); + } + else if(pMessageBuf->arg2 == MMC_DEV_EMMC) + { + sf_emmc_status_set(SF_SD_FULL); + } break; case CMD_SD_FORMAT: - sf_set_card_statu(pMessageBuf->arg2); + if(pMessageBuf->arg2 == MMC_DEV_SD) + { + sf_sd_status_set(pMessageBuf->arg2); + } + else if(pMessageBuf->arg2 == MMC_DEV_EMMC) + { + sf_emmc_status_set(pMessageBuf->arg2); + } break; case CMD_SD_STRG_WORKABLE_DEV: sf_strg_dev_register(pMessageBuf->arg2, pMessageBuf->arg3); + if(pMessageBuf->arg2 == MMC_DEV_SD) + { + sf_activity_status_set(sf_sd_status_get()); + } + else if(pMessageBuf->arg2 == MMC_DEV_EMMC) + { + sf_activity_status_set(sf_emmc_status_get()); + } break; case CMD_SD_FILESYS_INIT_STATUS: if(SF_MCU_STARTUP_ONKEY == startup) diff --git a/code/application/source/sf_app/code/source/app/sf_device.c b/code/application/source/sf_app/code/source/app/sf_device.c index f9d2218d0..3b8b9801c 100755 --- a/code/application/source/sf_app/code/source/app/sf_device.c +++ b/code/application/source/sf_app/code/source/app/sf_device.c @@ -317,7 +317,7 @@ SINT32 app_led_sd_status_return(void) stMessageBuf.cmdId = CMD_LED; stMessageBuf.arg1 = LED_STATUS_HOLD_ON; - switch(sf_sd_status_get()) { + switch(sf_activity_status_get()) { case SF_SD_UNPLUGED: case SF_SD_OUT: stMessageBuf.arg3 = LED_TYPE_RED; 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 6ad9090e8..594d88264 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 @@ -204,7 +204,7 @@ static SINT16 app_Qlog_procress(void) { while (sf_app_while_flag()) { sf_sleep_ms(200); - if (sf_sd_status_get() != SF_SD_OK) + if (sf_activity_status_get() != SF_SD_OK) { break; } @@ -604,7 +604,7 @@ static SINT32 app_upgrade_ota_execute(void) { SLOGE("Battery capacity is too low\n"); goto _ERROR_; } - if (!(sf_sd_status_get() == SF_SD_OK || sf_sd_status_get() == SF_SD_FULL)) { + if (!(sf_activity_status_get() == SF_SD_OK || sf_activity_status_get() == SF_SD_FULL)) { SLOGE("SD is not exsited ,please check it !!!"); goto _ERROR_; } @@ -772,7 +772,7 @@ SINT32 app_server_excute_cmd(SF_FN_PARAM_S *pfnParam) { if (sf_get_login_reponse()->sdFormatCommand == 1) { - if (sf_sd_status_get() != SF_SD_OUT) { + if (sf_activity_status_get() != SF_SD_OUT) { system("echo format > /tmp/cardv_fifo"); sleep(2); } else { @@ -2499,11 +2499,11 @@ int sf_check_sd(void) ret = SF_FAILURE; return ret; } - if (sf_sd_status_get() != SF_SD_OK) { + if (sf_activity_status_get() != SF_SD_OK) { ret = SF_FAILURE; for (i = 0; i < 20; i++) { - if (SF_SD_OK == sf_sd_status_get()) + if (SF_SD_OK == sf_activity_status_get()) { ret = SF_SUCCESS; MLOGI("SD\r\n"); diff --git a/code/application/source/sf_app/code/source/qrcodeMng/sf_qrcode.c b/code/application/source/sf_app/code/source/qrcodeMng/sf_qrcode.c index 5c83a8667..02cc0a3db 100644 --- a/code/application/source/sf_app/code/source/qrcodeMng/sf_qrcode.c +++ b/code/application/source/sf_app/code/source/qrcodeMng/sf_qrcode.c @@ -89,7 +89,7 @@ SINT16 sf_qrcode_create(SF_CHAR *pIMEI,SF_CHAR *pSimID ,SF_CHAR* pVersion) { SINT16 ret = SF_SUCCESS; SF_CHAR qrsrc_Str[160] = { 0 }; - SF_CHAR qrdst_Str[160] = { 0 }; + // SF_CHAR qrdst_Str[160] = { 0 }; char *file_path = sf_root_path_strcat(QR_CODE_NAME); if(file_path == NULL) 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 f6ca3cf60..ea05e5589 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 @@ -36,6 +36,9 @@ UINT32 gnFileIdx = 0; UINT32 gnDirIdx = 0; static SF_SD_STATUS_E SdStatus = SF_SD_BUTT; +static SF_SD_STATUS_E EmmcStatus = SF_SD_BUTT; +static SF_SD_STATUS_E ActivityStatus = SF_SD_BUTT; + SF_STRG_DEV *sf_strg_dev = NULL; void sf_strg_dev_init(void) @@ -579,8 +582,44 @@ SINT32 sf_sd_status_set(SF_SD_STATUS_E enStatus) MLOGI("SdStatus:%d\n", SdStatus); return SF_SUCCESS; } +SF_SD_STATUS_E sf_emmc_status_get(void) +{ + //MLOGI("SdStatus:%d\n", SdStatus); + return EmmcStatus; +} +SINT32 sf_emmc_status_set(SF_SD_STATUS_E enStatus) +{ + SF_STORE_CHECK_RANGE(enStatus ,SF_SD_OUT, SF_SD_BUTT); + EmmcStatus = enStatus; + MLOGI("EmmcStatus:%d\n", EmmcStatus); + return SF_SUCCESS; +} +SF_SD_STATUS_E sf_activity_status_get(void) +{ + //MLOGI("SdStatus:%d\n", SdStatus); + MMC_DEV_TYPE mmc_dev = sf_get_strg_dev(); + if(MMC_DEV_EMMC == mmc_dev) + { + return sf_emmc_status_get(); + } + else if(MMC_DEV_SD == mmc_dev) + { + return sf_sd_status_get(); + } + return ActivityStatus; +} + +SINT32 sf_activity_status_set(SF_SD_STATUS_E enStatus) +{ + SF_STORE_CHECK_RANGE(enStatus ,SF_SD_OUT, SF_SD_BUTT); + ActivityStatus = enStatus; + + MLOGI("ActivityStatus:%d\n", ActivityStatus); + return SF_SUCCESS; +} +// sf_activity /************************************************* Function: sf_delete_send_flie_list Description:del send file list