private void OnBLEDeviceDisconnected(object sender) { // Device is disconnected, Get the device details. if (sender != null && sender is BTLESerial) { _loraSerialDevice.Send(String.Format("Remote device disconnected from node. Remote device id - {0}", (sender as BTLESerial).ConnectedDevice)); } _pulseData.Clear(); _criticalRate.Clear(); }
public MainPage() { InitializeComponent(); serialPort = DependencyService.Get <ISerialPort>(); serialPort.Received += (s, data) => { recvCount += data.Length; }; serialPort.Open("/dev/ttyS3", 115200); Task.Run(() => { var sendBuffer = new byte[234]; for (byte i = 0; i < sendBuffer.Length; i++) { sendBuffer[i] = i; } while (true) { //System.Diagnostics.Debug.WriteLine($"Count:{sendCount} {recvCount}"); //Device.BeginInvokeOnMainThread(() => //{ // labSend.Text = $"Send:{sendCount}"; // labRecv.Text = $"Recv:{recvCount}"; //}); serialPort.Send(sendBuffer); sendCount += sendBuffer.Length; Thread.Sleep(200); } }); Device.StartTimer(TimeSpan.FromMilliseconds(500), () => { labSend.Text = $"Send:{sendCount}"; labRecv.Text = $"Recv:{recvCount}"; // do something every 60 seconds return(true); // runs again, or false to stop }); }