Example #1
0
// Dump in ASCII the BecParams structure to a file
int BecParams_Fprintf( BecParams *params, FILE *fptr )
{
	char buf[128*1024];
	int ret;

	// Check for Null pointer
	if( fptr == (FILE *)NULL )
	{
		fprintf( stderr, "%s: fptr=0\n", __FUNCTION__ );
		return D_RetCode_Err_Null_Pointer;
	}

	// If parameters were not set, just exit queitly
	if( params->Config_Id < 0 )
		return D_RetCode_Sucsess;

	// Create info
	sprintf( buf, "Bec %d CrateId %d\n", params->Config_Id, params->Crate_Id );
	// First produce the ASCII representation of the MVT parameters structure 
	sprintf( buf, "%s# BE Crate %d configuration\n", buf, params->Config_Id );
	if( (ret = BecParams_Sprintf( params, buf )) != D_RetCode_Sucsess )
	{
		fprintf( stderr, "%s: BecParams_Sprintf failed with  %d\n", __FUNCTION__, ret );
		return ret;
	}

	// Then save it in the file  
	if( (ret = fprintf( fptr, "%s", buf ) ) < 0 )
	{
		fprintf( stderr, "%s: fprintf failed with %d\n", __FUNCTION__, ret );
		fprintf( stderr, "%s: fprintf failed with %s\n", __FUNCTION__, strerror(errno) );
		return ret;
	}

	// All went fine
	return D_RetCode_Sucsess;
}
Example #2
0
// Dump in ASCII the SysParams structure to a buffer
int SysParams_Sprintf( SysParams *params, char *buf  )
{
	int bec;
	int ret;

	// Check for Null pointer
	if( params == (SysParams *)NULL )
	{
		fprintf( stderr, "%s: params=0\n", __FUNCTION__ );
		return D_RetCode_Err_Null_Pointer;
	}
	if( buf == (char *)NULL )
	{
		fprintf( stderr, "%s: buf=0\n", __FUNCTION__ );
		return D_RetCode_Err_Null_Pointer;
	}

	// Common parameters
	sprintf( buf, "############################\n" );
	sprintf( buf, "%s# Global System parameters #\n", buf );
	sprintf( buf, "%s############################\n", buf );
	sprintf( buf, "%sSys Name           %s\n", buf, params->Name );
	sprintf( buf, "%sSys RunMode        %s\n", buf, SysRunMode2Str( params->RunMode ) );
	sprintf( buf, "%sSys NbOfSmpPerEvt  %d\n", buf, params->NbOfSmpPerEvt );
	sprintf( buf, "%sSys NbOfEvtPerBlk  %d\n", buf, params->NbOfEvtPerBlk );
	sprintf( buf, "%sSys ClkMode        %s\n", buf, SysClkMode2Str( params->ClkMode ) );
	sprintf( buf, "%sSys SparseSmp      %d\n", buf, params->SparseSmp );
	sprintf( buf, "%sSys BlockPrescale  %d\n", buf, params->BlockPrescale );
	sprintf( buf, "%sSys BRepRawData    %d\n", buf, params->RepRawData );

//fprintf( stderr, "%s: Global parameters OK\n", __FUNCTION__ );

	// Backend crate configurations
	sprintf( buf, "%s################################\n", buf );
	sprintf( buf, "%s# Backend crate configurations #\n", buf );
	sprintf( buf, "%s################################\n", buf );
	for( bec=1; bec<DEF_MAX_NB_OF_BEC; bec++ )
	{
		ret = BecParams_Sprintf( &(params->Bec_Params[bec]), buf );
		if( ret != D_RetCode_Sucsess )
		{
			fprintf( stderr, "%s: BecParams_Sprintf failed for bec %d with %d\n", __FUNCTION__, bec, ret );
			return ret;
		}
	}
//fprintf( stderr, "%s: BecParams_Sprintf OK\n", __FUNCTION__ );

	// TI configurations
	sprintf( buf, "%s#####################\n", buf );
	sprintf( buf, "%s# TI configurations #\n", buf );
	sprintf( buf, "%s#####################\n", buf );
	if( params->RunMode != Clas12 )
	{
		for( bec=0; bec<DEF_MAX_NB_OF_BEC; bec++ )
		{
			ret = TiParams_Sprintf( &(params->Ti_Params[bec]), buf );
			if( ret != D_RetCode_Sucsess )
			{
				fprintf( stderr, "%s: TiParams_Sprintf failed for sd %d with %d\n", __FUNCTION__, bec, ret );
				return ret;
			}
		}
	}
	else
	{
		sprintf( buf, "%s# TI parameters do not apply in %s mode #\n", buf, SysRunMode2Str( params->RunMode ) );
	}
	sprintf( buf, "%s\n", buf );
//fprintf( stderr, "%s: TiParams_Sprintf OK\n", __FUNCTION__ );

	// SD configurations
	sprintf( buf, "%s#####################\n", buf );
	sprintf( buf, "%s# SD configurations #\n", buf );
	sprintf( buf, "%s#####################\n", buf );
	for( bec=1; bec<DEF_MAX_NB_OF_BEC; bec++ )
	{
		ret = SdParams_Sprintf( &(params->Sd_Params[bec]), buf );
		if( ret != D_RetCode_Sucsess )
		{
			fprintf( stderr, "%s: SdParams_Sprintf failed for sd %d with %d\n", __FUNCTION__, bec, ret );
			return ret;
		}
	}
	sprintf( buf, "%s\n", buf );
//fprintf( stderr, "%s: SdParams_Sprintf OK\n", __FUNCTION__ );

	// Backend unit configurations
	sprintf( buf, "%s###############################\n", buf );
	sprintf( buf, "%s# Backend unit configurations #\n", buf );
	sprintf( buf, "%s###############################\n", buf );
	ret = BeuSspConfCol_Sprintf( &(params->BeuSspConf_Col), buf );
	if( ret != D_RetCode_Sucsess )
	{
		fprintf( stderr, "%s: BeuSspConfCol_Sprintf failed with %d\n", __FUNCTION__, ret );
		return ret;
	}
//fprintf( stderr, "%s: BeuSspConfCol_Sprintf OK\n", __FUNCTION__ );

	// Frontend unit configurations
	sprintf( buf, "%s################################\n", buf );
	sprintf( buf, "%s# Frontend unit configurations #\n", buf );
	sprintf( buf, "%s################################\n", buf );
	ret = FeuParamsCol_Sprintf( &(params->FeuParams_Col), buf );
	if( ret != D_RetCode_Sucsess )
	{
		fprintf( stderr, "%s: FeuParamsCol_Sprintf failed with %d\n", __FUNCTION__, ret );
		return ret;
	}
//fprintf( stderr, "%s: FeuParamsCol_Sprintf OK\n", __FUNCTION__ );

	// All went fine
	return D_RetCode_Sucsess;
}