public void EnhancedSerialConnection_OpenAndClose() { var connection = new EnhancedSerialConnection(); connection.Open(); connection.Close(); }
public void FirmataSetup(String porta) { try { if (arduino != null) { arduino.Clear(); arduino.Dispose(); } connection = new EnhancedSerialConnection(porta, SerialBaudRate.Bps_9600); arduino = new ArduinoSession(connection); _COMStatusLabel.Text = porta; _MessageLabel.Text = "Connected."; Ready = true; } catch (Exception e) { _COMStatusLabel.Text = porta; _MessageLabel.Text = e.Message; Ready = false; } }
public void EnhancedSerialConnection_Constructor_WithParameters() { var connection = new EnhancedSerialConnection("COM1", SerialBaudRate.Bps_115200); Assert.AreEqual(100, connection.ReadTimeout); Assert.AreEqual(100, connection.WriteTimeout); Assert.AreEqual(115200, connection.BaudRate); }
public void GetAvailablePorts() { string[] ports = EnhancedSerialConnection.GetPortNames(); print("Available ports:"); foreach (string p in ports) { print(p); } }
public void EnhancedSerialConnection_OpenAndClose() { if (!AreSerialPortsAvailable()) { return; } var connection = new EnhancedSerialConnection(); connection.Open(); connection.Close(); }
static void Main(string[] args) { // DisplayPortCapabilities(); ISerialConnection connection = new EnhancedSerialConnection("COM4", SerialBaudRate.Bps_57600); using (var session = new ArduinoSession(connection)) PerformBasicTest(session); Console.WriteLine("Press a key"); Console.ReadKey(true); }
private ISerialConnection getArduinoConnection() { Console.WriteLine("Searching for arduino ..."); ISerialConnection _connection = EnhancedSerialConnection.Find(); if (_connection == null) { Console.WriteLine("Arduino not found .... :("); return(null); } Console.WriteLine($"Arduino found in : {_connection.PortName} at {_connection.BaudRate} baud rate."); return(_connection); }
public void EnhancedSerialConnection_Constructor_WithParameters() { if (!AreSerialPortsAvailable()) { return; } var connection = new EnhancedSerialConnection("COM1", SerialBaudRate.Bps_115200); Assert.AreEqual(100, connection.ReadTimeout); Assert.AreEqual(100, connection.WriteTimeout); Assert.AreEqual(115200, connection.BaudRate); }
public void EnhancedSerialConnection_Constructor_WithoutParameters() { if (!AreSerialPortsAvailable()) { Assert.ThrowsException <ArgumentNullException>(() => new SerialConnection()); return; } var connection = new EnhancedSerialConnection(); Assert.AreEqual(100, connection.ReadTimeout); Assert.AreEqual(100, connection.WriteTimeout); Assert.AreEqual(115200, connection.BaudRate); }
private static ISerialConnection GetConnection() { Console.WriteLine("Searching Arduino connection..."); ISerialConnection connection = EnhancedSerialConnection.Find(); if (connection == null) { Console.WriteLine("No connection found. Make shure your Arduino board is attached to a USB port."); } else { Console.WriteLine($"Connected to port {connection.PortName} at {connection.BaudRate} baud."); } return(connection); }
protected virtual void Dispose(bool disposing) { if (disposing) { // free managed resources if (connection != null) { connection.Dispose(); connection = null; } if (arduino != null) { arduino.Dispose(); arduino = null; } } }
public IFirmataProtocol EstablishConnection(string port) { print("Searching for Arduino connection..."); if (port == "auto") { connection = EnhancedSerialConnection.Find(); connection.BaudRate = 9600; if (connection == null) { print(NoConnect); } else { print(System.String.Format("Connected to port {0} at {1} baud rate.", connection.PortName, connection.BaudRate)); session = new ArduinoSession(connection) { TimeOut = 3000 }; protocol = session; } } else { connection = new EnhancedSerialConnection(port, SerialBaudRate.Bps_9600); if (connection == null) { print(NoConnect); } else { print(System.String.Format("Connected to port {0} at {1} baud rate.", connection.PortName, connection.BaudRate)); session = new ArduinoSession(connection) { TimeOut = 3000 }; protocol = session; } } return(protocol); }
private void SetConnection() { try { _connection = EnhancedSerialConnection.Find(); if (_connection == null) { _comOK = false; } else { _comOK = true; } } catch { _comOK = false; _connection.Close(); } }
private void DoTurnLight(bool on) { if (this.session == null) { this.connection = EnhancedSerialConnection.Find(); if (this.connection != null) { this.session = new ArduinoSession(this.connection); session.SetDigitalPinMode(PWM_PIN, PinMode.PwmOutput); session.SetDigitalPinMode(LED_PIN, PinMode.DigitalOutput); SetState($"Firmata on {connection.PortName} (PWM pin {PWM_PIN})"); } } if (this.session != null) { int pwmWidthByte = ((LangLedMain.BrightnessPercentage * 255) / 100); session.SetDigitalPin(PWM_PIN, on ? pwmWidthByte : 0); session.SetDigitalPin(LED_PIN, on); } }
private void findArduino() // Try finding the arduino { ISerialConnection connection = EnhancedSerialConnection.Find(); if (connection != null) { session = new ArduinoSession(connection); lblConnection.Text = "Arduino found!"; session.SetDigitalPinMode(redPin, PinMode.PwmOutput); session.SetDigitalPinMode(greenPin, PinMode.PwmOutput); session.SetDigitalPinMode(bluePin, PinMode.PwmOutput); session.SetDigitalPin(redPin, btnColor.BackColor.R); session.SetDigitalPin(greenPin, btnColor.BackColor.G); session.SetDigitalPin(bluePin, btnColor.BackColor.B); btnRetry.Hide(); } else { lblConnection.Text = "The arduino was not found..."; btnRetry.Show(); } }
static public ArduinoDeviceManager Connect(String port, SerialBaudRate bps, int timeOut, Action <ADMMessage, ArduinoDeviceManager> listener) { ISerialConnection connection = new EnhancedSerialConnection(port, bps); if (connection != null) { var session = new ArduinoSession(connection, timeOut); try { var mgr = new ArduinoDeviceManager(session, listener, port); return(mgr); } catch (Exception e) { if (connection.IsOpen) { connection.Close(); } throw e; } } return(null); }
private static ISerialConnection GetConnection() { ISerialConnection connection = null; Console.WriteLine("Searching for serial ports"); var ports = SerialPort.GetPortNames(); foreach (var port in ports.Where(p => p != "COM3" && p != "COM1")) { try { connection = new EnhancedSerialConnection(port, SerialBaudRate.Bps_57600); Console.WriteLine($"Connected to port {connection.PortName} at {connection.BaudRate} baud."); break; } catch (Exception e) { Console.WriteLine("Failed to connect serial port: " + e); connection = null; } } return(connection); }
static void SimpelTest() { var connection = new EnhancedSerialConnection("COM6", SerialBaudRate.Bps_57600); var session = new ArduinoSession(connection, timeOut: 250); IFirmataProtocol firmata = session; firmata.AnalogStateReceived += session_OnAnalogStateReceived; firmata.DigitalStateReceived += session_OnDigitalStateReceived; Firmware firm = firmata.GetFirmware(); Console.WriteLine(); Console.WriteLine("Firmware: {0} {1}.{2}", firm.Name, firm.MajorVersion, firm.MinorVersion); Console.WriteLine(); ProtocolVersion version = firmata.GetProtocolVersion(); Console.WriteLine(); Console.WriteLine("Protocol version: {0}.{1}", version.Major, version.Minor); Console.WriteLine(); BoardCapability caps = firmata.GetBoardCapability(); Console.WriteLine(); Console.WriteLine("Board Capabilities:"); foreach (var pincap in caps.PinCapabilities) { Console.WriteLine("Pin {0}: Input: {1}, Output: {2}, Analog: {3}, Analog-Res: {4}, PWM: {5}, PWM-Res: {6}, Servo: {7}, Servo-Res: {8}", pincap.PinNumber, pincap.DigitalInput, pincap.DigitalOutput, pincap.Analog, pincap.AnalogResolution, pincap.Pwm, pincap.PwmResolution, pincap.Servo, pincap.ServoResolution); } Console.WriteLine(); var analogMapping = firmata.GetBoardAnalogMapping(); Console.WriteLine("Analog channel mappings:"); foreach (var mapping in analogMapping.PinMappings) { Console.WriteLine("Channel {0} is mapped to pin {1}.", mapping.Channel, mapping.PinNumber); } firmata.ResetBoard(); Console.WriteLine(); Console.WriteLine("Digital port states:"); for (int x = 0; x < 20; x++) { var pinState = firmata.GetPinState(x); Console.WriteLine("Pin {0}: Mode = {1}, Value = {2}", x, pinState.Mode, pinState.Value); } Console.WriteLine(); firmata.SetDigitalPort(0, 0x04); firmata.SetDigitalPort(1, 0xff); firmata.SetDigitalPinMode(10, PinMode.DigitalOutput); firmata.SetDigitalPinMode(11, PinMode.ServoControl); firmata.SetDigitalPin(11, 90); Thread.Sleep(500); int hi = 0; for (int a = 0; a <= 179; a += 1) { firmata.SetDigitalPin(11, a); Thread.Sleep(100); firmata.SetDigitalPort(1, hi); hi ^= 4; Console.Write("{0};", a); } Console.WriteLine(); Console.WriteLine(); firmata.SetDigitalPinMode(6, PinMode.DigitalInput); //firmata.SetDigitalPortState(2, 255); //firmata.SetDigitalPortState(3, 255); firmata.SetSamplingInterval(500); firmata.SetAnalogReportMode(0, false); firmata.SetDigitalReportMode(0, true); firmata.SetDigitalReportMode(1, true); firmata.SetDigitalReportMode(2, true); for (int x = 0; x < 20; x++) { PinState state = firmata.GetPinState(x); Console.WriteLine("Digital {1} pin {0}: {2}", x, state.Mode, state.Value); } Console.WriteLine(); Console.ReadLine(); firmata.SetAnalogReportMode(0, false); firmata.SetDigitalReportMode(0, false); firmata.SetDigitalReportMode(1, false); firmata.SetDigitalReportMode(2, false); Console.WriteLine("Ready."); }