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