private void Button_Transmit(object sender, RoutedEventArgs e) { if (recordedByButton != null) { IRControl.Transmit(recordedByButton); } }
private static Task <MethodResponse> OnStartRecordingCalled(MethodRequest methodRequest, object userContext) { IRControl.StartRecording(); string result = "'Started Recording'"; return(Task.FromResult(new MethodResponse(Encoding.UTF8.GetBytes(result), 200))); }
private static Task <MethodResponse> OnTransmitCalled(MethodRequest methodRequest, object userContext) { IRMessage msg = new IRMessage(methodRequest.DataAsJson.Substring(1, methodRequest.DataAsJson.Length - 2)); IRControl.Transmit(msg); string result = "'Transmitted IR signal'"; return(Task.FromResult(new MethodResponse(Encoding.UTF8.GetBytes(result), 200))); }
public MainPage() { this.InitializeComponent(); IRControl.Init(); AzureIoTHub.RegisterDirectMethodsAsync(); IRControl.AddButtonListener(OnButtonValueChanged); Unloaded += MainPage_Unloaded; /* * Task<string> task = hub.ReceiveCloudToDeviceMessageAsync(); * task.ContinueWith(x => HandleMessage(x.Result)); */ }
private static Task <MethodResponse> OnEndRecordingCalled(MethodRequest methodRequest, object userContext) { try { IRMessage msg = IRControl.EndRecording(); if (msg == null) { return(Task.FromResult(new MethodResponse(Encoding.UTF8.GetBytes("'The IR reciver did not receive a message'"), 500))); } string result = "'" + msg.Encode() + "'"; SendDeviceToCloudMessageAsync(methodRequest.DataAsJson + ";" + msg.Encode()).Wait(); return(Task.FromResult(new MethodResponse(Encoding.UTF8.GetBytes(result), 200))); } catch (Exception e) { return(Task.FromResult(new MethodResponse(Encoding.UTF8.GetBytes("'Error in OnEndRecordingCalled:" + e.Message + "'"), 500))); } }
private void Button_Record(object sender, RoutedEventArgs e) { if (recordButton.Content.ToString().Equals("Start Recording")) { IRControl.StartRecording(); recordButton.Content = "Stop Recording"; } else { IRMessage msg = IRControl.EndRecording(); recordButton.Content = "Start Recording"; if (msg != null) { mainText.Text = msg.ToString() + "\n"; mainText.Text += msg.ParseToBits() + "\n"; } else { mainText.Text = "Nothing was recorded."; } recordedByButton = msg; } }
public void OnButtonValueChanged(GpioPin sender, GpioPinValueChangedEventArgs args) { if (args.Edge == GpioPinEdge.RisingEdge) // Button is opposite to intuition, so that if checks 'if just pressed' { IRControl.StartRecording(); } else { IRMessage msg = IRControl.EndRecording(); string debugString; if (msg != null) { debugString = msg.ToString() + "\n"; debugString += msg.ParseToBits() + "\n"; AzureIoTHub.SendDeviceToCloudMessageAsync("\"ProductName;Action" + DateTimeOffset.Now.ToUnixTimeMilliseconds() + "\"" + ";" + msg.Encode()).Wait(); } else { debugString = "Nothing was recorded."; } Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { mainText.Text = debugString; }); } }
private void MainPage_Unloaded(object sender, object args) { IRControl.Close(); }