Difference between revisions of "Component: PicoScope (PS2000) (Test Equipment)"

From Flowcode Help
Jump to navigationJump to search
 
(10 intermediate revisions by one other user not shown)
Line 17: Line 17:
 
==Component Source Code==
 
==Component Source Code==
  
Please click here for the component source code: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_PS2000.fcsx FC_Comp_Source_PS2000.fcsx]
+
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_PS2000.fcsx FC_Comp_Source_PS2000.fcsx]
 +
 
 +
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_PS2000.fcsx FC_Comp_Source_PS2000.fcsx]
  
 
==Detailed description==
 
==Detailed description==
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
  
Line 51: Line 65:
  
  
An example project showing the capabilities of the Velleman K8055D board combined with a Pico Technology series 2 scope.
 
  
{{Fcfile|Velleman_and_Picoscope_v2.fcfx|Velleman and Picoscope Demo}}
 
  
==Downloadable macro reference==
 
  
 +
 +
 +
''<span style="color:red;">No additional examples</span>''
 +
 +
==Macro reference==
 +
 +
===ps2000_close_unit===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_close_unit'''
 +
|-
 +
| colspan="2" | This function shuts down an oscilloscope.&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | Handle
 +
|-
 +
| colspan="2" | The handle of the scope device to be closed&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 +
 +
===ps2000_flash_led===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_flash_led'''
 +
|-
 +
| colspan="2" | This function flashes the LED on the front of the scope without blocking the calling thread. &nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | handle
 +
|-
 +
| colspan="2" | handle of the scope device&nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 +
 +
===ps2000_get_timebase===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 105: Line 161:
  
  
 +
===ps2000_get_times_and_values===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_open_unit_progress'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_get_times_and_values'''
 
|-
 
|-
| colspan="2" | This function checks on the progress of a request made to ps2000aOpenUnitAsync to open a scope.&nbsp;
+
| colspan="2" | &nbsp;
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | handle
+
| width="90%" | Handle
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG
 +
| width="90%" | times
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Progress
+
| width="90%" | buffer_a
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | buffer_b
|}
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
| colspan="2" | &nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_flash_led'''
 
 
|-
 
|-
| colspan="2" | This function flashes the LED on the front of the scope without blocking the calling thread. &nbsp;
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | buffer_c
 
|-
 
|-
 +
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | handle
+
| width="90%" | buffer_d
 
|-
 
|-
| colspan="2" | handle of the scope device&nbsp;
+
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | overflow
|}
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
| colspan="2" | &nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_stop'''
 
 
|-
 
|-
| colspan="2" | This function stops the scope device from sampling data. If this function is called before a trigger event occurs, the oscilloscope may not contain valid data.&nbsp;
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | time_units
 
|-
 
|-
 +
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
+
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG
| width="90%" | Handle
+
| width="90%" | no_of_samples
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s32-icon.png]] - LONG
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===ps2000_get_unit_info===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 197: Line 254:
  
  
 +
===ps2000_get_values===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_set_channel'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_get_values'''
 +
|-
 +
| colspan="2" | This function returns block-mode data, with or without downsampling.&nbsp;
 +
|-
 
|-
 
|-
| colspan="2" | This function specifies whether an input channel is to be enabled, its input coupling type, voltage range, analog offset and bandwidth limit.&nbsp;
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" | Handle
 
|-
 
|-
 +
| colspan="2" | the handle of the required device.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | handle
+
| width="90%" | buffer_a
 
|-
 
|-
| colspan="2" | Handle of the device&nbsp;
+
| colspan="2" | Start point for data collection&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | channel
+
| width="90%" | buffer_b
 
|-
 
|-
| colspan="2" | the channel to be configured.  The values are: 0=ChanA / 1=ChanB&nbsp;
+
| colspan="2" | Number of samples&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | enabled
+
| width="90%" | buffer_c
 
|-
 
|-
| colspan="2" | whether or not to enable the channel.  The values are: 0=Disable / 1=Enable&nbsp;
+
| colspan="2" | Down sample ratio&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | dc
+
| width="90%" | buffer_d
 
|-
 
|-
| colspan="2" | the impedance and coupling type. Values: 0=AC / 1=DC&nbsp;
+
| colspan="2" | Down sample mode : 0=None / 1=Aggregate / 2=Decimate / 4=Average&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | range
+
| width="90%" | overflow
 +
|-
 +
| colspan="2" | Flags to indicate if an overflow has occurred&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG
 +
| width="90%" | no_of_samples
 +
