EC25 QuecOpen GNSS

Hi,
I am using QuecOpen EC25EFAR06A01M4G_OCPU_01.001.01.001_SDK with the EC25 and I’m struggling to get the GNSS part working correctly in QuecOpen.
Maybe a newer SDK had been released that improves the use of GNSS with QuecOpen ?
My main problem is that I do not understand half of what is written in the ql_mcm_gps.h file.
For example:

  • I do not understand how to put to good use the min_interval, preferred_accuracy and preferred_time of the QL_LOC_POS_MODE_INFO_T struct. Comments in the code are not very clear as to what the values of these parameters do and the QuecOpen Software application note on GNSS doesn’t explain much either.

  • Same thing goes for E_QL_LOC_POS_MODE_MS_BASED and E_QL_LOC_POS_MODE_MS_ASSISTED in E_QL_LOC_POS_MODE_T which don’t seem to work. Seem to recall reading in the AT command document that these modes were not supported… Doesn’t explain why they’re in the .h file though.

  • Same thing goes for using Xtra. Doesn’t really say how to use it in QuecOpen.

  • Last thing is that if I start the GNSS using only the functions defined in ql_mcm_gps.h as explained in the application note and software example, it takes ages to get a fix (more than a minute). But if I start the GNSS using AT+QGPS=1 in my code, then the GNSS gets a fix much faster (20 to 30s).

I do not know which of these two approaches is the best:

  1. Use only the AT commands within the QuecOpen C code (which seems a bit of a shame when using the QuecOpen SDK);

  2. Or use the functions provided in the QuecOpen SDK ?

So far I’m using a mix of both to get the GNSS working more or less properly. Works fine when GNSS conditions are excellent, but not so much when the conditions are poor. Hence the questions above about how to configure the GNSS parameters in QL_LOC_POS_MODE_INFO_T, how to use AGPS and how to use Xtra.

I’ve already asked my local FAE about this a year ago but never got a reply.

Best regards,

Harold Nottingham

Hi @hnott

Thank you for your information,
I’m not sure if you have referenced the following documents, I uploaded them and hope it helps you.

KBA_QuecOpen_GPS_API_UserGuide_V1.0.pdf (1.2 MB)
Quectel_EC2X&AG35-QuecOpen_Base_Station_Position_Solution_V1.0_Preliminary.pdf (1.1 MB)

Hi @Puck-Q,

Thank you for your reply.
I already have these exact documents in the documentation that was provided in the QuecOpen software package. They do not however answer any of my questions as they do not go too deep into the details of the API…

First question I had was about the contents of the QL_LOC_POS_MODE_INFO_T structure in ql_mcm_gps.h :

  1. Which values can be used for min_interval and what do the values mean/represent in reality ? What are the minimum and maximum values that can be used and that make sense ?

  2. Same question for preferred_accuracy : What does it represent ? What happens if the value specified cannot be achieved ? Is there a minimum and maximum value ?

  3. Same question for preferred_time : What does it represent ? What happens if the value specified cannot be achieved ? Is there a minimum and maximum value ?

Maybe people that have done GNSS/GPS for a long while have the answers to these questions. But that is not my case. Can you please shed some light on these questions ?

We can tackle the remaining question afterwards. I realise I’ve put quite a lot of questions in :wink:

Best regards,

Hi @hnott

