analogMinMax.cpp

Committer:
masterkookus
Date:
2019-10-02
Revision:
0:cdaabb616422
Child:
1:4c3825c62e96

File content as of revision 0:cdaabb616422:

#include "analogMinMax.h"

analogMinMax::analogMinMax(float nominalVal, bool useMinLimit, float minPercent, bool useMaxLimit, float maxPercent)
{
    nomVal = nominalVal;
    maxLim=useMinLimit;
    minLim=useMaxLimit;
    minLimVal = nominalVal*minPercent;
    maxLimVal = nominalVal*maxPercent;
}

void analogMinMax::putVal(float newval)
{
    if (maxLim)
    {
        if (newval>maxLimVal)
        {
            return;
        }
    }
    if (minLim)
    {
        if (newval<minLimVal)
        {
            return;
        }
    }
    if (maxSet==false)
    {
        maxVal=newval;
        maxSet=true;
    }
    else
    {
        if (newval>maxVal)
        {
            maxVal=newval;
        }
    }
    if (minSet==false)
    {
        minVal=newval;
        minSet=true;
    }
    else
    {
        if (newval<minVal)
        {
            minVal=newval;
        }
    }
}

float analogMinMax::getMin(void)
{
    return minVal;
}

float analogMinMax::getMax(void)
{
    return maxVal;
}

void analogMinMax::resetNum(void)
{
    maxVal=0;
    minVal=0;
    minSet=false;
    maxSet=false;
}