Skip to content
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

Rework device watcher #58

Merged
merged 1 commit into from
Oct 20, 2017

Conversation

josesimoes
Copy link
Member

@josesimoes josesimoes commented Oct 20, 2017

Description

  • Device watchers no longer use the delayed disposed and removal approach.
  • Remove NoReconnect option from RebootOption because it doesn't make sense anymore.
  • Add code to forcibly disconnect the device on soft reboot to allow proper watcher workflow (isn't the case if there is an open connection).

Motivation and Context

  • Current implementation of nF devices detection/connection (using device watchers) doesn't allow reusing the device and the engine on device reboot because the device actually goes away and returns as a "new" one. Any reconnection mechanism required has to be implemented at the caller layer.
  • Solves the critical reconnection issues that have been plaguing the debugger.
  • Resolves USB CDC doesn't enumerate device after CpuReset Home#246.

How Has This Been Tested?

Screenshots

Types of changes

  • Improvement (non-breaking change that improves a feature, code or algorithm)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Signed-off-by: José Simões jose.simoes@eclo.solutions

- Device watchers no longer use the delayed disposed and removal approach.
- Remove `NoReconnect` option from `RebootOption` because it doesn't make sense anymore.
- Add code to forcibly disconnect the device on soft reboot to allow proper watcher workflow (isn't the case if there is an open connection).
Signed-off-by: José Simões <jose.simoes@eclo.solutions>
@nfbot
Copy link
Member

nfbot commented Oct 20, 2017

Hi @josesimoes,

I'm nanoFramework bot.
Thank you for your contribution!

A human will be reviewing it shortly. 😉

@josesimoes josesimoes merged commit 2de82a0 into nanoframework:develop Oct 20, 2017
@josesimoes josesimoes deleted the rework-serial-device-watcher branch October 20, 2017 12:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

USB CDC doesn't enumerate device after CpuReset
2 participants