public MainPage() { AppInsights.Client.TrackPageView(nameof(MainPage)); if (LightningProvider.IsLightningEnabled) { LowLevelDevicesController.DefaultProvider = LightningProvider.GetAggregateProvider(); } this.InitializeComponent(); mDeviceClient = DeviceClient.Create(Globals.IOTHUB_URI, new DeviceAuthenticationWithRegistrySymmetricKey(GetUniqueDeviceId(), Globals.DEVICE_KEY), TransportType.Amqp); registerKeyEvents(); var hasGpio = GpioController.GetDefault() != null; if (hasGpio) { mWheels = new Wheels(); mObstacleSensors = new ObstacleSensors(); mObstacleSensors.ValueReadingChanged += MObstacleSensors_ValueReading; mPanTiltServo = new PanTiltServo(); } else { mWheels = new FakeWheels(); } mCamera = new WebSocketCamera(); mWheels.Init(); NetworkInformation.NetworkStatusChanged += NetworkInformation_NetworkStatusChanged; Task.Run(() => { receiveC2dAsync(); }); }
public CommandProcessor( Arduino.Arduino arduino, DisplayManager displayManager, PlaybackService playbackService, HttpServer httpServer, PanTiltServo panTiltServo, HCSR04 ultrasonicsensor) { this.arduino = arduino; this.displayManager = displayManager; this.playbackService = playbackService; this.httpServer = httpServer; this.panTiltServo = panTiltServo; this.ultrasonicsensor = ultrasonicsensor; this.arduino.I2CDataReceived += this.Arduino_I2CDataReceived; this.httpServer.NotifyCallerEventHandler += this.NotifyOnObstacleEventHandler; }