-
Notifications
You must be signed in to change notification settings - Fork 10
Debug Terminal: Automatic (event-driven) port arrival/departure handling #79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
UPDATE: Testing on Windows. On Win 7 64-bit, when Chrome IDE has downloaded and is successfully receiving data from the BASIC Stamp, disconnecting the USB port doesn't cause a visible problem immediately; however, the port remains open and presumably Chrome IDE's handle is invalid.
Though this is a better situation than what we had experienced in BSE on Windows upon active port departure, we still need Chrome IDE to handle it more gracefully than it currently does by automatically handling the situation as described in the Debug Terminal document (noted in prev post). The idea to tap into USB events and then re-enumerate the existing COM port list is a good one that will fit well as part of this solution. |
@2fast2fourier - Here's a list of the VID/PID pairs we are interested in monitoring for spontaneous departure/re-arrival:
|
Reminder, the algorithm for handling departure and arrival events is listed in the third major bullet of the Settings section of the Debug Terminal document. Any mention of "visible port field" can be treated as "the current known port in use" since we don't currently have a visible port field. |
The comment at #299 (comment) outlines a caveat on Windows for this feature. However, it will work on OSX and ChromeOS due to no reliance on WinUSB on those platforms. |
Verified:
|
Gracefully handle USB-based Virtual COM Port arrivals and departures.
The legacy serial port support that is also used for USB-based Virtual COM Ports may act in undesirable ways if the application has the port open when unexpectedly is it physically disconnected (causing the port to disappear from the system). On Windows, this often resulted in preemptive process lock-out.
More notes can be found in
The text was updated successfully, but these errors were encountered: