private void calculeObjectCon(ArrayList curves) { repetitions = curves.Count; int nSpeed = getBestRep(curves, byTypes.SPEED); int nPower = getBestRep(curves, byTypes.POWER); EncoderCurve curveBySpeed = (EncoderCurve)curves[nSpeed]; EncoderCurve curveByPower = (EncoderCurve)curves[nPower]; rangeBySpeed = Util.ConvertToPoint(curveBySpeed.Height); rangeByPower = Util.ConvertToPoint(curveByPower.Height); vmeanBySpeed = Util.ConvertToPoint(curveBySpeed.MeanSpeed); vmeanByPower = Util.ConvertToPoint(curveByPower.MeanSpeed); vmaxBySpeed = Util.ConvertToPoint(curveBySpeed.MaxSpeed); vmaxByPower = Util.ConvertToPoint(curveByPower.MaxSpeed); pmeanBySpeed = Util.ConvertToPoint(curveBySpeed.MeanPower); pmeanByPower = Util.ConvertToPoint(curveByPower.MeanPower); pmaxBySpeed = Util.ConvertToPoint(curveBySpeed.PeakPower); pmaxByPower = Util.ConvertToPoint(curveByPower.PeakPower); pmeanByPowerAsDouble = Convert.ToDouble(curveByPower.MeanPower); //add +1 to show to user numBySpeed = nSpeed + 1; numByPower = nPower + 1; lossBySpeed = getLoss(curves, byTypes.SPEED); lossByPower = getLoss(curves, byTypes.POWER); }
public void UpdateBestSetValue(EncoderCurve curve) { string autoVar = encoderAutomaticVariable; if (encoderAutomaticHigher || encoderAutomaticLower) { if (autoVar == Constants.MeanSpeed) { UpdateBestSetValue(curve.MeanSpeedD); } else if (autoVar == Constants.MaxSpeed) { UpdateBestSetValue(curve.MaxSpeedD); } else if (autoVar == Constants.MeanPower) { UpdateBestSetValue(curve.MeanPowerD); } else if (autoVar == Constants.PeakPower) { UpdateBestSetValue(curve.PeakPowerD); } else if (autoVar == Constants.MeanForce) { UpdateBestSetValue(curve.MeanForceD); } else if (autoVar == Constants.MaxForce) { UpdateBestSetValue(curve.MaxForceD); } } }
public void UpdateBestSetValue(EncoderCurve curve) { BestSetValueEnum b = BestSetValueEnum.AUTOMATIC_FEEDBACK; string encoderVar = GetMainVariable; if (encoderAutomaticHigher || encoderAutomaticLower) { if (encoderVar == Constants.MeanSpeed) { UpdateBestSetValue(b, curve.MeanSpeedD); } else if (encoderVar == Constants.MaxSpeed) { UpdateBestSetValue(b, curve.MaxSpeedD); } else if (encoderVar == Constants.MeanPower) { UpdateBestSetValue(b, curve.MeanPowerD); } else if (encoderVar == Constants.PeakPower) { UpdateBestSetValue(b, curve.PeakPowerD); } else if (encoderVar == Constants.MeanForce) { UpdateBestSetValue(b, curve.MeanForceD); } else if (encoderVar == Constants.MaxForce) { UpdateBestSetValue(b, curve.MaxForceD); } } }
//called from gui/encoderTreeviews.cs public string AssignColorAutomatic(EncoderCurve curve, string variable) { if (encoderAutomaticVariable != variable) { return(UtilGtk.ColorNothing); } double currentValue = curve.GetParameter(variable); return(AssignColorAutomatic(currentValue)); }
//called from gui/encoderTreeviews.cs public string AssignColorAutomatic(BestSetValueEnum b, EncoderCurve curve, string variable) { if (GetMainVariable != variable) { return(UtilGtk.ColorNothing); } double currentValue = curve.GetParameter(variable); return(AssignColorAutomatic(b, currentValue)); }
private void renderBoldIfNeeded(Gtk.CellRenderer cell, EncoderCurve curve, string str) { if(curve.N == "MAX" || curve.N == "AVG" || curve.N == "SD") (cell as Gtk.CellRendererText).Markup = "<b>" + str + "</b>"; else (cell as Gtk.CellRendererText).Text = str; }
//the bool is for ecc-concentric //there two rows are selected //if user clicks on 2n row, and bool is true, first row is the returned curve private EncoderCurve treeviewEncoderCaptureCurvesGetCurve(int row, bool onEccConTakeFirst) { if(onEccConTakeFirst && ecconLast != "c") { bool isEven = (row % 2 == 0); //check if it's even (in spanish "par") if(isEven) row --; } TreeIter iter = new TreeIter(); bool iterOk = encoderCaptureListStore.GetIterFirst(out iter); if(iterOk) { int count=1; do { if(count==row) return (EncoderCurve) treeview_encoder_capture_curves.Model.GetValue (iter, 0); count ++; } while (encoderCaptureListStore.IterNext (ref iter)); } EncoderCurve curve = new EncoderCurve(); return curve; }
//rowNum starts at zero void saveOrDeleteCurveFromCaptureTreeView(bool dbconOpened, int rowNum, EncoderCurve curve, bool save) { LogB.Information("saving? " + save.ToString() + "; rownum:" + rowNum.ToString()); if(save) encoderSaveSignalOrCurve(dbconOpened, "curve", rowNum +1); else { double msStart = Convert.ToDouble(curve.Start); double msEnd = -1; if(ecconLast == "c") msEnd = Convert.ToDouble(curve.Start) + Convert.ToDouble(curve.Duration); else { EncoderCurve curveNext = treeviewEncoderCaptureCurvesGetCurve(rowNum +2,false); msEnd = Convert.ToDouble(curveNext.Start) + Convert.ToDouble(curveNext.Duration); } ArrayList signalCurves = SqliteEncoder.SelectSignalCurve(dbconOpened, Convert.ToInt32(encoderSignalUniqueID), -1, msStart, msEnd); foreach(EncoderSignalCurve esc in signalCurves) delete_encoder_curve(dbconOpened, esc.curveID); } }
public void UpdateBestSetValue(EncoderCurve curve) { string autoVar = encoderAutomaticVariable; if(encoderAutomaticHigher || encoderAutomaticLower) { if(autoVar == Constants.MeanSpeed) UpdateBestSetValue(curve.MeanSpeedD); else if(autoVar == Constants.MaxSpeed) UpdateBestSetValue(curve.MaxSpeedD); else if(autoVar == Constants.MeanPower) UpdateBestSetValue(curve.MeanPowerD); else if(autoVar == Constants.PeakPower) UpdateBestSetValue(curve.PeakPowerD); else if(autoVar == Constants.MeanForce) UpdateBestSetValue(curve.MeanForceD); else if(autoVar == Constants.MaxForce) UpdateBestSetValue(curve.MaxForceD); } }
//called from gui/encoderTreeviews.cs public string AssignColorAutomatic(EncoderCurve curve, string variable) { if(encoderAutomaticVariable != variable) return UtilGtk.ColorNothing; double currentValue = curve.GetParameter(variable); return AssignColorAutomatic(currentValue); }