/// <summary> /// Connexion au device en série. /// </summary> public async Task <bool> Connect(string deviceId) { _serialPort = await SerialDevice.FromIdAsync(deviceId); if (_serialPort != null) { _serialPort.WriteTimeout = TimeSpan.FromMilliseconds(1000); _serialPort.ReadTimeout = TimeSpan.FromMilliseconds(1000); _serialPort.BaudRate = 9600; _serialPort.Parity = SerialParity.None; _serialPort.StopBits = SerialStopBitCount.One; _serialPort.DataBits = 8; _serialPort.Handshake = SerialHandshake.None; _writer = new DataWriter(_serialPort.OutputStream); _deviceConnected = true; Task taskReceive = Task.Run(() => { ReadLoop(_serialPort.InputStream); }); await taskReceive.ConfigureAwait(false); OnSerialConnected?.Invoke(this, new EventArgs()); return(true); } return(false); }
private void Update() { // Read the next message from the queue var message = serialThread?.ReadSerialMessage(); if (message == null) { return; } // Check if the message is plain data or a connect/disconnect event. if (string.Equals(message, SERIAL_DEVICE_CONNECTED)) { IsConnected = true; OnSerialConnected?.Invoke(); } else if (string.Equals(message, SERIAL_DEVICE_DISCONNECTED)) { IsConnected = false; OnSerialDisconnected?.Invoke(); } else { if (!IsConnected) { return; } OnSerialMessageReceived?.Invoke(message); } }
private void Update() { //#if UNITY_EDITOR // if (testPitacoConnection && stopReceivePicatoValues == false) // { // OnSerialMessageReceived?.Invoke(testPitacoValue.ToString(CultureInfo.InvariantCulture)); // return; // } //#endif // Read the next message from the queue var message = serialThread?.ReadSerialMessage(); if (message == null) { return; } // Check if the message is plain data or a connect/disconnect event. if (string.Equals(message, SERIAL_DEVICE_CONNECTED)) { IsConnected = true; OnSerialConnected?.Invoke(); } else if (string.Equals(message, SERIAL_DEVICE_DISCONNECTED)) { IsConnected = false; OnSerialDisconnected?.Invoke(); } else { if (!IsConnected) { return; } OnSerialMessageReceived?.Invoke(message); } }