Michele Furlanetto / Mbed 2 deprecated mbed_keyboard

Dependencies:   TextLCD mbed MMA8451Q TSI

Revision:
6:459ddd3079fa
Child:
8:60231840370f
diff -r 191efa70f49b -r 459ddd3079fa Speaker.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Speaker.h	Tue Aug 25 14:12:19 2015 +0000
@@ -0,0 +1,33 @@
+#include "mbed.h"
+// new class to play a note on Speaker based on PwmOut class
+// based on zchen311 implementation
+// http://mbed.org/users/zchen311/code/Speaker/
+class Speaker
+{
+public:
+    Speaker(PinName pin) : _pin(pin) {
+    // _pin(pin) means pass pin to the Speaker Constructor
+    frequency=0;
+    _volume=0.2;
+    }
+    // class method to play a note based on PwmOut class
+    void changeFrequency(int delta) {
+        frequency+=delta;
+        if(frequency >0){
+            _pin.period(1.0/frequency);
+            _pin = _volume/2.0;
+        } else {
+               _pin = 0;
+        }
+    }
+    int getFreq(){
+        return frequency;   
+    }
+    float* getVolumeBuffer(){
+        return &_volume;
+    }
+private:
+    PwmOut _pin;
+    float _volume;
+    int frequency;
+};
\ No newline at end of file