#ifndef _SINE_H_
#define _SINE_H_

#include "adc.h"
#include "stm32f4xx_hal.h"

typedef struct
{	
	uint8_t inputType;		// 0x00: Line to Line       0x01: Line to Neutral
	uint16_t Freq;
	uint32_t Avg;
	uint16_t Vrms;
	uint16_t Vrms_AVG;
	
	uint16_t idx_put;
	uint32_t buffer[LIMIT_MOVE_FILTER];
	uint32_t value;
        
  uint16_t filter_Avg;
  uint16_t filter_Vrms;  
} MOVE_AVG_FILTER;

extern MOVE_AVG_FILTER AC_Sine[3];
 
extern void ADCSineCalculate2(uint32_t *adc_value, uint16_t adc_length, uint16_t adc_sample_time , MOVE_AVG_FILTER *SineValue, float Magn, uint8_t phase); 

#endif