Initial Release

Dependencies:   MCP23S17 Motor SDFileSystem mbed-rtos mbed wave_player

Committer:
EngineerGuy1GT
Date:
Wed Dec 06 16:34:32 2017 +0000
Revision:
0:5be0a1cce3f6
Initial Release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
EngineerGuy1GT 0:5be0a1cce3f6 1 #include "mbed.h"
EngineerGuy1GT 0:5be0a1cce3f6 2 // a new class to play a note on Speaker based on PwmOut class
EngineerGuy1GT 0:5be0a1cce3f6 3 class Speaker
EngineerGuy1GT 0:5be0a1cce3f6 4 {
EngineerGuy1GT 0:5be0a1cce3f6 5 public:
EngineerGuy1GT 0:5be0a1cce3f6 6 Speaker(PinName pin) : _pin(pin) {
EngineerGuy1GT 0:5be0a1cce3f6 7 // _pin(pin) means pass pin to the Speaker Constructor
EngineerGuy1GT 0:5be0a1cce3f6 8 }
EngineerGuy1GT 0:5be0a1cce3f6 9 // class method to play a note based on PwmOut class
EngineerGuy1GT 0:5be0a1cce3f6 10 void PlayNote(float frequency, float duration, float volume) {
EngineerGuy1GT 0:5be0a1cce3f6 11 _pin.period(1.0/frequency);
EngineerGuy1GT 0:5be0a1cce3f6 12 _pin = volume/2.0;
EngineerGuy1GT 0:5be0a1cce3f6 13 wait(duration);
EngineerGuy1GT 0:5be0a1cce3f6 14 _pin = 0.0;
EngineerGuy1GT 0:5be0a1cce3f6 15 }
EngineerGuy1GT 0:5be0a1cce3f6 16
EngineerGuy1GT 0:5be0a1cce3f6 17 private:
EngineerGuy1GT 0:5be0a1cce3f6 18 PwmOut _pin;
EngineerGuy1GT 0:5be0a1cce3f6 19 };