private async void Button_GetRawDataAsync_ClickAsync(object sender, RoutedEventArgs e) { m_CancellationTokenSource.Cancel(); AddLoggingText("Waiting asynchronously for RawData..."); var rawData = await m_SpcInterface.GetDataReceivedAsync(m_CancellationTokenSource.Token); if (rawData != null) { DecodeReceivedText(rawData.Data); } }
private static async System.Threading.Tasks.Task <bool> Console_ExecuteAndContinueAsync(SpcInterfaceControl _spcIntControl) { //Main Console MENU Console.WriteLine(""); Console.WriteLine("--------------------"); Console.WriteLine(" Console MENU"); Console.WriteLine("--------------------"); Console.WriteLine("0 - Get Last HEARTBEAT"); Console.WriteLine("1 - Get HEARTBEAT asynchronously"); Console.WriteLine("2 - Get Last RawData"); Console.WriteLine("3 - Get RawData asynchronously"); Console.WriteLine("4 - Send READ request"); Console.WriteLine("5 - Send WRITE request"); Console.WriteLine("X - EXIT"); Console.Write("Selection (confirm with ENTER): "); string operationNumTxt = Console.ReadLine(); switch (operationNumTxt) { case "0": Console.WriteLine("\tGet Last HEARTBEAT"); var lastHb = _spcIntControl.Heartbeat; if (lastHb != null) { ShowHeartbeat(lastHb); } break; case "1": Console.WriteLine("\tGet HEARTBEAT asynchronously"); var hbAsync = await _spcIntControl.GetHeartbeatAsync(); if (hbAsync != null) { ShowHeartbeat(hbAsync); } break; case "2": Console.WriteLine("\tGet Last RawData"); var lastRawData = _spcIntControl.DataReceived; if (lastRawData != null) { DecodeReceivedText(lastRawData.Data); } break; case "3": Console.WriteLine("\tGet RawData asynchronously"); var rawDataAsync = await _spcIntControl.GetDataReceivedAsync(); if (rawDataAsync != null) { DecodeReceivedText(rawDataAsync.Data); } break; case "4": Console.WriteLine("\tSend READ request"); SendReadRequest(_spcIntControl); break; case "5": Console.WriteLine("\tSend WRITE request"); SendWriteRequest(_spcIntControl); break; case "X": case "x": return(false); default: break; } Thread.Sleep(500); return(true); }