//!;;Rpy::+
//!;;Rpy::ModelElement: aesa_report
//!;;Rpy::
//!;;Rpy::Component: IDDComponent 
//!;;Rpy::Configuration: IDDConfig
//!;;Rpy::Project: IDD
//!;;Rpy::
//!;;Rpy::FilePath: aesa_report.h
//!;;Rpy::Tag: $Tag
//!;;Rpy::
//!;;Rpy::Copyright: Leonardocompany - COMPANY RESTRICTED
//!;;Rpy::
//!;;Rpy::Generated by Rhapsody: 7.5.3 
//!;;Rpy::-


#ifndef aesa_report_H
#define aesa_report_H

//## package iddbite::aesa_report


//#[ type aesa_report_t
/*
enum AesaErrorEnum
{
	eAesaOk = 0,
	eAesaSrioTimeOut = 1,
	eAesaFpgaTimeOut = 2,
	eAesaFpgaCRCErr = 4,
	eAesaFpgaLenErr = 8,
	eAesaUnknownErr = 16
};
   
typedef unsigned int aesa_report_mask_t;

struct aesa_bite_report_t
{
	aesa_report_mask_t comm;
	unsigned int plank_trc[32][32];
};
*/

struct aesa_plank_report_t
{                           
    enum aesa_plank_report_k
    {
        k_num_planks=32,
        k_plank_no_init=(1<<29),
        k_plank_fail=(1<<30),
        k_plank_not_present=(1<<31)
    };
     
    unsigned int valid;   
    unsigned int spare[3];
    unsigned int planks[k_num_planks];
};

struct aesa_report_t
{
    unsigned int fail_mask;
    unsigned int cti_version;
    unsigned int rfif_version;
    unsigned int spare0[1];
    aesa_plank_report_t planks_report;
    unsigned int spare1[32];
}

;
//#]

//#[ type aesa_synthetic_report_t
enum AesaErrorEnum
{
	eAesaOk = 0,
	eAesaSrioTimeOut = 1,
	eAesaFpgaTimeOut = 2,
	eAesaFpgaCRCErr = 4,
	eAesaFpgaLenErr = 8,
	eAesaUnknownErr = 16,
	
	eAesaTotalCommFail=32,

	eAesaCtiLinkErr=(1<<8),
	eAesaCtiCRCErr=(1<<9),
	eAesaCtiCodingErr=(1<<10),
	eAesaCtiBeamErr=(1<<11),	
	eAesaCtiDutyPulseErr=(1<<12),
	
	eAesaCtiUnknownErr=(1<<16)	
};

enum AesaSruErrorMask
{
	eCTIErr = 1,
	eRFIFErr = 2,
	eAnyPlankErr = 4,
	eAnyTrcErr = 8,
	
	eDegradedPlankErr=(1<<8),	//Some plank other the "factory" failed plank 
	eFatalPlankErr=(1<<9)		//Too many plank/trc
};


typedef unsigned int aesa_comm_mask_t;
struct aesa_synthetic_report_t
{
    unsigned int aesa_fail_mask;   //AesaSruErrorMask !=0 AESA fail, LRU=AESA, SRU=AESA (that is everithings but RFIF)
    aesa_comm_mask_t comm;		   //AesaErrorEnum
};
//#]

#endif
//;;Rpy:: end


