HL7800 get blocking during nmea strings outing

Good afternoon,
I’m testing this module for a new project in my company but I get some troubles during the setup of the gnss. I installed the latest release of the firmware (v3.7.2) to fix all previous bugs.
I use MangOH RED as demoboard with the PC connected to the UART1 of HL7800, through the IoT connector (1.8V level signals).
I configured the gnss receiver (following some examples found in the Sierra W. forum), but something goes wrong:

  1. Look at the following commands: the gnss gets a gps fix, but the command “at+gnssloc?” doesn’t give any values!
  2. Then I activated the print of the NMEA strings every 1 second and the DATA terminal (UART1) send the right gps fix, but after 10/20 seconds the strings stop to coming out and the entire system get blocked (the command “+++” doesn’t work). The only thing I can do, is to reset (HW reset) the module.

ATI3
BHL7800.3.7.2.3.20191030

OK
at+cmee=1
OK
at+cfun=0,0
OK

+CREG: 0
at+gnssconf=1,1
OK
at+gnssconf=10,1
OK
at+gnssnmea=4,1000,0,1
CONNECT
+++
OK
at+gnssstart=0
OK

+GNSSEV: 0,1

+GNSSEV: 1,1

+GNSSEV: 3,0

+GNSSEV: 3,3
at+gnssloc?
+GNSSLOC:
Latitude:
Longitude:
GpsTime:
FixType: 3D
HEPE:
Altitude:
AltUnc:
Direction:
HorSpeed:
VerSpeed:

OK
at+gnssnmea=4
CONNECT
$GPGGA,132343.00,4531.1196,N,00859.0285,E,1,08,1.7,125.3,M,48.1,M,*69
$GPGGA,132344.00,4531.1199,N,00859.0283,E,1,08,1.7,125.2,M,48.1,M,*66
$GPGGA,132345.00,4531.1202,N,00859.0281,E,1,08,1.7,125.4,M,48.1,M,*62
$GPGGA,132346.00,4531.1205,N,00859.0279,E,1,08,1.7,127.2,M,48.1,M,*65
$GPGGA,132347.00,4531.1207,N,00859.0276,E,1,08,1.7,129.1,M,48.1,M,*64
$GPGGA,132348.00,4531.1208,N,00859.0276,E,1,08,1.7,132.3,M,48.1,M,*6C
$GPGGA,132349.00,4531.1208,N,00859.0277,E,1,08,1.7,133.7,M,48.1,M,*69
$GPGGA,132350.00,4531.1209,N,00859.0282,E,1,07,1.9,134.5,M,48.1,M,*6E
$GPGGA,132351.00,4531.1210,N,00859.0283,E,1,08,1.7,135.9,M,48.1,M,*6A
$GPGGA,132352.00,4531.1210,N,00859.0283,E,1,08,1.7,137.3,M,48.1,M,*61
$GPGGA,132353.00,4531.1209,N,00859.0284,E,1,08,1.7,138.0,M,48.1,M,*63
$GPGGA,132354.00,4531.1210,N,00859.0284,E,1,08,1.7,139.6,M,48.1,M,*6B
$GPGGA,132355.00,4531.1210,N,00859.0284,E,1--------String stops!!--------

  1. I tried to launch “at+gnssstart=0” command before the “at+gnssnmea=4,1000,0,1” and the command “at+gnssloc?” seems to work fine.
  2. When I launch the command “at+gnssnmea=4,1000,0,1” after “at+gnssstart=0”, the module gives an error code and the command “at+gnssnmea=4,1000,0,1” doesn’t take effect.
  3. Also in this case, when I launch the command “at+gnssnmea=4”, the strings come out only for a few seconds, then stop.

at+cfun=0
OK

+CREG: 0
at+gnssconf=1,1
OK
at+gnssconf=10,1
OK
at+gnssstart=0
OK

+GNSSEV: 0,1

+GNSSEV: 1,1

+GNSSEV: 3,0
at+gnssloc?
+GNSSLOC:
FIX NOT AVAILABLE

OK

+GNSSEV: 3,3
at+gnssloc?
+GNSSLOC:
Latitude: 45 Deg 31 Min 6.89 Sec N
Longitude: 8 Deg 59 Min 0.55 Sec E
GpsTime:
FixType: 3D
HEPE: 0.20 m
Altitude: 40.000 m
AltUnc: 0.0 m
Direction:
HorSpeed:
VerSpeed:

OK

+GNSSEV: 3,0
at+gnssnmea=4,1000,0,1
+GNSSEV: 3,3

+CME ERROR: 60
at+gnssnmea=4
CONNECT
$GPGGA,135626.00,4531.1172,N,00859.0079,E,1,04,2.1,42.6,M,48.1,M,5F
$GPGSV,2,1,05,15,58,190,30,17,38,073,30,19,40,105,25,24,60,299,36
7F
$GPGSV,2,2,05,25,00,231,*4B
$GLGSV,1,1,02,70,23,326,78,42,049,26,66
$GPGNS,135626.00,4531.1172,N,00859.0079,E,AN,04,2.1,42.6,M,48.1,M,7A
$GPRMC,135626.00,A,4531.1172,N,00859.0079,E,0.0,200.3,270120,A,-8.79e-03
02
$GPGST,135626.00,1.9,1.0,1.8,1.9,1.0,1.0
74
$GPGGA,135627.00,4531.1171,N,00859.0075,E,1,04,2.1,42.6,M,48.1,M,51
$GPGSV,2,1,05,15,58,190,29,17,38,073,30,19,40,105,26,24,60,299,36
74
$GPGSV,2,2,05,25,00,231,*4B
$GLGSV,1,1,02,70,23,326,78,42,049,25,65
$GPGNS,135627.00,4531.1171,N,00859.0075,E,AN,04,2.1,42.6,M,48.1,M,74
$GPRMC,135627.00,A,4531.1171,N,00859.0075,E,0.0,300.6,270120,A,2.94e-03
2C
$GPGST,135627.00,1.9,1.0,1.8,1.9,1.0,1.0
75
$GPGGA,135628.00,4531.1177,N,00859.0070,E,1,04,2.1,42.6,M,48.1,M,5D
$GPGSV,2,1,05,15,58,190,29,17,38,073,31,19,40,105,26,24,60,299,36
75
$GPGSV,2,2,05,25,00,231,*4B
$GLGSV,1,1,02,70,23,326,78,42,049,25,65
$GPGNS,135628.00,4531.1177,N,00859.0070,E,AN,04,2.1,42.6,M,48.1,M,78
$GPRMC,135628.00,A,4531.1177,N,00859.0070,E,0.0,302.7,270120,A,-1.43e-02
06
$GPGST,135628.00,1.9,1.0,1.8,1.9,1.0,1.0
7A
$GPGGA--------String stops!!--------

