TVZ2022 / Pavetic_BuzzerLib
Committer:
dpavetic
Date:
Sun Nov 27 10:33:00 2022 +0000
Revision:
0:f867aece57de
Initial lib version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dpavetic 0:f867aece57de 1 #ifndef MBED_BUZZER_H
dpavetic 0:f867aece57de 2 #define MBED_BUZZER_H
dpavetic 0:f867aece57de 3
dpavetic 0:f867aece57de 4 #include "mbed.h"
dpavetic 0:f867aece57de 5
dpavetic 0:f867aece57de 6 namespace mbed {
dpavetic 0:f867aece57de 7
dpavetic 0:f867aece57de 8 /**
dpavetic 0:f867aece57de 9 * Class: Buzzer
dpavetic 0:f867aece57de 10 * A class which uses PWM to create sounds on given PWM pin.
dpavetic 0:f867aece57de 11 */
dpavetic 0:f867aece57de 12 class Buzzer {
dpavetic 0:f867aece57de 13
dpavetic 0:f867aece57de 14 public:
dpavetic 0:f867aece57de 15 Buzzer(PinName pin); // Specified PwmOut pin for buzzer
dpavetic 0:f867aece57de 16
dpavetic 0:f867aece57de 17 /**
dpavetic 0:f867aece57de 18 * Buzzer with given frequency and duration.
dpavetic 0:f867aece57de 19 *
dpavetic 0:f867aece57de 20 * @param frequency - the frequency of the tone in Hz
dpavetic 0:f867aece57de 21 * @param time - the duration of the tone in seconds
dpavetic 0:f867aece57de 22 */
dpavetic 0:f867aece57de 23 void buzz(float frequency, float time);
dpavetic 0:f867aece57de 24
dpavetic 0:f867aece57de 25 /**
dpavetic 0:f867aece57de 26 * Silences the buzzer.
dpavetic 0:f867aece57de 27 */
dpavetic 0:f867aece57de 28 void silence();
dpavetic 0:f867aece57de 29
dpavetic 0:f867aece57de 30 private:
dpavetic 0:f867aece57de 31 PwmOut _pwm;
dpavetic 0:f867aece57de 32 Timeout toff;
dpavetic 0:f867aece57de 33 };
dpavetic 0:f867aece57de 34
dpavetic 0:f867aece57de 35 } // namespace mbed
dpavetic 0:f867aece57de 36 #endif