예제 #1
0
        public static void Main(String[] args)
        {
            var        hidDevices = new HidEnumerator().Enumerate(VendorId, ProductId);
            IHidDevice device     = null;

            try
            {
                device = hidDevices.Single(hd => hd.Capabilities.UsagePage == -256);
                device.Write(ReadTemperateureCommand);
                var data = device.Read();
                while (data.Status != HidDeviceData.ReadStatus.Success)
                {
                    ;
                }
                device.CloseDevice();

                CultureInfo ci = new CultureInfo(System.Threading.Thread.CurrentThread.CurrentCulture.Name);
                ci.NumberFormat.NumberDecimalSeparator = ".";
                System.Threading.Thread.CurrentThread.CurrentCulture = ci;

                Console.Write("{\"in\":" + Convert(data.Data[3], data.Data[4]) + ",\"out\":" + Convert(data.Data[5], data.Data[6]) + "}");
            }
            catch (Exception e)
            {
                Console.Write("Device is not connected");
                Console.ReadLine();
                Environment.Exit(-1);
            }
        }
        public List <byte> ReadData()
        {
            if (_disposed || !_hid.IsOpen)
            {
                return(null);
            }

            var data = _hid.Read(100);

            return(data.Status != HidDeviceData.ReadStatus.Success ? null : data.Data.ToList());
        }
예제 #3
0
        /// <summary>
        /// Will return the weight
        /// </summary>
        /// <remarks>
        /// A little help from http://stackoverflow.com/questions/11961412/read-weight-from-a-fairbanks-scb-9000-usb-scale
        /// for the full conversion
        /// </remarks>
        /// <param name="weight"></param>
        /// <param name="isStable"></param>
        /// <returns></returns>
        public WeightResult GetWeight()
        {
            CheckStatusAndThrow();
            WeightResult result = new WeightResult();

            if (mScale.IsConnected)
            {
                HidDeviceData inData = mScale.Read(10);
                if (inData.Status != HidDeviceData.ReadStatus.Success)
                {
                    throw new Exception("Data Read Failure");
                }
                result = HelpGetWeight(inData.Data);
            }            //end if is connected
            return(result);
        }