public async override void Disconnect() { if (State == States.Connected) { await _port.CloseAsync(); _reader.Dispose(); _reader = null; _writer.Dispose(); _writer = null; State = States.Disconnected; } }
public async Task CloseAsync() { await _serialPort.CloseAsync(); _serialPort.Dispose(); _serialPort = null; IsConected = false; }
public async Task DisconnectAsync() { lock (this) { if (!Connected) { AddStatusMessage(StatusMessageTypes.Warning, "Can not disconnected - Not Connected"); return; } Mode = OperatingMode.Disconnected; Connected = false; MachinePosition = new Vector3(); WorkspacePosition = new Vector3(); Status = "Disconnected"; DistanceMode = ParseDistanceMode.Absolute; Unit = ParseUnit.Metric; Plane = ArcPlane.XY; UnacknowledgedBytesSent = 0; lock (_queueAccessLocker) { _toSend.Clear(); _toSendPriority.Clear(); _sentQueue.Clear(); } } if (_port != null) { await _port.CloseAsync(); AddStatusMessage(StatusMessageTypes.Info, "Closed Serial Port"); _port = null; } if (_socketClient != null) { await _socketClient.CloseAsync(); _socketClient.Dispose(); _socketClient = null; } if (this._cancelSource != null) { _cancelSource.Cancel(); _cancelSource = null; } AddStatusMessage(StatusMessageTypes.Info, "Disconnected"); }
public async Task CloseAsync() { _isActive = false; _cancellationTokenSource.Cancel(); await _serialPort.CloseAsync(); _serialPort.Dispose(); _serialPort = null; IsConnected = false; }
public async override Task DisconnectAsync() { if (State == States.Connected) { await _port.CloseAsync(); if (_reader != null) { _reader.Dispose(); _reader = null; } if (_writer != null) { _writer.Dispose(); _writer = null; } State = States.Disconnected; InvokeDisconnected(); } }