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; }
static public ArduinityCommunicator GetArduinoByPortname(string _portName, int _serialSpeed) { ArduinityCommunicator arduinoCommunicator = new ArduinityCommunicator(_portName, _serialSpeed); if (arduinoCommunicator.OpenConnection()) { return(arduinoCommunicator); } return(null); }
/* * 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); }
/* * 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; }