# 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_enc03r', [dirname(__file__)])
except ImportError:
import _pyupm_enc03r
return _pyupm_enc03r
if fp is not None:
try:
_mod = imp.load_module('_pyupm_enc03r', fp, pathname, description)
finally:
fp.close()
return _mod
_pyupm_enc03r = swig_import_helper()
del swig_import_helper
else:
import _pyupm_enc03r
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_enc03r.getVersion()
getVersion = _pyupm_enc03r.getVersion
[docs]class ENC03R(_object):
"""
API for the ENC03R Single Axis Analog Gyro.
ID: enc03r
Name: Single-axis Analog Gyro Module
Other Names: Grove Single Axis Analog Gyro
Category: compass
Manufacturer: seeed
Connection: analog
Kit: robok
Link:http://www.murata.com/en-us/products/productdetail?partno=ENC-
03RC-R UPM module for the ENC03R single axis analog gyro. This
gyroscope measures x-axis angular velocity, that is how fast the
sensor is rotating around the x-axis. Calibration of the sensor is
necessary for accurate readings.
C++ includes: enc03r.hpp
"""
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, ENC03R, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, ENC03R, name)
__repr__ = _swig_repr
def __init__(self, pin, aref=5.0):
"""
ENC03R(int pin, float
aref=5.0)
ENC03R sensor constructor
Parameters:
-----------
pin: Analog pin to use
aref: Reference voltage to use; default is 5.0 V
"""
this = _pyupm_enc03r.new_ENC03R(pin, aref)
try:
self.this.append(this)
except Exception:
self.this = this
__swig_destroy__ = _pyupm_enc03r.delete_ENC03R
__del__ = lambda self: None
[docs] def calibrate(self, samples):
"""
void
calibrate(unsigned int samples)
Calibrates the sensor by determining an analog reading over many
samples with no movement of the sensor. This must be done before
attempting to use the sensor.
Parameters:
-----------
samples: Number of samples to use for calibration
"""
return _pyupm_enc03r.ENC03R_calibrate(self, samples)
[docs] def update(self):
"""
void update()
Update the internal state with the current reading. This function must
be called prior to calling angularVelocity().
Parameters:
-----------
dev: Device context
"""
return _pyupm_enc03r.ENC03R_update(self)
[docs] def calibrationValue(self):
"""
float
calibrationValue()
Returns the currently stored calibration value
Current calibration value
"""
return _pyupm_enc03r.ENC03R_calibrationValue(self)
[docs] def angularVelocity(self):
"""
float
angularVelocity()
Computes angular velocity based on the value and stored calibration
reference.
Parameters:
-----------
val: Value to use to compute angular velocity
Computed angular velocity
"""
return _pyupm_enc03r.ENC03R_angularVelocity(self)
[docs] def setOffset(self, offset):
"""
void setOffset(float
offset)
Set sensor offset. The offset is applied to the return value before
scaling. Default is 0.
Parameters:
-----------
offset: Offset to apply to value
"""
return _pyupm_enc03r.ENC03R_setOffset(self, offset)
[docs] def setScale(self, scale):
"""
void setScale(float
scale)
Set sensor scale. The return value is scaled by this value after the
offset is applied. Default is 1.0.
Parameters:
-----------
scale: Scale to apply to value
"""
return _pyupm_enc03r.ENC03R_setScale(self, scale)
[docs] def getNormalized(self):
"""
float
getNormalized()
Get a normalized ADC value from the sensor. The return value will be
between 0.0 (indicating no voltage) and 1.0 indicating max voltage
(aref). update() must be called prior to calling this function.
The normalized reading from the ADC.
"""
return _pyupm_enc03r.ENC03R_getNormalized(self)
ENC03R_swigregister = _pyupm_enc03r.ENC03R_swigregister
ENC03R_swigregister(ENC03R)
# This file is compatible with both classic and new-style classes.