ECE 4180 - Final Project Team / Mbed 2 deprecated WalkieTalkie

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;
}