![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
x
Dependencies: Servo ServoArm mbed
Fork of PES_PIXY_Officiall by
Diff: Sources/DistanceSensors.cpp
- Revision:
- 3:63da1d1fae15
- Parent:
- 0:15a8480061e8
--- a/Sources/DistanceSensors.cpp Thu May 25 18:12:28 2017 +0000 +++ b/Sources/DistanceSensors.cpp Fri May 26 08:01:48 2017 +0000 @@ -4,19 +4,16 @@ -DistanceSensors::DistanceSensors() -{ +DistanceSensors::DistanceSensors() { //Nothing } -DistanceSensors::DistanceSensors(AnalogIn* sensorVoltage, AnalogIn* frontS, AnalogIn* leftS, AnalogIn* rightS, DigitalOut* bit0, DigitalOut* bit1, DigitalOut* bit2, int number) -{ +DistanceSensors::DistanceSensors(AnalogIn* sensorVoltage, AnalogIn* frontS, AnalogIn* leftS, AnalogIn* rightS, DigitalOut* bit0, DigitalOut* bit1, DigitalOut* bit2, int number){ init(sensorVoltage, frontS, leftS, rightS, bit0, bit1, bit2, number); } //initialise -void DistanceSensors::init(AnalogIn* sensorVoltage, AnalogIn* frontS, AnalogIn* leftS, AnalogIn* rightS, DigitalOut* bit0, DigitalOut* bit1, DigitalOut* bit2, int number) -{ +void DistanceSensors::init(AnalogIn* sensorVoltage, AnalogIn* frontS, AnalogIn* leftS, AnalogIn* rightS, DigitalOut* bit0, DigitalOut* bit1, DigitalOut* bit2, int number){ this->sensorVoltage = sensorVoltage; this->frontS = frontS; this->leftS = leftS; @@ -28,17 +25,12 @@ this->number = number; } +DistanceSensors::~DistanceSensors(){ -DistanceSensors::~DistanceSensors() -{ } - -float DistanceSensors::read()//Return the distance of an object -{ - +float DistanceSensors::read(){ //Return the distance of an object float Usensor; - if (number < 6){ *bit0 = number & 1; // Set the first bit of the Sensors MUX *bit1 = number & 2; // Set the second bit of the Sensors MUX @@ -59,21 +51,13 @@ break; } } - - //Usensor=sensorVoltage->read(); //Read the Voltage from the selected distance sensor Usensor *= 3.3f; - float Distance= 5.906*Usensor*Usensor - 30.831*Usensor + 47.628; - Distance /= 100; - - static float distance_filtered = 0.0f; - distance_filtered = 0.55f * distance_filtered + 0.45f * Distance; - - return Distance; - return distance_filtered; + float Distance= 5.906f*Usensor*Usensor - 30.831f*Usensor + 47.628f; + Distance /= 100.0f; + return Distance; } -DistanceSensors::operator float() -{ +DistanceSensors::operator float(){ return read(); }