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; } }
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(); }
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; }
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(); }