# 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_speaker', [dirname(__file__)])
except ImportError:
import _pyupm_speaker
return _pyupm_speaker
if fp is not None:
try:
_mod = imp.load_module('_pyupm_speaker', fp, pathname, description)
finally:
fp.close()
return _mod
_pyupm_speaker = swig_import_helper()
del swig_import_helper
else:
import _pyupm_speaker
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_speaker.getVersion()
getVersion = _pyupm_speaker.getVersion
[docs]class Speaker(_object):
"""
API for the Speaker.
ID: speaker libupm-speaker
Name: Speaker
Other Names: Grove Speaker
Category: sound
Manufacturer: seeed
Connection: gpio
Kit: hak UPM module for the Speaker. This sensor can generate
different tones and sounds depending on the frequency of the input
signal.
It can operate in one of two modes: GPIO (default) and PWM.
Depending on which mode is selected, some methods may not be usable.
In GPIO mode, the playAll() and playSound() methods are supported. In
PWM mode, setFrequency(), emit(), on() and off() are supported.
Calling a method not appropriate for the mode will have no effect.
C++ includes: speaker.hpp
"""
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, Speaker, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, Speaker, name)
__repr__ = _swig_repr
def __init__(self, pin, usePWM=False):
"""
Speaker(int pin, bool
usePWM=false)
Speaker constructor
Parameters:
-----------
pin: Digital pin to use
usePWM: If true, PWM mode will be used, otherwise GPIO mode (default)
is used.
"""
this = _pyupm_speaker.new_Speaker(pin, usePWM)
try:
self.this.append(this)
except Exception:
self.this = this
__swig_destroy__ = _pyupm_speaker.delete_Speaker
__del__ = lambda self: None
[docs] def playAll(self):
"""
void playAll()
Plays all alto notes (lowest notes)
"""
return _pyupm_speaker.Speaker_playAll(self)
[docs] def playSound(self, letter, sharp, vocalWeight):
"""
void playSound(char
letter, bool sharp, std::string vocalWeight)
Plays a sound and a note whether it's sharp or not
Parameters:
-----------
letter: Character name of the note ('a', 'b', 'c', 'd', 'e', 'f', or
'g')
sharp: If true, plays a sharp version of the note; otherwise, does
not play the note
vocalWeight: String to determine whether to play a low ("low"), a
medium ("med"), or a high ("high") note
"""
return _pyupm_speaker.Speaker_playSound(self, letter, sharp, vocalWeight)
[docs] def emit(self, freq, emit_ms):
"""
void emit(unsigned int
freq, unsigned int emit_ms)
Emit a specific frequency for a given period of time and return. This
function only operates when in PWM mode. The frequency is limited to
between 50-32000Hz. In addition, the allowable frequencies may be
restricted further by the capabilities of your PWM hardware.
Parameters:
-----------
freq: The frequency to emit. Must be between 50 and 32000Hz
inclusive.
emit_ms: The number of milliseconds to emit the frequency.
"""
return _pyupm_speaker.Speaker_emit(self, freq, emit_ms)
[docs] def setFrequency(self, freq):
"""
void
setFrequency(unsigned int freq)
Set a default frequency to be used with on() and off(). This function
only operates when in PWM mode. The frequency is limited to between
50-32000Hz. In addition, the allowable frequencies may be restricted
further by the capabilities of your PWM hardware.
Parameters:
-----------
freq: The frequency to emit. Must be between 50 and 32000Hz
inclusive.
"""
return _pyupm_speaker.Speaker_setFrequency(self, freq)
[docs] def on(self):
"""
void on()
Turn the speaker on, and emit the frequency last specified with
setFrequency() or emit(). This function only operates when in PWM
mode.
"""
return _pyupm_speaker.Speaker_on(self)
[docs] def off(self):
"""
void off()
Turn the speaker off. This function only operates when in PWM mode.
"""
return _pyupm_speaker.Speaker_off(self)
Speaker_swigregister = _pyupm_speaker.Speaker_swigregister
Speaker_swigregister(Speaker)
# This file is compatible with both classic and new-style classes.