Library to add minimum/maximum functions for analog values

Committer:
masterkookus
Date:
Wed Oct 02 19:14:53 2019 +0000
Revision:
0:cdaabb616422
Child:
1:4c3825c62e96
File Creation

Who changed what in which revision?

UserRevisionLine numberNew contents of line
masterkookus 0:cdaabb616422 1 #include "analogMinMax.h"
masterkookus 0:cdaabb616422 2
masterkookus 0:cdaabb616422 3 analogMinMax::analogMinMax(float nominalVal, bool useMinLimit, float minPercent, bool useMaxLimit, float maxPercent)
masterkookus 0:cdaabb616422 4 {
masterkookus 0:cdaabb616422 5 nomVal = nominalVal;
masterkookus 0:cdaabb616422 6 maxLim=useMinLimit;
masterkookus 0:cdaabb616422 7 minLim=useMaxLimit;
masterkookus 0:cdaabb616422 8 minLimVal = nominalVal*minPercent;
masterkookus 0:cdaabb616422 9 maxLimVal = nominalVal*maxPercent;
masterkookus 0:cdaabb616422 10 }
masterkookus 0:cdaabb616422 11
masterkookus 0:cdaabb616422 12 void analogMinMax::putVal(float newval)
masterkookus 0:cdaabb616422 13 {
masterkookus 0:cdaabb616422 14 if (maxLim)
masterkookus 0:cdaabb616422 15 {
masterkookus 0:cdaabb616422 16 if (newval>maxLimVal)
masterkookus 0:cdaabb616422 17 {
masterkookus 0:cdaabb616422 18 return;
masterkookus 0:cdaabb616422 19 }
masterkookus 0:cdaabb616422 20 }
masterkookus 0:cdaabb616422 21 if (minLim)
masterkookus 0:cdaabb616422 22 {
masterkookus 0:cdaabb616422 23 if (newval<minLimVal)
masterkookus 0:cdaabb616422 24 {
masterkookus 0:cdaabb616422 25 return;
masterkookus 0:cdaabb616422 26 }
masterkookus 0:cdaabb616422 27 }
masterkookus 0:cdaabb616422 28 if (maxSet==false)
masterkookus 0:cdaabb616422 29 {
masterkookus 0:cdaabb616422 30 maxVal=newval;
masterkookus 0:cdaabb616422 31 maxSet=true;
masterkookus 0:cdaabb616422 32 }
masterkookus 0:cdaabb616422 33 else
masterkookus 0:cdaabb616422 34 {
masterkookus 0:cdaabb616422 35 if (newval>maxVal)
masterkookus 0:cdaabb616422 36 {
masterkookus 0:cdaabb616422 37 maxVal=newval;
masterkookus 0:cdaabb616422 38 }
masterkookus 0:cdaabb616422 39 }
masterkookus 0:cdaabb616422 40 if (minSet==false)
masterkookus 0:cdaabb616422 41 {
masterkookus 0:cdaabb616422 42 minVal=newval;
masterkookus 0:cdaabb616422 43 minSet=true;
masterkookus 0:cdaabb616422 44 }
masterkookus 0:cdaabb616422 45 else
masterkookus 0:cdaabb616422 46 {
masterkookus 0:cdaabb616422 47 if (newval<minVal)
masterkookus 0:cdaabb616422 48 {
masterkookus 0:cdaabb616422 49 minVal=newval;
masterkookus 0:cdaabb616422 50 }
masterkookus 0:cdaabb616422 51 }
masterkookus 0:cdaabb616422 52 }
masterkookus 0:cdaabb616422 53
masterkookus 0:cdaabb616422 54 float analogMinMax::getMin(void)
masterkookus 0:cdaabb616422 55 {
masterkookus 0:cdaabb616422 56 return minVal;
masterkookus 0:cdaabb616422 57 }
masterkookus 0:cdaabb616422 58
masterkookus 0:cdaabb616422 59 float analogMinMax::getMax(void)
masterkookus 0:cdaabb616422 60 {
masterkookus 0:cdaabb616422 61 return maxVal;
masterkookus 0:cdaabb616422 62 }
masterkookus 0:cdaabb616422 63
masterkookus 0:cdaabb616422 64 void analogMinMax::resetNum(void)
masterkookus 0:cdaabb616422 65 {
masterkookus 0:cdaabb616422 66 maxVal=0;
masterkookus 0:cdaabb616422 67 minVal=0;
masterkookus 0:cdaabb616422 68 minSet=false;
masterkookus 0:cdaabb616422 69 maxSet=false;
masterkookus 0:cdaabb616422 70 }
masterkookus 0:cdaabb616422 71