1.注网时间改90s;2.优化模块初始化代码

This commit is contained in:
payton 2023-11-22 18:07:19 +08:00
parent 6a303efec9
commit 4847a8db9a
2 changed files with 44 additions and 26 deletions

View File

@ -17,7 +17,7 @@ extern "C" {
//500ms * 480 = 240s = 4min
#define SF_QUECTEL_NET_REG_CALLTIME_MAX 480
#define SF_MODULE_RESET_WAIT_TIME 30
#define SF_MODULE_CGREG_TIME_S 90
#define SF_NTP_SITE1 "time.windows.com"
#define SF_NTP_SITE2 "time.nist.gov"

View File

@ -2724,12 +2724,15 @@ SINT32 sf_module_complete_init(void)
break;
case QUECTEL_NETREG_DBGCTL:
eNetRegLocation = QUECTEL_NETREG_QCFG_NTP;
strcpy((char *)gsmPara, "AT+QCFG=\"ntp\",3,5\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = 0;
ttyData.len = strlen(gsmPara) + 2;
if(strstr((const char *)gsmPara, "ERROR") || strstr((const char *)gsmPara, "OK"))
{
eNetRegLocation = QUECTEL_NETREG_QCFG_NTP;
strcpy((char *)gsmPara, "AT+QCFG=\"ntp\",3,5\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = 0;
ttyData.len = strlen(gsmPara) + 2;
}
break;
case QUECTEL_NETREG_QCFG_NTP:
@ -2882,14 +2885,17 @@ SINT32 sf_module_complete_init(void)
case QUECTEL_NETREG_CPIN:
if(SF_STRNCMP(puiPara->ModuleVer, GPRS_MODULE_TYPE_EG915Q, 6) == 0){
eNetRegLocation = QUECTEL_NETREG_READY;
strcpy((char *)gsmPara, "AT+CPIN?\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.len = strlen(gsmPara) + 2;
if(strstr((const char *)gsmPara, "ERROR") || strstr((const char *)gsmPara, "OK"))
{
eNetRegLocation = QUECTEL_NETREG_READY;
strcpy((char *)gsmPara, "AT+CPIN?\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen(gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
ttyData.len = strlen(gsmPara) + 2;
}
}
else{
if(strstr((const char *)gsmPara, "OK"))
if(strstr((const char *)gsmPara, "ERROR") || strstr((const char *)gsmPara, "OK"))
{
eNetRegLocation = QUECTEL_NETREG_READY;
strcpy((char *)gsmPara, "AT+CPIN?\r");
@ -3183,7 +3189,9 @@ SINT32 sf_net_regist_manual(void)
{
SINT32 ret = SF_SUCCESS;
SINT64 cTime = 0;
SINT64 eTime = 0;
double elapsed_time = 0;
//UINT8 gsmPara[GPRS_INFO_LINE_MAX] = {0};
SF_QUECTEL_NETREG_E eNetRegLocation = QUECTEL_NETREG_FRIST;
UINT16 callTime = 0;
@ -3420,7 +3428,6 @@ SINT32 sf_net_regist_manual(void)
//sprintf((char *)gsmPara, "AT+RSTSET\r");
//sprintf((char *)gsmPara, "AT+CGREG?\r");
//eNetRegLocation = QUECTEL_NETREG_CGREG;
//callTime = SF_QUECTEL_NET_REG_CALLTIME_MAX; /*4 min*/
sprintf((char *)gsmPara, "%s", "AT+CGDCONT=1,\"IPV4V6\",\"\"\r");
eNetRegLocation = QUECTEL_NETREG_CGDCONT;
}
@ -3433,7 +3440,7 @@ SINT32 sf_net_regist_manual(void)
{
sprintf((char *)gsmPara, "AT+CGREG?\r");
eNetRegLocation = QUECTEL_NETREG_CGREG;
callTime = SF_QUECTEL_NET_REG_CALLTIME_MAX; /*4 min*/
sf_time(&cTime);
}
else if(strstr((const char *)puiPara->Sim4gApn, APN_4G_ATT))
{
@ -3484,7 +3491,6 @@ SINT32 sf_net_regist_manual(void)
eNetRegLocation = QUECTEL_NETREG_FRIST;
//sprintf((char *)gsmPara, "AT+CGREG?\r");
//eNetRegLocation = QUECTEL_NETREG_CGREG;
//callTime = SF_QUECTEL_NET_REG_CALLTIME_MAX;
}
else
{
@ -3498,11 +3504,11 @@ SINT32 sf_net_regist_manual(void)
if(strstr((const char *)gsmPara, "OK"))
{
eNetRegLocation = QUECTEL_NETREG_CGREG;
sf_time(&cTime);
strcpy((char *)gsmPara, "AT+CGREG?\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = SF_QUECTEL_NET_REG_CALLTIME_MAX; /*4 min*/
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
}
@ -3544,14 +3550,18 @@ SINT32 sf_net_regist_manual(void)
}
else
{
callTime--;
//callTime--;
sprintf((char *)gsmPara, "AT+CGREG?\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
sf_sleep_ms(300);
if(callTime == 0)
// time
sf_time(&eTime);
elapsed_time = difftime(eTime, cTime);
// s
//printf("time: %.2f s\n", elapsed_time);
if(elapsed_time > SF_MODULE_CGREG_TIME_S)
{
if((strstr((const char *)puiPara->Sim4gApn, APNGPRS_WUYUAN1)) || (strstr((const char *)puiPara->Sim4gApn, APNGPRS_WUYUAN2)))
{
@ -3608,7 +3618,6 @@ SINT32 sf_net_regist_manual(void)
}
}
callTime = SF_QUECTEL_NET_REG_CALLTIME_MAX; /*4 min*/
#if MEGA_TEST
if(puiPara->MegaTestSwitch == 1)
@ -3627,6 +3636,7 @@ SINT32 sf_net_regist_manual(void)
{
printf("[%s:%d]:puiPara->OperatorCode:%s,new cimi:%s\n", __FUNCTION__, __LINE__, puiPara->OperatorCode, SimImei);
eNetRegLocation = QUECTEL_NETREG_CGREG; //return net reg.
sf_time(&cTime);
sprintf((char *)gsmPara, "AT+CGREG?\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
@ -3984,6 +3994,9 @@ SINT32 sf_net_regist_manual(void)
SINT32 sf_auto_net_reg(void)
{
SINT32 ret = SF_SUCCESS;
SINT64 cTime = 0;
SINT64 eTime = 0;
double elapsed_time = 0;
//UINT8 gsmPara[GPRS_INFO_LINE_MAX] = {0};
SF_QUECTEL_NETREG_E eNetRegLocation = QUECTEL_NETREG_FRIST;
UINT16 callTime = 0;
@ -4070,6 +4083,7 @@ SINT32 sf_auto_net_reg(void)
{
eNetRegLocation = QUECTEL_NETREG_CGREG;
strcpy((char *)gsmPara, "AT+CGREG?\r");
sf_time(&cTime);
}
else
{
@ -4151,9 +4165,9 @@ SINT32 sf_auto_net_reg(void)
if(strstr((const char *)puiPara->Sim4gApn, APN_4G_VERIZON))
{
callTime = SF_QUECTEL_NET_REG_CALLTIME_MAX; /*4 min*/
eNetRegLocation = QUECTEL_NETREG_CGREG;
strcpy((char *)gsmPara, "AT+CGREG?\r");
sf_time(&cTime);
}
else if(strstr((const char *)puiPara->Sim4gApn, APN_4G_ATT))
{
@ -4177,11 +4191,11 @@ SINT32 sf_auto_net_reg(void)
if(strstr((const char *)gsmPara, "OK"))
{
eNetRegLocation = QUECTEL_NETREG_CGREG;
sf_time(&cTime);
strcpy((char *)gsmPara, "AT+CGREG?\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);
callTime = SF_QUECTEL_NET_REG_CALLTIME_MAX; /*4 min*/
ttyData.cmp = "OK";
ttyData.len = strlen(gsmPara) + 2;
}
@ -4215,7 +4229,11 @@ SINT32 sf_auto_net_reg(void)
sf_sleep_ms(300);
if(callTime == 0)
sf_time(&eTime);
elapsed_time = difftime(eTime, cTime);
// s
//printf("time: %.2f s\n", elapsed_time);
if(elapsed_time > SF_MODULE_CGREG_TIME_S)
{
if((strstr((const char *)puiPara->Sim4gApn, APNGPRS_WUYUAN1)) || (strstr((const char *)puiPara->Sim4gApn, APNGPRS_WUYUAN2)))
{
@ -4274,7 +4292,6 @@ SINT32 sf_auto_net_reg(void)
}
}
callTime = SF_QUECTEL_NET_REG_CALLTIME_MAX; /*4 min*/
#if MEGA_TEST
if(puiPara->MegaTestSwitch == 1)
@ -4293,6 +4310,7 @@ SINT32 sf_auto_net_reg(void)
{
printf("[%s:%d]:puiPara->OperatorCode:%s,new cimi:%s\n", __FUNCTION__, __LINE__, puiPara->OperatorCode, SimImei);
eNetRegLocation = QUECTEL_NETREG_CGREG; //return net reg.
sf_time(&cTime);
sprintf((char *)gsmPara, "AT+CGREG?\r");
ttyRet = sf_hal_ttyusb2_write(gsmPara, strlen((const char *)gsmPara));
SF_CHECK_RETURN(ttyRet, SF_GPRS_MODULE_ERROR_WRITE);