public void ShowMessage(string message, MaterialDesignThemes.Wpf.SnackbarMessageQueue messageQueue) { //the message queue can be called from any thread Task.Factory.StartNew(() => messageQueue.Enqueue(message)); }
private void BtnStart_Click(object sender, RoutedEventArgs e) { if (isRunning == false) { StoreCommandLines(); BtnStart.Content = FindResource("StopIcon"); isRunning = true; BtnData.IsEnabled = false; } else { ci.Stop(); BtnStart.Content = FindResource("StartIcon"); theBridge.SendMotorSpeed(0); theBridge.SendStop(); isRunning = false; BtnData.IsEnabled = true; return; } //Renew lists times = new List <double>(); voltages = new List <double>(); currents = new List <double>(); thrusts = new List <double>(); rpms = new List <double>(); throttles = new List <double>(); //Clear chart area voltageSeries.Values.Clear(); currentSeries.Values.Clear(); thrustSeries.Values.Clear(); rpmSeries.Values.Clear(); throttleSeries.Values.Clear(); mChart.AxisX[0].MinValue = 0; mChart.AxisX[0].MaxValue = 15; //Connect to Arduino if not connected //Retrive the commands from parser //Send commands to Arduino cp.InputString = CmdTB.Text; if (cp.ParseInputString() == true) { if (isConnected) { theBridge.SendStart(); ExecuteNextCommand(); } else { //Connect to Arduino if (theBridge.Initialize() == true) { theBridge.SendStart(); //SetupDataSeries(); ExecuteNextCommand(); } else { BtnStart.Content = FindResource("StartIcon"); isRunning = false; BtnData.IsEnabled = true; sq.Enqueue("Failed to connect"); } } } else { BtnStart.Content = FindResource("StartIcon"); isRunning = false; BtnData.IsEnabled = true; int errorLineNumber = cp.GetErrorLineNumber(); sq.Enqueue("Error interpreting line : " + errorLineNumber); } }