v1

Dependencies:   HCSR04

resources/nFilter.cpp

Committer:
snapo
Date:
2021-11-29
Revision:
0:9da26936fdc0

File content as of revision 0:9da26936fdc0:

#include "nFilter.h"

nFilter::nFilter(float ValsToFilter_[9]){
    for(int i = 0; i < 9;i++){
        p_ValsToHold[i] = ValsToFilter_[i];
    }
};

void nFilter::sortAndFilter(){
    char count = 9;
    for (unsigned char i  = 0; i < count-1; i++){
        for (unsigned char j = 0; j < count-1-i; j++){
            if(p_ValsToHold[j] > p_ValsToHold[j+1]){
                float temp = p_ValsToHold[j];
                p_ValsToHold[j] = p_ValsToHold[j+1];
                p_ValsToHold[j+1] = temp;
            }
        }
    }
}

void nFilter::getAndCalcAvg(){
    for (int i = 1 ; i < 8;i++){
        p_ArrAvg += p_ValsToHold[i];
    }
    p_ArrAvg /= 7;
}

void nFilter::mid(){
    p_Mid = p_ValsToHold[4];
}

float nFilter::getMid(){
    return p_ValsToHold[4];
}

float nFilter::getAvg(){
    return p_ArrAvg;
}


auto nFilter::Avg(int Fixed){
    auto str = std::to_string(p_ArrAvg);
    return str.substr(0,str.find(".")+ Fixed +1);
}