/// <summary> /// Requests the listening mode. /// </summary> /// <param name="mode">The mode.</param> public void RequestListeningMode(ListeningMode mode) { if (ListeningModeCommands.TryGetValue(mode, out var command)) { this.SendCommand("0" + command + "SR"); } }
public void SetParameters(string name, string computerName, ListeningMode listeningMode) { try { this.Name = name; this.SetComputerName = computerName; this.GetListeningMode = listeningMode; } catch (Exception e) { throw new InvalidOperationException("Error: unable to set parameters to Leap device :" + e); } }
/// <summary> /// Handles the ReceivedData event of the mConnection control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="ReceivedDataEventArgs"/> instance containing the event data.</param> private void Connection_ReceivedData(object sender, ReceivedDataEventArgs e) { var line = e.Data; if (string.IsNullOrEmpty(line)) { return; } Trace.WriteLine("Got data " + line); //parse the received line and update the internal state accordingly... if (line.StartsWith("PWR")) { switch (line[3]) { case '0': this.MasterPowerState = PowerState.On; break; case '1': this.MasterPowerState = PowerState.Off; break; default: this.MasterPowerState = PowerState.Unknown; break; } } else if (line.StartsWith("VOL")) { if (int.TryParse(line.Substring(3, 3), out var volume)) { if (volume == 0) //this is _mute { Volume = float.NaN; } else { Volume = (volume / 2f) + -80.5f; } } else { throw new Exception("Could not parse '" + line.Substring(3, 3) + "' "); } } else if (line.StartsWith("MUT")) { switch (line[3]) { case '0': this.Mute = PowerState.On; break; case '1': this.Mute = PowerState.Off; break; default: this.Mute = PowerState.Unknown; break; } } else if (line.StartsWith("FN")) { var function = line.Substring(2, 2); { foreach (var mode in InputModeCommands) { if (mode.Value == function) { this.InputMode = mode.Key; break; } } } } else if (line.StartsWith("TR")) { if (!int.TryParse(line.Substring(2, 2), out var treble)) { throw new Exception("Could not parse " + line); } Treble = treble; } else if (line.StartsWith("BA")) { if (!int.TryParse(line.Substring(2, 2), out var bass)) { throw new Exception("Could not parse " + line); } Bass = bass; } else if (line.StartsWith("TO")) { if (!int.TryParse(line.Substring(2, 2), out var tone)) { throw new Exception("Could not parse " + line); } switch (tone) { case 0: ToneStatus = Tone.Bypass; break; case 1: ToneStatus = Tone.On; break; default: ToneStatus = Tone.Unknown; break; } } else if (line.StartsWith("SR0")) { var listenMode = line.Substring(3, 3); foreach (var mode in ListeningModeCommands) { if (mode.Value == listenMode) { this.ListenMode = mode.Key; break; } } } OnStatusChanged(); }
private void btnAction_Click(object sender, EventArgs e) { if (m_mode == ListeningMode.NotListening) { btnAction.Text = "Stop"; m_mode = ListeningMode.Listening; m_lastClicked = null; m_range.Clear(); } else // am already listening { btnAction.Text = "Start"; m_mode = ListeningMode.NotListening; rebuild(); } }
public ListeningModeSet(ListeningMode mode) { parameters.Add(mode.ToString("X").PadLeft(4, '0')); }