This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
rc2007-rescue/LineSensorArray.h

40 lines
997 B
C
Raw Permalink Normal View History

2007-04-15 22:01:04 +00:00
#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