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(); }
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}'."); }
public Input(IGpioAdapter gpioAdapter) { mGpio = gpioAdapter; InitializePins(); }