-
Notifications
You must be signed in to change notification settings - Fork 964
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
Gps power management problems #376
Comments
ooh great! I will definitely apply your hack and your power save fix. I'll also repurpose this bug to (eventually) look into careful power management experiments for the M8 boards. |
…s from @a-f-G-U-C fixes described in bug meshtastic#376
This issue has been mentioned on Meshtastic. There might be relevant details there: https://meshtastic.discourse.group/t/timed-reboot-feature/1226/6 |
…s from @a-f-G-U-C fixes described in bug meshtastic#376
This issue has been mentioned on Meshtastic. There might be relevant details there: https://meshtastic.discourse.group/t/higher-power-consumption-than-expected/1424/5 |
…causes bogus wakes on TBEAMS because the USB->SERIAL chip pulls the RX input to ground. This feature is no longer needed because in !isRouter nodes we force the node to never sleep anyways when on USB power. // this doesn't work on TBEAMs when the USB is depowered (causes bogus interrupts) // So we disable this "wake on serial" feature - because now when a TBEAM (only) has power connected it // never tries to go to sleep if the user is using the API // gpio_wakeup_enable((gpio_num_t)SERIAL0_RX_GPIO, GPIO_INTR_LOW_LEVEL);
…timeout_secs Deprecate unused mesh_sds_timeout_secs
There have been reports of sub-par performance of the ublox NEO-M8N GPS module under Meshtastic, and I have experienced some of it myself.
Device model: T22_V1.1 20191212 w/ u-blox NEO-M8N-0-10 GPS
Here are my observations and tentative fixes.
"No UBLOX GPS"
Sometimes, on startup, the Sparkfun u-blox library fails to initialize the GPS module, causing a fallback to standard NMEA (on a finger-crossing basis, as NMEA may be disabled in the GPS settings). The relevant error message is:
This happens fairly frequently, for me it's a little more than one in two cases.
The suspected cause is a problem in the Sparkfun library, which is currently being tentatively mitigated by repeating the initialization command twice in quick sequence.
https://github.com/meshtastic/Meshtastic-device/blob/288363b3a67d978ffa3b174d2280e2d647836ee4/src/gps/UBloxGPS.cpp#L48-L50
This mitigation is moderately effective, and I was able to improve it by adding a delay between the attempts:
This fixed the UBLOX initialization problem for me.
Long acquisition time, unstable tracking with frequent loss of lock
In areas with weak GPS signals, Meshtastic takes an exceptionally long time to acquire a satellite lock, much longer than other GPS receivers - up to 20 hours in one case. It also seems to have a weaker tracking ability, and the time to recover from a signal loss is painfully long, over 1h in some cases.
These periods of no-fix are visually indicated by a slow blink of the red GPS LED (5s on, 15s off).
What fixed this problem, in my case, was disabling the GPS power-saving mode, here:
https://github.com/meshtastic/Meshtastic-device/blob/288363b3a67d978ffa3b174d2280e2d647836ee4/src/gps/UBloxGPS.cpp#L84
(changing
true
tofalse
above caused the GPS to perform as expected)I suspect the cause of the problem is a too ambitious implementation of the power saving mode on the NEO-M8 GPS, which in my case resulted in a degraded experience. Fortunately, with the new GPS models from u-blox, the power-saving mode is not an on-off affair; it comes with a lot of fine-tuning options, and a good power-performance balance is probably achievable - just not with the default settings.
Further info: u-blox M8 Power Management doc
Additional information
May be related and relevant to the following issues: #373, #339
The text was updated successfully, but these errors were encountered: