-
Notifications
You must be signed in to change notification settings - Fork 317
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
Calling power states over I2C #124
Comments
thanks - where is this text to update? |
Sorry I was just trying to say you may wish to put some blocking code in and/or an explanation to the effect. The other power modes are interesting and it might be worth putting the keys into the library for less capable people.
From: ladyada <[email protected]>
Sent: 28 June 2020 15:47
To: adafruit/Adafruit_GPS <[email protected]>
Cc: MomentTec <[email protected]>; Author <[email protected]>
Subject: Re: [adafruit/Adafruit_GPS] Calling power states over I2C (#124)
thanks - where is this text to update?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#124 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAZK3SEZG6RTVJORSZAOE5DRY5JVZANCNFSM4OKASMXA>.
|
It's not clear if there is an actual issue here or if this is just a feature request / suggestion?
This sounds like an issue. More details about how to reproduce the issue would help.
And this sounds like it was a solution? Is there code missing from the current library that needs to send extra configuration to the GPS module? |
I think there's still an issue with waking a GPS unit on I2C. I'm using the Adafruit Mini GPS PA1010D with an Arduino Nano RP2040 Connect. When I call GPS.wakeup() the call hangs and never returns. The test I'm using is based on the GPS_I2C_Parsing example code and adding the following at the top:
And at the beginning of loop():
The GPS unit runs fine to start and stops sending NEMA messages after the GPS.standby(), but when GPS.wakeup() is called, it never returns and never gets to the "done" output. On rebooting the board, the GPS unit is still non-responsive - a full power-cycle is required to reset the GPS unit. |
I have the exact same issue using I2C the Wake Up call as you say just hangs and never returns. Is this an issue ? |
Asking the GPS module manufacturer for clarification. The datasheet says this in section 1.9.2.1:
But it's not clear if "serial port" means only UART. |
Recreated behavior using a QT PY M0 with GPS module attached via STEMMA connector. Test Sketch: #include <Adafruit_GPS.h>
Adafruit_GPS GPS(&Wire);
void setup() {
Serial.begin(115200);
while (!Serial);
Serial.println("Adafruit I2C GPS library power mode test");
GPS.begin(0x10);
delay(500);
Serial.println("Entering standby mode.");
GPS.standby();
delay(500);
Serial.println("Waking up from standby.");
GPS.wakeup();
Serial.println("Done.");
}
void loop() {
} Serial Monitor Output:
(never prints "Done.") Scope Traces Zooming in on wake up command attempts: The GPS module is NAKing right away, which is preventing the Adafruit_GPS/src/Adafruit_GPS.cpp Lines 431 to 448 in 4005211
(it never increments |
Using this library with the Adafruit Mini GPS PA1010D Module over I2C I found it as not possible to pull it out of Stanby. After reading the data sheet I realised a byte needs to be sent to the serial port nothing is said about I2C.
A suggested addition would be to add the " AlwaysLocate Mode(Advance Power Periodic Mode)" - $PMTK225,823 to the library. This is much simpler than pulling it in and out of Standby. Another suggestion would be the "Periodic mode".
Then it is possible to send the "Full Power Continuous Mode" -$PMTK225,02B to get it back to normal.
Hope this info is of use.
The text was updated successfully, but these errors were encountered: