Use timeout when waiting for dreq in sci mode #99
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.
I observed that sometimes
dreq
did not become high after SCI operations. This is compliant with the datasheet p.38 ("If DREQ is low when an SCI operation is performed, it also stays low after SCI operation processing"). The datasheet gives maximum times SCI operations may require until completion.Howerver, the current implemention always expected dreq to become high after SCI operations. It will wait endlessly if not.
This PR adds a timed wait for data request to be used for SCI operations. The default timeout (50ms) is chosen, such that all SCI operations will have completed within the chosen timeout. See datasheet p.38.