/*
 * my_interrupt.h
 *
 *  Created on: gg/mmm/ccaa
 *      Author: cognome.nome
 */

#ifndef __MY__INTERRUPT__H___
#define __MY__INTERRUPT__H___

//==============================================================================
// Include files

//==============================================================================
// Constants

//==============================================================================
// Types

typedef struct
{
	float SingleEndedValue1_Tensione;
	float SingleEndedValue2_Tensione;
	float SingleEndedValue3_Tensione;
	float SingleEndedValue4_Tensione;
	float DifferentialValue1_Tensione;
	float DifferentialValue2_Tensione;
	float DifferentialValue3_Tensione;
	float DifferentialValue4_Tensione;
	float SingleEndedValue1_Grandezza;
	float SingleEndedValue2_Grandezza;
	float SingleEndedValue3_Grandezza;
	float SingleEndedValue4_Grandezza;
	float DifferentialValue1_Grandezza;
	float DifferentialValue2_Grandezza;
	float DifferentialValue3_Grandezza;
	float DifferentialValue4_Grandezza;
	unsigned long SingleEndedValue1Err;
	unsigned long SingleEndedValue2Err;
	unsigned long SingleEndedValue3Err;
	unsigned long SingleEndedValue4Err;
	unsigned long DifferentialValue1Err;
	unsigned long DifferentialValue2Err;
	unsigned long DifferentialValue3Err;
	unsigned long DifferentialValue4Err;
}TChannelValues;

//==============================================================================
// External variables

extern TChannelValues ChannelValues;
extern unsigned long microcheck_in_run;
extern volatile unsigned long AD_data_ready[4];

//==============================================================================
// Global functions

// usare come extern in startup_ccs.c
//void GPIOAIntHandler(void);
//void GPIOModule1Handler(void);
//void GPIOModule2Handler(void);
//void GPIOModule3Handler(void);
//void GPIOSelectorHandler(void);

long EnableInterrupts(void);

#endif
