svoe
Dependencies: mbed mbed-STM32F103C8T6 MPU6050_1
motion.h
- Committer:
- Stas285
- Date:
- 2018-12-01
- Revision:
- 15:960b922433d1
- Parent:
- 12:721a9ea55e91
- Child:
- 17:bd6b6ac89e0e
File content as of revision 15:960b922433d1:
//3 main parameters of the movement: //float accel (defined in motor.h) float speed = 1;//cm/s float radius = 100; bool infinite_flag = 0; void go(float distance_m, bool brake = 1){ target.path = current.path + distance_m; // wifi.printf("%.2f %.2f %.2f %.2f;",target_path,current_path,distance_m,current_speed); // while(abs(target.path - current.path) > 0.01){ // gyro_process(); // wifi.printf("%.2f %.2f %.2f %.2f;",target_path,current_path,target_path,current_speed);} } /* void go_no_wait(int cm, bool brake = 1){ if(cm != 0) { stop_flag = 0; infinite_flag = 0; motor_enable = 1; target_path =old_path + cm; old_path = target_path; if(cm > 0) path_dir = 1; else path_dir = 0; angle_task = 0; motor_busy = 1; //while(motor_busy == 1){proc_counter++;} } } void turn(int deg, bool brake = 1){ if(deg != 0) { stop_flag = 0; infinite_flag = 0; motor_enable = 1; target_angle = old_angle + deg; old_angle = target_angle; if(deg > 0) angle_dir = 1; else angle_dir = 0; angle_task = 1; motor_busy = 1; while(motor_busy == 1){proc_counter++;} old_path = current_path; } } void stop(){ motor_enable = 1; stop_flag = 1; motor_busy = 1; while(motor_busy == 1){} target_path = current_path; //motor_enable = 0; } void dance(float dance_speed,float dance_accel){ speed = dance_speed; accel=dance_accel; radius=20; go(25); go(-50); go(25); turn(90); speed = -dance_speed; turn(-180); speed = dance_speed; turn(90); turn(-360); turn(360); go(20); speed = -dance_speed; turn(-90); speed = dance_speed; turn(-90); speed = -dance_speed; turn(-90); speed = dance_speed; turn(-90); go(-20); radius =0; turn(720); turn(-720); } */