private async void WifiScanSummaryRequest_NotificationReceived(object sender, NotifyEventArgs e) { if (MessageProtocolFactory.ReadRequestMessagePayload(e.Data) is WifiScanSummaryRequest wifiScanSummaryRequest) { Debug.WriteLine($"Received Wi-Fi config message protocol request: '{wifiScanSummaryRequest.RequestType}'"); bluetoothLeHelper.NotificationReceived -= WifiScanSummaryRequest_NotificationReceived; if (wifiScanSummaryRequest.ErrorCode != 0x00) { throw new InvalidOperationException($"Wi-Fi network scan failed with error code {wifiScanSummaryRequest.ErrorCode}"); } if (wifiScanSummaryRequest.NetworkCount == 0) { // Report that we're not getting anything. WifiNetworkScanReceived?.Invoke(this, new WifiScanRequestEventArgs(null, 0, 0)); } else { bluetoothLeHelper.NotificationReceived += WifiScanResultRequest_NotificationReceived; await bluetoothLeHelper.StartNotificationListenerAsync(currentService, MessageProtocolTxCharacteristicId); actualWifiNetworkCount = 0; expectedWifiNetworkCount = wifiScanSummaryRequest.NetworkCount; await SendResponseAsync(currentService, wifiScanSummaryRequest, wifiScanSummaryRequest.ErrorCode); } } }
private async void DeviceControlGetDesiredLedStatusRequest_NotificationReceived(object sender, NotifyEventArgs e) { if (MessageProtocolFactory.ReadRequestMessagePayload(e.Data) is DeviceControlGetDesiredLedStatusRequest deviceControlGetDesiredLedStatusRequest) { Debug.WriteLine($"Received Device Control message protocol request: '{deviceControlGetDesiredLedStatusRequest.RequestType}'"); bluetoothLeHelper.NotificationReceived -= DeviceControlGetDesiredLedStatusRequest_NotificationReceived; // Send the get desired LED status response. await SendResponseAsync(currentService, deviceControlGetDesiredLedStatusRequest, 0x00, deviceControlGetDesiredLedStatusResponse); } }
private async void WifiStatusRequest_NotificationReceived(object sender, NotifyEventArgs e) { if (MessageProtocolFactory.ReadRequestMessagePayload(e.Data) is WifiStatusRequest wifiStatusRequest) { Debug.WriteLine($"Received Wi-Fi config message protocol request: '{wifiStatusRequest.RequestType}'"); bluetoothLeHelper.NotificationReceived -= WifiStatusRequest_NotificationReceived; await SendResponseAsync(currentService, wifiStatusRequest, 0x00); WifiStatusRequestReceived?.Invoke(this, new WifiStatusRequestEventArgs(wifiStatusRequest)); } }
private async void DeviceControlReportLedStatusRequest_NotificationReceived(object sender, NotifyEventArgs e) { if (MessageProtocolFactory.ReadRequestMessagePayload(e.Data) is DeviceControlReportLedStatusRequest deviceControlReportLedStatusRequest) { Debug.WriteLine($"Received Device Control message protocol request: '{deviceControlReportLedStatusRequest.RequestType}'"); // Need to listen to DeviceControlUpdateLedStatusRequest all the time. // Send the report LED status response. await SendResponseAsync(currentService, deviceControlReportLedStatusRequest, 0x00); // Need to call back to DevicePage.xaml.cs to update Toggle Switch's value & enabled. ReportLedStatusRequestReceived?.Invoke(this, new DeviceControlLedStatusNeededEventArgs(deviceControlReportLedStatusRequest)); } }
private async void WifiGetNewDetailsRequest_NotificationReceived(object sender, NotifyEventArgs e) { if (MessageProtocolFactory.ReadRequestMessagePayload(e.Data) is WifiGetNewDetailsRequest wifiGetNewDetailsRequest) { Debug.WriteLine($"Received Wi-Fi config message protocol request: '{wifiGetNewDetailsRequest.RequestType}'"); bluetoothLeHelper.NotificationReceived -= WifiGetNewDetailsRequest_NotificationReceived; // Setup success status check with device bluetoothLeHelper.NotificationReceived += WifiSetRequest_NotificationReceived; await bluetoothLeHelper.StartNotificationListenerAsync(currentService, MessageProtocolTxCharacteristicId); // Send the add network request. await SendResponseAsync(currentService, wifiGetNewDetailsRequest, 0x00, wifiGetNewDetailsResponse); } }