My feedback is as following.

  1. Which values can be used for min_interval and what do the values mean/represent in reality ? What are the minimum and maximum values that can be used and that make sense ?
    [Puck] :
    min_interval Represents the time between fixes in milliseconds.
    unit: ms
    Ranges:100,200,500,1000,>1000

  2. Same question for preferred_accuracy : What does it represent ? What happens if the value specified cannot be achieved ? Is there a minimum and maximum value ?
    [Puck] :
    preferred_accuracy Represents requested fix accuracy in meters.


    My opinion is that the setting of this parameter only allows GNSS to work at a performance value, but there are many factors that affect the positioning accuracy. If the accuracy is not achieved, the positioning accuracy will continue to be updated(pt_location->accuracy), and the positioning will continue to work.

  3. Same question for preferred_time : What does it represent ? What happens if the value specified cannot be achieved ? Is there a minimum and maximum value ?
    [Puck]:
    preferred_time Represents the requested time to first fix in milliseconds.
    I think this parameter is only suitable for warm start. You can try to run the example_gps as sync_get_position_once mode .
    Once you have successfully positioning in cold start (positioning time depends on the set timeout_sec, if the positioning is not successful within the timer_out time, it will return -2, generally Cold start is recommended for 90s). The time interval for obtaining positioning information next time will refer to the preferred_time setting value.
    For example, I set the preferred_time to 1s,then when sync_get_position_once is executed again, positioning message will be displayed within 1s after QL_LOC_Set_Position_Mode setting.



    actually,in warm start mode,the message display time depends on which value of time_out and preferred_time is smaller, such as time out =1s, preferred_time = 10s, then the positioning message will be displayed after 1s.
    Ranges:>=1ms.

Hope those can help you.

Hi @Puck-Q,

Thank you for your reply. That does makes things clearer.
There are still things I don’t quick get though:

  1. preferred_accuracy is a uint32_t variable. What is the unit ? m or mm ? Because uint32_t is quite big for indicating something in the meter range that goes from 1m to 10km for example…

  2. Same question for preferred_time. You replied by saying it is in ms (would be more logical for a uint32_t) but then you show sample code that has 1 written in it instead of 1000 for 1s. So which is it ? ms or seconds ?

If this could be indicated in the comments for typedef struct { } QL_LOC_POS_MODE_INFO_T; in ql_mcm_gps.h I am sure other people would find the information useful.

Best regards,

Hi @hnott

please refer to the answes below.
1- preferred_accuracy // unit: m
2- preferred_time // unit: s
sorry , 1 = 1s

Yes, thank you for your suggestion, we will optimize it.

Hi @Puck-Q,

Thank you for your reply.
There are still some unanswered questions from my first message in this post. So we’re not quite finished :grin:
They are about A-GPS and Xtra. If you want me to open another topic for this let me know.

Questions are as follow:

  1. What can be used with the EC25-E ? A-GPS or Xtra or both ?
    Once again software documentation and QuecOpen header files don’t offer much information (or I’ve missed it).

  2. I’m not entirely sure, but is QuecLocator the same as A-GPS ? Or is it another solution to enhance a GNSS solution ?
    It also says in the QuecLocator Application Note that “QuecLocator is a value-added function provided by Quectel, with service fee collected.”. Meaning with have to pay to use it ?
    Because I tried using it with QNavigator_V1.6.9 and it wouldn’t work.

  3. If we can use A-GPS, which one can we use with the EC25-E ? MS-Based ? or MS-Assisted ? or both ?

  4. If we can use Xtra which one can we use with the EC25E ? xtra2 for GPS+GLONASS ? Or xtra3grc for GPS+GLONASS+BeiDou ? Or xtra3grcej for GPS+GLONASS+BeiDou+Galileo ? Or all 3 ?

  5. Is it possible to use Xtra and A-GPS at the same time ? And that does make sense (is it really useful) ?

I’m asking these questions because we have situations when the GNSS signal is lost but we still have 2G/3G/4G signal. So we could benefit from using A-GPS to still have a position when there is no GNSS signal. Xtra on the other hand would be quite handy to speed up the Time To First Fix as we are dealing with moving vehicles and usually these vehicles start moving before the first fix is acquired.

I also had questions on how to use A-GPS and Xtra with QuecOpen but I’ll wait for your replies on what we can use before writing them.

Thanks.

Best regards

Hi @Berton.Peng-Q could you please help this case.

Hi @hnott

