Basic GNSS/GPS usage for Telit LM960A18 cellular module
Question
How do we enable basic GPS tracking with the Telit LM960A18?
Solution
Default mode is that the GPS/GNSS controller is powered down. To power up the GPS enter the following AT command.
AT$GPSP=1
Please make sure that your GPS antenna has direct skyview.
The LM960A18 can use an active GPS antenna. If possible, an active antenna is to be recommended over a passive antenna. The module can feed the GNSS antenna port with maximum of 100 mA and between 2.9 V to 3.15 V.
To enable the use of an active GPS antenna you should use the AT command AT$GPSANTPORT. By setting it equal to 3 you have enabled the use of an active antenna. Setting it equal to 4 also enables the use of an active antenna but with high gain.
AT$GPSANTPORT=3
You can use the command $GPSACP to get the GPS position in the following format: UTC time, latitude, longitude, HDOP, altitude, fix, course over ground, speed over ground (km/h), speed over ground (knots), date, number of satellites in use.
Remember that you may have to wait a while from activating the GPS until you get a fix, until that your response will look something like "$GPSACP: ,,,,,1,,,,,". You simply have to wait (and double check that you use the correct antenna in the correct connector). From a "cold start" in perfect conditions it may take up to 40 seconds to get a fix, and if everything is not perfect this can take a much longer time.
AT$GPSACP
To activate an unsolicited streaming of GPS data (in NMEA format) through the NMEA port use the AT command AT$GPSNMUN. To enable set it equal to 1:
AT$GPSNMUN=1
Once enabled you can choose which of the following data you want: Global Positioning System Fix Data, Geographic Position - Latitude/Longitude, GPS DOP and Active Satellites, GPS Satellites in View, Recommended Minimum Specific GPS Data, Course Over Ground and Ground Speed. To enable all you enter: (If you only want a couple, put 1 at the ones you want to enable and 0 at the ones you do not want).
AT$GPSNMUN=1,1,1,1,1,1,1
You can change the GPS quality of service (QoS). This is done by the AT command AT$GPSQOS. To see what curren QoS parameters that are set enter AT$GPSQOS? and to see the supported values enter AT$GPSQOS=?. For exemple you can enter the following to get low horizontal and vertical accuracy and a low response time. This is greatly further explained in chapter 5.6.2.9 in the AT commands guide.
AT$GPSQOS=1800000,990,150,0,0,0
For further explanations of the AT commands look at chapter 5.6.2 in the AT command guide, found under "Technical Documentation" on the product page https://techship.com/products/telit-lm960a18-lte-cat-18-mpcie/).