Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum radius_movement_enum {
- radius_direction_selection, radius_movement
- };
- int radius_segment;
- void moveInCircle(double radii_array[10], int radius_direction_array[10], int radius_count)
- {
- double radius_outer, radius_inner, radius_ratio, total_distance_centre;
- driveStraight();
- switch (radius_state)
- {
- case radius_direction_selection:
- if (current_radius >= radius_count)
- {
- motor.stopMotor();
- motor1.stopMotor();
- radius_state = radius_direction_selection;
- }
- else if (current_radius_direction != radius_direction_array[current_radius])
- {
- current_radius_direction = radius_direction_array[current_radius];
- motor.change_direction;
- motor1.change_direction;
- radius_state = radius_movement;
- }
- else
- {
- radius_state = radius_movement;
- }
- break;
- case radius_movement:
- radius_outer = radii_array[current_radius] + 5;
- radius_inner = radii_array[current_radius] - 5;
- radius_ratio = radius_inner / radius_outer;
- target_RPM1 = radius_ratio * target_RPM; //This might need to be changed
- //total_distance_centre = (sense.get_distance() + sense1.get_distance()) / 2; //change the get_distance
- if (sense.check_distance_met(2 * PI*radii_array[current_radius] / (PI*5.7)) *49.0))
- {
- current_radius++;
- radius_state = radius_direction_selection:;
- }
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement