public MainWindow() { InitializeComponent(); _usbDriver = new UsbDriver(); _usbDriver.Connect(); _usbDriver.OnReportChange += (bytes) => Dispatcher.Invoke(() => { RawByteOutput.Text = ""; foreach (var b in bytes) { RawByteOutput.Text += string.Format("{0:X2} ", b); } }); _usbDriver.OnTempChange += OnTempChange; _usbDriver.OnModeButtonPressed += () => Dispatcher.Invoke(() => { Button1.Style = Resources["ButtonOnStyle"] as Style; }); _usbDriver.OnModeButtonReleased += () => Dispatcher.Invoke(() => Button1.Style = Resources["ButtonOffStyle"] as Style); _usbDriver.OnUser2ButtonPressed += () => Dispatcher.Invoke(() => { Button3.Style = Resources["ButtonOnStyle"] as Style; }); _usbDriver.OnUser2ButtonReleased += () => Dispatcher.Invoke(() => Button3.Style = Resources["ButtonOffStyle"] as Style); _usbDriver.OnProgramWriteComplete += (success) => MessageBox.Show("Write Complete. Successful: " + success); // TODO: add proper context binding here _frame = new LiveFrame() { Color = { Red = (byte)Red.Value, Green = (byte)Green.Value, Blue = (byte)Blue.Value }, Leds = { LedRawBits = 0x0000 } }; RenderFrame(); }
public static ChillerFeedback CMD_GET_FEEDBACK() { var cmdBuffer = new byte[64]; cmdBuffer[0] = 0; var response = UsbDriver.CMD(cmdBuffer); return(new ChillerFeedback(response)); }
public static void CMD_SET_SETPOINT(double setpoint) { UInt16 payload = (UInt16)(setpoint * 100); var cmdBuffer = new byte[64]; cmdBuffer[0] = 2; cmdBuffer[1] = (byte)(payload >> 8); cmdBuffer[2] = (byte)(payload & 0xff); UsbDriver.CMD(cmdBuffer); }
public static string CMD_GET_VERSION() { var cmdBuffer = new byte[64]; cmdBuffer[0] = 6; var response = UsbDriver.CMD(cmdBuffer); var version = new ControllerVersion(response); return(version.ToString()); }
public Chiller() { Driver = new UsbDriver(VENDOR_ID, PRODUCT_ID); }