Esempio n. 1
0
        public bool reset()
        {
            var  message = new byte[2];
            bool r;

            message[0]   = 128;
            message[1]   = 0;
            r            = _writeMessage(message);
            this._HidDev = null;             //Force a reconnect
            return(r);
        }
Esempio n. 2
0
        private bool _findDevice()
        {
            var list = HidSharp.DeviceList.Local;

            _HidDev = list.GetHidDeviceOrNull(myVendorID, myProductID, null, null);

            if (_HidDev != null)
            {
                this._StatusChanged(W_STATUS_CONNECTED);
                return(true);
            }

            this._StatusChanged(W_STATUS_DISCONNECTED);
            return(false);
        }
Esempio n. 3
0
        public HidDevice(HidSharp.HidDevice internalDevice)
        {
            Properties = new Dictionary <string, dynamic>();

            Properties["MaxFeatureReportLength"] = internalDevice.GetMaxFeatureReportLength();
            Properties["MaxInputReportLength"]   = internalDevice.GetMaxInputReportLength();
            Properties["MaxOutputReportLength"]  = internalDevice.GetMaxOutputReportLength();

            try
            {
                Properties["Manufacturer"] = internalDevice.GetManufacturer();
            }
            catch { }
            try
            {
                Properties["ProductName"] = internalDevice.GetProductName();
            }
            catch { }

            try
            {
                bool           FoundAny = false;
                HashSet <uint> Usages   = new HashSet <uint>();
                foreach (var descriptor in internalDevice.GetReportDescriptor().DeviceItems)
                {
                    try
                    {
                        foreach (uint usage in descriptor.Usages.GetAllValues())
                        {
                            Usages.Add(usage);
                            FoundAny = true;
                        }
                    }
                    catch { }
                }
                if (FoundAny)
                {
                    this.Usages          = Usages.ToArray();
                    Properties["Usages"] = this.Usages;
                }
            }
            catch { }

            this.internalDevice = internalDevice;
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            logger.Info("Starting!");

            TheSockets      sockets = new TheSockets();
            SimpleWebServer nws     = new SimpleWebServer(4567);

            nws.Start();

            InfluxConnection c = new InfluxConnection();

            c.URL = "http://localhost:8086/";

            // HttpInfluxDB db = new HttpInfluxDB(c);
            // db.CreateDatabase("influxdays");
            // sockets.influx = new HttpInfluxWriter(db, "influxdays", 50000);


            foreach (var d in HidSharp.DeviceList.Local.GetHidDevices())
            {
                logger.Info("DEVICE: " + d.DevicePath);
                try
                {
                    logger.Info(" > " + d.GetFriendlyName());
                }
                catch { }
            }


            DeviceWatcher watcherSide  = null;
            DeviceWatcher watcherWheel = null;

            HidSharp.HidDevice dev = DeviceWatcher.find("Saitek Side Panel Control Deck");
            if (dev != null)
            {
                watcherSide = new DeviceWatcher("panel_", dev, sockets);
            }

            dev = DeviceWatcher.find("Saitek Heavy Eqpt. Wheel & Pedal");
            if (dev != null)
            {
                watcherWheel = new DeviceWatcher("wheel_", dev, sockets);
            }

            WebSocketServer server = new WebSocketServer("ws://0.0.0.0:8181");

            server.RestartAfterListenError = true;
            server.Start(socket =>
            {
                socket.OnOpen = () => {
                    sockets.open.Add(socket);
                    logger.Info("WebSocket Open! " + sockets.open.Count);

                    if (watcherSide != null)
                    {
                        watcherSide.broadcast();
                    }
                    if (watcherWheel != null)
                    {
                        watcherWheel.broadcast();
                    }
                };
                socket.OnClose   = () => { sockets.open.Remove(socket); logger.Info("WebSocket Remove! " + sockets.open.Count); };
                socket.OnMessage = message => logger.Info("WebSocket: " + message);
            });


            while (true)
            {
                var x = Console.ReadLine();
                Console.WriteLine("ECHO: " + x);
            }
        }
Esempio n. 5
0
 public SimPadV2Lite(HidSharp.HidDevice device) : base(device)
 {
 }
Esempio n. 6
0
 internal HidSharpEndpoint(HidSharp.HidDevice device)
 {
     this.device = device;
 }
Esempio n. 7
0
 public SimPadNano(HidSharp.HidDevice device) : base(device)
 {
 }