Repository navigation
rak: keep WB_IO2 driven HIGH after a failed RAK12500 probe - #3834
Open
marcelverdult wants to merge 1 commit into
Open
marcelverdult wants to merge 1 commit into
marcelverdult wants to merge 1 commit into
Conversation
The I2C probe left WB_IO2 as an input when no RAK12500 answered. WB_IO2 switches the 3V3_S slot rail, which also powers a serial GPS. On base boards that pull this line low, the serial GPS lost power right after detection and never got a fix (meshcore-dev#3830). Before df5a768 the pin stayed HIGH, so keep it driven HIGH again. WB_IO4 and WB_IO5 still go back to inputs.
Collaborator
|
Thanks @marcelverdult Let's wait for some hw test ... (would be good to have v2 and v3 results on that one if possible) |
|
Thanks! This does indeed restore the previous behavior for me. I've built and tested this on V2 and V3: |
|
I noticed this PR duplicates #3818 though this one includes a handy comment that the other does not. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #3830.
When no RAK12500 answers on WB_IO2,
RakI2cGpsDriver::probeRak12500()set the pin back to an input. WB_IO2 switches the 3V3_S slot rail, and that rail also powers a serial GPS. A base board that pulls this line low cuts the serial GPS right after detection, so it never gets a fix. This matches what @marineam measured on the Pocket V3 from df5a768 on.Before df5a768 the pin stayed HIGH after a failed probe (
gpsIsAwake()returned onSerial1.available()without touching it). This change keeps WB_IO2 driven HIGH after a failed probe. WB_IO4 and WB_IO5 still go back to inputs. Ethernet builds skip the WB_IO2 probe as before, and RAK3401 builds do not touch the pins.With
GPS_RAIL_POWER_CONTROLthe serial driver claims the rail before the probe. The pin now stays HIGH, which matches that claim, sogps offand periodic mode can switch it LOW again.Not changed: in the default build the serial GPS has no power pin, so
gps offdoes not cut its power. On the V3 the GPS stays powered all the time, as it did before df5a768.Tested:
RAK_4631_companion_radio_ble,RAK_4631_repeater_gps_power,RAK_4631_repeater_ethernet,RAK_3401_companion_radio_ble,GAT562_30S_Mesh_Kit_repeater