예제 #1
0
 public void Shutdown()
 {
     for (int i = 0; i < 4; i++)
     {
         if (this.m_validDevices[i])
         {
             K8055.Close(i);
         }
     }
 }
예제 #2
0
        public void Startup()
        {
            long num = K8055.SearchDevices();

            for (int i = 0; i < 4; i++)
            {
                this.m_validDevices[i] = (num & (((int)1) << i)) != 0L;
                if (this.m_validDevices[i])
                {
                    K8055.Open(i);
                }
            }
        }
예제 #3
0
 public void Event(byte[] channelValues)
 {
     for (int i = 0; i < 4; i++)
     {
         if (this.m_validDevices[i])
         {
             int  num  = this.m_deviceStarts[i] - this.m_offset;
             int  num2 = Math.Min(num + 8, channelValues.Length);
             byte num3 = 0;
             while (num < num2)
             {
                 num3 = (byte)(num3 >> 1);
                 num3 = (byte)(num3 | ((channelValues[num++] > 0) ? 0x80 : 0));
             }
             K8055.Write(i, (long)num3);
         }
     }
 }
예제 #4
0
        private void SearchDevices()
        {
            long num = 0L;

            this.Cursor = Cursors.WaitCursor;
            try {
                num = K8055.SearchDevices();
                this.checkBoxDev0.Checked = (num & 1L) != 0L;
                this.checkBoxDev1.Checked = (num & 2L) != 0L;
                this.checkBoxDev2.Checked = (num & 4L) != 0L;
                this.checkBoxDev3.Checked = (num & 8L) != 0L;
            }
            finally {
                this.Cursor = Cursors.Default;
            }
            if ((num & 15L) == 0L)
            {
                MessageBox.Show("No devices were found.", VixenPlus.Vendor.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
예제 #5
0
 private void buttonDriverVersion_Click(object sender, EventArgs e)
 {
     K8055.Version();
 }