DreamCheekyBigRedBTN.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. namespace DreamCheekyUSB {
  2. public class DreamCheekyBigRedBTN : DreamCheekyBTN {
  3. #region Constant and readonly values
  4. new public const int DEFAULT_VENDOR_ID = 0x1D34;
  5. new public const int DEFAULT_PRODUCT_ID = 0x000D;
  6. //Default for USB Big Red Button
  7. new public static class Messages {
  8. public const byte LID_CLOSED = 0x15;
  9. public const byte BUTTON_PRESSED = 0x16;
  10. public const byte LID_OPEN = 0x17;
  11. }
  12. public const string PID = "000d";
  13. #endregion
  14. #region Constructors
  15. public DreamCheekyBigRedBTN() {
  16. ActivatedMessage = Messages.BUTTON_PRESSED;
  17. }
  18. public DreamCheekyBigRedBTN(int deviceIndex = 0) : base(DEFAULT_VENDOR_ID, DEFAULT_PRODUCT_ID, deviceIndex) {
  19. ActivatedMessage = Messages.BUTTON_PRESSED;
  20. }
  21. public DreamCheekyBigRedBTN(int vendorID, int productID, int deviceIndex = 0) : base(vendorID, productID, deviceIndex) {
  22. ActivatedMessage = Messages.BUTTON_PRESSED;
  23. }
  24. public DreamCheekyBigRedBTN(string devicePath) : base(devicePath) {
  25. ActivatedMessage = Messages.BUTTON_PRESSED;
  26. }
  27. #endregion
  28. public bool LidIsOpen() {
  29. Write(CmdStatus);
  30. var data = Read();
  31. return data[0] == Messages.LID_OPEN;
  32. }
  33. public bool LidIsClosed() {
  34. Write(CmdStatus);
  35. var data = Read();
  36. return data[0] == Messages.LID_CLOSED;
  37. }
  38. }
  39. }