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.
This PR makes software serial work reliably on pins connected to translation buffers such as the TXB0104 used on the SparkFun LTE cellular shield.
On some GPIO the g_AM_HAL_GPIO_INPUT_PULLUP seems to be strong enough to cause problems with translation buffers like the TXB0104. Limiting to the pullup to 24k fixes the issue.
With just g_AM_HAL_GPIO_INPUT_PULLUP the TXB0104 has a min voltage of 1.28V:
The Apollo3 can't interpret the 1.3V as low .
But if we use the 24k pullup g_AM_HAL_GPIO_INPUT_PULLUP_24 the signal gets much better:
And just for fun, here is pull up with 12k. The low voltage raises as the pull up resistance decreases we would expect:
This suggests the generic "g_AM_HAL_GPIO_INPUT_PULLUP" uses a strong pullup, however it's not clear in the HAL what "WEAK" means:
I don't believe there is a downside to using the 22k pull up value rather than the 'WEAK' value.