示例#1
0
    static public 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);
    }
    public static ArduinityCommunicator GetArduinoByPortname(string _portName, int _serialSpeed)
    {
        ArduinityCommunicator arduinoCommunicator = new ArduinityCommunicator(_portName, _serialSpeed);
        if (arduinoCommunicator.OpenConnection())
            return arduinoCommunicator;

        return null;
    }
示例#3
0
    static public ArduinityCommunicator GetArduinoByPortname(string _portName, int _serialSpeed)
    {
        ArduinityCommunicator arduinoCommunicator = new ArduinityCommunicator(_portName, _serialSpeed);

        if (arduinoCommunicator.OpenConnection())
        {
            return(arduinoCommunicator);
        }

        return(null);
    }
示例#4
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);
    }
示例#5
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;
    }