/* cds.c */ /* defines must span 0, 1, 2 only */ #define CDS_WHITE 0 #define CDS_BLUE 1 #define CDS_UNKNOWN 2 int cds_white_val[5]; int cds_blue_val[5]; void calibrate_cds(char str[], int cds_col[], int n) { int i, j; for (j=0; j<5; j++) cds_col[j]=0; printf("%s: press start\n", str); start_press(); sleep(1.0); setup_drive(50); for (i=0; i factor*abs(cds_blue_val[i]-val)) return CDS_BLUE; else if (abs(cds_blue_val[i]-val) > factor*abs(cds_white_val[i]-val)) return CDS_WHITE; else return CDS_UNKNOWN; }