public MainViewModel(IAccelerometer accelerometer = null, IGyroscope gyroscope = null, IMagnetometer magnetometer = null, ICompass compass = null, IAmbientLight ambientLight = null, IBarometer barometer = null, IPedometer pedometer = null, IProximity proximity = null, IHeartRateMonitor heartRate = null, IHumidity humidity = null, ITemperature temperature = null) { this.Sensors = new List <ISensorViewModel>(); this.AddIf(accelerometer, "G"); this.AddIf(gyroscope, "G"); this.AddIf(magnetometer, "M"); this.AddIf(compass, "D"); this.AddIf(ambientLight, "Light"); this.AddIf(barometer, "Pressure"); this.AddIf(pedometer, "Steps"); this.AddIf(proximity, "Near"); this.AddIf(heartRate, "Heart Rate (bpm)"); this.AddIf(humidity, "Humidity"); this.AddIf(temperature, "Temp"); }
void AddPulse(IHeartRateMonitor pulse) { this.pulse = pulse; pulseMonitor.DoWork += new DoWorkEventHandler(UpdatePulse); pulseMonitor.RunWorkerAsync(pulse); pulseMonitor.RunWorkerCompleted += new RunWorkerCompletedEventHandler(UpdateCompleted); var n = pulsesNode.Nodes.Add(pulse.Name); n.Tag = pulse; }
public void UpdateList(IProvider provider, IHeartRateMonitor dummy) { hrmList.Items.Clear(); foreach (var hrm in provider.HeartRateMonitors) { hrmList.Items.Add(hrm); } hrmList.Items.Add(dummy); hrmList.SetSelected(0, true); }
public void Start(IChannel channel, IHeartRateMonitor hrm, BiofeedbackSettings settings, Action <Biofeedback.Sample[]> finished) { if (channel is null) { throw new ArgumentException(nameof(channel)); } if (hrm is null) { throw new ArgumentException(nameof(hrm)); } finishedAction = finished; bf = new Biofeedback(); if (channel is null) { throw new ArgumentException("Couldn't open a channel"); } source = new HrmSource(hrm); bf.Enqueue(settings.MinFrequency, settings.MaxFrequency, settings.StepSize); int frequencySteps = bf.TotalSteps; heatmapControl.NumberOfPoints = frequencySteps; heatmapControl.MinX = settings.MinFrequency; heatmapControl.MaxX = settings.MaxFrequency; statusLabel.Text = "Running"; pauseButton.Text = "Pause"; biofeedback = new Biofeedback(); biofeedback.Enqueue(settings.MinFrequency, settings.MaxFrequency, settings.StepSize); runner = new BackgroundRunner(); biofeedback.Source = source; biofeedback.OnProgress += new Biofeedback.Progress((f, r, s, t) => BeginInvoke(new Biofeedback.Progress(OnProgress), f, r, s, t)); biofeedback.OnFinished += new Biofeedback.Finished(r => BeginInvoke(new Biofeedback.Finished(OnFinished), new object[] { r })); runner.Progress += new ProgressChanged((s, t, w, a, e) => BeginInvoke(new ProgressChanged(OnGeneratorProgress), s, t, w, a, e)); var options = new RunningOptions(); runner.Start(biofeedback, channel, options); }
private void HrmList_SelectedIndexChanged(object sender, EventArgs e) { SelectedItem = hrmList.SelectedItem as IHeartRateMonitor; }
public HrmSource(IHeartRateMonitor hrm) { this.hrm = hrm; }