Unable to access GPS readings without turning on GPS

I have been trying to work on a GPS tracking system for an IoT device I’m developing. I am using an ESP32 as a host controller and I have been using an external GPS set up on the Notecard’s AUX pins. Today, I noticed that when I had the GPS in periodic mode (seconds were set to 360), the GPS was turning on much more often than every 6 minutes, even if the device was kept still.

I found that the GPS turning on coincided with when I was calling the “card.location” request from the host. I was under the impression that the “card.location” request simply responds with the Notecard’s most recent GPS values. However, now it seems to me that the “card.location” request overrides the GPS’s periodic interval and turns on the GPS to get a new updated location.

Is this true?
If so, is there a way to pass the most recent GPS data (including “time” and geofence “area” fields) to the host without collecting a new location?
If I were to get a new location, that would mess with whether the device is seen to be inside or outside of the geofence.

Cheers,

Nathan

Hi @NathanJC,

There is an exception in the firmware if periodic mode is set at <= 300 seconds and movement is sensed, then the GPS will effectively sustain a continuous connection (since that ends up being more power efficient). Is there any chance you set a different sensitivity parameter in a card.motion.mode request? I’m just wondering if you have the sensitivity cranked up and it’s triggering on the smallest of movements.

Otherwise this is something we’d want to do a local repro of to see if we can further diagnose the issue. If you want to PM me with hardware/firmware specifics that would be great.

Thanks,
Rob