I hope you could give me some solutions, because I need to have the NMEA strings coming out for ever.
Thanks in advance.
Michele.

Hi,

Please try the following:
//Power up
+CEREG: 2
+CEREG: 1,“1D2F”,“0D631C52”,9
at+cfun=0
at+gnssconf=1,1
at+gnssconf=10,1
at+gnssnmea=4,1000,0,1 //Full Configuration be set before +gnssstart.
CONNECT
+++
OK
at+gnssnmea? //The new gnssnmea setting will take effect.
at+gnssstart=0
+GNSSEV: 0,1 //Initialization event, successfully initialized
+GNSSEV: 1,1 //GNSS START event, started
+GNSSEV: 3,0 //GNSS Position event, The GNSS fix is lost or not available yet
+GNSSEV: 3,3 //GNSS Position event, A 3-dimensional position is available
at+gnssloc?
AT+GNSSNMEA=04 //Keep the first parameter, the other parameters should be omit here.
CONNECT
$GPGGA,000007.00,0,00,*4F
+++
OK
AT+GNSSNMEA=04
CONNECT
$GPGGA,000007.00,0,00,*4F
+++
OK
at+gnssstop

Hello,

we have an HL7800 and an HL7802 and we cant get either of them to make the GNSS work.

The HL7800 is
BHL7800.3.7.2.3.20191030

ati9

HL7800.3.7.2

BHL78xx.3.7.2.3.RK_02_01_01_11_85.20191030

2019/10/30 00:57:12

IMEI-SV: 3546160901225707

Legato RTOS: 18.09.2.ALT1250.rc22 2019/07/29 13:51:59

atSwi: 22.00

UBOOT: 01.03

Apps: RKAPP_02_01_01_11_77__2e6d86c7c5a36543444aef3b128582b44fe6b0f2

MAC: ALT1250_02_01_01_00_61_NB

PHY: 0.0.218243

PMP: 218317

SBUB: 0

SBFW: 0

RPuK:

FPuK:

RBUB: 0

RBFW: 0

we have found no sequence of commands to get any gnss data.

We tried the above sequence and the moment you give
at+gnssnmea=04,1000,0,8

CONNECT
it stays there forever.

The same happens with the HL7802
BHL7802.4.2.2.0.20191016

ati9

HL7802.4.2.2

BHL78xx.4.2.2.0.RK_02_01_02_00_55.20191016

2019/10/16 23:58:15

IMEI-SV: 3594590901012801

Legato RTOS: 18.09.2.ALT1250.rc20 2019/07/29 13:51:59

atSwi: 22.00

UBOOT: 01.03

Apps: RKAPP_02_01_02_00_50__ec3a57e3d0559d4c0868bf7f280d8d6521d83e24

MAC: ALT1250_02_01_02_00_49_NB

PHY: 0.0.216761

PMP: 0

SBUB: 0

SBFW: 0

RPuK:

FPuK:

RBUB: 0

RBFW: 0

Ideas ?

Hi Michele ,

Please send +++ to exit, then the configuration will take effect.
at+gnssnmea=04,1000,0,8
CONNECT
//Send +++ to exit the data mode.
OK

Thank you Klin for your answer,
but I can’t keep my microcontroller always awake to send AT commands continuosly. I need to configure NEMEA string outing and then keep in sleep my microcontroller. The string output period must be every 1 second so I can connect the uart to another device ad give it the nemea data.
So I can’t use your “work around” :

"
AT+GNSSNMEA=04 //Keep the first parameter, the other parameters should be omit here.
CONNECT
$GPGGA,000007.00,0,00,*4F
+++
OK
AT+GNSSNMEA=04
CONNECT
$GPGGA,000007.00,0,00,*4F
+++
OK
at+gnssstop
"

However it is very strange that HL7800 has not the capability to stream out the NMEA string independently and continuosly… the modules of your competitors do it!
Sorry but seems that the HL7800 is still too immature.
Michele

Hi @mfaini, can you let us know which competitors’ module are you comparing with?

Hi Sierra_JordanZhao, now I’m evaluating HL7800 and Quectel BG95 because they have small dimensions. Other modules are available, but they have bigger dimensions.

I have a similar issue on HL7800-M 4.4.6.0 when using at+gnssnmea.
The nmea strings go to UART1 just fine but it’s stuck in that mode forever. Sending +++ does not exit that mode. I tried 2 different serial terminal programs on 2 different computers to be sure, and when nmea sentences are coming, after the CONNECT… sending +++ does not exit that mode. Only way I can do anything else with module is to manually power cycle.

Hi vincentkezel,
Please make sure no <CR/LF> at the end of +++.