#ifndef _ROBOCUP_LINESENSORARRAY_H_ #define _ROBOCUP_LINESENSORARRAY_H_ #include "LineSensor.h" #include "util.h" class LineSensorArray { private: LineSensor *sensors[5]; float line; float sharpness; float gw; float min_diff; float max_white_diff; public: LineSensorArray(LineSensor *sensors[5]); LineSensorArray(LineSensor *sensor1, LineSensor *sensor2, LineSensor *sensor3, LineSensor *sensor4, LineSensor *sensor5); void update(); bool calibrate(); bool isSensorBlack(int i) {return sensors[CLAMP(0, i, 4)]->getValue() > gw;} bool isSensorWhite(int i) {return sensors[CLAMP(0, i, 4)]->getValue() <= gw;} float getLine() {return line;} float getSharpness() {return sharpness;} float getMinimumDifference() {return min_diff;} void setMinimumDifference(float min_diff) {this->min_diff = min_diff;} float getMaximumWhiteDifference() {return max_white_diff;} void setMaximumWhiteDifference(float max_white_diff) {this->max_white_diff = max_white_diff;} }; #endif