Mercurial > ukubik
changeset 75:d89650206f92
use microseconds for servo control
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Thu, 11 Sep 2014 18:17:21 +0200 |
| parents | 5221e4f69437 |
| children | a16884812b83 |
| files | kubik.py servo.py |
| diffstat | 2 files changed, 5 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/kubik.py Wed Sep 10 21:50:01 2014 +0200 +++ b/kubik.py Thu Sep 11 18:17:21 2014 +0200 @@ -26,21 +26,13 @@ def __init__(self, serial): self.legs = ( - Leg(Servo(serial, 11, reverse=True), - Servo(serial, 4, reverse=False), - Servo(serial, 0, reverse=False), + Leg(Servo(serial, 11), Servo(serial, 4), Servo(serial, 0), (-1, -1)), - Leg(Servo(serial, 8, reverse=True), - Servo(serial, 7, reverse=True), - Servo(serial, 3, reverse=True), + Leg(Servo(serial, 8), Servo(serial, 7), Servo(serial, 3), (-1, 1)), - Leg(Servo(serial, 9, reverse=False), - Servo(serial, 6, reverse=False), - Servo(serial, 2, reverse=False), + Leg(Servo(serial, 9), Servo(serial, 6), Servo(serial, 2), (1, 1)), - Leg(Servo(serial, 10, reverse=False), - Servo(serial, 5, reverse=True), - Servo(serial, 1, reverse=True), + Leg(Servo(serial, 10), Servo(serial, 5), Servo(serial, 1), (1, -1)), ) super(Robot, self).__init__()
--- a/servo.py Wed Sep 10 21:50:01 2014 +0200 +++ b/servo.py Thu Sep 11 18:17:21 2014 +0200 @@ -28,8 +28,6 @@ self.serial = serial def update(self): - angle = self.calculate_angle() - command = '\xff%c%c' % (self.index, int(angle)) freq = self.calculate_freq() command = '\xfd%c%s' % (self.index, _word(freq)) self.serial.write(command) @@ -38,7 +36,7 @@ def update_all(cls, servos): serial = servos[0].serial servos = sorted(servos, key=lambda servo: servo.index) - command = '\xfe%s' % ''.join(chr(int(servo.calculate_angle())) + command = '\xfc%s' % ''.join(_word(servo.calculate_freq()) for servo in servos) serial.write(command)
