From d02fbc84105ff2da74f03fd658ace8919e3e9437 Mon Sep 17 00:00:00 2001 From: neoraider Date: Sun, 15 Apr 2007 22:01:04 +0000 Subject: LineSensorArray + Srf10 added. --- LineSensorArray.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 LineSensorArray.h (limited to 'LineSensorArray.h') diff --git a/LineSensorArray.h b/LineSensorArray.h new file mode 100644 index 0000000..9f67c60 --- /dev/null +++ b/LineSensorArray.h @@ -0,0 +1,39 @@ +#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 -- cgit v1.2.3