C++ Library for the PsiSwarm Robot - Version 0.8
Dependents: PsiSwarm_V8_Blank_CPP Autonomia_RndmWlk
Fork of PsiSwarmV7_CPP by
Diff: demo.cpp
- Revision:
- 8:6c92789d5f87
- Parent:
- 6:b340a527add9
- Child:
- 9:dde9e21030eb
--- a/demo.cpp Sun Oct 16 11:11:21 2016 +0000 +++ b/demo.cpp Sun Oct 16 12:54:33 2016 +0000 @@ -13,8 +13,9 @@ * (C) Dept. Electronics & Computer Science, University of York * James Hilder, Alan Millard, Alexander Horsfield, Homero Elizondo, Jon Timmis * - * PsiSwarm Library Version: 0.7 + * PsiSwarm Library Version: 0.8 * + * Version 0.8 : Rewritten as OO\C++ * Version 0.7 : Updated for new MBED API * Version 0.5 : Added motor calibration menu * Version 0.4 : Added PsiSwarmBasic menu @@ -209,34 +210,34 @@ if(sub_menu == 0) { left_speed += 5; if(left_speed > 100) left_speed = 100; - set_left_motor_speed(left_speed / 100.0f); + motors.set_left_motor_speed(left_speed / 100.0f); } if(sub_menu == 1) { right_speed += 5; if(right_speed > 100) right_speed = 100; - set_right_motor_speed(right_speed / 100.0f); + motors.set_right_motor_speed(right_speed / 100.0f); } if(sub_menu == 2) { if(both_motor_mode == 0) both_motor_mode=5; else both_motor_mode--; switch(both_motor_mode) { case 0: - stop(); + motors.stop(); break; case 1: - brake(); + motors.brake(); break; case 2: - forward(0.5); + motors.forward(0.5); break; case 3: - forward(1); + motors.forward(1); break; case 4: - backward(0.5); + motors.backward(0.5); break; case 5: - backward(1.0); + motors.backward(1.0); break; } } @@ -257,7 +258,7 @@ } else { demo_running = 0; display.set_backlight_brightness(bl_brightness * 0.01f); - stop(); + motors.stop(); } } if(sub_menu == 1) { @@ -266,7 +267,7 @@ } else { demo_running = 0; display.set_backlight_brightness(bl_brightness * 0.01f); - stop(); + motors.stop(); } } if(sub_menu == 2) { @@ -275,7 +276,7 @@ } else { demo_running = 0; display.set_backlight_brightness(bl_brightness * 0.01f); - stop(); + motors.stop(); } } if(sub_menu == 3) { @@ -284,7 +285,7 @@ } else { demo_running = 0; display.set_backlight_brightness(bl_brightness * 0.01f); - stop(); + motors.stop(); } } if(sub_menu == 4) level = 0; @@ -373,34 +374,34 @@ if(sub_menu == 0) { left_speed -= 5; if(left_speed < -100) left_speed = -100; - set_left_motor_speed(left_speed / 100.0f); + motors.set_left_motor_speed(left_speed / 100.0f); } if(sub_menu == 1) { right_speed -= 5; if(right_speed < -100) right_speed = -100; - set_right_motor_speed(right_speed / 100.0f); + motors.set_right_motor_speed(right_speed / 100.0f); } if(sub_menu == 2) { both_motor_mode++; if(both_motor_mode == 6) both_motor_mode=0; switch(both_motor_mode) { case 0: - stop(); + motors.stop(); break; case 1: - brake(); + motors.brake(); break; case 2: - forward(0.5); + motors.forward(0.5); break; case 3: - forward(1); + motors.forward(1); break; case 4: - backward(0.5); + motors.backward(0.5); break; case 5: - backward(1.0); + motors.backward(1.0); break; } } @@ -421,7 +422,7 @@ } else { demo_running = 0; display.set_backlight_brightness(bl_brightness * 0.01f); - stop(); + motors.stop(); } } if(sub_menu == 1) { @@ -430,7 +431,7 @@ } else { demo_running = 0; display.set_backlight_brightness(bl_brightness * 0.01f); - stop(); + motors.stop(); } } @@ -440,7 +441,7 @@ } else { demo_running = 0; display.set_backlight_brightness(bl_brightness * 0.01f); - stop(); + motors.stop(); } } if(sub_menu == 3) { @@ -449,7 +450,7 @@ } else { demo_running = 0; display.set_backlight_brightness(bl_brightness * 0.01f); - stop(); + motors.stop(); } } if(sub_menu == 4) level = 0; @@ -572,22 +573,22 @@ if(sub_menu == 2) { switch(both_motor_mode) { case 0: - stop(); + motors.stop(); break; case 1: - brake(); + motors.brake(); break; case 2: - forward(0.5); + motors.forward(0.5); break; case 3: - forward(1); + motors.forward(1); break; case 4: - backward(0.5); + motors.backward(0.5); break; case 5: - backward(1.0); + motors.backward(1.0); break; } } @@ -1005,15 +1006,15 @@ } } // set speed - set_left_motor_speed(lf_left); - set_right_motor_speed(lf_right); + motors.set_left_motor_speed(lf_left); + motors.set_right_motor_speed(lf_right); demo_timer.reset(); } if(demo_running == 1)demo_timeout.attach_us(&line_demo_cycle,500); else { - stop(); + motors.stop(); display.set_backlight_brightness(bl_brightness * 0.01f); } } @@ -1025,10 +1026,10 @@ switch(state) { case 0: if(spin_step % 2 == 0) { - forward(pct); + motors.forward(pct); set_leds(0xFF,0xFF); } else { - backward(pct); + motors.backward(pct); set_leds(0,0xFF); } spin_step ++; @@ -1060,7 +1061,7 @@ } if(demo_running == 1)demo_timeout.attach_us(&stress_demo_cycle,500); else { - stop(); + motors.stop(); display.set_backlight_brightness(bl_brightness * 0.01f); } } @@ -1073,7 +1074,7 @@ set_leds(0,0xFF); set_center_led(1,1); speed = 0.1f; - brake(); + motors.brake(); time_out = 0.5; state = 1; led_step = 0; @@ -1111,7 +1112,7 @@ if(led_step == 8) led_step =0; if(speed < 1) { speed += 0.0125; - turn(speed); + motors.turn(speed); } else { state = 2; spin_step = 0; @@ -1174,7 +1175,7 @@ led_step --; if(speed > 0.1) { speed -= 0.025; - turn(speed); + motors.turn(speed); } else { state = 4; spin_step = 0; @@ -1185,7 +1186,7 @@ set_leds(0,0xFF); set_center_led(1,1); speed = 0.1f; - brake(); + motors.brake(); time_out = 0.5; led_step =0; state = 5; @@ -1223,7 +1224,7 @@ led_step --; if(speed < 1) { speed += 0.0125; - turn(-speed); + motors.turn(-speed); } else { state = 6; spin_step = 0; @@ -1286,7 +1287,7 @@ if(led_step == 8) led_step =0; if(speed > 0.1) { speed -= 0.025; - turn(-speed); + motors.turn(-speed); } else { state = 0; spin_step = 0; @@ -1298,7 +1299,7 @@ } if(demo_running == 1)demo_timeout.attach_us(&spinning_demo_cycle,500); else { - stop(); + motors.stop(); display.set_backlight_brightness(bl_brightness * 0.01f); } } @@ -1311,7 +1312,7 @@ set_leds(0,0xFF); set_center_led(1,0.4); speed = 0.3f; - forward(speed); + motors.forward(speed); time_out = 0.05; state = 1; break; @@ -1320,14 +1321,14 @@ int front_right = read_illuminated_raw_ir_value(0); int front_left = read_illuminated_raw_ir_value(7); if(front_left > 400 || front_right > 400) { - brake(); + motors.brake(); time_out = 0.04; if(front_left > front_right)state=2; else state=3; } else { if(speed < 0.5) { speed += 0.03; - forward(speed); + motors.forward(speed); } switch(led_step) { case 0: @@ -1353,16 +1354,16 @@ break; } case 2: //Turn right - set_left_motor_speed(0.85); - set_right_motor_speed(-0.85); + motors.set_left_motor_speed(0.85); + motors.set_right_motor_speed(-0.85); time_out = 0.4; state = 0; set_leds(0x0E,0x0E); set_center_led(3,0.5); break; case 3: //Turn left - set_left_motor_speed(-0.85); - set_right_motor_speed(0.85); + motors.set_left_motor_speed(-0.85); + motors.set_right_motor_speed(0.85); time_out = 0.4; state = 0; set_leds(0xE0,0xE0); @@ -1373,7 +1374,7 @@ } if(demo_running == 1)demo_timeout.attach_us(&obstacle_demo_cycle,200); else { - stop(); + motors.stop(); display.set_backlight_brightness(bl_brightness * 0.01f); } }