Example #1
0
    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));
    }
Example #6
0
 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;
 }
Example #7
0
    //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;
    }
Example #8
0
    //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);
        }
    }
Example #9
0
 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);
     }
 }
Example #10
0
    //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);
    }