using System.Diagnostics; namespace smsdemo.HidSharp { public class LEDBlink { public void Blink() { int actions = 0; //Track if any actions are executed DreamCheekyLED led = null; try { string devicearg = "\\\\?\\hid#vid_1d34&pid_0004#6&1067c3dc&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"; Trace.WriteLine("\r\nConnecting to DreamCheekyLED using specified device..."); string[] deviceSplit = devicearg.Substring(7).Split(','); if (deviceSplit.Length == 1) { led = new DreamCheekyLED(deviceSplit[0]); //One argument = device path } else { //Two or Three arguments = VID,PID,Count=0 int devicecount = 0; if (deviceSplit.Length > 2) { devicecount = int.Parse(deviceSplit[2]); } int VID = int.Parse(deviceSplit[0].Substring(2), System.Globalization.NumberStyles.HexNumber); int PID = int.Parse(deviceSplit[1].Substring(2), System.Globalization.NumberStyles.HexNumber); led = new DreamCheekyLED(VID, PID, devicecount); } actions++; led.TestBlink(); } catch (Exception ex) { Trace.WriteLine("\r\n\r\nError: " + ex.Message + "\r\n\r\n"); } finally { if (led != null) { led.Dispose(); } } } public void TestBlinkViolet() { int actions = 0; //Track if any actions are executed DreamCheekyLED led = null; try { string devicearg = "\\\\?\\hid#vid_1d34&pid_0004#6&1067c3dc&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"; Trace.WriteLine("\r\nConnecting to DreamCheekyLED using specified device..."); string[] deviceSplit = devicearg.Substring(7).Split(','); if (deviceSplit.Length == 1) { led = new DreamCheekyLED(deviceSplit[0]); //One argument = device path } else { //Two or Three arguments = VID,PID,Count=0 int devicecount = 0; if (deviceSplit.Length > 2) { devicecount = int.Parse(deviceSplit[2]); } int VID = int.Parse(deviceSplit[0].Substring(2), System.Globalization.NumberStyles.HexNumber); int PID = int.Parse(deviceSplit[1].Substring(2), System.Globalization.NumberStyles.HexNumber); led = new DreamCheekyLED(VID, PID, devicecount); } actions++; led.TestBlinkViolet(); } catch (Exception ex) { Trace.WriteLine("\r\n\r\nError: " + ex.Message + "\r\n\r\n"); } finally { if (led != null) { led.Dispose(); } } } public void TestBlinkYellow() { int actions = 0; //Track if any actions are executed DreamCheekyLED led = null; try { string devicearg = "\\\\?\\hid#vid_1d34&pid_0004#6&1067c3dc&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"; Trace.WriteLine("\r\nConnecting to DreamCheekyLED using specified device..."); string[] deviceSplit = devicearg.Substring(7).Split(','); if (deviceSplit.Length == 1) { led = new DreamCheekyLED(deviceSplit[0]); //One argument = device path } else { //Two or Three arguments = VID,PID,Count=0 int devicecount = 0; if (deviceSplit.Length > 2) { devicecount = int.Parse(deviceSplit[2]); } int VID = int.Parse(deviceSplit[0].Substring(2), System.Globalization.NumberStyles.HexNumber); int PID = int.Parse(deviceSplit[1].Substring(2), System.Globalization.NumberStyles.HexNumber); led = new DreamCheekyLED(VID, PID, devicecount); } actions++; led.TestBlinkYellow(); } catch (Exception ex) { Trace.WriteLine("\r\n\r\nError: " + ex.Message + "\r\n\r\n"); } finally { if (led != null) { led.Dispose(); } } } public void TestBlinkGreen() { int actions = 0; //Track if any actions are executed DreamCheekyLED led = null; try { string devicearg = "\\\\?\\hid#vid_1d34&pid_0004#6&1067c3dc&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"; Trace.WriteLine("\r\nConnecting to DreamCheekyLED using specified device..."); string[] deviceSplit = devicearg.Substring(7).Split(','); if (deviceSplit.Length == 1) { led = new DreamCheekyLED(deviceSplit[0]); //One argument = device path } else { //Two or Three arguments = VID,PID,Count=0 int devicecount = 0; if (deviceSplit.Length > 2) { devicecount = int.Parse(deviceSplit[2]); } int VID = int.Parse(deviceSplit[0].Substring(2), System.Globalization.NumberStyles.HexNumber); int PID = int.Parse(deviceSplit[1].Substring(2), System.Globalization.NumberStyles.HexNumber); led = new DreamCheekyLED(VID, PID, devicecount); } actions++; led.TestBlinkGreen(); } catch (Exception ex) { Trace.WriteLine("\r\n\r\nError: " + ex.Message + "\r\n\r\n"); } finally { if (led != null) { led.Dispose(); } } } } }