int main() { X=0; create_connect(); set_create_total_angle(0); printf("X\tAngle"); while(black_button()==0) { if (a_button()==1) { turnHalfCCW(); printf("%d\t%d\n",X,get_create_total_angle(0.1)); } if (b_button()==1) { turnHalfCW(); printf("%d\t%d\n",X,get_create_total_angle(0.1)); } if (left_button()==1) { TurnCCW(); printf("%d\t%d\n",X,get_create_total_angle(0.1)); } if (right_button() == 1) { TurnCW(); printf("%d\t%d\n",X,get_create_total_angle(0.1)); } } }
void strategySelect() { printf("Press A for luggage carts\n"); //Strategy 1 printf("Press B for tower tip\n"); //Strategy 2 printf("Press <- for biofuel block\n"); //Strategy 3 printf("Press -> for center defense\n"); //Strategy 4 while (black_button() == 0) { if (a_button() == 1) { printf("You picked luggage carts\n"); printf("Press black button to confirm\n"); strategy = 1; } if (b_button() == 1) { printf("You picked tower tip\n"); printf("Press black button to confirm\n"); strategy = 2; } if (left_button() == 1) { printf("You picked biofuel block\n"); printf("Press black button to confirm\n"); strategy = 3; } if (right_button() == 1) { printf("You picked center defense\n"); printf("Press black button to confirm\n"); strategy = 4; } } }
void pre_interface(t_bunny_pixelarray *pix) { background_set(pix); left_button(pix); right_button(pix); player_tab_background(pix); player_tab_lines(pix); textbar_set(pix); chatbox_set(pix); }
void light_it_up(int light_port) { int l_on_, l_off_, l_mid_, OK=0; float s; while (!OK) { cbc_display_clear(); cbc_printf (0,0,"CALIBRATE: sensor port #%d", light_port); cbc_printf(0,1," press <-- when light on"); while(!left_button()){/*sensor value when light is on*/ cbc_printf(0,2," value is %d, bright = low ",l_on_=analog10 (light_port)); msleep(50); } cbc_printf(0,1," light on value is = %d ", l_on_); sleep(1.); cbc_printf(0,2," press --> when light off "); while(!right_button()){ /*sensor value when light is off*/ cbc_printf(0,3," value is %d, dark = high ",l_off_=analog10 (light_port)); msleep(50); } cbc_printf(0,2," light off value is = %d ", l_off_); sleep(1.); cbc_printf(0,3," "); if((l_off_-l_on_)>=120){ /*bright = small values */ OK=1; l_mid_=(l_on_+l_off_)/2; cbc_printf(0,4,"Good Calibration!"); cbc_printf(0,6,"Diff = %d: WAITING",l_off_-l_on_); while(analog10(light_port)>l_mid_){ cbc_printf(0,7,"Value = %d; Threshold = %d ",analog10(light_port),l_mid_); msleep(25); } cbc_printf(0,6,"Going! "); cbc_printf(0,7,"Value = %d; Threshold = %d ",analog10(light_port),l_mid_); } else{ s=seconds(); cbc_printf(0,6,"BAD CALIBRATION"); if(l_off_<512){ cbc_printf(0,7," Add Shielding!!"); } else{ cbc_printf(0,7," Aim sensor!!"); } } } }
void wait_for_light(int light_port_) { int l_on_, l_off_, l_mid_, t, good=0; /* print statements may look funny but are spaced for LCD*/ while(!good){ printf ("Cal. with sensoron port #%d\n", light_port_); sleep(2.); printf("Cal: press Left when light on\n"); while(!left_button()); l_on_=analog(light_port_); /*sensor value when light is on*/ beep(); printf("Cal: light on value is=%d\n", l_on_); sleep(1.); beep(); printf("Cal: press Right when light off\n"); while(!right_button()); l_off_=analog(light_port_); /*sensor value when light is off*/ beep(); printf("Cal: light off value is=%d\n", l_off_); sleep(1.); beep(); if((l_off_-l_on_)>=15){ /*bright = small values */ l_mid_=(l_on_+l_off_)/2; printf("Good CalibrationDiff=%d Waiting\n",(l_off_-l_on_)); good=1; while(analog(light_port_)>l_mid_) tone(440.,100); } else{ if(l_off_<128){ printf("Bad Calibration Add Shielding!!\n"); for(t=100; t<10000; t=t+200) tone((float)t,50); } else{ printf("Bad Calibration Aim sensor!!\n"); for(t=10000; t>200; t=t-200) tone((float)t,50); } } } }
int main() { create_connect(); float x=.45; if(black_button() == 1) { create_drive_straight(-100); sleep(10); create_stop(); } while(left_button() == 0) { while(black_button() == 0) { if (a_button() == 1) { x=x+.001; printf("%f\n", x); sleep(.5); } if (b_button() == 1) { x=x-.001; printf("%f\n", x); sleep(.5); } if (up_button() == 1) { x=x+.0001; printf("%f\n", x); sleep(.5); } if (down_button() == 1) { x=x-.0001; printf("%f\n", x); sleep(.5); } } create_spin_CW(450); sleep(x); create_stop(); } }
int main() { X=0; create_connect(); set_create_total_angle(0); printf("X\tAngle"); cbc_display_clear(); printf("A to turn CCW 90deg.\tB to turn CW 90deg.\n"); printf("Left to turn CCW 45deg.\tRight to turn CW 45deg.\n"); printf("Down to force angle readjustment.\n"); while(black_button()==0) { if (a_button()==1) { turn(tspeed,45); //turnHalfCCW(); printf("%d\t%d\n",X,get_create_total_angle(0.1)); } if (b_button()==1) { turn(tspeed,-45); //turnHalfCW(); printf("%d\t%d\n",X,get_create_total_angle(0.1)); } if (left_button()==1) { turn(tspeed,90); //turnCCW(); printf("%d\t%d\n",X,get_create_total_angle(0.1)); } if (right_button() == 1) { turn(tspeed,-90); //turnCW(); printf("%d\t%d\n",X,get_create_total_angle(0.1)); } if (down_button() == 1) { turnAdjust(); printf("%d\t%d\n",X,get_create_total_angle(0.1)); } } }
void main(){ int X = 0; create_connect(); set_create_distance(0); set_create_total_angle(0); enable_servos(); armPosBlockStack1(); clawStack1(); /* create_drive(-500,-380); sleep(2.3); create_stop(); } */ // writeToFile(); printf("%f",seconds()); while(1) //black_button { if (a_button()){ testDrive(); } if (b_button()){ testDetectPVC(); } if (up_button()){ } if (down_button()){ testTurnAdjust(); } if (left_button()){ testTurnCCW(); } if (right_button()){ testTurnCW(); } } }
void wait_for_light(int light_port_) { int l_on_, l_off_, l_mid_, t, OK=0; int p; // temp until tone is implemented float s; while (!OK) { cbc_display_clear(); cbc_printf (0,0,"CALIBRATE: sensor port #%d", light_port_); sleep(1.); beep(); sleep(1.); cbc_printf(0,1," press <-- when light on"); while(!left_button()){/*sensor value when light is on*/ cbc_printf(0,2," value is %d, bright = low ",l_on_=analog10 (light_port_)); msleep(50); } beep(); cbc_printf(0,1," light on value is = %d ", l_on_); sleep(1.); beep(); cbc_printf(0,2," press --> when light off "); while(!right_button()){ /*sensor value when light is off*/ cbc_printf(0,3," value is %d, dark = high ",l_off_=analog10 (light_port_)); msleep(50); } beep(); cbc_printf(0,2," light off value is = %d ", l_off_); sleep(1.); beep(); cbc_printf(0,3," "); if((l_off_-l_on_)>=120){ /*bright = small values */ OK=1; l_mid_=(l_on_+l_off_)/2; cbc_printf(0,4,"Good Calibration!"); cbc_printf(0,6,"Diff = %d: WAITING",l_off_-l_on_); p=start_process(beeper1); while(analog10(light_port_)>l_mid_){ cbc_printf(0,7,"Value = %d; Threshold = %d ",analog10(light_port_),l_mid_); msleep(25); } cbc_printf(0,6,"Going! "); cbc_printf(0,7,"Value = %d; Threshold = %d ",analog10(light_port_),l_mid_); //kill_process(p); //works on cbc __wfl_keep_beeping=0;//avoids kill process which has problems on Mac } else{ s=seconds(); cbc_printf(0,6,"BAD CALIBRATION"); if(l_off_<512){ cbc_printf(0,7," Add Shielding!!"); for(t=0; t<4; t++) {beep(); sleep(.2); beep(); sleep(0.4);} beep(); } else{ cbc_printf(0,7," Aim sensor!!"); for(t=0; t<4; t++) {beep(); sleep(.2); beep(); sleep(0.4);} beep(); } } } }
void kissSimComputerDraw() { int oriX=ksWindow.simWidth, oriY=0, i; static char digitals[]="0 0 0 0 0 0 0 0"; static char buttons[]="0 0 0 0 0 0 0"; static char analogs[11][10]={" "," "," "," "," "," "," "," "," "," "," "}; static char actuators[4][25]={" "," "," "," "}; static char servos[4][25]={" "," "," "," "}; if(!glfwGetWindowParam(GLFW_OPENED)) return; graphics_rectangle_fill(oriX,oriY,oriX+1,ksWindow.height,BLACK); // draw left border draw_bg(oriX+5,oriY+9,0.36); // Botguy NOBOLD g_printString(" CBC SIMULATOR",oriX+25, oriY+10,TEAL,1.0); NOBOLD g_printString(" DIGITALS ",oriX+25, oriY+40,TEAL,1.0); NOBOLD g_printString("0 1 2 3 4 5 6 7",oriX+25, oriY+55,TEAL,1.0); NOBOLD g_printString(" BUTTONS ",oriX+25, oriY+90,TEAL,1.0); //NOBOLD g_printString("< ^ V > A B .",oriX+30, oriY+105,TEAL,1.0); NOBOLD g_printString("\xb \xd \xe \xc A B .",oriX+30, oriY+105,TEAL,1.0); // hex b, c, d, e are left, right, up, and down arrows NOBOLD g_printString(digitals,oriX+25, oriY+70,WHITE,1.0); // erase old digital values NOBOLD g_printString(" ANALOGS ",oriX+25, oriY+140,TEAL,1.0); for(i=0;i<8;i++){ digitals[2*i]=48+digital(i); } NOBOLD g_printString(digitals,oriX+25, oriY+70,BLACK,1.0); // write new digital values NOBOLD g_printString(buttons,oriX+30, oriY+120,WHITE,1.0); // erase old button values buttons[0]=48+!!left_button(); buttons[2]=48+!!up_button(); buttons[4]=48+!!down_button(); buttons[6]=48+!!right_button(); buttons[8]=48+!!a_button(); buttons[10]=48+!!b_button(); _bob.button=!!kiss_get_key('.'); buttons[12]=48+black_button(); NOBOLD g_printString(buttons,oriX+30, oriY+120,BLACK,1.0); // erase old button values for(i=8;i<16;i++){//print out analogs analogs[i-8][1]=(i<10)?48+i:48+i-10; analogs[i-8][0]=(i<10)?32:49; analogs[i-8][2]=':'; analogs[i-8][3]=' '; NOBOLD g_printString(analogs[i-8],oriX+5, oriY+155+(15*(i-8)),WHITE,1.0); convertNumToString(analog10(i),4,*analogs,10,i-8,3); graphics_rectangle_fill(oriX+30,oriY+155+(15*(i-8)),oriX+157, oriY+165+(15*(i-8)),GRAY); graphics_line(oriX+30+analog(i)/2, oriY+155+(15*(i-8)),oriX+30+analog(i)/2,oriY+165+(15*(i-8)),RED); NOBOLD g_printString(analogs[i-8],oriX+5, oriY+155+(15*(i-8)),BLACK,1.0); } analogs[8][1]='X'; analogs[8][0]='A'; analogs[8][2]=':'; analogs[8][3]=' '; NOBOLD g_printString(analogs[8],oriX+5, oriY+155+(15*(8)),WHITE,1.0); convertNumToString(accel_x(),5,*analogs,10,8,3); graphics_rectangle_fill(oriX+30,oriY+155+(15*(8)),oriX+157, oriY+165+(15*(8)),GRAY); graphics_line(oriX+30+(accel_x()+2048)/32, oriY+155+(15*(8)),oriX+30+(accel_x()+2048)/32,oriY+165+(15*(8)),RED); NOBOLD g_printString(analogs[8],oriX+5, oriY+155+(15*(8)),BLACK,1.0); analogs[9][1]='Y'; analogs[9][0]='A'; analogs[9][2]=':'; analogs[9][3]=' '; NOBOLD g_printString(analogs[9],oriX+5, oriY+155+(15*(9)),WHITE,1.0); convertNumToString(accel_y(),5,*analogs,10,9,3); graphics_rectangle_fill(oriX+30,oriY+155+(15*(9)),oriX+157, oriY+165+(15*(9)),GRAY); graphics_line(oriX+30+(accel_y()+2048)/32, oriY+155+(15*(9)),oriX+30+(accel_y()+2048)/32,oriY+165+(15*(9)),RED); NOBOLD g_printString(analogs[9],oriX+5, oriY+155+(15*(9)),BLACK,1.0); analogs[10][1]='Z'; analogs[10][0]='A'; analogs[10][2]=':'; analogs[10][3]=' '; NOBOLD g_printString(analogs[10],oriX+5, oriY+155+(15*(10)),WHITE,1.0); convertNumToString(accel_z(),5,*analogs,10,10,3); graphics_rectangle_fill(oriX+30,oriY+155+(15*(10)),oriX+157, oriY+165+(15*(10)),GRAY); graphics_line(oriX+30+(accel_z()+2048)/32, oriY+155+(15*(10)),oriX+30+(accel_z()+2048)/32,oriY+165+(15*(10)),RED); NOBOLD g_printString(analogs[10],oriX+5, oriY+155+(15*(10)),BLACK,1.0); NOBOLD g_printString("MOT PWM TPS ENCODER VAL",oriX+5, oriY+330,TEAL,1.0); for(i=0;i<4;i++){ actuators[i][0]=48+i; actuators[i][1]=':'; actuators[i][2]=' '; NOBOLD g_printString(actuators[i],oriX+5, oriY+345+(15*(i)),WHITE,1.0); convertNumToString(_bob.motor_pwm[i],4,*actuators,25,i,2); convertNumToString(_bob.motor_tps[i],4,*actuators,25,i,7); convertNumToString(_bob.motor_counter[i],10,*actuators,25,i,12); NOBOLD g_printString(actuators[i],oriX+5, oriY+345+(15*(i)),BLACK,1.0); } if(_bob.enable_servos){ NOBOLD g_printString("SERVO TARGET DISABLED",oriX+5, oriY+410,WHITE,1.0); NOBOLD g_printString("SERVO TARGET ENABLED",oriX+5, oriY+410,TEAL,1.0); } else { NOBOLD g_printString("SERVO TARGET ENABLED",oriX+5, oriY+410,WHITE,1.0); NOBOLD g_printString("SERVO TARGET DISABLED",oriX+5, oriY+410,TEAL,1.0); } for(i=0;i<4;i++){ servos[i][2]=49+i;//servos are 1 indexed!! servos[i][3]=':'; servos[i][4]=' '; NOBOLD g_printString(servos[i],oriX+5, oriY+425+(15*(i)),WHITE,1.0); convertNumToString(_bob.servo_targets[i],4,*servos,25,i,6); NOBOLD g_printString(servos[i],oriX+5, oriY+425+(15*(i)),BLACK,1.0); } }