Werkcollege opgave 23 september BMT K9

Dependencies:   Encoder HIDScope MODSERIAL mbed QEI biquadFilter

main.cpp

Committer:
bscheltinga
Date:
2015-10-09
Revision:
21:594915ba2bf9
Parent:
20:d5f5c60adc43
Child:
22:14abcfdd1554

File content as of revision 21:594915ba2bf9:

#include "mbed.h"
#include "HIDScope.h"
#include "MODSERIAL.h"
#include "biquadFilter.h" //Filter direct form II

//Define inputs
AnalogIn    emgL(A0); //Analog input left arm
//AnalogIn    emgR(PTB1); //Analog input right arm
DigitalOut  led1(LED_GREEN);

MODSERIAL pc(USBTX,USBRX);
volatile bool control_go = false;
Ticker control_tick;

//Define constants
float emgL_L;

const double a1 = 0;
const double a2 = 0.17156822136;
const double b0 = 0.2928920553;
const double b1 = 0.5857841107;
const double b2 = 0.2928920554; // Waarde van biquads via groep 1 2014
biquadFilter Lowpassfilter (a1, a2, b0, b1, b2);

HIDScope scope(2); // Aantal HIDScope kanalen

void ControlGo() //Control flag
{
    control_go = true;
    led1 = 0;
}

int main()
{
    control_tick.attach(&ControlGo, 1);
    pc.baud(9600);

    while(true) {
        
        if(control_go)
        emgL_L = Lowpassfilter.step(emgL.read()); //emgL_L Linker bicep met lowpass filter
        scope.set(0,emgL.read());
        scope.set(1,emgL.read());
        scope.send();
        led1 = 1; //De led gaat flikkeren wanneer deze loop uitgevoerd wordt

    }
}