Skip to content
Snippets Groups Projects
color.h 590 B
#include <Arduino.h>

#define LEFT_RED_HUE_THRESHOLD 8
#define RIGHT_RED_HUE_THRESHOLD 8

typedef struct
{
    float r;
    float g;
    float b;
} Rgb;

typedef struct
{
    Rgb min = Rgb{0, 0, 0};
    Rgb max = Rgb{255, 255, 255};
} ColorSensorCal;

typedef enum
{
    CALIBRATE_BLACK,
    CALIBRATE_WHITE,
    CALIBRATE_READY,
} CalibrationState;

void setupColorSensor();

void printRGB(const Rgb &value);

void readColorValues(Rgb &left_value, Rgb &right_value);

float computeHue(const Rgb &rgb);

CalibrationState getCalibrationState();
void calibrateBlack();
void calibrateWhite();