1.优化模块睡眠流程

This commit is contained in:
payton 2023-12-11 15:53:18 +08:00
parent 1514cc5823
commit bb49625dbf

View File

@ -5178,6 +5178,7 @@ UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1
SF_SIM_E eSmsLocation = SMS_SIM_INIT_DTRUP; SF_SIM_E eSmsLocation = SMS_SIM_INIT_DTRUP;
int ttyRet = 0; int ttyRet = 0;
UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
SF_TTY_DATA_TYPE_S ttyData = { .waitMs = 1000, .len = 3, .lenMax = (GPRS_INFO_LINE_MAX-1), .cmp = "OK", .cmperr = "ERROR", .data = gsmPara};
printf("[%s:%d] s\n", __FUNCTION__, __LINE__); printf("[%s:%d] s\n", __FUNCTION__, __LINE__);
@ -5190,25 +5191,9 @@ UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1
return ret; return ret;
} }
}*/ }*/
sf_gsm_para_buff_clear();
while(sf_app_while_flag()) while(sf_app_while_flag())
{ {
time++;
if(time >= 100)
{
ret = SF_SIM_ERROR_AT_TIMEOUT;
sprintf((char *)logStr, "ReadMsg Wait Init Timeout.\n[ERROR]eSmsLocation=%d", eSmsLocation);
SLOGE(logStr);
time = 0;
return ret;
}
sf_gsm_para_buff_clear();
sf_hal_ttyusb2_read(gsmPara, 200);
printf("---time:%d---eSmsLocation:%d---\ngsmPara:%s\n", time, eSmsLocation, gsmPara);
switch(eSmsLocation) switch(eSmsLocation)
{ {
case SMS_SIM_INIT_DTRUP: case SMS_SIM_INIT_DTRUP:
@ -5220,10 +5205,10 @@ UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1
SF_CHECK_RETURN(ttyRet, SF_SIM_ERROR_AT_TIMEOUT); SF_CHECK_RETURN(ttyRet, SF_SIM_ERROR_AT_TIMEOUT);
eSmsLocation = SMS_SIM_INIT_EXIT; eSmsLocation = SMS_SIM_INIT_EXIT;
} }
else if(strstr((const char *)gsmPara, "ERROR")) // else if(strstr((const char *)gsmPara, "ERROR"))
{ // {
goto SF_RETURN; // goto SF_RETURN;
} // }
else else
{ {
strcpy((char *)gsmPara, "AT\r"); //sleep strcpy((char *)gsmPara, "AT\r"); //sleep
@ -5244,6 +5229,12 @@ UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1
{ {
goto SF_RETURN; goto SF_RETURN;
} }
else if(strstr((const char *)gsmPara, "ERROR"))
{
strcpy((char *)gsmPara, "AT+QSCLK=1\r"); //sleep
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_SIM_ERROR_AT_TIMEOUT);
}
else else
{ {
calltime++; calltime++;
@ -5262,6 +5253,23 @@ UINT32 sf_sim_qsclk(UINT8 mode) //mode = 2, gprsmode = 1
default: default:
break; break;
} }
sf_gsm_para_buff_clear();
sf_hal_ttyusb2_read_buf(&ttyData);
printf("-----eSmsLocation:%d-----time:%d-----\n", eSmsLocation, time);
if(gsmPara[0] != '\0')
{
printf("[%s:%d]gsmPara===>%s<================end\n", __FUNCTION__, __LINE__, gsmPara);
}
time++;
if(time >= 100)
{
ret = SF_SIM_ERROR_AT_TIMEOUT;
sprintf((char *)logStr, "ReadMsg Wait Init Timeout.\n[ERROR]eSmsLocation=%d", eSmsLocation);
SLOGE(logStr);
time = 0;
goto SF_RETURN;
}
} }
SF_RETURN: SF_RETURN: