(self, target_angle, mod=True)
| 78 | return steps |
| 79 | |
| 80 | def move_to_angle(self, target_angle, mod=True): |
| 81 | if mod: |
| 82 | target_angle %= 360 # keep the target angle within the range of 0 to 359 |
| 83 | current_angle = self.get_current_angle() |
| 84 | angle_difference = target_angle - current_angle |
| 85 | |
| 86 | # If the angle difference is greater than 180, subtract 360 to get a negative angle |
| 87 | if angle_difference > 180: |
| 88 | angle_difference -= 360 |
| 89 | elif angle_difference < -180: |
| 90 | angle_difference += 360 |
| 91 | |
| 92 | # Convert the angle difference to steps and move the motor |
| 93 | steps_difference = self.get_steps_for_angle(angle_difference) |
| 94 | self.move_steps(steps_difference) |
| 95 | |
| 96 | def get_current_angle(self, mod=True): |
| 97 | # Convert current steps to angle before returning |
no test coverage detected