Pour les potos en galère tmtc

Dependencies:   C12832

main.cpp

Committer:
lauric
Date:
2021-03-31
Revision:
7:1cced6852c01
Parent:
6:f8cb706c480c

File content as of revision 7:1cced6852c01:

#include "mbed.h"                  //Définition Mbde
#include "C12832.h"                //Librairie du LCD

//InterruptIn fire_event(D4);
DigitalIn fire(D4);
Timer timer;
C12832 lcd(D11, D13, D12, D7, D10); //Broches pour LCD définies par la librairie C12832

int etat = 0;
int last_time, last_time2;
int elapsed_time, elapsed_time2;
int last_state;

void changerEtat(void);

int main()
{
    lcd.cls();
    lcd.locate(20,20);

    //fire_event.rise(&changerEtat);
    timer.start();

    while(true) {

        int etat_fire = fire.read();
        if(etat_fire > last_state) { // Front montant
            changerEtat();
            last_time2 = timer.read();
        } else if(last_state < etat_fire) {
            elapsed_time2 = timer.read() - last_time2;
            if(elapsed_time2 >= 2)
                etat = 3;
        }
        
        last_state = etat_fire;

        lcd.locate(0, 0);
        lcd.printf("ETAT: %d \nDernier Appui: %d", etat, elapsed_time);
        lcd.locate(0, 20);
        lcd.printf("Temps appuye: %d", elapsed_time2);

        wait(0.1);
        lcd.cls();
    }

}

void changerEtat(void)
{
    elapsed_time = timer.read() - last_time;
    last_time = timer.read();
    etat = etat == 1 ? 2 : 1; 
}