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();
        }
示例#2
0
        public static ChillerFeedback CMD_GET_FEEDBACK()
        {
            var cmdBuffer = new byte[64];

            cmdBuffer[0] = 0;

            var response = UsbDriver.CMD(cmdBuffer);

            return(new ChillerFeedback(response));
        }
示例#3
0
        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);
        }
示例#4
0
        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());
        }
示例#5
0
 public Chiller()
 {
     Driver = new UsbDriver(VENDOR_ID, PRODUCT_ID);
 }