Skip to content

Instantly share code, notes, and snippets.

@freegroup
Created January 10, 2020 18:45
Show Gist options
  • Save freegroup/5955d7d31895f5abb5f4078753675b8e to your computer and use it in GitHub Desktop.
Save freegroup/5955d7d31895f5abb5f4078753675b8e to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
##############################################
# The MIT License (MIT)
# Copyright (c) 2016 Kevin Walchko
# see LICENSE for full details
##############################################
from pyservos import Packet
from pyservos.servoserial import ServoSerial
import pyservos
from pyservos.utils import angle2int, le
import time
servoType = pyservos.XL320
servoStr = 'XL-320'
ID= 1
port = "/dev/ttyS0"
angle = 30
speed= 312
print('Setting {} servo[{}] to {:.2f} on port {}'.format(servoStr, ID, angle, port))
serial = ServoSerial(port=port)
serial.open()
servo = Packet(servoType)
def set_angle(angle):
val = angle2int(angle, degrees=True) + le(speed)
pkt = servo.makeWritePacket(ID, servo.base.GOAL_POSITION, val)
serial.sendPkt(pkt) # send packet to servo
while True:
set_angle(0)
time.sleep(2)
set_angle(300)
time.sleep(2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment