コード例 #1
0
ファイル: MainPage.xaml.cs プロジェクト: cie6868/KE20_DCU
        public MainPage()
        {
            this.InitializeComponent();

            ApplicationView.PreferredLaunchViewSize      = new Size(1024, 600);
            ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;

            uiSpeedoTacho.SpeedRevs = mSpeedRevs;

            IGpioAdapter gpioAdapter = GetGpio();

            // fake it till you make it
            if (gpioAdapter == null)
            {
                gpioAdapter = new FakeGpioAdapter();
            }

            mInput  = new Input(gpioAdapter);
            mOutput = new Output(gpioAdapter);

            funLowbeam.Output         = mOutput;
            funHighbeam.Output        = mOutput;
            uiBrakeIndicator.Output   = mOutput;
            uiReverseIndicator.Output = mOutput;
            uiLeftTurnSignal.Output   = mOutput;
            uiRightTurnSignal.Output  = mOutput;

            new Thread(GpioLoop).Start();
        }
コード例 #2
0
        public void RegisterAdapter(string hostId, IGpioAdapter adapter)
        {
            if (hostId == null)
            {
                throw new ArgumentNullException(nameof(hostId));
            }

            _adapters[hostId]         = adapter ?? throw new ArgumentNullException(nameof(adapter));
            adapter.GpioStateChanged += (s, e) => DispatchGpioStateChangedEvent(hostId, e.GpioId, e.OldState, e.NewState);

            _logger.Log(LogLevel.Information, $"Registered GPIO host '{hostId}'.");
        }
コード例 #3
0
 public Input(IGpioAdapter gpioAdapter)
 {
     mGpio = gpioAdapter;
     InitializePins();
 }