#ifndef INC_DISDROMETER_H
#define INC_DISDROMETER_H

    /* Header file includes */
#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"

#define WINDOW_SIZE 100         // Taille de la fenêtre pour la moyenne glissante (nombre d'échantillons)
#define THRESHOLD_OFFSET 186	// Décalage du seuil
#define NOMINAL_CENTER_VOLTAGE 1.65f // Tension de repos du capteur en Volts

// --- Moving average struct ---
typedef struct {
    uint16_t samples[WINDOW_SIZE];      // Tableau pour stocker les échantillons
    uint16_t head;          // Indice du prochain échantillon à écrire
    uint16_t count;         // Nombre d'échantillons actuellement dans la fenêtre
    uint32_t sum;           // Somme courante des échantillons pour un calcul rapide
} MovingAverage;

void ADC2_ConvCplt();

#endif /* INC_DISDROMETER_H */
