User manual
GHI Electronics,LLC Embedded Master User Manual
Hardware and Software Library
using GHIElectronics.System;
using GHIElectronics.System.SystemDevices;
using System.Threading;
using Microsoft.SPOT;
namespace MyNamespace
{
class Program
{
public static void Main()
{
// must start system first with an event registered
SystemManager.Start(DevicesUpdate);
// the system does nothing if there is no devices
Thread.Sleep(Timeout.Infinite);
}
// This event is fired when a device is connected/disconnected
public static void DevicesUpdate(SystemEventType type, SystemEventArgs args)
{
SerialUSB ser;
byte[] msg = Encoding.UTF8.GetBytes("Hello World!");
if (type == SystemEventType.DevicesConnectionChanged)
{
if (args.isDeviceConnected)
{
Debug.Print("Device Connected. ID: " + args.device.deviceID);
switch (args.device.deviceType)
{
case DeviceType.Serial_FTDI: // FTDI connected
ser = new SerialUSB(args.device, 4800, System.IO.Ports.Parity.None, 8,
System.IO.Ports.StopBits.One);
ser.Open();
ser.WriteTimeout = Timeout.Infinite;
ser.Write(msg, 0, msg.Length);
break;
case DeviceType.Unknown: // SiLabs but not recognized
Device device = new Device(args.device);
device.deviceType = DeviceType.Serial_SiLabs;
ser = new SerialUSB(device, 4800, System.IO.Ports.Parity.None, 8,
System.IO.Ports.StopBits.One);
ser.Open();
ser.WriteTimeout = Timeout.Infinite;
ser.Write(msg, 0, msg.Length);
break;
}
}
else
{
Debug.Print("Device Disconnected. ID: " + args.device.deviceID);
}
}
}
}
}
Rev. 2.06 TFT Page 81 of 102 www.ghielectronics.com