Sam Ewins / Mbed 2 deprecated Sound_Meter

Dependencies:   elec350 mbed

soft_pwn.cpp

Committer:
sewins
Date:
2015-11-04
Revision:
0:cff19fd9a3be

File content as of revision 0:cff19fd9a3be:

#include "soft_pwm.h"

SoftPwm::SoftPwm(float initialPeriod, float initialDutyCycle)
{
    this->period = initialPeriod;
    this->dutyCycle = initialDutyCycle;

    this->timer.start();
}

float SoftPwm::getPeriod()
{
    return this->period;
}
float SoftPwm::getDutyCycle()
{
    return this->dutyCycle;
}
void SoftPwm::setPeriod(float newPeriod)
{
    this->period = newPeriod;
}
void SoftPwm::setDutyCycle(float newDutyCycle)
{
    this->dutyCycle = newDutyCycle;
}

bool SoftPwm::isOn()
{
    float onPhaseDuration = this->dutyCycle * this->period;
    float currentTime = this->timer.read();
    if (currentTime > this->period) {
        this->timer.reset();
    }
    if (currentTime<onPhaseDuration) {
        return true;
    } else {
        return false;
    }
}