Exemple #1
0
        public static void GetPortInformation()
        {
            ManagementClass            processClass = new ManagementClass("Win32_PnPEntity");
            ManagementObjectCollection Ports        = processClass.GetInstances();

            foreach (ManagementObject property in Ports)
            {
                var name = property.GetPropertyValue("Name");
                if (name != null && name.ToString().Contains("COM"))
                {
                    var portInfo = new SerialPortInfo(property);
                    serialPorts.Add(portInfo);
                    //Thats all information i got from port.
                    //Do whatever you want with this information
                }
            }
        }
Exemple #2
0
        static void Main(string[] args)
        {
            SerialPortInfo.GetPortInformation();
            string[] ports = SerialPort.GetPortNames();

            Console.WriteLine("Please choose a Serial Port:");
            
            int i = 0;

            foreach(SerialPortInfo port in SerialPortInfo.serialPorts)
            {
                i++;
                Console.WriteLine("[{0}] - {1} ({2})", i, port.Caption, port.Manufacturer);
            }


            string portInput = "";
            int portNumber = 0;

            while(portInput == "")
            {
                Console.Write("Enter Port Number: ");
                portInput = Console.ReadLine();

                try
                 {
                    portNumber = int.Parse(portInput);

                    if(portNumber > i || portNumber < 1)
                    {
                        throw new Exception("Port Number not in expected range");
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Error: {0}", ex.Message);
                    portInput = "";
                }
            }

            SerialPortInfo connectionPort = SerialPortInfo.serialPorts[portNumber -1];

            Console.WriteLine("Connecting to {0}", connectionPort.Caption);

            SerialPort arduinoConnection = new SerialPort();
            arduinoConnection.BaudRate = 9600;
            arduinoConnection.PortName = connectionPort.COMPortName;
            arduinoConnection.Open();

            while (arduinoConnection.IsOpen)
            {
                ardunioFunction output = int.Parse(arduinoConnection.ReadLine();

                switch (output){
                    case ardunioFunction.FOOT_SWITCH_ON:

                        break;
                    case ardunioFunction.FOOT_SWITCH_NC:

                        break;
                    case ardunioFunction.GREEN_BUTTON_ON:

                        break;
                    case ardunioFunction.GREEN_BUTTON_NC:

                        break;
                    case ardunioFunction.RED_BUTTON_ON:

                        break;
                    case ardunioFunction.RED_BUTTON_NC:

                        break;
                }
            }

            arduinoConnection.Close();
           
        }