Notecard GPS message stops updating

GPS OUTPUT FROM NOTECARD STOPS UPDATING

I have been using the Notecards (+ Notecarrier-B) for a few months now.
Normal program operation is to send data to the Cloud every 3 mins (180s), and read the GPS every 65s.

Everything normally works well but a couple of times I have noticed that the Notecard GPS response to {“req”:“card.location”} stops updating, and just continues to give the same output.

Example below, showing non-changing responses to sending {“req”:“card.location”}. The code send this message every 65s.
The response normally updates with the time, but in this state, the time (and everything else in the response) stays the same.

....
Sending {"req":"card.location"}
notecard: {"status":"GPS updated (352 sec, 48/54 dB SNR, 10/16 sats, HDOP 0.60) {gps-active} {gps-signal} {gps-sats} {gps}","mode":"continuous","lat":-37.819443333333336,"lon":145.0480015,"dop":0.7,"time":1682787393}

Sending {"req":"card.location"}
notecard: {"status":"GPS updated (352 sec, 48/54 dB SNR, 10/16 sats, HDOP 0.60) {gps-active} {gps-signal} {gps-sats} {gps}","mode":"continuous","lat":-37.819443333333336,"lon":145.0480015,"dop":0.7,"time":1682787393}

Sending {"req":"card.location"}
notecard: {"status":"GPS updated (352 sec, 48/54 dB SNR, 10/16 sats, HDOP 0.60) {gps-active} {gps-signal} {gps-sats} {gps}","mode":"continuous","lat":-37.819443333333336,"lon":145.0480015,"dop":0.7,"time":1682787393}
....

I can get out of this state by setting the mode to “off”, then to “continuous” again:

{"req":"card.location.mode","mode":"off"}
notecard: {"mode":"off"}
{"req":"card.location.mode","mode":"continuous"} 
notecard: {"mode":"continuous"}

After sending these commands, the GPS goes to search, then starts updating normally:
(Note time is now updating as expected).

Sending {"req":"card.location"}
notecard: {"status":"GPS search (18 sec, 50/50 dB SNR, 0/6 sats, HDOP 0.00) {gps-active} {gps-signal} {gps-sats} {gps}","mode":"continuous","lat":-37.819443333333336,"lon":145.0480015,"dop":0.7,"time":1682787393}

Sending {"req":"card.location"}
notecard: {"status":"GPS updated (51 sec, 49/49 dB SNR, 7/18 sats, HDOP 0.70) {gps-active} {gps-signal} {gps-sats} {gps}","mode":"continuous","lat":-37.819455833333336,"lon":145.04808966666667,"dop":0.8,"time":1682820638}

Sending {"req":"card.location"}
notecard: {"status":"GPS updated (126 sec, 50/51 dB SNR, 9/15 sats, HDOP 0.70) {gps-active} {gps-signal} {gps-sats} {gps}","mode":"continuous","lat":-37.819449166666664,"lon":145.04808950000001,"dop":0.7,"time":1682820713}

In my application the GPS time from the Notecard is used to set the time on a data logger. In this state where the GPS time is not updating, the data logger will not set the time correctly, so this is a serious problem if it occurs in the field.

Note I am using the latest firmware in the Notecard (v4.2.1). This is the response to “card.version”:

{"version":"notecard-4.2.1.4015688","device":"dev:867730051149924","name":"Blues Wireless Notecard","sku":"NOTE-NBGL-500","board":"1.11","api":4,"body":{"org":"Blues Wireless","product":"Notecard","version":"notecard-4.2.1","ver_major":4,"ver_minor":2,"ver_patch":1,"ver_build":4015688,"built":"Feb 24 2023 11:48:13"}}

Has anyone seen this behaviour?
What can be done?

Gary

Hi @GaryQ,

The Notecard will only attempt to ascertain a new GPS location if the onboard accelerometer has detected movement since the last reading. Is there any chance this Notecard was stationary at the time of the readings? This would also explain the time not changing, as that is the time of the location capture (not the current time).

Also, the cellular modem and GPS cannot be active at the same time, so if your Notecard is actively connecting to a network and transmitting data, you won’t be able to get a GPS reading (although that state should be reflected in the response of a card.location request, so not likely to be the case).

Rob

hi Rob,
OK, thanks for the reply.

Yes, I’m aware that GPS is turned off to save battery when there’s no motion, but I thought this would be indicated in the card.location reply, as stated in the BW documentation:

If the Notecard has not moved, a card.location request will indicate that GPS is inactive and provide the last location reading.

However, as shown in the example replies given in my original question, the card.location reply says “GPS active”, and “GPS updated”.

In my application, the data logger (logging tide data) will mostly be stationary, on a beacon or pier at a fixed location in the ocean. This isn’t a particularly unusual situation, as all applications aren’t necessarily moving.

I don’t particularly care if the location is not updated, but I would like to access GPS time.

What is the best way to do this?

Should I periodically set mode to “off”, then back to “continuous”. This seems to force the GPS back on again (as shown in the example).
(Setting mode to “periodic”, according to the BW documentation, still won’t update the GPS if the unit is stationary.)

Thanks, Gary

1 Like

I use card.location to get the latest position and position time, but I use card.time to get the current time. The time from the location will not update, but the card.time is running also between GPS fixes.

I had a GPS stop working for 7 months, after restarting the notecard remotly using _restart (Understanding Environment Variables - Blues Developers) it started working again.