|-
 +
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s32-icon.png]] - LONG
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===ps2000_open_unit===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_open_unit'''
 +
|-
 +
| colspan="2" | Returns a handle to the opened unit Returns 0 if no unit found Returns -1 if unit failed to open&nbsp;
 +
|-
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===ps2000_open_unit_async===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_open_unit_async'''
 +
|-
 +
| colspan="2" | This function opens a scope without blocking the calling thread.&nbsp;
 
|-
 
|-
| colspan="2" | the input voltage range: 0=50mV / 1=100mV / 2=200mV / 3=500mV / 4=1V / 5=2V / 6=5V / 7=10V / 8=20V&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
Line 235: Line 331:
  
  
 +
===ps2000_open_unit_progress===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_get_times_and_values'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_open_unit_progress'''
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | This function checks on the progress of a request made to ps2000aOpenUnitAsync to open a scope.&nbsp;
 
|-
 
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Handle
+
| width="90%" | handle
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | times
+
| width="90%" | Progress
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | buffer_a
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===ps2000_ready===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_ready'''
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 +
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | buffer_b
+
| width="90%" | Handle
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 +
|-
 +
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 +
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 +
 +
===ps2000_run_block===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 +
|-
 +
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_run_block'''
 +
|-
 +
| colspan="2" | This function starts collecting data in block mode.&nbsp;
 +
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | buffer_c
+
| width="90%" | handle
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
+
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG
| width="90%" | buffer_d
+
| width="90%" | no_of_samples
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | overflow
+
| width="90%" | timebase
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | time_units
+
| width="90%" | oversample
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG
 
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG
| width="90%" | no_of_samples
+
| width="90%" | time_indisposed_ms
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s32-icon.png]] - LONG
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===ps2000_set_channel===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_set_trigger'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_set_channel'''
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | This function specifies whether an input channel is to be enabled, its input coupling type, voltage range, analog offset and bandwidth limit.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 304: Line 425:
 
| width="90%" | handle
 
| width="90%" | handle
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | Handle of the device&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | source
+
| width="90%" | channel
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | the channel to be configured.  The values are: 0=ChanA / 1=ChanB&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | threshold
+
| width="90%" | enabled
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | whether or not to enable the channel.  The values are: 0=Disable / 1=Enable&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | direction
+
| width="90%" | dc
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | the impedance and coupling type. Values: 0=AC / 1=DC&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | delay
+
| width="90%" | range
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | the input voltage range: 0=50mV / 1=100mV / 2=200mV / 3=500mV / 4=1V / 5=2V / 6=5V / 7=10V / 8=20V&nbsp;
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" | auto_trigger_ms
 
|-
 
| colspan="2" | &nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
Line 336: Line 452:
  
  
 +
===ps2000_set_sig_gen_built_in===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 399: Line 516:
  
  
 +
===ps2000_set_trigger===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_close_unit'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_set_trigger'''
 
|-
 
|-
| colspan="2" | This function shuts down an oscilloscope.&nbsp;
+
| colspan="2" | &nbsp;
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" | Handle
 
|-
 
| colspan="2" | The handle of the scope device to be closed&nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_run_block'''
 
|-
 
| colspan="2" | This function starts collecting data in block mode.&nbsp;
 
 
|-
 
|-
 
|-
 
|-
Line 430: Line 530:
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | no_of_samples
+
| width="90%" | source
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | timebase
+
| width="90%" | threshold
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | oversample
+
| width="90%" | direction
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG
+
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | time_indisposed_ms
+
| width="90%" | delay
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_get_values'''
 
|-
 
| colspan="2" | This function returns block-mode data, with or without downsampling.&nbsp;
 
|-
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
| width="90%" | Handle
+
| width="90%" | auto_trigger_ms
|-
 
| colspan="2" | the handle of the required device.&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" | buffer_a
 
|-
 
| colspan="2" | Start point for data collection&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" | buffer_b
 
|-
 
| colspan="2" | Number of samples&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" | buffer_c
 
|-
 
| colspan="2" | Down sample ratio&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" | buffer_d
 
|-
 
| colspan="2" | Down sample mode : 0=None / 1=Aggregate / 2=Decimate / 4=Average&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" | overflow
 
|-
 
| colspan="2" | Flags to indicate if an overflow has occurred&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-s32-icon.png]] - LONG
 
| width="90%" | no_of_samples
 
 
|-
 
|-
 
| colspan="2" | &nbsp;
 
