#ifndef PFD_H
#define PFD_H

#include <Arduino.h>
// ==================================
	String version_PFD_h="2026-09-08";
// ==================================

#include <stdint.h>


#include <TFT_eSPI.h> // Hardware-specific library
#include "SPI.h"


TFT_eSPI TFT480 = TFT_eSPI(); // Configurer le fichier User_Setup.h de la bibliothèque TFT480_eSPI au préalable


void init_SDcard();

void acquisitions(); //cette fonction reçoit les data de FG par la USB, voir le fichier "hardware4.xml" pour le protocole
void data_out(); // data à destination de FlightGear par la liaison série USB

void affi_distance_piste();
void efface_sprite_trajectoire();
void calculs_piste();
void find_END_RWY_dst();
void poste_warning(String texte_i);
void affi_localizer(float valeur_i);
void affi_index_lateral(uint16_t position_i);

void prepare_decollage();
void decollage();
void auto_rudder_deco(float correction);

void atterrissage();
void auto_landing();  // approche et finale
void auto_rudder_attero(float correction); // on passera en boucle dans cette fonction

void nav_to_centre_piste();
void nav_to_ptAA(); // on passera en boucle dans cette fonction
void nav_to_ptBB(); 
void nav_to_pti();

void roulage();

void setup();

void loop();


/** ***********************************************************************************
	CLASS VOYANT  // sorte de LED qui peut s'allumer de différentes couleurs et afficher un mot				
***************************************************************************************/


class VOYANT
{
 public:

	uint16_t x0;
	uint16_t y0;
	uint16_t dx;
	uint16_t dy;

	uint16_t couleur_texte;
	uint16_t couleur_fond;
	String libel;

	VOYANT();
	
	void init(uint16_t x, uint16_t y, uint16_t dx, uint16_t dy);
	void affiche(uint16_t couleur_texte_i, uint16_t couleur_fond_i);
	
 private:

};


/** ***********************************************************************************
		CLASS Led  // affiche un petit rectangle rectangle coloré
***************************************************************************************/

class Led
{
public:

	uint16_t x0; //position
	uint16_t y0;
	
	uint16_t dx; //dimension
	uint16_t dy;


//couleurs
	uint16_t couleur;
	
	Led();
	
	void init(uint16_t x, uint16_t y, uint16_t dx, uint16_t dy);
	void set_couleur(uint16_t coul_i);
	void allume();
	void eteint();

	
private:


};


#endif
