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: mbed 4DGL-uLCD-SE mbed-rtos nRF24L01P
Speaker.cpp
- Committer:
- Nurchu
- Date:
- 2018-04-20
- Revision:
- 14:4637a9f02919
- Parent:
- 12:efcfe4c0d9f2
- Child:
- 20:e068469ffb89
File content as of revision 14:4637a9f02919:
#include "Speaker.h"
#define UINT8_MAX 255
Speaker::Speaker(PinName pin) : _pin(pin), dc(0.67f / 3.3f) {}
void Speaker::write(uint8_t value) {
const static float alpha = 0.99999f;
float sample = (float)value / UINT8_MAX;
dc = alpha*dc + (1.0f - alpha)*sample;
_pin = 0.5f + (sample - dc)* 33.0f;
}