40 lines
997 B
C
40 lines
997 B
C
![]() |
#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
|