//--------------------------------------------------------------------------------------------------
// Ici les déclarations des constantes en fonction du câblage des entrées sorties sur les pins GPIO
//--------------------------------------------------------------------------------------------------
#define BpA 0   // Constante pour définir le numéro de pin sur laquelle est câblé le bouton-poussoir
#define LedA 45 // Constante pour définir le numéro de pin sur laquelle est câblé la LED A

//------------------------------------------------------------------------------------------------
// Ici les actions à réaliser une suele fois au début du programme (opérations d'initialisations)
//------------------------------------------------------------------------------------------------
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200); // Initialisation de la liaison série pour afficher les messages dans la console
  Serial.println("1TSCIEL ESP32-S2"); // Affiche dans la console un message d'accueil

  //Configuration des entrées/sorties
  pinMode(BpA, INPUT_PULLDOWN); //Activation de la résistance interne de pulldown l'ESP 32 car le bouton est câblé sur le +3.3V (revoir TP 1ere partie)
  pinMode(LedA, OUTPUT);
}

//-----------------------------------------------------------------------------------
// Ici le code principal du programme qui va se répéter tant que le programme tourne
//-----------------------------------------------------------------------------------
void loop() {
//-------------------------------
// 1 - Déclarations des variables
//-------------------------------
bool EtatBpA;     // Variable pour récupérer l'état logique du bouton-poussoir

//------------------------
// 2 - Lecture des entrées
//------------------------
EtatBpA = digitalRead(BpA);

//--------------------------------------------------
// 3 - Traitements des entrées + actions à réaliser
//--------------------------------------------------
if(EtatBpA == false)
{
  // Ici le bouton-poussoir a été détecté comme étant activé
  // On allume donc la LED en activant la sortie
  digitalWrite(LedA, HIGH);
}
else
{
  // Ici le bouton-poussoir a été détecté comme étant désactivé
  // On éteint donc la LED en désactivant la sortie
  digitalWrite(LedA, LOW);
}

  delay(10); // Attendre les 10ms (millisecondes) avant de répéter le code principal de la fonction "loop" une nouvelle fois
}