GNSS Priority Mode

Hi there,

As I’m currently evaluating our GNSS implementation, I’ve encountered some discrepancies in your documentation.

My inquiry pertains to the optimal implementation of the GNSS priority mode. Here are some details about our firmware:

  • The reason for prioritizing GNSS
    • No PSM
    • No EDRX
  • Need to establish a network connection before GNSS to retrieve A-GNSS data
  • Preferably, establish the connection only once (per location request) to mitigate connection and data transfer costs

I’ve come across two sources of information regarding the Priority Mode:

1) GNSS Interface in nrfxlib

This source suggests that priority for GNSS should only be enabled when a fix has been blocked by LTE idle mode operations. It advises against making decisions based on a single PVT event but suggests enabling priority only if the flag has been set in several consecutive PVT events.

"Priority for GNSS should be used only when a fix has been blocked by LTE idle mode operations [...] The application should not make the decision based on a single PVT event, but should enable priority only in case this flag has been set in several consecutive PVT events."

See also Location Lib in nRF Connect SDK.

2) DevAcademy Cellular IoT Fundamentals - Lesson 6 - Exercise 2

This source, however, recommends enabling GNSS priority mode immediately before starting GNSS but also cautions against its use.

"[…] This is by enabling GNSS priority mode […]. This is not recommended […].
In gnss_init_and_start(), before starting GNSS, you can enable GNSS priority mode."

See also GNSS sample in nRF Connect SDK.

In my opinion, these recommendations contradict each other (not recommended + immediately activate vs. activate after a certain time).

What would be the recommended approach for handling this if GNSS is indeed intended to take priority over LTE? During GNSS operation, we do not require the LTE connection, and temporary loss of connection would not be an issue.

Best regards,
Markus

Related