コード例 #1
0
void DCTFFTW::DCTBytes2D(const unsigned char *srcp, int src_pitch, unsigned char *dctp, int dct_pitch)
{
    _asm emms;
    Bytes2Float (srcp, src_pitch, fSrc);
    fftwf_execute_r2r_addr(dctplan, fSrc, fSrcDCT);
    Float2Bytes (dctp, dct_pitch, fSrcDCT);
}
コード例 #2
0
ファイル: axismodbus.c プロジェクト: adanpi/yunlogger
void CopiaBdRemotaModBus(){
	int i;
	printf("\n\tCopia Configuracion Basica de la Estacion Remota a bbdd ModBus");
	i=ReadLogerBd(BdConf);
	if(i!=0){			// Leer Objeto B.D  BDCONF
		printf("\n\tReadAxisBd:Error=%d",i);
		sprintf(aux,"%s\tProceso axismbus ReadAxisBd:Error=%d",auxch,i);
        AxisLog(aux);
		exit(1);}

	if (Mb_verbose){
		printf("\n\t\tNOMBRE: %4s:",BdConf.remconf.name);
		printf("\n\t\tDESCRIPCION: %s",BdConf.remconf.desc);
		printf("\n\t\tIHW:%d",BdConf.remconf.ihw);
//		printf("\n\t\tIP (PPP):%s",BdConf.remconf.ipname);
//		printf("\n\t\tIP (ETHERNET):%s",BdConf.remconf.ipname1);
//		printf("\n\t\tHoras Funcionamiento:%ld %s \n\n",BdConf.remconf.segjulfun,"seg");
	}

	memcpy((char *)&Mbs_data[POS_MB_BDCONF_REMCONF_NAME],(char *)BdConf.remconf.name,2*SIZE_MB_BDCONF_REMCONF_NAME);
	memcpy((char *)&Mbs_data[POS_MB_BDCONF_REMCONF_DESC],(char *)BdConf.remconf.desc,2*SIZE_MB_BDCONF_REMCONF_DESC);
	Mbs_data[POS_MB_BDCONF_REMCONF_HW]=BdConf.remconf.ihw;
/*	memcpy((char *)&Mbs_data[POS_MB_BDCONF_REMCONF_IP],(char *)BdConf.remconf.ipname,2*SIZE_MB_BDCONF_REMCONF_IP);
	memcpy((char *)&Mbs_data[POS_MB_BDCONF_REMCONF_IP1],(char *)BdConf.remconf.ipname1,2*SIZE_MB_BDCONF_REMCONF_IP1);
	memcpy((char *)&Mbs_data[POS_MB_BDCONF_REMCONF_IP2],(char *)BdConf.remconf.ipname2,2*SIZE_MB_BDCONF_REMCONF_IP2);
*/


	for (i=0 ; i< NUMSENANA ; i++){
		memcpy((char *)&Mbs_data[POS_MB_BDCONF_ANACONF_TAG1 + (SIZE_MB_BDCONF_ANACONF*i)],(char *)BdConf.anaconf.tag[A1+i],2*SIZE_MB_BDCONF_ANACONF_TAG1);
		memcpy((char *)&Mbs_data[POS_MB_BDCONF_ANACONF_DESC1 + (SIZE_MB_BDCONF_ANACONF*i)],(char *)BdConf.anaconf.desc[A1+i],2*SIZE_MB_BDCONF_ANACONF_DESC1);
		memcpy((char *)&Mbs_data[POS_MB_BDCONF_ANACONF_UNI1 + (SIZE_MB_BDCONF_ANACONF*i)],(char *)BdConf.anaconf.uni[A1+i],2*SIZE_MB_BDCONF_ANACONF_UNI1);
		Float2Bytes(ISBIGENDIAN,BdConf.anaconf.fcm[A1+i],&Mbs_data[POS_MB_BDCONF_ANACONF_FCM1+ (SIZE_MB_BDCONF_ANACONF*i)]);
		Float2Bytes(ISBIGENDIAN,BdConf.anaconf.fca[A1+i],&Mbs_data[POS_MB_BDCONF_ANACONF_FCA1+ (SIZE_MB_BDCONF_ANACONF*i)]);
	}

        for (i=0 ; i< (NUMSENDIG) ; i++){
                memcpy((char *)&Mbs_data[POS_MB_BDCONF_DIGCONF_TAG1 + (SIZE_MB_BDCONF_DIGCONF*i)],(char *)BdConf.digconf.tag[D1+i],2*SIZE_MB_BDCONF_DIGCONF_TAG1);
                memcpy((char *)&Mbs_data[POS_MB_BDCONF_DIGCONF_DESC1 + (SIZE_MB_BDCONF_DIGCONF*i)],(char *)BdConf.digconf.desc[D1+i],2*SIZE_MB_BDCONF_DIGCONF_DESC1);
                memcpy((char *)&Mbs_data[POS_MB_BDCONF_DIGCONF_ETI01 + (SIZE_MB_BDCONF_DIGCONF*i)],(char *)BdConf.digconf.etiqueta0[D1+i],2*SIZE_MB_BDCONF_DIGCONF_ETI01);
                memcpy((char *)&Mbs_data[POS_MB_BDCONF_DIGCONF_ETI11 + (SIZE_MB_BDCONF_DIGCONF*i)],(char *)BdConf.digconf.etiqueta1[D1+i],2*SIZE_MB_BDCONF_DIGCONF_ETI11);
//		Mbs_data[POS_MB_BDCONF_DIGCONF_NUMDIG1 + (SIZE_MB_BDCONF_DIGCONF*i)]=(unsigned short)BdConf.digconf.Estado[D1+i];
//		memcpy((char *)&Mbs_data[POS_MB_BDCONF_DIGCONF_NUMDIG1 + (SIZE_MB_BDCONF_DIGCONF*i)],(char *)BdConf.digconf.Estado[D1+i],2*SIZE_MB_BDCONF_DIGCONF_ETI11);
        }


	// Simular primeros valores minutales

	memcpy((char *)&Mbs_data[POS_MB_ANAQM_FECHA],"24/02/1973 08:24",SIZE_MB_ANAQM_FECHA);
	Mbs_data[POS_MB_ANAMIN_ANA1]=101;
	Mbs_data[POS_MB_ANAMIN_ANA1+1]=1973;
	Mbs_data[POS_MB_ANAMIN_ANA1+2]=24;

	if (Mb_verbose){
		printf("\n\tPOS_MB_BDCONF_ANACONF_TAG1: %d SIZE_MB_BDCONF_ANACONF: %d",POS_MB_BDCONF_ANACONF_TAG1,SIZE_MB_BDCONF_ANACONF);
		printf("\n\tPOS_MB_BDCONF_DIGCONF_TAG1: %d SIZE_MB_BDCONF_DIGCONF: %d",POS_MB_BDCONF_DIGCONF_TAG1,SIZE_MB_BDCONF_DIGCONF);
		printf("\n\tPOS_MB_ANAMIN_FECHA: %d ",POS_MB_ANAMIN_FECHA);
		printf("\n\tSizeof(QM) %d",sizeof(QM));

	}

	printf("\nFin Copia a bbdd ModBus");

}