int main(int argc, char **argv){

	/* Burst count */
	int i;

	/* Print error, if rp_Init() function failed */
	if(rp_Init() != RP_OK){
		fprintf(stderr, "Rp api init failed!\n");
	}
	
	rp_GenFreq(RP_CH_1, 100);
	rp_GenAmp(RP_CH_1, 1.0);
	rp_GenWaveform(RP_CH_1, RP_WAVEFORM_SINE);

	/* Enable output channel */
	rp_GenOutEnable(RP_CH_1);

	for(i = 0; i < 100; i++){
		usleep(200000);
		rp_GenBurstCount(RP_CH_1, 1);
		usleep(200000);
		rp_GenMode(RP_CH_1, RP_GEN_MODE_BURST);
	} 

	/*
	usleep(50000000);
	rp_GenBurstCount(channel, 1);
	rp_GenMode(channel, gen_mode);
	usleep(5000000);
	*/

	/* Releasing resources */
	rp_Release();
}
int main(int argc, char **argv){

        /* Print error, if rp_Init() function failed */
        if(rp_Init() != RP_OK){
                fprintf(stderr, "Rp api init failed!\n");
        }

        /*LOOB BACK FROM OUTPUT 2 - ONLY FOR TESTING*/
        rp_GenReset();
        rp_GenFreq(RP_CH_1, 20000.0);
        rp_GenAmp(RP_CH_1, 1.0);
        rp_GenWaveform(RP_CH_1, RP_WAVEFORM_SINE);
        rp_GenOutEnable(RP_CH_1);


        uint32_t buff_size = 16384;
        float *buff = (float *)malloc(buff_size * sizeof(float));

        rp_AcqReset();
        rp_AcqSetDecimation(1);
        rp_AcqSetTriggerLevel(0.1); //Trig level is set in Volts while in SCPI 
        rp_AcqSetTriggerDelay(0);

        rp_AcqStart();

        /* After acquisition is started some time delay is needed in order to acquire fresh samples in to buffer*/
        /* Here we have used time delay of one second but you can calculate exact value taking in to account buffer*/
        /*length and smaling rate*/

        sleep(1);
        rp_AcqSetTriggerSrc(RP_TRIG_SRC_CHA_PE);
        rp_acq_trig_state_t state = RP_TRIG_STATE_TRIGGERED;

        while(1){
                rp_AcqGetTriggerState(&state);
                if(state == RP_TRIG_STATE_TRIGGERED){
                sleep(1);
                break;
                }
                
        rp_AcqGetOldestDataV(RP_CH_1, &buff_size, buff);
        int i;
        for(i = 0; i < buff_size; i++){
                printf("%f\n", buff[i]);
        }
        /* Releasing resources */
        free(buff);
        rp_Release();
        return 0;
}

        }
Esempio n. 3
0
void setup_output()
{
    /* Generating frequency */
    rp_GenFreq(RP_CH_2, 0.0);

    /* Generating amplitude */
    rp_GenAmp(RP_CH_2, 0.0);

    /* Generating wave form */
    rp_GenWaveform(RP_CH_2, RP_WAVEFORM_DC );
    
    rp_GenOutEnable(RP_CH_2);
}
int main(int argc, char **argv){

        /* Burst count */


        /* Print error, if rp_Init() function failed */
        if(rp_Init() != RP_OK){
                fprintf(stderr, "Rp api init failed!\n");
        }

        rp_GenWaveform(RP_CH_1, RP_WAVEFORM_SINE);
        rp_GenFreq(RP_CH_1, 1000);
        rp_GenAmp(RP_CH_1, 1.0);

        rp_GenMode(RP_CH_1, RP_GEN_MODE_BURST);
        rp_GenBurstCount(RP_CH_1, 1);
        rp_GenBurstRepetitions(RP_CH_1, 10000);
        rp_GenBurstPeriod(RP_CH_1, 5000);
        rp_GenTrigger(1);
        sleep(1);
        rp_GenOutEnable(RP_CH_1);
        rp_Release();
}
Esempio n. 5
0
int main(int argc, char **argv){

	/* Print error, if rp_Init() function failed */
	if(rp_Init() != RP_OK){
		fprintf(stderr, "Rp api init failed!\n");
	}

	/* Generating frequency */
	rp_GenFreq(RP_CH_1, 10000.0);

	/* Generating amplitude */
	rp_GenAmp(RP_CH_1, 1.0);

	/* Generating wave form */
	rp_GenWaveform(RP_CH_1, RP_WAVEFORM_SINE);

	/* Enable channel */
	rp_GenOutEnable(RP_CH_1);

	/* Releasing resources */
	rp_Release();

	return 0;
}
Esempio n. 6
0
int main(int argc, char **argv){



	int ret_val = 0;
	ret_val = rp_Init();

	//rp_pinState_t high_state = RP_HIGH;
	//rp_pinState_t low_state = RP_LOW;  

	if(ret_val != RP_OK){
		//printf(stderr, "Rp library init failed");
	}
	//API Turning on one led 1
	/*
	rp_dpin_t pin = RP_LED1;

	while(1){
		//fprintf("Testing LED1 ON: %d\n",);
		rp_DpinSetState(pin, RP_HIGH);
	 	usleep(200000);
	 	//fprintf("Testing LED1 OFF: %d\n", ); 
	 	rp_DpinSetState(pin, RP_LOW);
	 	usleep(200000);
	}
	
	//API 2 Turning on leds based on p parameter
	rp_dpin_t pin;
	float p = 67;
	for(pin = RP_LED1; pin < RP_LED7; pin++){
		if(p >= (100/7)*pin){
			rp_DpinSetState(pin, high_state);
		}else{
			rp_DpinSetState(pin, low_state);
		}
		usleep(100000);
	}
	*/

	//API N Generating Signal at 125Msps
	/*
	rp_waveform_t signal_form = RP_WAVEFORM_SQUARE;
	rp_channel_t channel = RP_CH_1; //0
	//rp_trig_src_t trig_source = RP_GEN_TRIG_SRC_INTERNAL;
	
	if(rp_GenFreq(channel, 10000.0) == RP_OK){
		printf("Succesfuly set frequency.\n");
	}

	if(rp_GenWaveform(channel, signal_form) == RP_OK){
		printf("Succesfully set signal form.\n");
	}
	
	if(rp_GenAmp(channel, 1.0) == RP_OK){
		printf("Succesfuly set amplitude.\n");
	}

	if(rp_GenOutEnable(channel) == RP_OK){
		printf("Succesfuly enabled ch1.\n");
	}

	*/
	rp_acq_trig_src_t trig_source = RP_TRIG_SRC_NOW;
	uint32_t array_size = 16 * 1024;

	float *buff = (float *)malloc(array_size * sizeof(float));

	rp_AcqStart();
	rp_AcqSetTriggerSrc(trig_source);
	printf("Checking seg. fault 1\n");
	int ret = rp_AcqGetOldestDataV(channel, &array_size, buff);
	printf("Ret val: %d\n", ret);

	printf("Checking seg. fault 2\n");
	int i;
	for (i = 0; i < array_size; ++i)
	{
		printf("Data: %f\n", buff[i]);
	}

	if(rp_GenOutEnable(channel) == RP_OK){
		printf("Succesfuly enabled ch1.\n");
	}

	ret_val = rp_Release();
}