# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.8
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.
from sys import version_info
if version_info >= (2, 6, 0):
def swig_import_helper():
from os.path import dirname
import imp
fp = None
try:
fp, pathname, description = imp.find_module('_pyupm_servo', [dirname(__file__)])
except ImportError:
import _pyupm_servo
return _pyupm_servo
if fp is not None:
try:
_mod = imp.load_module('_pyupm_servo', fp, pathname, description)
finally:
fp.close()
return _mod
_pyupm_servo = swig_import_helper()
del swig_import_helper
else:
import _pyupm_servo
del version_info
try:
_swig_property = property
except NameError:
pass # Python < 2.2 doesn't have 'property'.
def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
if (name == "thisown"):
return self.this.own(value)
if (name == "this"):
if type(value).__name__ == 'SwigPyObject':
self.__dict__[name] = value
return
method = class_type.__swig_setmethods__.get(name, None)
if method:
return method(self, value)
if (not static):
if _newclass:
object.__setattr__(self, name, value)
else:
self.__dict__[name] = value
else:
raise AttributeError("You cannot add attributes to %s" % self)
def _swig_setattr(self, class_type, name, value):
return _swig_setattr_nondynamic(self, class_type, name, value, 0)
def _swig_getattr_nondynamic(self, class_type, name, static=1):
if (name == "thisown"):
return self.this.own()
method = class_type.__swig_getmethods__.get(name, None)
if method:
return method(self)
if (not static):
return object.__getattr__(self, name)
else:
raise AttributeError(name)
def _swig_getattr(self, class_type, name):
return _swig_getattr_nondynamic(self, class_type, name, 0)
def _swig_repr(self):
try:
strthis = "proxy of " + self.this.__repr__()
except Exception:
strthis = ""
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
try:
_object = object
_newclass = 1
except AttributeError:
class _object:
pass
_newclass = 0
def getVersion():
return _pyupm_servo.getVersion()
getVersion = _pyupm_servo.getVersion
_pyupm_servo.MIN_PULSE_WIDTH_swigconstant(_pyupm_servo)
MIN_PULSE_WIDTH = _pyupm_servo.MIN_PULSE_WIDTH
_pyupm_servo.MAX_PULSE_WIDTH_swigconstant(_pyupm_servo)
MAX_PULSE_WIDTH = _pyupm_servo.MAX_PULSE_WIDTH
_pyupm_servo.PERIOD_swigconstant(_pyupm_servo)
PERIOD = _pyupm_servo.PERIOD
_pyupm_servo.HIGH_swigconstant(_pyupm_servo)
HIGH = _pyupm_servo.HIGH
_pyupm_servo.LOW_swigconstant(_pyupm_servo)
LOW = _pyupm_servo.LOW
_pyupm_servo.DEFAULT_WAIT_DISABLE_PWM_swigconstant(_pyupm_servo)
DEFAULT_WAIT_DISABLE_PWM = _pyupm_servo.DEFAULT_WAIT_DISABLE_PWM
[docs]class Servo(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, Servo, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, Servo, name)
__repr__ = _swig_repr
def __init__(self, *args):
"""
Servo(int pin, int
minPulseWidth, int maxPulseWidth, int waitAndDisablePwm)
Instantiates a Servo object
Parameters:
-----------
pin: Servo pin number
minPulseWidth: Minimum pulse width, in microseconds
maxPulseWidth: Maximum pulse width, in microseconds
waitAndDisablePwm: If 1, PWM is enabled only during the setAngle()
execution for a period of 1 second, and then turned back off. If 0,
PWM remains on afterward.
"""
this = _pyupm_servo.new_Servo(*args)
try:
self.this.append(this)
except Exception:
self.this = this
__swig_destroy__ = _pyupm_servo.delete_Servo
__del__ = lambda self: None
[docs] def setAngle(self, angle):
"""
mraa_result_t
setAngle(int angle)
Sets the angle of the servo engine.
Parameters:
-----------
angle: Number between 0 and 180
0 if successful, non-zero otherwise
"""
return _pyupm_servo.Servo_setAngle(self, angle)
[docs] def haltPwm(self):
"""
mraa_result_t haltPwm()
Halts PWM for this servo and allows it to move freely.
"""
return _pyupm_servo.Servo_haltPwm(self)
[docs] def name(self):
"""
std::string name()
Returns the name of the component
Name of the component
"""
return _pyupm_servo.Servo_name(self)
[docs] def setMinPulseWidth(self, width):
"""
void
setMinPulseWidth(int width)
Sets the minimum pulse width
Parameters:
-----------
width: Minimum HIGH signal width
"""
return _pyupm_servo.Servo_setMinPulseWidth(self, width)
[docs] def setMaxPulseWidth(self, width):
"""
void
setMaxPulseWidth(int width)
Sets the maximum pulse width
Parameters:
-----------
width: Maximum HIGH signal width
"""
return _pyupm_servo.Servo_setMaxPulseWidth(self, width)
[docs] def setPeriod(self, period):
"""
void setPeriod(int
period)
Sets the maximum period width
Parameters:
-----------
period: PWM period width
"""
return _pyupm_servo.Servo_setPeriod(self, period)
[docs] def getMinPulseWidth(self):
"""
int
getMinPulseWidth()
Returns the minimum pulse width
Minimum pulse width
"""
return _pyupm_servo.Servo_getMinPulseWidth(self)
[docs] def getMaxPulseWidth(self):
"""
int
getMaxPulseWidth()
Returns the maximum pulse width
Maximum pulse width
"""
return _pyupm_servo.Servo_getMaxPulseWidth(self)
[docs] def getPeriod(self):
"""
int getPeriod()
Returns the maximum PWM period width
Maximum PWM period width
"""
return _pyupm_servo.Servo_getPeriod(self)
Servo_swigregister = _pyupm_servo.Servo_swigregister
Servo_swigregister(Servo)
[docs]class ES9257(Servo):
"""
API for the ES9257 Servo.
ID: es9257
Name: Micro Digital 3D Tail Servo
Other Names: Grove Servo
Category: servos
Manufacturer: emax
Link:https://www.seeedstudio.com/EMAX-ES9257-2.5kg%26amp%3B-.05-sec-
Micro- Digital-3D-Tail-Servo-p-762.html
Connection: pwm
Kit: gsk This module defines the ES9257 interface for ES9257 servos.
The ES9257 servo is a fast, heavy duty servo that is popular for
moving the control surfaces on RC models.
C++ includes: es9257.hpp
"""
__swig_setmethods__ = {}
for _s in [Servo]:
__swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
__setattr__ = lambda self, name, value: _swig_setattr(self, ES9257, name, value)
__swig_getmethods__ = {}
for _s in [Servo]:
__swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
__getattr__ = lambda self, name: _swig_getattr(self, ES9257, name)
__repr__ = _swig_repr
def __init__(self, pin):
"""
ES9257(int pin)
Instantiates an ES9257 object
Parameters:
-----------
pin: Servo pin number
"""
this = _pyupm_servo.new_ES9257(pin)
try:
self.this.append(this)
except Exception:
self.this = this
__swig_destroy__ = _pyupm_servo.delete_ES9257
__del__ = lambda self: None
ES9257_swigregister = _pyupm_servo.ES9257_swigregister
ES9257_swigregister(ES9257)
[docs]class ES08A(Servo):
"""
API for the ES08A Servo.
ID: es08a
Name: High-sensitivity Mini Servo
Other Names: Grove Servo
Category: servos
Manufacturer: emax
Link:https://www.seeedstudio.com/EMAX-9g-ES08A-High-Sensitive-Mini-
Servo-p-760.html
Connection: pwm
Kit: gsk This module defines the ES08A interface for ES08A servos.
Like other servos, the ES08A servo has a shaft that can be controlled
by setting the desired angle. There are also routines for setting and
getting the minimum and maximum pulse width as well as the maximum
period.
C++ includes: es08a.hpp
"""
__swig_setmethods__ = {}
for _s in [Servo]:
__swig_setmethods__.update(getattr(_s, '__swig_setmethods__', {}))
__setattr__ = lambda self, name, value: _swig_setattr(self, ES08A, name, value)
__swig_getmethods__ = {}
for _s in [Servo]:
__swig_getmethods__.update(getattr(_s, '__swig_getmethods__', {}))
__getattr__ = lambda self, name: _swig_getattr(self, ES08A, name)
__repr__ = _swig_repr
def __init__(self, pin):
"""
ES08A(int pin)
Instantiates an ES08A object
Parameters:
-----------
pin: Servo pin number
"""
this = _pyupm_servo.new_ES08A(pin)
try:
self.this.append(this)
except Exception:
self.this = this
__swig_destroy__ = _pyupm_servo.delete_ES08A
__del__ = lambda self: None
ES08A_swigregister = _pyupm_servo.ES08A_swigregister
ES08A_swigregister(ES08A)
# This file is compatible with both classic and new-style classes.