-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Data is not stored in BBR after myGNSS.powerOff() (software backup mode is not working) #42
Comments
Hi Charlie (@charlienicholsonr ), We'll help you if we can. But, to me, this sounds like an issue with the way you are powering the GNSS and/or using the PMREQ functions. Please re-read section 4.1 in the integration manual. Are you sure leaving V_BCKP disconnected is the right thing to do, in your case? RESET_N is the GNSS hardware reset pin. How do you have RESET_N and EXTINT connected? Are you keeping RESET_N high? Are you attempting to use EXTINT to wake the GNSS? The library has three reset methods ( In summary, I don't think the library is to blame. I think this is more likely to be a misunderstanding about the sleep state and the wake source. Best, |
Okay, did a test and pulling RESET_N high doesn't solve my problem. Btw, this is the serial output:
|
Hi Charlie (@charlienicholsonr ), OK. I think I understand what is happening... I have a MAX-M10S board here. I've cut the track from the battery to V_BCKP to replicate your board. If I run the following example with I'm going to close this because I think this solves your issue. Good luck with your project! Best wishes,
|
This works! Thanks so much! I was troubleshooting this for weeks and I'm so glad you could help! A quick tip for anyone else having this problem: I couldn't get the |
Hi Charlie, You can also check the time validity with All the best, |
Hi Paul, I don't know whether to open this issue again, but I am encountering some issues after integrating the GNSS code with the rest of my code (which, by the way, is a LoRa tracker). I am having the same problems as before, but this time I am checking if the time data is valid with The annoying thing is, I got my code working, and then I stupidly decided to change something, and it stopped working. It probably is just a silly error on my part, especially seeing how much I modified your (working) code. Here's my sketch:
My code needs the GPS module to be on for the least amount of time possible to save power. Note that there isn't an MCU sleep or delay in the code because I'm relying on the transmit function to block the sketch for more than 5 seconds. One thing that could be causing issues in my code is the fact that I have a LoRa module and a GPS module on the same breadboard, and RF interference may be occurring. Thanks for all your help, |
Hi Charlie, TL;DR: If you move The The methods like
with the confirmedTime bit being written into the bool pointed to by
All the best, PS. Later, I did start to add safe versions of (previously) unsafe methods like this. Strictly, I should do the same thing everywhere... Including SparkFun_u-blox_GNSS_v3/src/u-blox_GNSS.h Lines 435 to 436 in 05eea98
|
Hi Paul, I did what you said, but the loop is simply skipping over the getPVT() because, according to the sketch, there is no available GPS data. Because of this, I modified the sketch to comment the getPVT() out. It is still not working correctly, though. It still is not validating the time data before the power off. Here is a snippet of my code, and I hope I implemented it correctly. Let me know if I did it incorrectly.
Thanks again for all your help, |
Hi Charlie, You don't need the After a cold start,
Best wishes, |
Hi Paul, The code now waits for the time to be validated before moving on. Although it now waits, after sleep the time comes out unvalidated. Is there something else I should check before going to sleep? Cheers, |
Hi Charlie, I think that's all as expected. The GNSS knows that its internal clock will drift a little while it is asleep and not receiving satellite signals. So it's expected that it will need to re-sync / re-validate when it wakes. Cheers, |
Hi Paul, Thanks for all your help in this project. I think I figured it out, though by reading the u-blox docs over and over again. Before sleep, you need to check the satellites and if there is a 3D fix before sleep. You also need to configure the GNSS to only use GPS. Here are snippets for anyone wondering:
and disable other GNSS modes
and I needed to send with a wakeup interrupt:
and here is my all of my code in the end:
Thanks again for all the help, Paul! Cheers, |
Hello, all!
I am experiencing a weird issue after putting my u-blox MAX M10S GPS module into software backup mode using the function powerOff(). It is not storing time or location data from the previous period of being on. It is almost like it is reseting every time I put it into backup mode. This screenshot from the integration manual says that it stores the relevant data:
And this screenshot says that it retains BBR:
But, this screenshot seems contradicting, saying that the RAM is erased:
Reading futher in the inerface manual, I noticed this. Is the Sparkfun library sensing a reset message every time it "wakes up" from software backup mode?
I am using a homemade SAMD21G18A microcontroller to interface with the GPS module. The GPS module has power supplied to the V_IO and VCC pins, with nothing supplied to the V_BCKP pin, as specified. The u-blox integration manual can be found using this link (section 3.6.3/3.6.3.2).
If you're wondering what code (modified example 22) I'm using to get these results, here it is:
Any help with this would be appreciated!
The text was updated successfully, but these errors were encountered: