Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of beep by
Revision 5:a844c1579d27, committed 2014-01-24
- Comitter:
- alexanderh
- Date:
- Fri Jan 24 09:47:13 2014 +0000
- Parent:
- 4:d8e14429a95f
- Commit message:
- Beep2
Changed in this revision
diff -r d8e14429a95f -r a844c1579d27 beep.cpp --- a/beep.cpp Tue Sep 11 08:21:45 2012 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -#include "beep.h" -#include "mbed.h" - -/** class to make sound with a buzzer, based on a PwmOut - * The class use a timeout to switch off the sound - it is not blocking while making noise - * - * Example: - * @code - * // Beep with 1Khz for 0.5 seconds - * #include "mbed.h" - * #include "beep.h" - * - * Beep buzzer(p21); - * - * int main() { - * ... - * buzzer.beep(1000,0.5); - * ... - * } - * @endcode - */ - -using namespace mbed; - // constructor - /** Create a Beep object connected to the specified PwmOut pin - * - * @param pin PwmOut pin to connect to - */ - -Beep::Beep(PinName pin) : _pwm(pin) { - _pwm.write(0.0); // after creating it have to be off -} - - /** stop the beep instantaneous - * usually not used - */ -void Beep::nobeep() { - _pwm.write(0.0); -} - -/** Beep with given frequency and duration. - * - * @param frequency - the frequency of the tone in Hz - * @param time - the duration of the tone in seconds - */ - -void Beep::beep(float freq, float time) { - - _pwm.period(1.0/freq); - _pwm.write(0.5); // 50% duty cycle - beep on - toff.attach(this,&Beep::nobeep, time); // time to off -} - - - -
diff -r d8e14429a95f -r a844c1579d27 beep.h --- a/beep.h Tue Sep 11 08:21:45 2012 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -#ifndef MBED_BEEP_H -#define MBED_BEEP_H - -#include "mbed.h" - -/** class to make sound with a buzzer, based on a PwmOut - * The class use a timeout to switch off the sound - it is not blocking while making noise - * - * Example: - * @code - * // Beep with 1Khz for 0.5 seconds - * #include "mbed.h" - * #include "beep.h" - * - * Beep buzzer(p21); - * - * int main() { - * ... - * buzzer.beep(1000,0.5); - * ... - * } - * @endcode - */ - - -namespace mbed { - -/* Class: Beep - * A class witch uses pwm to controle a beeper to generate sounds. - */ -class Beep { - -public: - -/** Create a Beep object connected to the specified PwmOut pin - * - * @param pin PwmOut pin to connect to - */ - Beep (PinName pin); - -/** Beep with given frequency and duration. - * - * @param frequency - the frequency of the tone in Hz - * @param time - the duration of the tone in seconds - */ - void beep (float frequency, float time); - -/** stop the beep instantaneous - * usually not used - */ - void nobeep(); - -private : - PwmOut _pwm; - Timeout toff; -}; - -} -#endif
diff -r d8e14429a95f -r a844c1579d27 beep2.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/beep2.cpp Fri Jan 24 09:47:13 2014 +0000 @@ -0,0 +1,73 @@ +#include "beep2.h" +#include "mbed.h" + +/** class to make sound with a buzzer, based on a PwmOut + * The class use a timeout to switch off the sound - it is not blocking while making noise + * + * Example: + * @code + * // Beep with 1Khz for 0.5 seconds + * #include "mbed.h" + * #include "beep.h" + * + * Beep buzzer(p21); + * + * int main() { + * ... + * buzzer.beep(1000,0.5); + * ... + * } + * @endcode + */ + +using namespace mbed; + // constructor + /** Create a Beep object connected to the specified PwmOut pin + * + * @param pin PwmOut pin to connect to + */ + +Beep::Beep(PinName pin) : _pwm(pin) { + _pwm.write(0.0); // after creating it have to be off +} + + /** stop the beep instantaneous + * usually not used + */ +void Beep::nobeep() { + _pwm.write(0.0); +} + + +/** Beep with given frequency and duration. + * + * @param frequency - the frequency of the tone in Hz + * @param time - the duration of the tone in seconds + */ + +void Beep::beep(float freq, float time, float dc ) { + + _pwm.period(1.0/freq); + _pwm.write(dc); // 50% duty cycle - beep on + toff.attach(this,&Beep::nobeep, time); // time to off +} +void Beep::beepNoStop(float freq, float dc ) { + + _pwm.period(1.0/freq); + _pwm.write(dc); // 50% duty cycle - beep on + +} + +void Beep::changeDc(float dc ) { + static float lastdc; + + + if ( lastdc != dc){ + _pwm.write(dc); + } + + lastdc = dc; + +} + +
diff -r d8e14429a95f -r a844c1579d27 beep2.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/beep2.h Fri Jan 24 09:47:13 2014 +0000 @@ -0,0 +1,60 @@ +#ifndef MBED_BEEP2_H +#define MBED_BEEP2_H + +#include "mbed.h" + +/** class to make sound with a buzzer, based on a PwmOut + * The class use a timeout to switch off the sound - it is not blocking while making noise + * + * Example: + * @code + * // Beep with 1Khz for 0.5 seconds + * #include "mbed.h" + * #include "beep.h" + * + * Beep buzzer(p21); + * + * int main() { + * ... + * buzzer.beep(1000,0.5); + * ... + * } + * @endcode + */ + + +namespace mbed { + +/* Class: Beep + * A class witch uses pwm to controle a beeper to generate sounds. + */ +class Beep { + +public: + +/** Create a Beep object connected to the specified PwmOut pin + * + * @param pin PwmOut pin to connect to + */ + Beep (PinName pin); + +/** Beep with given frequency and duration. + * + * @param frequency - the frequency of the tone in Hz + * @param time - the duration of the tone in seconds + */ + void beep (float frequency, float time,float dc); + void beepNoStop (float frequency,float dc); + void changeDc(float dc); +/** stop the beep instantaneous + * usually not used + */ + void nobeep(); + +private : + PwmOut _pwm; + Timeout toff; +}; + +} +#endif