Michele Furlanetto / Mbed 2 deprecated mbed_keyboard

Dependencies:   TextLCD mbed MMA8451Q TSI

Committer:
mfurlanetto
Date:
Sat Sep 19 10:04:37 2015 +0000
Revision:
8:60231840370f
Child:
10:6e18b220e10c
Aggiunta le gestione delle ottave

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mfurlanetto 8:60231840370f 1 #include "Speaker.h"
mfurlanetto 8:60231840370f 2 #include "Note.cpp"
mfurlanetto 8:60231840370f 3 #include "Button.cpp"
mfurlanetto 8:60231840370f 4
mfurlanetto 8:60231840370f 5 class ButtonMusical: public Button{
mfurlanetto 8:60231840370f 6 public:
mfurlanetto 8:60231840370f 7 ButtonMusical(PinName pin, Note note, Speaker* speaker) : Button(pin), _note(note), sp(speaker) {
mfurlanetto 8:60231840370f 8 pressTimes=0;
mfurlanetto 8:60231840370f 9 }
mfurlanetto 8:60231840370f 10
mfurlanetto 8:60231840370f 11 void press() {
mfurlanetto 8:60231840370f 12 if(pressTimes==0)
mfurlanetto 8:60231840370f 13 {
mfurlanetto 8:60231840370f 14 sp->changeFrequency(_note.getFrequency());
mfurlanetto 8:60231840370f 15 pressTimes++;
mfurlanetto 8:60231840370f 16 }
mfurlanetto 8:60231840370f 17 }
mfurlanetto 8:60231840370f 18
mfurlanetto 8:60231840370f 19 void release() {
mfurlanetto 8:60231840370f 20 sp->changeFrequency(-_note.getFrequency()*pressTimes);
mfurlanetto 8:60231840370f 21 pressTimes=0;
mfurlanetto 8:60231840370f 22 }
mfurlanetto 8:60231840370f 23
mfurlanetto 8:60231840370f 24
mfurlanetto 8:60231840370f 25 private:
mfurlanetto 8:60231840370f 26 Note _note;
mfurlanetto 8:60231840370f 27 int pressTimes;
mfurlanetto 8:60231840370f 28 Speaker* sp;
mfurlanetto 8:60231840370f 29 };