Пример #1
0
 public GamepadController(ILoggerFactory loggerfactory, GamePadGpio gamepad, GamePadConfigureProvider configureProvider) : base(loggerfactory)
 {
     configureProvider.Load();
     gamepad.Start(configureProvider);
     gamepad.onKeyChange += Padreader_onKeyChange;
     logger.LogDebug("WebSocket 服务启动。。。");
 }
Пример #2
0
        public void Start(GamePadConfigureProvider configureProvider)
        {
            if (this.hThread == null)
            {
                this.Direction.OpenPin(this.directionPin, PinMode.InputPullUp);

                // clk 14  data1 15 data2 18  latch 20             gpio 26 = 1
                // clk 13  data1 6  data2 5   latch 2              gpio 26 = 1


                if (this.Direction.Read(this.directionPin) == PinValue.High)
                {
                    this.clkPin   = 14;
                    this.data1Pin = 15;
                    this.data2Pin = 18;
                    this.latchPin = 20;
                    Console.WriteLine("向外");
                }
                else
                {
                    this.clkPin   = 13;
                    this.data1Pin = 6;
                    this.data2Pin = 5;
                    this.latchPin = 2;
                    Console.WriteLine("向内");
                }
                //this.latchPin = configureProvider.configure.LatchPin;
                //this.clkPin = configureProvider.configure.ClkPin;
                //this.data1Pin = configureProvider.configure.Data1Pin;
                //this.data2Pin = configureProvider.configure.Data2Pin;
                this.delayTime           = configureProvider.configure.DelayTime;
                this.keyRepeatPressEvent = configureProvider.configure.keyRepeatPressEvent;



                this.hThread = new Thread(this.Key_Proc)
                {
                    IsBackground = true
                };
                this.hThread.Start();
            }
        }