Esempio n. 1
0
        public override bool start(USBProductID productID)
        {
            Monitor.Enter(mLock);

            ProductID       = productID;
            mPumpSpeed      = 50;
            mFanPercent     = 25;
            mLastPumpSpeed  = 0;
            mLastFanPercent = 0;

            mPumpLastSendTime = 0;
            mFanLastSendTime  = 0;

            mUSBController = new HidUSBController(USBVendorID.NZXT, ProductID);

            mUSBController.onRecvHandler += onRecv;
            if (mUSBController.start() == false)
            {
                Monitor.Exit(mLock);
                this.stop();
                return(false);
            }

            if (this.readFile() == true)
            {
                mIsSendCustomData = (mCustomDataList.Count > 0);
            }

            mTimer.Interval = 1000;
            mTimer.Elapsed += onTimer;
            mTimer.Start();
            Monitor.Exit(mLock);
            return(true);
        }
Esempio n. 2
0
        public override bool start(USBProductID productID)
        {
            Monitor.Enter(mLock);
            var vendorID = USBVendorID.ASETEK;

            ProductID = productID;

            // SiUSBController
            mUSBController = new SiUSBController(vendorID, productID);
            mUSBController.onRecvHandler += onRecv;
            if (mUSBController.start() == false)
            {
                // WinUSBController
                mUSBController = new WinUSBController(vendorID, productID, ENDPOINT_IN, ENDPOINT_OUT);
                mUSBController.onRecvHandler += onRecv;
                if (mUSBController.start() == false)
                {
                    Monitor.Exit(mLock);
                    this.stop();
                    return(false);
                }
            }

            if (this.readFile() == true)
            {
                mIsSendCustomData = (mCustomDataList.Count > 0);
            }

            mTimer.Interval = 500;
            mTimer.Elapsed += onTimer;
            mTimer.Start();

            Monitor.Exit(mLock);
            return(true);
        }
Esempio n. 3
0
 public static uint getDeviceCount(USBVendorID vendorID, USBProductID productID)
 {
     try
     {
         return(WinUSBController.count((ushort)vendorID, (ushort)productID));
     }
     catch { }
     return(0);
 }
Esempio n. 4
0
        public static uint getDeviceCount(USBVendorID vendorID, USBProductID productID)
        {
            uint count = 0;

            try
            {
                int venderID2  = (int)vendorID;
                int productID2 = (int)productID;
                foreach (HidDevice dev in DeviceList.Local.GetHidDevices(venderID2))
                {
                    if (dev.ProductID == productID2)
                    {
                        count++;
                    }
                }
            }
            catch { }
            return(count);
        }
Esempio n. 5
0
        public bool start(uint index, USBProductID productID)
        {
            Monitor.Enter(mLock);

            if (index == 0)
            {
                mFileName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + "Kraken.json";
            }
            else
            {
                mFileName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + string.Format("Kraken{0}.json", index + 1);
            }

            mPumpSpeed      = 50;
            mFanPercent     = 25;
            mLastPumpSpeed  = 0;
            mLastFanPercent = 0;

            mPumpLastSendTime = 0;
            mFanLastSendTime  = 0;

            mUSBController = new HidUSBController(USBVendorID.NZXT, productID);
            mUSBController.onRecvHandler += onRecv;
            if (mUSBController.start(index) == false)
            {
                Monitor.Exit(mLock);
                this.stop();
                return(false);
            }

            if (this.readFile() == true)
            {
                mIsSendCustomData = (mCustomDataList.Count > 0);
            }

            mTimer.Interval = 1000;
            mTimer.Elapsed += onTimer;
            mTimer.Start();
            Monitor.Exit(mLock);
            return(true);
        }
Esempio n. 6
0
        public static uint getDeviceCount(USBVendorID vendorID, USBProductID productID)
        {
            uint count = 0;

            try
            {
                uint devCount = SiUSBController.count();
                for (uint i = 0; i < devCount; i++)
                {
                    var vidSB = new StringBuilder();
                    var pidSB = new StringBuilder();
                    if (SiUSBController.getVID(i, vidSB) > 0 && SiUSBController.getPID(i, pidSB) > 0)
                    {
                        string vidString = vidSB.ToString();
                        string pidString = pidSB.ToString();

                        Console.WriteLine("SiUSBController.getDeviceCount() : SiUSB index({0}), VendorID(0x{1:X4}), ProductID(0x{2:X4})", i, vidString, pidString);

                        var vidHex = Util.getHexBytes(vidString);
                        var pidHex = Util.getHexBytes(pidString);
                        Array.Reverse(vidHex);
                        Array.Reverse(pidHex);

                        ushort vID = BitConverter.ToUInt16(vidHex, 0);
                        ushort pID = BitConverter.ToUInt16(pidHex, 0);

                        if (vID == (ushort)vendorID && pID == (ushort)productID)
                        {
                            count++;
                        }
                    }
                }
            }
            catch { }
            return(count);
        }
Esempio n. 7
0
 public HidUSBController(USBVendorID vendorID, USBProductID productID) : base(vendorID, productID)
 {
 }
Esempio n. 8
0
 public WinUSBController(USBVendorID vendorID, USBProductID productID, byte endPointIn, byte endPointOut) : base(vendorID, productID)
 {
     mEndPointIn  = endPointIn;
     mEndPointOut = endPointOut;
 }
Esempio n. 9
0
 public USBController(USBVendorID vendorID, USBProductID productID)
 {
     VendorID  = vendorID;
     ProductID = productID;
 }
Esempio n. 10
0
 public virtual bool start(USBProductID productID)
 {
     return(false);
 }