#include <Arduino.h>
#include "cstatemachine.h"

CStateMachine MAE;

/////////////////////////////////////////////////////////
void setName(char *value) {
  Serial.println(value);
}
/////////////////////////////////////////////////////////
void setMsg(char *value) {
  Serial.println(value);
}
/////////////////////////////////////////////////////////

void setup() {
  Serial.begin(9600);

  char nom[] = "ASKET";
  setName(nom);
  MAE.reset();
}


void loop() {
  unsigned int periodiciteTache1 = 5; // cadencement de la MAE : 200Hz
  static unsigned long timerTache1 = millis();

  //tache 1
  if (millis() - timerTache1 >= periodiciteTache1) {
    timerTache1 += periodiciteTache1;

    MAE.setEntree(digitalRead(2)); // Remplacez 2 par le numéro de la broche d'entrée appropriée
    MAE.clock();
    digitalWrite(3, MAE.getSortie()); // Remplacez 3 par le numéro de la broche de sortie appropriée

    char chaine[100];
    sprintf(chaine, "et=%d  ", MAE.getEtat());
    Serial.print(chaine);
    setMsg(chaine);
  }

  unsigned int periodiciteTache2 = 1000;
  static unsigned long timerTache2 = millis();
  if (millis() - timerTache2 >= periodiciteTache2) {
    timerTache2 += periodiciteTache2;
    static unsigned int cpt = 0;
    cpt++;
  }
}
74HC165
74HC595