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.
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.