|
@@ -369,6 +369,7 @@ static at_cmd_t all_cmd[AT_CMD_MAX]={
|
|
|
at_para_t init_para[]={
|
|
at_para_t init_para[]={
|
|
|
{AT_CMD_AT, ""},
|
|
{AT_CMD_AT, ""},
|
|
|
{AT_CMD_ATE, "0"},
|
|
{AT_CMD_ATE, "0"},
|
|
|
|
|
+ {AT_CMD_QSIMDET, "=1,0"},
|
|
|
{AT_CMD_CPIN, "?"},
|
|
{AT_CMD_CPIN, "?"},
|
|
|
{AT_CMD_CREG, "?"},
|
|
{AT_CMD_CREG, "?"},
|
|
|
//{AT_CMD_CGDCONT, ""},
|
|
//{AT_CMD_CGDCONT, ""},
|
|
@@ -633,10 +634,10 @@ static int send_cmd(cell_handle_t *h, int cmd, char *para, char *rcv, int rcvlen
|
|
|
if (pcmd->err && strlen(pcmd->err) && strstr(pbuf, pcmd->err))
|
|
if (pcmd->err && strlen(pcmd->err) && strstr(pbuf, pcmd->err))
|
|
|
{
|
|
{
|
|
|
// 指令不通则重置模块
|
|
// 指令不通则重置模块
|
|
|
- if (cmd != AT_CMD_CFUN && cmd != AT_CMD_QIDEACT )
|
|
|
|
|
- {
|
|
|
|
|
- cell_reset(h);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // if (cmd != AT_CMD_CFUN && cmd != AT_CMD_QIDEACT )
|
|
|
|
|
+ // {
|
|
|
|
|
+ // cell_reset(h);
|
|
|
|
|
+ // }
|
|
|
return AT_ERR;
|
|
return AT_ERR;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -646,11 +647,11 @@ static int send_cmd(cell_handle_t *h, int cmd, char *para, char *rcv, int rcvlen
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
//AT不通重启串口
|
|
//AT不通重启串口
|
|
|
- if (cmd != AT_CMD_QIDEACT && cmd != AT_CMD_CFUN )
|
|
|
|
|
- {
|
|
|
|
|
- port_deinit(h);
|
|
|
|
|
- port_init(h);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // if (cmd != AT_CMD_QIDEACT && cmd != AT_CMD_CFUN )
|
|
|
|
|
+ // {
|
|
|
|
|
+ // port_deinit(h);
|
|
|
|
|
+ // port_init(h);
|
|
|
|
|
+ // }
|
|
|
|
|
|
|
|
return AT_TOUT;
|
|
return AT_TOUT;
|
|
|
}
|
|
}
|
|
@@ -683,13 +684,18 @@ static int send_data(cell_handle_t *h, void *data, int len, int timeout)
|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
static int cell_reset(cell_handle_t *h)
|
|
static int cell_reset(cell_handle_t *h)
|
|
|
{
|
|
{
|
|
|
- reset_var(h);
|
|
|
|
|
- int r;
|
|
|
|
|
- r = send_cmd(h, AT_CMD_CFUN, "=1,1", NULL, 0);
|
|
|
|
|
|
|
+ int r=AT_OK;
|
|
|
|
|
+ // r = send_cmd(h, AT_CMD_CFUN, "=1,1", NULL, 0);
|
|
|
// if(r==AT_OK) {
|
|
// if(r==AT_OK) {
|
|
|
// h->stat = AT_STAT_UNINIT;
|
|
// h->stat = AT_STAT_UNINIT;
|
|
|
//}
|
|
//}
|
|
|
- sleep(5);//等待模块复位完成
|
|
|
|
|
|
|
+ //sleep(5);//等待模块复位完成
|
|
|
|
|
+
|
|
|
|
|
+ // if (r == AT_OK)
|
|
|
|
|
+ // {
|
|
|
|
|
+ // port_deinit(h);
|
|
|
|
|
+ // port_init(h);
|
|
|
|
|
+ // }
|
|
|
|
|
|
|
|
return (r==AT_OK)?0:-1;
|
|
return (r==AT_OK)?0:-1;
|
|
|
}
|
|
}
|
|
@@ -722,6 +728,7 @@ static int cell_init(cell_handle_t *h)
|
|
|
|
|
|
|
|
if(r==0) {
|
|
if(r==0) {
|
|
|
h->stat = AT_STAT_INITED;
|
|
h->stat = AT_STAT_INITED;
|
|
|
|
|
+ nic_set(NIC_USB, 1);
|
|
|
cell_get_info(h, &h->all.info);
|
|
cell_get_info(h, &h->all.info);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1593,11 +1600,16 @@ static void* cellular_thread(void *arg)
|
|
|
{
|
|
{
|
|
|
prelinkcnt = cnt;
|
|
prelinkcnt = cnt;
|
|
|
}
|
|
}
|
|
|
- if (cnt -prelinkcnt >=60 && h->all.stat.linked == 0)
|
|
|
|
|
|
|
+ else
|
|
|
{
|
|
{
|
|
|
- prelinkcnt = cnt;
|
|
|
|
|
- cell_reset(h);
|
|
|
|
|
|
|
+ reset_var(h);
|
|
|
|
|
+ if (cnt - prelinkcnt >= 60)
|
|
|
|
|
+ {
|
|
|
|
|
+ prelinkcnt = cnt;
|
|
|
|
|
+ cell_reset(h);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
@@ -1645,7 +1657,7 @@ int cellular_init(void)
|
|
|
h->pcell = &h->dm->_globalDevInfo.cell;
|
|
h->pcell = &h->dm->_globalDevInfo.cell;
|
|
|
strcpy( h->prod_id,h->dm->_globalDevInfo.product.number);
|
|
strcpy( h->prod_id,h->dm->_globalDevInfo.product.number);
|
|
|
// h->lck = lock_d_init();
|
|
// h->lck = lock_d_init();
|
|
|
- nic_set(NIC_USB, 1);
|
|
|
|
|
|
|
+ //nic_set(NIC_USB, 1);
|
|
|
|
|
|
|
|
dev_SMS_get(h->dm->db, h->pcell);
|
|
dev_SMS_get(h->dm->db, h->pcell);
|
|
|
|
|
|