Please refer to the answers below and the attached document for GNSS and QuecLocator.

  1. What can be used with the EC25-E ? A-GPS or Xtra or both ?
    Once again software documentation and QuecOpen header files don’t offer much information (or I’ve missed it).
    EC25 supports XTRA rapid positioning technology and AGPS auxiliary positioning technology, such as SUPL.

  2. I’m not entirely sure, but is QuecLocator the same as A-GPS ? Or is it another solution to enhance a GNSS solution ?
    QuecLocator is a cellular location service developed by Quectel. It allows Quectel modules to get location information through base station (Cell ID) information. The service can enhance and complement stand-alone GNSS performance particularly in challenging signal environments, such as urban canyon, indoors, enclosed park houses or when GNSS jamming signals are present.Customers can simply issue an AT command to initiate a request towards a server and the server will calculate a position and return it to Quectel module, which in turn will report the position to customers.

  3. If we can use A-GPS, which one can we use with the EC25-E ? MS-Based ? or MS-Assisted ? or both ?
    Both,MSA is often used in situation such as 911. MSB is for general situation.

  4. If we can use Xtra which one can we use with the EC25E ? xtra2 for GPS+GLONASS ? Or xtra3grc for GPS+GLONASS+BeiDou ? Or xtra3grcej for GPS+GLONASS+BeiDou+Galileo ? Or all 3 ?
    gpsOneXTRA is an assisted positioning technology of Qualcomm, similar to AGPS, which can help GPS to locate quickly and support GPS+GLONASS

  5. Is it possible to use Xtra and A-GPS at the same time ? And that does make sense (is it really useful) ?
    It can work at the same time, but it doesn’t make much sense.

Quectel_EC2x&EG9x&EM05_QuecLocator_Application_Note_V1.0.pdf (233.1 KB)
Quectel_EC2xEG9xEG25-G_Series_QuecOpen_GNSS_API_Reference_Manual_V1.0.pdf (281.3 KB)

Hi @Puck-Q,

Thank you for your replies. I did not have the QuecOpen GNSS API Reference Manual. It explains a few things.
From your replies I gather there are actually three options that can be combined with GNSS to improve it:

  1. Xtra;
  2. AGPS MSB mode;
  3. QuecLocator.

You didn’t actually say which Xtra can be used on the EC25-E ? xtra2 or xtra3grc or xtra3grcej or all 3 ?

As mentioned before I have tried to implement all of the three options (XTRA, AGPS and QuecLocator) but have never succeeded in getting them to work. After hours of digging around the Quectel forum I seem to remember reading posts about it that offered explanations for the parts that are not explained in the Quectel documentation.

From what I recall from previous tests:

  1. Inject time for Xtra was always invalid even after updating the time.
  2. Setting mode to AGPS MSB in QL_LOC_Set_Position_Mode() doesn’t improve TTFF. I seem to remember if even returned an error code. Probably because there are other AGPS related functions to call before QL_LOC_Set_Position_Mode().
  3. QuecLocator doesn’t provide the cell info. Probably got something to do with the APN not being setup properly.

Will have to take some time and try them again.

Best regards,

Harold Nottingham

Hello,
i have almost the same problem. I have to implement AGPS but i’m having trouble using GNSS API. So i’m starting to use AT commands, is there any correct AT commands flow that u can suggest me?
In addition I saw from the ec21eu page that there is a new application note Quectel_EC2x&EG9x&EG2x-G&EM05_Series_GNSS_Application_Note_V1.3 but it’s only for premium users.

Furthermore i have problem with Xtra functionality too. I read from other topics in the forum that the correct address is http://xtrapath4.izatcloud.net/xtra2.bin and that only xtra2.bin is supported. Is that right? I tried to check using at commands and the response was dated 1980 for other xtra file but xtra2.bin (downloaded from the link above).

Best regards
AM

Hi @DJCC,

As you guessed from the above I had the same problems. However I never got round to enabling the AGPS or the Xtra for lack of time to spend on the subject. I also could not figure out which date to inject for the Xtra, kept getting the 1980 date and none of the Xtra files I uploaded seemed to have any effect.

So far everybody keeps saying look at the documentation and figure it out. As you noticed this is quite tedious and takes a long time. I haven’t found any straight forwards explanation on how to do this yet. However I believe that by looking at all the relevant documentation (which would require having access to all documents) and by doing intensive research on this forum you should be able to figure it out. Other people must have been able to do it. But it will probably take a very long time…

Sorry that I cannot be of more help.

Best regards,

Harold