#ifndef ADC_TOOLS_H #define ADC_TOOLS_H #include "IQmathLib.h" // #include "isr.h" typedef struct { _iq iqIin_1; _iq iqIin_2; _iq iqIin_3; _iq iqIin_4; // _iq iqIin_1_rms; // _iq iqIin_2_rms; // _iq iqIin_3_rms; // _iq iqIin_4_rms; _iq iqIin; _iq iqIa1_1; _iq iqIb1_1; _iq iqIc1_1; _iq iqIa2_1; _iq iqIb2_1; _iq iqIc2_1; _iq iqIa1_rms; _iq iqIb1_rms; _iq iqIc1_rms; _iq iqIa2_rms; _iq iqIb2_rms; _iq iqIc2_rms; _iq iqIq_zadan; _iq iqIq_zad_from_optica; _iq iqId1; _iq iqIq1; _iq iqIq1_filter; _iq iqId2; _iq iqIq2; _iq iqIq2_filter; _iq iqUd1; _iq iqUq1; _iq iqUd2; _iq iqUq2; _iq iqUq2_filter; _iq tetta; _iq Fsl; _iq iqFstator; _iq iqU_1; _iq iqU_2; _iq iqU_3; _iq iqU_4; _iq iqW1; _iq iqWexp; _iq iqWfir; _iq iqWout; _iq iqPvsi1; _iq iqPvsi2; _iq iqM_1; _iq iqM_2; _iq iqW2; _iq iqW; _iq iqU_1_long; _iq iqU_2_long; _iq iqU_3_long; _iq iqU_4_long; _iq iqU_1_fast; _iq iqU_2_fast; _iq iqU_3_fast; _iq iqU_4_fast; _iq iqIm_1; _iq iqIm_2; _iq iqIm_1_long; _iq iqIm_2_long; _iq iqIm; _iq iqIbtr1_1; _iq iqIbtr1_2; _iq iqIbtr2_1; _iq iqIbtr2_2; } ANALOG_VALUE; typedef struct { float U1_1; float U1_2; float Izpt1_1; float Izpt1_2; float Ia1; float Ib1; float Ic1; float U2_1; float U2_2; float Izpt2_1; float Izpt2_2; float Ia2; float Ib2; float Ic2; void (*read_adc)(); } ANALOG_RAW_DATA; extern ANALOG_VALUE analog; extern ANALOG_VALUE filter; extern _iq iq_norm_ADC[18]; extern ANALOG_RAW_DATA rawData; #define COUNT_ARR_ADC_BUF 2 extern int ADC_f[COUNT_ARR_ADC_BUF][16]; void log_acp(void); void acp_Handler(void); void init_Adc_Variables(void); void calc_Izpt_rms(void); unsigned int detect_protect_ACP_plus(void); unsigned int detect_protect_ACP_minus(void); void fillADClogs(void); void read_adc(ANALOG_RAW_DATA *data); #define ANALOG_RAW_DATA_DEFAULT {0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ read_adc} #endif // ADC_TOOLS_H