T-A7670X GPS/GNSS not working

I am using T-A7670SA development board and I am testing its AT commands. I wanted to get my location with this device. I used this example code here T-A7670X/TinyGSM_Net_GNSS.ino at main · Xinyuan-LilyGO/T-A7670X · GitHub

but the output I get is always like this

setup...
SDCard MOUNT FAIL

Wait...
Initializing modem...
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT
AT

*ATREADY: 1
AT
OK
ATE0
AT
OK
AT+CMEE=0
AT
OK
AT+CTZR=0
ATE0
OK
AT+CTZU=1

OK
AT+CPIN?

OK

OK

ERROR
AT+CPIN?

*ISIMAID: "A0000000871004FFFFF00189000001FF"

+CPIN: READY

+CPIN: READY

OK
AT+CGMM

A7670SA-FASE

OK
Modem Name: A7670SA-FASE
ATI

Manufacturer: INCORPORATED
Model: A7670SA-FASE
Revision: A7670M7_V1.11.1
IMEI: 869731051383453
+GCAP: +CGSM,+FCLASS,+DS

OK
Initializing modem...
AT

OK
ATE0

OK
AT+CMEE=0

OK
AT+CTZR=0

OK
AT+CTZU=1

OK
AT+CPIN?

+CPIN: READY

OK
AT+CGMM

A7670SA-FASE

OK
Modem Name: A7670SA-FASE
ATI

Manufacturer: INCORPORATED
Model: A7670SA-FASE
Revision: A7670M7_V1.11.1
IMEI: 869731051383453
+GCAP: +CGSM,+FCLASS,+DS

OK
AT+CGNSSPWR=0

SMS DONE

+CGEV: EPS PDN ACT 1

OK
AT+CGNSSPWR=1

OK
	Wait GPS reday........
+CGNSSPWR: READY!
AT+CGNSSMODE=1


OK
AT+CGNSSINFO

+CGNSSINFO: ,,,,,,,,

OK
getGPS 23942
AT+CGNSSINFO

PB DONE

+CGNSSINFO: ,,,,,,,,

OK
getGPS 25949
AT+CGNSSINFO

+CGNSSINFO: ,,,,,,,,

OK
getGPS 27956
AT+CGNSSINFO

+CGNSSINFO: ,,,,,,,,

OK
getGPS 29963

I am testing outside with the antenna for the gps and lte connected.

From your link, the last lines you posted reflect this (line 300)...

    while (1) {
        if (modem.getGPS(&parameter1, &parameter2)) {
.
.
.
        } else {
            Serial.print("getGPS ");
            Serial.println(millis());

The modem.getGPS() function is expecting values that are not populated in the Xinyuan code, but are found in the Vshymansky TinyGsmGPS.tpp that shows all your lat/lon data...

  bool getGPS(float* lat, float* lon, float* speed = 0, float* alt = 0,
              int* vsat = 0, int* usat = 0, float* accuracy = 0, int* year = 0,
              int* month = 0, int* day = 0, int* hour = 0, int* minute = 0,
              int* second = 0) {
    return thisModem().getGPSImpl(lat, lon, speed, alt, vsat, usat, accuracy,
                                  year, month, day, hour, minute, second);
  }

Your Xinyuan link (top directory readme) have instructions that include this:

  1. Need to install the following dependencies (Unzip and copy to the '~Arduino/libraries' directory)

These instructions are found in the link below...

But I already installed those libraries

Even if I use the AT debug code (to check all AT commands), the other commands is fine and working as expected but whenever I send AT command +CGNSSINFO I do get the same output (,,,,,,,).

I do not have an answer, just observations.

I read a few posts about getGPSraw returning information (I do not know).

If want to get raw NMEA data by USB NMEA port or UART port, AT+CGNSSPORTSWITCH can be
implemented.

Leaving this here in case a solution pops up.

Thank you so much! But I also tried that one and whenever I decode the raw values, The decoder says the latitude and longitude is invalid

Hi, This is working fine but you have to wait for GPS location values. initially when the modem starts up it needs some time for finding the GPS loation after sending the start command.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.