| colspan="2" | &nbsp;
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s32-icon.png]] - LONG
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===ps2000_stop===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_ready'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_stop'''
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | This function stops the scope device from sampling data. If this function is called before a trigger event occurs, the oscilloscope may not contain valid data.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 519: Line 577:
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_open_unit_async'''
 
|-
 
| colspan="2" | This function opens a scope without blocking the calling thread.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ps2000_open_unit'''
 
|-
 
| colspan="2" | Returns a handle to the opened unit Returns 0 if no unit found Returns -1 if unit failed to open&nbsp;
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-s16-icon.png]] - INT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
  
  

Latest revision as of 08:01, 18 January 2024

Author Matrix Ltd
Version 1.0
Category Test Equipment


PicoScope component

A set of functions designed for interacting with a 2000 series Pico scope via simulation.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_PS2000.fcsx

Please click here to view the component source code (Beta): FC_Comp_Source_PS2000.fcsx

Detailed description

No detailed description exists yet for this component

Examples

No additional examples

Macro reference

ps2000_close_unit

Fc9-comp-macro.png ps2000_close_unit
This function shuts down an oscilloscope. 
Fc9-s16-icon.png - INT Handle
The handle of the scope device to be closed 
Fc9-s16-icon.png - INT Return


ps2000_flash_led

Fc9-comp-macro.png ps2000_flash_led
This function flashes the LED on the front of the scope without blocking the calling thread.  
Fc9-s16-icon.png - INT handle
handle of the scope device 
Fc9-s16-icon.png - INT Return


ps2000_get_timebase

Fc9-comp-macro.png ps2000_get_timebase
Returns details associated with the selected timebase index 
Fc9-s16-icon.png - INT Handle
the handle of the required device. 
Fc9-s16-icon.png - INT timebase
The ps2000a API allows you to select any of 2 32 different timebases based on a maximum sampling rate of 1 GS/s. 
Fc9-s32-icon.png - LONG no_of_samples
number of samples required 
Fc9-s32-icon.png - LONG time_interval
time interval between readings at the selected timebase. Use NULL if not required. 
Fc9-s16-icon.png - INT time_units
 
Fc9-s16-icon.png - INT oversample
not used. 
Fc9-s32-icon.png - LONG max_samples
on exit, the maximum number of samples available. 
Fc9-s16-icon.png - INT Return


ps2000_get_times_and_values

Fc9-comp-macro.png ps2000_get_times_and_values
 
Fc9-s16-icon.png - INT Handle
 
Fc9-s32-icon.png - LONG times
 
Fc9-s16-icon.png - INT buffer_a
 
Fc9-s16-icon.png - INT buffer_b
 
Fc9-s16-icon.png - INT buffer_c
 
Fc9-s16-icon.png - INT buffer_d
 
Fc9-s16-icon.png - INT overflow
 
Fc9-s16-icon.png - INT time_units
 
Fc9-s32-icon.png - LONG no_of_samples
 
Fc9-s32-icon.png - LONG Return


ps2000_get_unit_info

Fc9-comp-macro.png ps2000_get_unit_info
This function retrieves information about the specified oscilloscope. 
Fc9-s16-icon.png - INT Handle
the handle of the device 
Fc9-string-icon.png - STRING info_string
unit information string 
Fc9-s16-icon.png - INT string_length
the maximum number of chars in the string 
Fc9-s16-icon.png - INT info_line
a number specifying what information is required. 0=DriverVersion / 1=USBVersion / 2=HardwareVersion / 3=VariantInfo / 4=BatchAndSerial / 5=CalDate / 6=KernelVersion / 7=DigHardwareVersion / 8=AnHardwareVersion 
Fc9-s16-icon.png - INT Return


ps2000_get_values

Fc9-comp-macro.png ps2000_get_values
This function returns block-mode data, with or without downsampling. 
Fc9-s16-icon.png - INT Handle
the handle of the required device. 
Fc9-s16-icon.png - INT buffer_a
Start point for data collection 
Fc9-s16-icon.png - INT buffer_b
Number of samples 
Fc9-s16-icon.png - INT buffer_c
Down sample ratio 
Fc9-s16-icon.png - INT buffer_d
Down sample mode : 0=None / 1=Aggregate / 2=Decimate / 4=Average 
Fc9-s16-icon.png - INT overflow
Flags to indicate if an overflow has occurred 
Fc9-s32-icon.png - LONG no_of_samples
 
Fc9-s32-icon.png - LONG Return


ps2000_open_unit

