Skip to content

Major rework on SerialDevice and Engine#152

Merged
josesimoes merged 1 commit intonanoframework:developfrom
Eclo:major-rework-serialdevice
Jun 18, 2018
Merged

Major rework on SerialDevice and Engine#152
josesimoes merged 1 commit intonanoframework:developfrom
Eclo:major-rework-serialdevice

Conversation

@josesimoes
Copy link
Copy Markdown
Member

Description

  • Partial rewrite on the connect device workflow
  • Improvements on the disconnect device worfflow
  • SerialPort now has Read and Send cancellation tokens to improve cancelling of pending I/O operations on device disconnect
  • Valid nanoDevice checking after complete devices enumeration is now carried as a separate task and not part of handler anymore
  • Remove unused flag for autoreconnect on serial device event handler
  • DebugEngine propery in NanoDeviceBase doesn't auto-instanciate anymore
  • NanoDeviceBase now has a CreateDebugEngine
  • Engine doesn't offer a Disconnect method anymore
  • Engine doesn's start background processor on constructor anymore becuase the associated nanoDevice might not be connected at that point, instead is started an ConnectAsync if needed
  • Engine.RebootDevice doesn't force device disconnection anymore, there are devices that do not require that and even behave oddly if this is forced
  • Clean up code and remove several debug output messages
  • Update WPF test app

Motivation and Context

  • Improves connect/disconnect/reconnect workflow for USB serial devices

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

@nfbot
Copy link
Copy Markdown
Member

nfbot commented Jun 18, 2018

Hi @josesimoes,

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

A human will be reviewing it shortly. 😉

- Partial rewrite on the connect device workflow
- Improvements on the disconnect device worfflow
- SerialPort now has Read and Send cancellation tokens to improve cancelling of pending I/O operations on device disconnect
- Valid nanoDevice checking after complete devices enumeration is now carried as a separate task and not part of handler anymore
- Remove unused flag for autoreconnect on serial device event handler
- DebugEngine propery in NanoDeviceBase doesn't auto-instanciate anymore
- NanoDeviceBase now has a CreateDebugEngine
- Engine doesn't offer a Disconnect method anymore
- Engine doesn's start background processor on constructor anymore becuase the associated nanoDevice might not be connected at that point, instead is started an ConnectAsync if needed
- Engine.RebootDevice doesn't force device disconnection anymore, there are devices that do not require that and even behave oddly if this is forced
- Clean up code and remove several debug output messages
- Update WPF test app

Signed-off-by: José Simões <jose.simoes@eclo.solutions>
@josesimoes josesimoes force-pushed the major-rework-serialdevice branch from 86a516e to 3bbad0f Compare June 18, 2018 11:35
@josesimoes josesimoes merged commit d697053 into nanoframework:develop Jun 18, 2018
@josesimoes josesimoes deleted the major-rework-serialdevice branch June 18, 2018 11:44
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.

2 participants