Test and Measurement Forum

Specifying a duty cycle with C - Picoscope 2205A

Post your C and C++ discussions here

Specifying a duty cycle with C - Picoscope 2205A

Postby rcrodriguez » Fri Aug 19, 2016 9:55 pm

Hello,

I'm using your C API functions to control the Picoscope 2205A. I'm looking to generate a square waveform signal with a specified duty cycle. I know there's a way to specify the duty cycle in the GUI, but is there any way of doing it with C?
Thanks.
rcrodriguez
Newbie
 
Posts: 0
Joined: Fri Aug 19, 2016 9:41 pm

Re: Specifying a duty cycle with C - Picoscope 2205A

Postby Hitesh » Tue Aug 23, 2016 7:41 am

Hi rcrodriguez,

You can use the ps2000_set_sig_gen_arbitrary() function to load in your own defined waveform, so you can adjust the duty cycle by changing the point at which your waveform goes from low to high in the in the buffer.

The maximum AWG buffer size is 4096 samples.

Hope this helps,
Hitesh

Technical Specialist
Pico Technology
Hitesh
Site Admin
Site Admin
 
Posts: 2009
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire

Re: Specifying a duty cycle with C - Picoscope 2205A

Postby rcrodriguez » Tue Aug 23, 2016 4:26 pm

Hello, thanks for your response.

I was looking at this function in the SDK example provided. I'm not quite sure on the format of the values. It says max 4096 values with inputs 0-255. Does this mean the waveform will have a max 8-bit resolution?

Also, I'm assuming the file will just have 1 value (0-255) in each line, correct? Is there anyway that you can provide me with a sample file to test and follow?

Thanks.
rcrodriguez
Newbie
 
Posts: 0
Joined: Fri Aug 19, 2016 9:41 pm

Re: Specifying a duty cycle with C - Picoscope 2205A

Postby Hitesh » Wed Aug 24, 2016 10:01 am

Hi rcrodriguez,

The 0 - 255 range is supposed to map to the minimum and maximum output level of the waveform. For example if you set the peak to peak voltage to 2000000 microvolts (i.e. +/- 1 V), then 0 will correspond to -1 V and 255 to +1 V.

The output resolution for the AWG is 12 bits so the values are scaled.

Please find attached an example file, where each value is on a separate line.

ps2000_ramp.txt
Example AWG file for PS2000 driver
(18.29 KiB) Downloaded 10 times

Hope this helps,
Hitesh

Technical Specialist
Pico Technology
Hitesh
Site Admin
Site Admin
 
Posts: 2009
Joined: Tue May 31, 2011 3:43 pm
Location: St. Neots, Cambridgeshire


Return to C and C++

Who is online

Users browsing this forum: No registered users and 0 guests