#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>

#define LED_ROUGE 1
#define LED_VERTE 0
#define LED_JAUNE 2

#define BP1 3
#define APPUYE 0
#define RELACHE 1

int main (int argc, char** argv)
{

    char EtatBP1=0;
    char EtatLED_Rouge=0;

/* Test du mode "root". Si pas identifié
	en mode "root", alors affichage d'un message d'erreur */
      if(getuid()!=0) //wiringPi requires root privileges
      {
        printf("Error:wiringPi must be run as root.\n");
        return 1;
      }
/* Configuration des bibliotheques WPi
   afin d'utiliser la numérotation des
   GPIO selon les numéros WPi.
   Si la bibliothèque ne s'initialise pas,
   affichage d'un message d'erreur*/
      if(wiringPiSetup()==-1)
      {
        printf("Error:wiringPi setup failed.\n");
        return 1;
      }
	// Broches WPi  en sortie
	pinMode(LED_VERTE,OUTPUT);

	// Broches en entrées
	pinMode(BP1,INPUT);
	pullUpDnControl(BP1,PUD_UP);

while(1)
{
    system("clear");
    EtatBP1=digitalRead(BP1);
    if(EtatBP1 == APPUYE)
    {
        printf("Le bouton BP1 est appuyé.\n");
        printf("Attendre 5 secondes avant un nouvel appui.\n");
        digitalWrite(LED_VERTE,!EtatBP1);
        delay(5000);
    }
    digitalWrite(LED_VERTE,!EtatBP1);

};

    return 0;
}
