/**
	AD9850-ESP32.h

	Firmware pour piloter un circuit DDS : AD9850
	avec un ESP32

	Silicium628  -  avril 2026

**/


#pragma	once

// exemple -> #define	ADF_CLK		26		//GPIO26 = P15 de ma carte

#define	AD_WCL	 	 3	//GPIO03 = P4 de ma carte
#define	AD_D7		17	//GPIO17 = P8 de ma carte
#define	AD_FQU		19	//GPIO19 = P6 de ma carte	
#define	AD_RESET	18	//GPIO18 = P7 de ma carte


class AD9850
{


public:

	uint32_t f_out; // fréquence du signal de sortie sinusoïdal
	uint32_t FTW;
	uint8_t phase;

	double f_outMin = 1; // 1Hz;
	double f_outMax = 50000000; // 50MHz

			
	uint8_t DIV;
	
	AD9850();
	
	void reset();
	
	void out_F(uint32_t f_out_i);
	
private:


	void calcul_FTW();
	void impulse_clk_W();
	void impulse_FQ_U();

	
};

