LEDBlink.cs 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. using System;
  2. using System.Diagnostics;
  3. namespace DreamCheekyUSB
  4. {
  5. public class LEDBlink
  6. {
  7. public void Blink()
  8. {
  9. int actions = 0; //Track if any actions are executed
  10. DreamCheekyLED led = null;
  11. try
  12. {
  13. string devicearg = "\\\\?\\hid#vid_1d34&pid_0004#6&1067c3dc&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}";
  14. Trace.WriteLine("\r\nConnecting to DreamCheekyLED using specified device...");
  15. string[] deviceSplit = devicearg.Substring(7).Split(',');
  16. if (deviceSplit.Length == 1)
  17. {
  18. led = new DreamCheekyLED(deviceSplit[0]); //One argument = device path
  19. }
  20. else
  21. {
  22. //Two or Three arguments = VID,PID,Count=0
  23. int devicecount = 0;
  24. if (deviceSplit.Length > 2)
  25. {
  26. devicecount = int.Parse(deviceSplit[2]);
  27. }
  28. int VID = int.Parse(deviceSplit[0].Substring(2), System.Globalization.NumberStyles.HexNumber);
  29. int PID = int.Parse(deviceSplit[1].Substring(2), System.Globalization.NumberStyles.HexNumber);
  30. led = new DreamCheekyLED(VID, PID, devicecount);
  31. }
  32. actions++;
  33. led.TestBlink();
  34. }
  35. catch (Exception ex)
  36. {
  37. Trace.WriteLine("\r\n\r\nError: " + ex.Message + "\r\n\r\n");
  38. }
  39. finally
  40. {
  41. if (led != null)
  42. {
  43. led.Dispose();
  44. }
  45. }
  46. }
  47. public void TestBlinkViolet()
  48. {
  49. int actions = 0; //Track if any actions are executed
  50. DreamCheekyLED led = null;
  51. try
  52. {
  53. string devicearg = "\\\\?\\hid#vid_1d34&pid_0004#6&1067c3dc&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}";
  54. Trace.WriteLine("\r\nConnecting to DreamCheekyLED using specified device...");
  55. string[] deviceSplit = devicearg.Substring(7).Split(',');
  56. if (deviceSplit.Length == 1)
  57. {
  58. led = new DreamCheekyLED(deviceSplit[0]); //One argument = device path
  59. }
  60. else
  61. {
  62. //Two or Three arguments = VID,PID,Count=0
  63. int devicecount = 0;
  64. if (deviceSplit.Length > 2)
  65. {
  66. devicecount = int.Parse(deviceSplit[2]);
  67. }
  68. int VID = int.Parse(deviceSplit[0].Substring(2), System.Globalization.NumberStyles.HexNumber);
  69. int PID = int.Parse(deviceSplit[1].Substring(2), System.Globalization.NumberStyles.HexNumber);
  70. led = new DreamCheekyLED(VID, PID, devicecount);
  71. }
  72. actions++;
  73. led.TestBlinkViolet();
  74. }
  75. catch (Exception ex)
  76. {
  77. Trace.WriteLine("\r\n\r\nError: " + ex.Message + "\r\n\r\n");
  78. }
  79. finally
  80. {
  81. if (led != null)
  82. {
  83. led.Dispose();
  84. }
  85. }
  86. }
  87. public void TestBlinkYellow()
  88. {
  89. int actions = 0; //Track if any actions are executed
  90. DreamCheekyLED led = null;
  91. try
  92. {
  93. string devicearg = "\\\\?\\hid#vid_1d34&pid_0004#6&1067c3dc&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}";
  94. Trace.WriteLine("\r\nConnecting to DreamCheekyLED using specified device...");
  95. string[] deviceSplit = devicearg.Substring(7).Split(',');
  96. if (deviceSplit.Length == 1)
  97. {
  98. led = new DreamCheekyLED(deviceSplit[0]); //One argument = device path
  99. }
  100. else
  101. {
  102. //Two or Three arguments = VID,PID,Count=0
  103. int devicecount = 0;
  104. if (deviceSplit.Length > 2)
  105. {
  106. devicecount = int.Parse(deviceSplit[2]);
  107. }
  108. int VID = int.Parse(deviceSplit[0].Substring(2), System.Globalization.NumberStyles.HexNumber);
  109. int PID = int.Parse(deviceSplit[1].Substring(2), System.Globalization.NumberStyles.HexNumber);
  110. led = new DreamCheekyLED(VID, PID, devicecount);
  111. }
  112. actions++;
  113. led.TestBlinkYellow();
  114. }
  115. catch (Exception ex)
  116. {
  117. Trace.WriteLine("\r\n\r\nError: " + ex.Message + "\r\n\r\n");
  118. }
  119. finally
  120. {
  121. if (led != null)
  122. {
  123. led.Dispose();
  124. }
  125. }
  126. }
  127. public void TestBlinkGreen()
  128. {
  129. int actions = 0; //Track if any actions are executed
  130. DreamCheekyLED led = null;
  131. try
  132. {
  133. string devicearg = "\\\\?\\hid#vid_1d34&pid_0004#6&1067c3dc&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}";
  134. Trace.WriteLine("\r\nConnecting to DreamCheekyLED using specified device...");
  135. string[] deviceSplit = devicearg.Substring(7).Split(',');
  136. if (deviceSplit.Length == 1)
  137. {
  138. led = new DreamCheekyLED(deviceSplit[0]); //One argument = device path
  139. }
  140. else
  141. {
  142. //Two or Three arguments = VID,PID,Count=0
  143. int devicecount = 0;
  144. if (deviceSplit.Length > 2)
  145. {
  146. devicecount = int.Parse(deviceSplit[2]);
  147. }
  148. int VID = int.Parse(deviceSplit[0].Substring(2), System.Globalization.NumberStyles.HexNumber);
  149. int PID = int.Parse(deviceSplit[1].Substring(2), System.Globalization.NumberStyles.HexNumber);
  150. led = new DreamCheekyLED(VID, PID, devicecount);
  151. }
  152. actions++;
  153. led.TestBlinkGreen();
  154. }
  155. catch (Exception ex)
  156. {
  157. Trace.WriteLine("\r\n\r\nError: " + ex.Message + "\r\n\r\n");
  158. }
  159. finally
  160. {
  161. if (led != null)
  162. {
  163. led.Dispose();
  164. }
  165. }
  166. }
  167. }
  168. }