static async Task <bool> Connect()
        {
            while (true)
            {
                // List available COM devices
                var devices = DiscoverDevices();
                if (!devices.Contains(_comPort))
                {
                    int userChoice;
                    do
                    {
                        Console.Clear();
                        ConsoleOutput.Logo();
                        // ListComDetails();
                        ConsoleOutput.PreTestInfo();
                        Console.ForegroundColor = ConsoleOutput.menuColor;
                        Console.WriteLine("---------------------------\r");
                        Console.WriteLine("  OAT Communication Test\r");
                        Console.WriteLine("         Connect\r");
                        Console.WriteLine("---------------------------\r");
                        Console.WriteLine("Select Serial Port:\r");

                        int cnt = 1;
                        foreach (var dev in devices)
                        {
                            Console.Write("[ {0} ] {1}\n", cnt, dev);
                            cnt++;
                        }
                        Console.WriteLine("[ 0 ] Return\n");
                        Console.ResetColor();
                    } while (!int.TryParse(Console.ReadLine(), out userChoice) || userChoice < 0 || userChoice > devices.Count);

                    if (userChoice == 0)
                    {
                        return(false);
                    }
                    else if (userChoice >= 0 && userChoice <= devices.Count)
                    {
                        _comPort = devices[userChoice - 1];
                    }
                    else
                    {
                        Console.WriteLine("Try again!!");
                    }
                }

                if (!string.IsNullOrEmpty(_comPort))
                {
                    var connectResult = await CreateCommHandler(_comPort);

                    if (connectResult)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
        }