1.卡状态优化

This commit is contained in:
payton 2024-02-01 16:14:20 +08:00
parent 982d96217d
commit fadbb30f54
6 changed files with 102 additions and 25 deletions

View File

@ -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
}

View File

@ -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);
// 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");
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)

View File

@ -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;

View File

@ -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");

View File

@ -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)

View File

@ -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