private void plot_xysum_vs_time(ControllerLog mlog, double delay, GraphComponents main_comp, GraphComponents sec_comp) { double y = 0; for (int i = last_start; i <= last_end; i++) { if (events[i].hDevice != mlog.hDevice) { continue; } double x = events[i].ts + delay; y += events[i].lastx; update_minmax(x, y); main_comp.Add(x, y); } y = 0; for (int i = last_start; i <= last_end; i++) { if (events[i].hDevice != mlog.hDevice) { continue; } double x = events[i].ts + delay; y += events[i].lasty; update_minmax(x, y); sec_comp.Add(x, y); } }
private void plot_yvelocity_vs_time(ControllerLog mlog, double delay, GraphComponents main_comp, GraphComponents sec_comp) { if (mlog.Cpi > 0) { for (int i = last_start; i <= last_end; i++) { if (events[i].hDevice != mlog.hDevice) { continue; } double x = events[i].ts + delay; double y; if (i == 0) { y = 0.0; } else { y = (events[i].lasty) / (events[i].ts - events[i].lastts) / mlog.Cpi * 25.4; } update_minmax(x, y); main_comp.Add(x, y); } } else { MessageBox.Show("CPI value is invalid, please run Measure"); } }
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) { if (tabControl1.SelectedTab == tabPage1) { this.mlog = this.mlog1; this.textBoxCPI = textBoxCPI1; this.textBoxDesc = textBoxDesc1; } else { this.mlog = this.mlog2; this.textBoxCPI = textBoxCPI2; this.textBoxDesc = textBoxDesc2; } }
private void plot_x_vs_y(ControllerLog mlog, double delay, GraphComponents main_comp, GraphComponents sec_comp) { double x = 0.0; double y = 0.0; for (int i = last_start; i <= last_end; i++) { if (events[i].hDevice != mlog.hDevice) { continue; } x += events[i].lastx; y += events[i].lasty; update_minmax(x, x); update_minmax(y, y); main_comp.Add(x, y, false); } }
public MainForm() { InitializeComponent(); try { Process.GetCurrentProcess().ProcessorAffinity = new IntPtr(2); // Use only the second core Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.RealTime; // Set highest process priority Thread.CurrentThread.Priority = ThreadPriority.Highest; // Set highest thread priority } catch (Exception ex) { Debug.WriteLine(ex.ToString()); } this.tabControl1.TabPages.RemoveAt(1); this.mlog = this.mlog1; this.textBoxCPI = textBoxCPI1; this.textBoxDesc = textBoxDesc1; this.controller.RegisterRawInputHID(Handle); this.controller.hidevent += new RawController.ControllerEventHandler(this.logMouseEvent); this.textBox1.Text = "Enter the correct CPI" + "\r\n or\r\n" + "Press the Measure button" + "\r\n or\r\n" + "Press the Load button"; this.toolStripStatusLabel1.Text = ""; configini = new IniFile("config.ini"); settings = Settings.Read(configini); this.mlog1.Cpi = settings.cpi1; this.mlog2.Cpi = settings.cpi2; this.mlog1.Desc = settings.desc1; this.mlog2.Desc = settings.desc2; this.textBoxDesc1.Text = this.mlog1.Desc.ToString(); this.textBoxCPI1.Text = this.mlog1.Cpi.ToString(); this.textBoxDesc2.Text = this.mlog2.Desc.ToString(); this.textBoxCPI2.Text = this.mlog2.Cpi.ToString(); }
private void plot_frequency_vs_time(ControllerLog mlog, double delay, GraphComponents main_comp, GraphComponents sec_comp) { for (int i = last_start; i <= last_end; i++) { if (events[i].hDevice != mlog.hDevice) { continue; } double x = events[i].ts; double y; if (i == 0) { y = 0.0; } else { y = 1000.0 / (events[i].ts - events[i].lastts); } update_minmax(x, y); main_comp.Add(x, y); } }
public ControllerPlot(ControllerLog Mlog, ControllerLog Mlog2, Settings settings) { this.settings = settings; InitializeComponent(); this.mlog = Mlog; this.mlog2 = Mlog2; if (mlog2 != null && mlog2.Events.Count != 0) { dual = true; } IndexMouseLogs(); this.last_start = 0; this.last_end = events.Count - 1; initialize_plot(); GraphType[] grapthtypes = { new GraphType("xCount vs. Time", "Time (ms)", "xCounts", GraphType.GT.normal, plot_xcounts_vs_time), new GraphType("yCount vs. Time", "Time (ms)", "yCounts", GraphType.GT.normal, plot_ycounts_vs_time), new GraphType("xyCount vs. Time", "Time (ms)", "Counts", GraphType.GT.dual, plot_xycounts_vs_time), new GraphType("Interval vs. Time", "Time (ms)", "Update Time (ms)", GraphType.GT.normal, plot_interval_vs_time), new GraphType("Frequency vs. Time", "Time (ms)", "Frequency (Hz)", GraphType.GT.normal, plot_frequency_vs_time), new GraphType("xVelocity vs. Time", "Time (ms)", "xVelocity (m/s)", GraphType.GT.normal, plot_xvelocity_vs_time), new GraphType("yVelocity vs. Time", "Time (ms)", "yVelocity (m/s)", GraphType.GT.normal, plot_yvelocity_vs_time), new GraphType("xyVelocity vs. Time", "Time (ms)", "Velocity (m/s)", GraphType.GT.dual, plot_xyvelocity_vs_time), new GraphType("xSum vs. Time", "Time (ms)", "xSum (m/s)", GraphType.GT.normal, plot_xsum_vs_time), new GraphType("ySum vs. Time", "Time (ms)", "ySum (m/s)", GraphType.GT.normal, plot_ysum_vs_time), new GraphType("xySum vs. Time", "Time (ms)", "Sum (m/s)", GraphType.GT.dual, plot_xysum_vs_time), new GraphType("X vs. Y", "xCounts", "yCounts", GraphType.GT.nolines, plot_x_vs_y), }; foreach (GraphType type in grapthtypes) { comboBoxPlotType.Items.Add(type); } this.comboBoxPlotType.SelectedIndex = 0; this.groupBox4.Enabled = dual; this.numericUpDownStart.Minimum = 0; this.numericUpDownStart.Maximum = last_end; this.numericUpDownStart.Value = last_start; this.numericUpDownStart.ValueChanged += new EventHandler(this.numericUpDownStart_ValueChanged); this.numericUpDownEnd.Minimum = 0; this.numericUpDownEnd.Maximum = last_end; this.numericUpDownEnd.Value = last_end; this.numericUpDownEnd.ValueChanged += new EventHandler(this.numericUpDownEnd_ValueChanged); checkBoxLines.Checked = settings.lines; checkBoxBgnd.Checked = settings.transparent; checkBoxSize.Checked = settings.fixedsize; checkBoxStem.Checked = settings.stem; if (settings.maximized) { this.WindowState = FormWindowState.Maximized; } else { Rectangle wa = Screen.PrimaryScreen.WorkingArea; if (settings.xpos + Size.Width > wa.Right) { settings.xpos = wa.Right - Size.Width; } if (settings.ypos + Size.Height > wa.Bottom) { settings.ypos = wa.Bottom - Size.Height; } if (settings.xpos < 0) { settings.xpos = 0; } if (settings.ypos < 0) { settings.ypos = 0; } this.Location = new Point(settings.xpos, settings.ypos); } if (settings.plotindex >= 0 && settings.plotindex < comboBoxPlotType.Items.Count) { comboBoxPlotType.SelectedIndex = settings.plotindex; } this.checkBoxLines.CheckedChanged += new EventHandler(this.Refresh_Plot_Helper); this.checkBoxStem.CheckedChanged += new EventHandler(this.Refresh_Plot_Helper); this.comboBoxPlotType.SelectedIndexChanged += new EventHandler(this.Refresh_Plot_Helper); refresh_plot(); }