ArduinityCommunicator.GetArduinoByName C# (CSharp) Méthode

GetArduinoByName() public static méthode

public static GetArduinoByName ( string name, int _serialSpeed ) : ArduinityCommunicator,
name string
_serialSpeed int
Résultat ArduinityCommunicator,
    public static ArduinityCommunicator GetArduinoByName(string name, int _serialSpeed)
    {
        ArduinityCommunicator arduinoCommunicator = null;

        // get a list of portnames
        string[] theSerialPortNames = System.IO.Ports.SerialPort.GetPortNames();

        // portName 'COM13' appears to not work for some reason....
        // it's a bug in .Net, com ports over 10 do not work.
        foreach (string portName in theSerialPortNames)
        {
            arduinoCommunicator = GetArduinoByPortname(portName, _serialSpeed);
            //if ( TestForArduinityByPortName(portName, _serialSpeed) == name)
            if (arduinoCommunicator != null
                && arduinoCommunicator.arduinoName == name)
            {
                return arduinoCommunicator;
                // wait for serial to open back up
                //System.Threading.Thread.Sleep(500);

                //arduinoCommunicator = new ArduinityCommunicator(portName, _serialSpeed);
            }
        }
        return arduinoCommunicator;
    }

Usage Example

Exemple #1
0
    /*
     *  Handles connecting to a named Arduino and setting pin modes.
     */
    public bool ConnectToArduino(string name, int _serialSpeed)
    {
        arduinoCommunicator = ArduinityCommunicator.GetArduinoByName(arduinoName, _serialSpeed);
        if (arduinoCommunicator == null)
        {
            return(false);
        }
        // now set the pinmodes
        for (int i = 0; i < digitalPinModes.Length; i++)
        {
            if (digitalPinModes[i] != ArduinoDigitalPinMode.IGNORE)
            {
                string pinModeString = "";
                switch (digitalPinModes[i])
                {
                case ArduinoDigitalPinMode.INPUT:
                    pinModeString = "INPUT";
                    break;

                case ArduinoDigitalPinMode.OUTPUT:
                    pinModeString = "OUTPUT";
                    break;

                case ArduinoDigitalPinMode.INPUT_PULLUP:
                    pinModeString = "INPUT_PULLUP";
                    break;

                default:     // shouldn't get here, very bad....
                    pinModeString = "INPUT";
                    break;
                }

                string message = "arduinity_dpinmode " + i + " " + pinModeString;

                arduinoCommunicator.SendMessage(message);
            }
        }
        return(true);
    }