fix(serial): during auto-reconnect, update all pySerial references (CII-181)#416
Open
ofacklam wants to merge 1 commit into
Open
fix(serial): during auto-reconnect, update all pySerial references (CII-181)#416ofacklam wants to merge 1 commit into
ofacklam wants to merge 1 commit into
Conversation
The previous implementation of the auto-reconnection feature (commit 019e38a) detects connection loss in the reader _event_loop() and proceeds to re-assign the local variable to a fresh pySerial instance. However, the `proc` member of the Serial class is not updated, and attempts to write to the Serial instance continue to fail even after the reconnection logic succeeded. Therefore, make _SerialRedirectThread take the Serial instance as argument, instead of the pySerial.Serial object. The _event_loop() can thus operate on and update the `proc` member directly.
Member
|
Thank you. LGTM! @horw PTAL. |
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.
Description
The previous implementation of the auto-reconnection feature (commit 019e38a) detects connection loss in the reader _event_loop() and proceeds to re-assign the local variable to a fresh pySerial instance. However, the
procmember of the Serial class is not updated, and attempts to write to the Serial instance continue to fail even after the reconnection logic succeeded.Therefore, make _SerialRedirectThread take the Serial instance as argument, instead of the pySerial.Serial object.
The _event_loop() can thus operate on and update the
procmember directly.Related
Testing
Tested locally with an Espressif DevKit, manually disconnecting & reconnecting the serial line
Checklist
Before submitting a Pull Request, please ensure the following: