Michele Furlanetto / Mbed 2 deprecated mbed_keyboard

Dependencies:   TextLCD mbed MMA8451Q TSI

Committer:
mfurlanetto
Date:
Tue Aug 25 14:12:19 2015 +0000
Revision:
6:459ddd3079fa
Child:
8:60231840370f
Riscritto la classe Speaker;; Aggiunto un metronomo.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mfurlanetto 6:459ddd3079fa 1 #include "mbed.h"
mfurlanetto 6:459ddd3079fa 2 // new class to play a note on Speaker based on PwmOut class
mfurlanetto 6:459ddd3079fa 3 // based on zchen311 implementation
mfurlanetto 6:459ddd3079fa 4 // http://mbed.org/users/zchen311/code/Speaker/
mfurlanetto 6:459ddd3079fa 5 class Speaker
mfurlanetto 6:459ddd3079fa 6 {
mfurlanetto 6:459ddd3079fa 7 public:
mfurlanetto 6:459ddd3079fa 8 Speaker(PinName pin) : _pin(pin) {
mfurlanetto 6:459ddd3079fa 9 // _pin(pin) means pass pin to the Speaker Constructor
mfurlanetto 6:459ddd3079fa 10 frequency=0;
mfurlanetto 6:459ddd3079fa 11 _volume=0.2;
mfurlanetto 6:459ddd3079fa 12 }
mfurlanetto 6:459ddd3079fa 13 // class method to play a note based on PwmOut class
mfurlanetto 6:459ddd3079fa 14 void changeFrequency(int delta) {
mfurlanetto 6:459ddd3079fa 15 frequency+=delta;
mfurlanetto 6:459ddd3079fa 16 if(frequency >0){
mfurlanetto 6:459ddd3079fa 17 _pin.period(1.0/frequency);
mfurlanetto 6:459ddd3079fa 18 _pin = _volume/2.0;
mfurlanetto 6:459ddd3079fa 19 } else {
mfurlanetto 6:459ddd3079fa 20 _pin = 0;
mfurlanetto 6:459ddd3079fa 21 }
mfurlanetto 6:459ddd3079fa 22 }
mfurlanetto 6:459ddd3079fa 23 int getFreq(){
mfurlanetto 6:459ddd3079fa 24 return frequency;
mfurlanetto 6:459ddd3079fa 25 }
mfurlanetto 6:459ddd3079fa 26 float* getVolumeBuffer(){
mfurlanetto 6:459ddd3079fa 27 return &_volume;
mfurlanetto 6:459ddd3079fa 28 }
mfurlanetto 6:459ddd3079fa 29 private:
mfurlanetto 6:459ddd3079fa 30 PwmOut _pin;
mfurlanetto 6:459ddd3079fa 31 float _volume;
mfurlanetto 6:459ddd3079fa 32 int frequency;
mfurlanetto 6:459ddd3079fa 33 };