public WocketsScalablePlotter(System.Windows.Forms.Panel aPanel) { this.numSensors = CurrentWockets._Controller._Sensors.Count; if (numSensors > 3) { skippedPoints = 3; } else if (numSensors > 1) { skippedPoints = 2; } this.aPanel = aPanel; this.plotAreaSize = new Size(this.aPanel.Width, ((int)(this.aPanel.Height))); graphSize = (int)Math.Floor((plotAreaSize.Height / ((double)numSensors))); scaleFactors = new double[numSensors]; currentColumns = new int[numSensors]; firstColumn = new int[numSensors]; lastColumn = new int[numSensors]; decoderTails = new int[numSensors]; lastUnixTimestamps = new double[numSensors]; this.pointsToPlot = new int[numSensors]; this.mode = PlottingMode.Normal; for (int i = 0; (i < numSensors); i++) { this.currentColumns[i] = this.plotAreaSize.Width - 1; this.firstColumn[i] = 999999; this.lastColumn[i] = this.plotAreaSize.Width - 1; this.decoderTails[i] = CurrentWockets._Controller._Sensors[i]._Decoder._Head; this.lastUnixTimestamps[i] = 0; this.pointsToPlot[i] = 0; double range = 1024;//((Accelerometer)this.wocketsController._Sensors[i])._Max - ((Accelerometer)this.wocketsController._Sensors[i])._Min; scaleFactors[i] = graphSize / range; } int dy = (int)Math.Floor(plotAreaSize.Height / ((double)numSensors)); int offset = dy; axisOffset = new int[numSensors]; for (int i = 0; i < axisOffset.Length; i++) { axisOffset[i] = offset; offset += dy; } previousTimes = new double[numSensors]; previousVals = new int[numSensors][]; for (int i = 0; (i < numSensors); i++) { previousVals[i] = new int[3]; for (int j = 0; (j < 3); j++) { previousVals[i][j] = 0; } } p = new System.Drawing.Pen[SIGNALS_PER_AXIS]; p[0] = new Pen(System.Drawing.Color.Orange); p[1] = new Pen(System.Drawing.Color.Red); p[2] = new Pen(System.Drawing.Color.Blue); requiresFullRedraw = true; aPanel.Invalidate(); }
public WocketsScalablePlotter(System.Windows.Forms.Panel aPanel) { this.numSensors = CurrentWockets._Controller._Sensors.Count; if (numSensors > 3) skippedPoints = 3; else if (numSensors > 1) skippedPoints = 2; this.aPanel = aPanel; this.plotAreaSize = new Size(this.aPanel.Width, ((int)(this.aPanel.Height))); graphSize = (int)Math.Floor((plotAreaSize.Height / ((double)numSensors))); scaleFactors = new double[numSensors]; currentColumns = new int[numSensors]; firstColumn = new int[numSensors]; lastColumn = new int[numSensors]; decoderTails = new int[numSensors]; lastUnixTimestamps = new double[numSensors]; this.pointsToPlot = new int[numSensors]; this.mode = PlottingMode.Normal; for (int i = 0; (i < numSensors); i++) { this.currentColumns[i] = this.plotAreaSize.Width - 1; this.firstColumn[i] = 999999; this.lastColumn[i] = this.plotAreaSize.Width - 1; this.decoderTails[i] = CurrentWockets._Controller._Sensors[i]._Decoder._Head; this.lastUnixTimestamps[i] = 0; this.pointsToPlot[i] = 0; double range = 1024;//((Accelerometer)this.wocketsController._Sensors[i])._Max - ((Accelerometer)this.wocketsController._Sensors[i])._Min; scaleFactors[i] = graphSize / range; } int dy = (int)Math.Floor(plotAreaSize.Height / ((double)numSensors)); int offset = dy; axisOffset = new int[numSensors]; for (int i = 0; i < axisOffset.Length; i++) { axisOffset[i] = offset; offset += dy; } previousTimes = new double[numSensors]; previousVals = new int[numSensors][]; for (int i = 0; (i < numSensors); i++) { previousVals[i] = new int[3]; for (int j = 0; (j < 3); j++) previousVals[i][j] = 0; } p = new System.Drawing.Pen[SIGNALS_PER_AXIS]; p[0] = new Pen(System.Drawing.Color.Orange); p[1] = new Pen(System.Drawing.Color.Red); p[2] = new Pen(System.Drawing.Color.Blue); requiresFullRedraw = true; aPanel.Invalidate(); }
public WocketsScalablePlotter(System.Windows.Forms.Panel aPanel, WocketsController wocketsController) { this.wocketsController = wocketsController; if (this.wocketsController._Sensors.Count > 3) { skippedPoints = 3; } else if (this.wocketsController._Sensors.Count > 1) { skippedPoints = 2; } this.aPanel = aPanel; this.plotAreaSize = new Size(this.aPanel.Width, ((int)(this.aPanel.Height * OnScreenDrawPercent))); graphSize = (int)Math.Floor((plotAreaSize.Height / ((double)this.wocketsController._Sensors.Count))); scaleFactors = new double[this.wocketsController._Sensors.Count]; currentColumns = new int[this.wocketsController._Sensors.Count]; firstColumn = new int[this.wocketsController._Sensors.Count]; lastColumn = new int[this.wocketsController._Sensors.Count]; decoderTails = new int[this.wocketsController._Sensors.Count]; lastUnixTimestamps = new double[this.wocketsController._Sensors.Count]; this.pointsToPlot = new int[this.wocketsController._Sensors.Count]; this.mode = PlottingMode.Normal; for (int i = 0; (i < this.wocketsController._Sensors.Count); i++) { this.currentColumns[i] = 0; this.firstColumn[i] = 999999; this.lastColumn[i] = 0; this.decoderTails[i] = 0; this.lastUnixTimestamps[i] = 0; this.pointsToPlot[i] = 0; double range = ((Accelerometer)this.wocketsController._Sensors[i])._Max - ((Accelerometer)this.wocketsController._Sensors[i])._Min; scaleFactors[i] = graphSize / range; } int dy = (int)Math.Floor(plotAreaSize.Height / ((double)this.wocketsController._Sensors.Count)); int offset = dy; axisOffset = new int[this.wocketsController._Sensors.Count]; for (int i = 0; i < axisOffset.Length; i++) { axisOffset[i] = offset; offset += dy; } previousTimes = new double[this.wocketsController._Sensors.Count]; previousVals = new int[this.wocketsController._Sensors.Count][]; for (int i = 0; (i < this.wocketsController._Sensors.Count); i++) { previousVals[i] = new int[3]; for (int j = 0; (j < 3); j++) { previousVals[i][j] = 0; } } p = new System.Drawing.Pen[SIGNALS_PER_AXIS]; p[0] = new Pen(System.Drawing.Color.Orange); p[1] = new Pen(System.Drawing.Color.Red); p[2] = new Pen(System.Drawing.Color.Blue); }
public WocketsScalablePlotter(System.Windows.Forms.Panel aPanel, WocketsController wocketsController) { this.wocketsController = wocketsController; if (this.wocketsController._Sensors.Count > 3) skippedPoints = 3; else if (this.wocketsController._Sensors.Count > 1) skippedPoints = 2; this.aPanel = aPanel; this.plotAreaSize = new Size(this.aPanel.Width, ((int)(this.aPanel.Height * OnScreenDrawPercent))); graphSize = (int)Math.Floor((plotAreaSize.Height / ((double)this.wocketsController._Sensors.Count))); scaleFactors = new double[this.wocketsController._Sensors.Count]; currentColumns = new int[this.wocketsController._Sensors.Count]; firstColumn= new int[this.wocketsController._Sensors.Count]; lastColumn = new int[this.wocketsController._Sensors.Count]; decoderTails = new int[this.wocketsController._Sensors.Count]; lastUnixTimestamps = new double[this.wocketsController._Sensors.Count]; this.pointsToPlot = new int[this.wocketsController._Sensors.Count]; this.mode = PlottingMode.Normal; for (int i = 0; (i < this.wocketsController._Sensors.Count); i++) { this.currentColumns[i] = 0; this.firstColumn[i] = 999999; this.lastColumn[i] = 0; this.decoderTails[i] = 0; this.lastUnixTimestamps[i] = 0; this.pointsToPlot[i] = 0; double range = ((Accelerometer)this.wocketsController._Sensors[i])._Max - ((Accelerometer)this.wocketsController._Sensors[i])._Min; scaleFactors[i] = graphSize / range; } int dy = (int)Math.Floor(plotAreaSize.Height / ((double)this.wocketsController._Sensors.Count)); int offset = dy; axisOffset = new int[this.wocketsController._Sensors.Count]; for (int i = 0; i < axisOffset.Length; i++) { axisOffset[i] = offset; offset += dy; } previousTimes = new double[this.wocketsController._Sensors.Count]; previousVals = new int[this.wocketsController._Sensors.Count][]; for (int i = 0; (i < this.wocketsController._Sensors.Count); i++) { previousVals[i] = new int[3]; for (int j = 0; (j < 3); j++) previousVals[i][j] = 0; } p = new System.Drawing.Pen[SIGNALS_PER_AXIS]; p[0] = new Pen(System.Drawing.Color.Orange); p[1] = new Pen(System.Drawing.Color.Red); p[2] = new Pen(System.Drawing.Color.Blue); }