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@6:459ddd3079fa, 2015-08-25 (annotated)
- 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?
| User | Revision | Line number | New 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 | }; |
