/

Dependents:   Semafor-Jukicic

Files at this revision

API Documentation at this revision

Comitter:
djukicic
Date:
Sun Feb 21 17:26:30 2021 +0000
Commit message:
/

Changed in this revision

buzzer.cpp Show annotated file Show diff for this revision Revisions of this file
buzzer.h Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buzzer.cpp	Sun Feb 21 17:26:30 2021 +0000
@@ -0,0 +1,27 @@
+#include "buzzer.h"
+#include "mbed.h"
+ 
+using namespace mbed;
+ 
+Beep::Beep(PinName pin) : _pwm(pin)
+{
+    _pwm.write(0.0);
+}
+ 
+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);
+    toff.attach(this,&Beep::nobeep, time);
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/buzzer.h	Sun Feb 21 17:26:30 2021 +0000
@@ -0,0 +1,32 @@
+#ifndef MBED_BEEP_H
+#define MBED_BEEP_H
+ 
+#include "mbed.h"
+ 
+namespace mbed {
+ 
+/* Class: Beep
+ *  A class which uses pwm to controle a beeper to generate sounds.
+ */
+class Beep {
+ 
+public:
+ 
+    Beep (PinName pin);//Specified PwmOut pin for buzzer
+ 
+/** 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);
+ 
+    void nobeep();
+ 
+private :
+    PwmOut _pwm;
+    Timeout toff;
+};
+ 
+}
+#endif
\ No newline at end of file