SeeedJP / WioLTEforArduino

GNU General Public License v2.0
33 stars 19 forks source link

added stabilty in EnableGNSS function #27

Closed salmanfarisvp closed 4 years ago

salmanfarisvp commented 5 years ago

added current GNSS state AT Command's (AT+QGPS?) on EnableGNSS function, it gives more stability and reduces the not responding errors.

EC2 GNSS AT Commands Manual : https://www.quectel.com/UploadImage/Downlad/Quectel_EC25&EC21_GNSS_AT_Commands_Manual_V1.1.pdf

matsujirushi commented 5 years ago

Hi @salmanfarisvp ,

My Wio LTE don't need retry. Could you tell me why it need retry logic? Can you get DEBUG log?

Thanks.

salmanfarisvp commented 5 years ago

when I try get the GNSS data the Enable GNSS had some issues .

## I/O Initialize.
### Power supply ON.
### Power supply GNSS.
### Turn on or reset.
### Enable GNSS.
### ERROR! ###
### Get GNSS location.
### ERROR! ###
### Get GNSS location.
### ERROR! ###
matsujirushi commented 5 years ago

Oh...

Can you enable WIO_DEBUG macro and get log ?

https://github.com/SeeedJP/WioLTEforArduino/blob/master/src/WioLTEConfig.h#L17

salmanfarisvp commented 5 years ago

Without the retry logic, it's doesn't fetch the coordinates.

-> ---------------------------------
### I/O Initialize.
### Power supply ON.
### Power supply GNSS.
### Turn on or reset.
<- AT
->
-> OK
Reset()
### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.
### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.### TIMEOUT ###
.->
-> RDY

<- AT
->
-> +CPIN: READY
->
-> +QUSIM: 1
-> AT
-> OK

<- ATE0
-> ATE0
-> OK
<- AT+QURCCFG="urcport","uart1"
->
-> OK
<- AT+QSCLK=1
->
-> ERROR
<- AT+CPIN?
->
-> +CPIN: READY
->
-> OK
### Enable GNSS.
<- AT+QGPS?
->
-> +QGPS: 0
->
-> OK
#>
-> +CFUN: 1
->
-> +QIND: SMS DONE
->
-> +QIND: PB DONE
### TIMEOUT ###
<- AT+QGPS=1
->
-> OK
<- AT+QGPS?
->
-> +QGPS: 1
### Setup completed.
### Get GNSS location.
<- AT+QGPSLOC?
->
-> OK
ERROR! 1252
### ERROR! ###
### Get GNSS location.
<- AT+QGPSLOC?
->
-> +CME ERROR: 516
ERROR! 1242
### NOT FIXED. ###
### Get GNSS location.
<- AT+QGPSLOC?
->
-> +CME ERROR: 516
ERROR! 1242
### NOT FIXED. ###
>
-> +QGPSLOC: 083104.0,1116.8145N,07614.3843E,1.1,24.0,2,0.00,0.0,0.0,190519,09
->
-> OK
    long: 76.239738
    lat: 11.280242
    altitude: 24.000000
    utc: Sun May 19 08:31:04 2019

### Get GNSS location.
<- AT+QGPSLOC?
->
-> +QGPSLOC: 083109.0,1116.8145N,07614.3839E,1.1,24.0,2,0.00,0.0,0.0,190519,09
->
-> OK
    long: 76.239732
    lat: 11.280242
    altitude: 24.000000
    utc: Sun May 19 08:31:09 2019
matsujirushi commented 4 years ago

Sorry too late reply. This behavior is by design. Please call GetGNSSLocation() repeatedly.