LEDBlink.cs 6.5 KB

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