diff --git a/code/application/source/sf_app/code/source/4gMng/sf_sms.c b/code/application/source/sf_app/code/source/4gMng/sf_sms.c index 66929bf47..63beb7337 100755 --- a/code/application/source/sf_app/code/source/4gMng/sf_sms.c +++ b/code/application/source/sf_app/code/source/4gMng/sf_sms.c @@ -1298,7 +1298,8 @@ SINT32 sf_sms_read_message(void) int msmflag = 0; int msmtmp[255] = { 0 }; int msmmb = 0; - //static testflag = 0; + //static int testflag = 0; + SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 2000, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara}; UIMenuStoreInfo *pPara = sf_app_ui_para_get(); SF_PDT_PARAM_STATISTICS_S *pSifarPara = sf_statistics_param_get(); @@ -1318,7 +1319,8 @@ SINT32 sf_sms_read_message(void) ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); printf("%s:%d s\n", __FUNCTION__, __LINE__); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - + ttyData.cmp = "OK"; + ttyData.len = strlen(gsmPara) + 2; break; case SMS_SIM_IRA: @@ -1328,7 +1330,8 @@ SINT32 sf_sms_read_message(void) printf("%s:%d s\n", __FUNCTION__, __LINE__); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - + ttyData.cmp = "OK"; + ttyData.len = strlen(gsmPara) + 2; break; case SMS_SIM_CMGR: @@ -1412,7 +1415,8 @@ SINT32 sf_sms_read_message(void) sprintf((char *)gsmPara, "AT+CMGR=%d\r", number); //read message ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); - + ttyData.cmp = "+CMGR:"; + ttyData.len = strlen(gsmPara) + 2; //number++; if((pSifarPara->SmsFlag == 1) && (msmll)) { @@ -1431,7 +1435,7 @@ SINT32 sf_sms_read_message(void) printf("\n[%s:%d] pSifarPara->SmsFlag:%d\n", __FUNCTION__, __LINE__, pSifarPara->SmsFlag); /*if(0 == testflag) { - snprintf((char *)gsmPara, sizeof(gsmPara), "AT+CMGR=0+CMGR: \"REC UNREAD\",\"8619925440232\",,\"22/10/25,14:29:23+32\"$R09*10#W1000001#W1000003#W1000005#W1000007#W1000009#W1000011#W1000013#W1000015#W1000017#W1000019$"); + snprintf((char *)gsmPara, sizeof(gsmPara), "AT+CMGR=0+CMGR: \"REC UNREAD\",\"8619925440232\",,\"22/10/25,14:29:23+32\"$R06*1$"); testflag = 1; }*/ @@ -1546,6 +1550,8 @@ SINT32 sf_sms_read_message(void) ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); eSmsLocation = SMS_SIM_EXIT; + ttyData.cmp = "OK"; + ttyData.len = strlen(gsmPara) + 2; break; case SMS_SIM_EXIT: @@ -1563,8 +1569,8 @@ SINT32 sf_sms_read_message(void) } sf_gsm_para_buff_clear(); - - sf_hal_ttyusb2_read(gsmPara, 200); + //sf_hal_ttyusb2_read(gsmPara, 200); + sf_hal_ttyusb2_read_buf(&ttyData); printf("-----eSmsLocation:%d-----time:%d-----\n", eSmsLocation, time); if((gsmPara[0] != '\0') && (eSmsLocation != SMS_SIM_PARA)) @@ -1611,6 +1617,8 @@ SINT32 sf_check_message(void) SINT32 ttyRet = 0; char strtmp[20] = {0}; UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); + SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 2000, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara}; + printf("%s:%d s\n", __FUNCTION__, __LINE__); if(SUCCESS != app_ttyusb_IsOpen()) @@ -1651,8 +1659,8 @@ SINT32 sf_check_message(void) } sf_gsm_para_buff_clear(); - - sf_hal_ttyusb2_read(gsmPara, 200); + //sf_hal_ttyusb2_read(gsmPara, 200); + sf_hal_ttyusb2_read_buf(&ttyData); if(gsmPara[0] != '\0') { @@ -1674,6 +1682,8 @@ SINT32 sf_check_message(void) strcpy((char *)gsmPara, "AT+QCFG=\"sms/listmsgmap\",\"REC UNREAD\"\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + ttyData.cmp = "+QCFG:"; + ttyData.len = strlen(gsmPara) + 2; continue; } else @@ -1694,9 +1704,11 @@ SINT32 sf_check_message(void) location = MMS_ATCMGL1; //strcpy((char *)gsmPara, "AT+CMGL=\"ALL\"\r"); strcpy((char *)gsmPara, "AT+QCFG=\"sms/listmsgmap\",\"REC UNREAD\"\r"); - ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); + ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); sf_sleep_ms(500); + ttyData.cmp = "+QCFG:"; + ttyData.len = strlen(gsmPara) + 2; } break; @@ -1810,6 +1822,8 @@ SINT32 sf_check_message(void) strcpy((char *)gsmPara, "AT+QCFG=\"sms/listmsgmap\",\"REC READ\"\r"); ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); + ttyData.cmp = "+QCFG:"; + ttyData.len = strlen(gsmPara) + 2; } else { @@ -1827,6 +1841,8 @@ SINT32 sf_check_message(void) ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara)); SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE); sf_sleep_ms(500); + ttyData.cmp = "+QCFG:"; + ttyData.len = strlen(gsmPara) + 2; } break; @@ -2148,6 +2164,8 @@ SINT32 sf_power_off_check_sms(void) UINT8 PowerOnMode = sf_poweron_type_get(); SINT32 sendFlag = SF_FAILURE; UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); + SLOGD(" s %d %d\n",sf_get_sim_insert(), sf_app_while_flag()); + /*instant, hybrid mode*/ if((!sf_get_signal_ready_flag()) && (sf_get_sim_insert()) && (sf_app_while_flag())) {