Example #1
0
        static async void MainAsync()
        {
            Console.WriteLine(".NETCore Console");
            Console.WriteLine("SampleThreads_C#");
            Console.WriteLine("--------------------");
            Console.WriteLine("Library Version: " + iIDReaderLibrary.Version.LibraryVersion);

            //Get SpcInterfaceControl instance
            SpcInterfaceControl spcIntControl = Console_InitializeSpcInterfaceControl();

            if (spcIntControl != null)
            {
                //SpcInterfaceControl is initialized
                Console.WriteLine("");
                Console.Write("Waiting for Heartbeat...");
                var heartbeat = await spcIntControl.GetHeartbeatAsync();

                if (heartbeat != null)
                {
                    Console.WriteLine("");
                    Console.WriteLine("Detected Reader:");
                    ShowHeartbeat(heartbeat);
                }

                //Reader info obtained --> execute functions using menu
                Console.WriteLine("");
                while (await Console_ExecuteAndContinueAsync(spcIntControl))
                {
                    Thread.Sleep(500);
                }

                spcIntControl.Terminate();
                Console.WriteLine("");
                Console.Write("EXITING in 5");
                Thread.Sleep(1000);
                Console.Write(", 4");
                Thread.Sleep(1000);
                Console.Write(", 3");
                Thread.Sleep(1000);
                Console.Write(", 2");
                Thread.Sleep(1000);
                Console.Write(", 1");
                Thread.Sleep(1000);
            }
            m_Completed = true;
        }
        private async void Button_GetHeartbeatAsync_ClickAsync(object sender, RoutedEventArgs e)
        {
            m_CancellationTokenSource.Cancel();
            AddLoggingText("Waiting asynchronously for Heartbeat...");
            var heartbeat = await m_SpcInterface.GetHeartbeatAsync(m_CancellationTokenSource.Token);

            if (heartbeat != null)
            {
                AddLoggingText(string.Format("Heartbeat received: {0}, {1}", heartbeat.ReaderID, heartbeat.BatteryStatus));
                Dispatcher.Invoke(() =>
                {
                    textBlock_ReaderID.Text = heartbeat.ReaderID.ToString();
                    textBlock_Battery.Text  = heartbeat.BatteryStatus.ToString();
                    if (((SolidColorBrush)border_Result.Background).Color != Colors.Transparent)
                    {
                        border_Result.Background = new SolidColorBrush(Colors.Transparent);
                    }
                });
            }
        }
Example #3
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);
        }