JIAWEI ZHANG / Mbed 2 deprecated ele350ku

Dependencies:   mbed

Dependents:   Exercise8_1-2-3

Fork of ele350 by JIAWEI ZHANG

sine_app.cpp

Committer:
GGHHHH
Date:
2015-12-18
Revision:
51:8bc1d7ffd3da
Parent:
49:da7b177b5245
Child:
52:c245d9c98de3

File content as of revision 51:8bc1d7ffd3da:

#include "sine_app.h"

SineApp::SineApp(Serial* serial) : App("Sine wave", serial) {
    this->analogOut = new AnalogOut (PA_4);
    this->amplitude = 2.95f;
    this->frequence = 50.0f;
}

void SineApp::start()
{
    App::start();
    this->analogOut->write(this->amplitude/2.95f);
    this->timer.start(); 
    if ( this->amplitude > 2.95f ) {
       this->analogOut->write(0);
    } else { this->analogOut->write(this->amplitude/2.95f);}

}

void SineApp::run()
{
   this->analogOut->write(this->amplitude/3.0f*0.5f*(1.0f+sin(this->frequence*6.28f*timer.read()))+1.0f);
   
   if ( this->frequence > 50.0f ) {
   this->analogOut->write(0);
    } else { this->analogOut->write(this->amplitude/3.0f*0.5f*(1.0f+sin(this->frequence*6.28f*timer.read())));}
   

}

void SineApp::stop()
{
    App::stop();
    this->analogOut->write(0.0f);
    this->timer.stop();
    this->timer.reset();
}
void SineApp::setamplitude(float newamplitude)
{
    this->amplitude = newamplitude;
}
void SineApp::setfrequence(float newfrequence)
{
    this->frequence = newfrequence;
}