upm
1.7.1
Sensor/Actuator repository for libmraa (v2.0.0)
|
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.
Public Member Functions | |
Speaker (int pin, bool usePWM=false) | |
virtual | ~Speaker () |
void | playAll () |
void | playSound (char letter, bool sharp, std::string vocalWeight) |
void | emit (unsigned int freq, unsigned int emit_ms) |
void | setFrequency (unsigned int freq) |
void | on () |
void | off () |
Protected Attributes | |
speaker_context | m_speaker |
Speaker | ( | int | pin, |
bool | usePWM = false |
||
) |
Speaker constructor
pin | Digital pin to use |
usePWM | If true, PWM mode will be used, otherwise GPIO mode (default) is used. |
void playAll | ( | ) |
Plays all alto notes (lowest notes)
void playSound | ( | char | letter, |
bool | sharp, | ||
std::string | vocalWeight | ||
) |
Plays a sound and a note whether it's sharp or not
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 |
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.
freq | The frequency to emit. Must be between 50 and 32000Hz inclusive. |
emit_ms | The number of milliseconds to emit the frequency. |
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.
freq | The frequency to emit. Must be between 50 and 32000Hz inclusive. |
void on | ( | ) |
Turn the speaker on, and emit the frequency last specified with setFrequency() or emit(). This function only operates when in PWM mode.
void off | ( | ) |
Turn the speaker off. This function only operates when in PWM mode.