Filter emg 7-10-15 v1

Dependencies:   HIDScope mbed MODSERIAL

Kalibratie.cpp

Committer:
Bartvaart
Date:
2015-10-14
Revision:
21:8fe8419de3e9
Parent:
20:11e1244ad2ad
Child:
22:c1811e60bfce

File content as of revision 21:8fe8419de3e9:

#include "Kalibratie.h"
#include "Filterdesigns.h"
#include "MODSERIAL.h" //bugfix

Timer   Timermax;
Timer   Timermin;
AnalogIn    emg2(A0); //Analog input van emg kabels
MODSERIAL   pc2(USBTX, USBRX); //bugfix
DigitalOut LedGreen(LED2);
DigitalOut LedRed(LED1);

void Init()
{
    LedGreen = 1;
    LedRed = 1;
}

double KalibratieMax(bool &readymax)  //Kalibratie van de maximum waarde
{
    Timermax.reset();
    Timermax.start(); //Start de timer

    LedGreen.write(0); //Led aan
    double ymax = 0;

    while(Timermax <= 5) { //Als timer onder de 5 seconden is dit uitvoeren
        double u = emg2.read();
        double y = Filterdesigns(u);
        if (y > ymax && Timermax >= 1) { //Als de gemeten waarde groter is dan de opgeslagen waarde wordt dit de nieuwe opgeslagen waarde
            ymax = y;
        } 
        else {
        }
        pc2.printf("y = %f en ymax = %f \n",y,ymax); //bugfix
    }
    
    Timermax.stop();
    LedGreen.write(1); //Led aan
    readymax = 1; // Zodat systeem weet wanneer kalibratie voltooid is
    return ymax;
}

double KalibratieMin(bool &readymin)  //Kalibratie van de minimum waarde
{
    Timermin.reset();
    Timermin.start();

    LedRed.write(0);
    double ymin = 10;

    while(Timermin <= 5) {
        double u = emg2.read();
        double y = Filterdesigns(u);
        
        if (y < ymin && Timermin >= 1) {
            ymin = y;
        } 
        else {
        }
        pc2.printf("y = %f en ymin = %f \n",y,ymin); //bugfix
    }
    
    Timermin.stop();
    LedRed.write(1);
    readymin = 1;
    return ymin;
}