#define IRPORT 6 #define THR2 60 #define THR3 160 #define THR4 40 #define THR5 30 #define THR16 25 #define THR17 35 #define SHAFT90 1300 #define SHAFT180 2325 #define SHAFT270 750 #define SHAFT0 275 #define SHAFTSWING 400 #define TIMETOEXTEND 3.2 #define TIMETOSWINGFORWARD 6.0 #define TIMETOSWINGBACK 2.2 #define BASEROT 50 int ana2, ana3, ana4, ana5, ana16, ana17, blue_or_white; void main(){ int position; printf("\nReady to calibrate"); while((!start_button()) && (!stop_button())); if(start_button()){ while(start_button()); ana2 = analog(2); ana3 = analog(3); ana4 = analog(4); ana5 = analog(5); ana16 = analog(16); ana17 = analog(17); printf("\n%d:%d:%d:%d:%d:%d", analog(2), analog(3), analog(4), analog(5), analog(16), analog(17)); while((!start_button()) && (!stop_button())); if(start_button()){ while(start_button()); ana2 = (analog(2) + ana2) / 2; ana3 = (analog(3) + ana3) / 2; ana4 = (analog(4) + ana4) / 2; ana5 = (analog(5) + ana5) / 2; ana16 = (analog(16) + ana16) / 2; ana17 = (analog(17) + ana17) / 2; printf("\n%d:%d:%d:%d:%d:%d", analog(2), analog(3), analog(4), analog(5), analog(16), analog(17)); while((!start_button()) && (!stop_button())); } } if(stop_button()){ printf("\nRejected. Using defaults."); ana2 = THR2; ana3 = THR3; ana4 = THR4; ana5 = THR5; ana16 = THR16; ana17 = THR17; } else { printf("\nUsing these values."); while(!start_button()); while(start_button()); } start_machine(IRPORT); position = orient(); printf("\n%d", position); turn_and_extend(position); if(analog(17)= SHAFTSWING){ printf("\nShafted out");} else { printf("\nTimed out");} extendyarm(); } void extendyarm(){ enable_servos(); servo(0, 200); } void compensate(){ if(blue_or_white == 0){ if((analog(16)THR16) && (analog(17)>THR17)){ motor(0, -BASEROT); motor(1, -BASEROT); motor(2, -BASEROT); bk(3);} else {ao();} } else if((analog(16)>THR16) && (analog(17)>THR17)){ motor(0, BASEROT); motor(1, BASEROT); motor(2, BASEROT); fd(3);} else if((analog(16)