Mercurial > maestro-servo
changeset 0:9073470193f3
initial
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Sun, 22 Jun 2014 12:52:27 +0000 |
| parents | |
| children | 00778568562d |
| files | __init__.py maestro.py |
| diffstat | 1 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/maestro.py Sun Jun 22 12:52:27 2014 +0000 @@ -0,0 +1,16 @@ + +def int7bit(value): + byte1 = sum(2 ** i for i in range(7) if value & 2**i) + byte2 = sum(2 ** i for i in range(7) if value & 2**(i + 7)) + return chr(byte1) + chr(byte2) + + +class Maestro(object): + def __init__(self, serial): + self.serial = serial + + def init(self): + self.serial.write('\xAA') + + def move(self, servo, position): + self.serial.write('\x84' + chr(servo) + int7bit(int(position * 4)))
