BSA EMG Practical Code

Dependencies:   HIDScope mbed

Fork of EMG by First Last

Import this program, compile it and program the binary on your KL25F.

main.cpp

Committer:
tomlankhorst
Date:
2016-09-22
Revision:
18:21d8e7a81cf5
Parent:
16:9f7797ffd0fb
Child:
19:2bf824669684

File content as of revision 18:21d8e7a81cf5:

#include "mbed.h"
#include "HIDScope.h"

//Define objects
AnalogIn    emg(A0); //Analog input
Ticker      sample_timer;
HIDScope    scope(1);
DigitalOut  led(LED1);

/** Sample function
 * this function samples the emg and sends it to HIDScope
 **/
void sample()
{
    /* First, sample the EMG using the 'read' method of the 'AnalogIn' variable named 'emg' */
    double emg_value = emg.read();
    /* Second, set the sampled emg value in channel zero (the first channel) in the 'HIDScope' variable named 'scope' */
    scope.set(0,emg_value);
    /* Repeat the step above if required for more channels (channel 0 up to 5 = 6 channels) */
    /* Finally, send all channels to the PC at once */
    scope.send();
    /* To indicate that the function is working, the LED is toggled */
    led = !led;
}

int main()
{
    /**Attach the 'sample' function to the timer 'sample_timer'.
    * this ensures that 'sample' is executed every... 0.01 seconds
    */
    sample_timer.attach(&sample, 0.01);

    /*empty loop, sample() is executed periodically*/
    while(1) {}
}