예제 #1
0
        private async Task DisconnectInternalAsync()
        {
            if (_bleDevice != null)
            {
                await StopOutputTaskAsync();

                DeviceState = DeviceState.Disconnecting;
                _bleDevice.Disconnect();
                _bleDevice = null;
            }

            DeviceState = DeviceState.Disconnected;
        }
예제 #2
0
        private async Task DisconnectInternalAsync(bool isError)
        {
            if (_bleDevice != null)
            {
                await StopOutputTaskAsync();
                await SetStateAsync(DeviceState.Disconnecting, isError);

                _bleDevice.Disconnected -= OnDeviceDisconnected;
                _bleDevice?.Disconnect();
                _bleDevice = null;
            }

            await SetStateAsync(DeviceState.Disconnected, isError);
        }