k

Dependencies:   Servo ServoArm mbed

Sources/USsensor.cpp

Committer:
beacon
Date:
2017-05-22
Revision:
0:15a8480061e8

File content as of revision 0:15a8480061e8:

#include <Robot.h>

USsensor::USsensor()
{
}

USsensor::USsensor(Ultraschall* Usensor)
{
    init(Usensor);
}
void USsensor::init(Ultraschall* Usensor)
{
   this->Usensor = Usensor;   
}

float USsensor::read()
{
    static int i = 0;
    Usensor->start();
    if( i ){
        float dist = Usensor->get_dist_cm();
        static float distFiltered = dist;
        
        distFiltered = 0.05f * distFiltered + 0.95f * dist;
        return distFiltered / 100;
        //return dist/100.0f;
    }
    else{
        i++;
        return 0.25f;
    }
}

 USsensor::operator float() 
{
    return read();    
}