コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }