Drive a speaker using PWM

Dependencies:   mbed

Dependents:   PwmSpeaker-Example

Committer:
asmellby
Date:
Fri Nov 13 22:22:12 2015 +0000
Revision:
2:840bc39c112e
Parent:
0:b7dd35e61bb1
Update to create library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
asmellby 0:b7dd35e61bb1 1 #include "mbed.h"
asmellby 0:b7dd35e61bb1 2 #include "Tone.h"
asmellby 0:b7dd35e61bb1 3
asmellby 0:b7dd35e61bb1 4 #define isdigit(n) (n >= '0' && n <= '9')
asmellby 0:b7dd35e61bb1 5
asmellby 0:b7dd35e61bb1 6 class Speaker {
asmellby 0:b7dd35e61bb1 7 public:
asmellby 0:b7dd35e61bb1 8 Speaker(PwmOut pin) :_pwm(pin), _offset(0) {};
asmellby 0:b7dd35e61bb1 9 void set_frequency(uint32_t freq);
asmellby 0:b7dd35e61bb1 10 void set_octave_offset(int offset) { _offset = offset; };
asmellby 0:b7dd35e61bb1 11 void enable(bool enable);
asmellby 0:b7dd35e61bb1 12 Speaker& operator=(int setting);
asmellby 0:b7dd35e61bb1 13 void play_rtttl(char * p);
asmellby 0:b7dd35e61bb1 14 private:
asmellby 0:b7dd35e61bb1 15 PwmOut _pwm;
asmellby 0:b7dd35e61bb1 16 int _offset;
asmellby 0:b7dd35e61bb1 17 };