Skip to main content
PyCon US is happening May 14th-22nd in Pittsburgh, PA USA.  Learn more

SSC32 controlling library

Project description

This is simple interface to control RC servos with an SSC32 board.

Features:

  • Direct and grouped queries (#<N>P<US> and <SERVO_POS>…T<MS>)

  • Angle (degrees or radians) to microsecond position calculation

  • Simple configuration file that help to map board output pin to servo name and provide limits.

  • Sequences scripts (in YAML format)

Example

>>> import ssc32
>>> import math
>>> ssc = ssc32.SSC32('/dev/ttyUSB0', 115200, count=32)
>>> ssc[2].position = 2000
>>> ssc[3].name = 'pan'
>>> ssc[4].name = 'tilt'
>>> pan_servo = ssc['pan']
>>> tilt_servo = ssc['tilt']
>>> pan_servo.degrees = 0
>>> tilt_servo.radians = math.pi/4
>>> ssc.commit(time=1000)
>>> ssc.is_done()
False
>>> ssc.is_done()
True
>>> ssc.description = 'My camera's pan/tilt'
>>> ssc.save_config('my_pantilt.cfg')

0.4.2

  • Change n to r to allow running on non-Windows platforms.

0.4.1

  • Add ssc32yaml script runner

  • Don’t change servo position on init (Servo.is_changed flag)

0.4.0

  • Servo script interface with YAML serialization/deserialization

  • Move to package

  • Depends on PyYAML

0.3.3

  • Rename Servo properties Servo.degree -> Servo.degrees, Servo.radian -> Servo.radians

  • Use callback for Servo

  • Description for configuration (SSC32.description) line starts with #~

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page