Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: TextLCD mbed MMA8451Q TSI
Speaker.h@8:60231840370f, 2015-09-19 (annotated)
- Committer:
- mfurlanetto
- Date:
- Sat Sep 19 10:04:37 2015 +0000
- Revision:
- 8:60231840370f
- Parent:
- 6:459ddd3079fa
- Child:
- 10:6e18b220e10c
Aggiunta le gestione delle ottave
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| mfurlanetto | 6:459ddd3079fa | 1 | #include "mbed.h" |
| mfurlanetto | 8:60231840370f | 2 | |
| mfurlanetto | 8:60231840370f | 3 | #ifndef SPEAKER |
| mfurlanetto | 8:60231840370f | 4 | #define SPEAKER |
| mfurlanetto | 6:459ddd3079fa | 5 | // new class to play a note on Speaker based on PwmOut class |
| mfurlanetto | 6:459ddd3079fa | 6 | // based on zchen311 implementation |
| mfurlanetto | 6:459ddd3079fa | 7 | // http://mbed.org/users/zchen311/code/Speaker/ |
| mfurlanetto | 6:459ddd3079fa | 8 | class Speaker |
| mfurlanetto | 6:459ddd3079fa | 9 | { |
| mfurlanetto | 6:459ddd3079fa | 10 | public: |
| mfurlanetto | 6:459ddd3079fa | 11 | Speaker(PinName pin) : _pin(pin) { |
| mfurlanetto | 6:459ddd3079fa | 12 | // _pin(pin) means pass pin to the Speaker Constructor |
| mfurlanetto | 6:459ddd3079fa | 13 | frequency=0; |
| mfurlanetto | 6:459ddd3079fa | 14 | _volume=0.2; |
| mfurlanetto | 6:459ddd3079fa | 15 | } |
| mfurlanetto | 6:459ddd3079fa | 16 | // class method to play a note based on PwmOut class |
| mfurlanetto | 8:60231840370f | 17 | void changeFrequency(double delta) { |
| mfurlanetto | 6:459ddd3079fa | 18 | frequency+=delta; |
| mfurlanetto | 6:459ddd3079fa | 19 | if(frequency >0){ |
| mfurlanetto | 6:459ddd3079fa | 20 | _pin.period(1.0/frequency); |
| mfurlanetto | 6:459ddd3079fa | 21 | _pin = _volume/2.0; |
| mfurlanetto | 6:459ddd3079fa | 22 | } else { |
| mfurlanetto | 6:459ddd3079fa | 23 | _pin = 0; |
| mfurlanetto | 8:60231840370f | 24 | frequency=0; |
| mfurlanetto | 6:459ddd3079fa | 25 | } |
| mfurlanetto | 6:459ddd3079fa | 26 | } |
| mfurlanetto | 8:60231840370f | 27 | double getFreq(){ |
| mfurlanetto | 6:459ddd3079fa | 28 | return frequency; |
| mfurlanetto | 6:459ddd3079fa | 29 | } |
| mfurlanetto | 6:459ddd3079fa | 30 | float* getVolumeBuffer(){ |
| mfurlanetto | 6:459ddd3079fa | 31 | return &_volume; |
| mfurlanetto | 6:459ddd3079fa | 32 | } |
| mfurlanetto | 6:459ddd3079fa | 33 | private: |
| mfurlanetto | 6:459ddd3079fa | 34 | PwmOut _pin; |
| mfurlanetto | 6:459ddd3079fa | 35 | float _volume; |
| mfurlanetto | 8:60231840370f | 36 | double frequency; |
| mfurlanetto | 8:60231840370f | 37 | }; |
| mfurlanetto | 8:60231840370f | 38 | |
| mfurlanetto | 8:60231840370f | 39 | #endif |