Fc9-comp-macro.png ps2000_open_unit
Returns a handle to the opened unit Returns 0 if no unit found Returns -1 if unit failed to open 
Fc9-s16-icon.png - INT Return


ps2000_open_unit_async

Fc9-comp-macro.png ps2000_open_unit_async
This function opens a scope without blocking the calling thread. 
Fc9-s16-icon.png - INT Return


ps2000_open_unit_progress

Fc9-comp-macro.png ps2000_open_unit_progress
This function checks on the progress of a request made to ps2000aOpenUnitAsync to open a scope. 
Fc9-s16-icon.png - INT handle
 
Fc9-s16-icon.png - INT Progress
 
Fc9-s16-icon.png - INT Return


ps2000_ready

Fc9-comp-macro.png ps2000_ready
 
Fc9-s16-icon.png - INT Handle
 
Fc9-s16-icon.png - INT Return


ps2000_run_block

Fc9-comp-macro.png ps2000_run_block
This function starts collecting data in block mode. 
Fc9-s16-icon.png - INT handle
 
Fc9-s32-icon.png - LONG no_of_samples
 
Fc9-s16-icon.png - INT timebase
 
Fc9-s16-icon.png - INT oversample
 
Fc9-s32-icon.png - LONG time_indisposed_ms
 
Fc9-s16-icon.png - INT Return


ps2000_set_channel

Fc9-comp-macro.png ps2000_set_channel
This function specifies whether an input channel is to be enabled, its input coupling type, voltage range, analog offset and bandwidth limit. 
Fc9-s16-icon.png - INT handle
Handle of the device 
Fc9-s16-icon.png - INT channel
the channel to be configured. The values are: 0=ChanA / 1=ChanB 
Fc9-s16-icon.png - INT enabled
whether or not to enable the channel. The values are: 0=Disable / 1=Enable 
Fc9-s16-icon.png - INT dc
the impedance and coupling type. Values: 0=AC / 1=DC 
Fc9-s16-icon.png - INT range
the input voltage range: 0=50mV / 1=100mV / 2=200mV / 3=500mV / 4=1V / 5=2V / 6=5V / 7=10V / 8=20V 
Fc9-s16-icon.png - INT Return


ps2000_set_sig_gen_built_in

Fc9-comp-macro.png ps2000_set_sig_gen_built_in
sets up the signal generator to produce a signal from a list of built-in waveforms 
Fc9-s16-icon.png - INT Handle
Handle to the device 
Fc9-s32-icon.png - LONG Offset_uV
the voltage offset, in microvolts, to be applied to the waveform 
Fc9-u32-icon.png - ULONG pk2pk_uV
the peak-to-peak voltage, in microvolts, of the waveform 
Fc9-s16-icon.png - INT waveType
the type of waveform to be generated. 0=Sine / 1=Square / 2=Triangle / 3=RampUp / 4=RampDown / 5=Sinc / 6=Gaus / 7=HalfSine / 8=DC 
Fc9-f32-icon.png - FLOAT startFrequency
the frequency that the signal generator will initially produce 
Fc9-f32-icon.png - FLOAT stopFrequency
the frequency at which the sweep reverses direction or returns to initial 
Fc9-f32-icon.png - FLOAT increment
the amount of frequency increase or decrease in sweep mode 
Fc9-f32-icon.png - FLOAT dwellTime
the time for which the sweep stays at each frequency, in seconds 
Fc9-s16-icon.png - INT sweepType
whether the frequency will sweep from startFrequency to stopFrequency. 0=Up, 1=Down, 2=UpDown, 3=DownUp 
Fc9-u32-icon.png - ULONG sweeps
produce number of cycles specified by shots 
Fc9-s16-icon.png - INT Return


ps2000_set_trigger

Fc9-comp-macro.png ps2000_set_trigger
 
Fc9-s16-icon.png - INT handle
 
Fc9-s16-icon.png - INT source
 
Fc9-s16-icon.png - INT threshold
 
Fc9-s16-icon.png - INT direction
 
Fc9-s16-icon.png - INT delay
 
Fc9-s16-icon.png - INT auto_trigger_ms
 
Fc9-s16-icon.png - INT Return


ps2000_stop

Fc9-comp-macro.png ps2000_stop
This function stops the scope device from sampling data. If this function is called before a trigger event occurs, the oscilloscope may not contain valid data. 
Fc9-s16-icon.png - INT Handle
 
Fc9-s16-icon.png - INT Return


Property reference

Fc9-prop-icon.png Properties