Opzet reactietester

Dependencies:   mbed

main.cpp

Committer:
lennartgroen
Date:
2018-04-03
Revision:
0:c9b07a2f3bcb

File content as of revision 0:c9b07a2f3bcb:

/*
Namen: Lennart Groen
Klas: EMT1PSa
Opdracht: MBED - Stoplicht
Samengewerkt met: ...
Datum: 02-04-2018
Inspiratie uit:
*/

#include <mbed.h>

DigitalOut led(D2);
DigitalIn Button(D3);
Serial pc(USBTX, USBRX); // tx, rx

enum machinestate
{
    create_random_time,
    measure_start,
    reaction,
    send_time
};
    
class reactiontester
{
    private:

    public:
    reactiontester();
    float set_random_time();
    
};

int main()
{
enum machinestate state;
reactiontester recationtester1;
Timer timer1;
Timer timer2;
timer1.start();
float random_time = 0.0;

while(1){
switch(state)
    {
    case create_random_time:
    random_time = recationtester1.set_random_time();    
    break;
    case measure_start:
    led = 1;
    timer2.start();
    break;
    case reaction:
    led = 0;
    timer2.stop();
    state = send_time;
    break;
    case send_time:
    float time = timer2.read();
    pc.printf("Measured Time: ");
    break;
    }
    if (random_time <= timer1.read() && state == create_random_time){
    state = measure_start;
    }
    if (Button == 1 && state == measure_start){
        state = reaction;
    }

}

}


reactiontester::reactiontester()
{
   
}

float reactiontester::set_random_time()
{
    int min_value = 3;
    int max_value = 10;
    float random_number = rand() % (max_value+min_value);
    return random_number;
}