Code covered by the BSD License  

Highlights from
PicoScope® 5000 Series - MATLAB® Generic Instrument Driver

image thumbnail
from PicoScope® 5000 Series - MATLAB® Generic Instrument Driver by Pico Technology
MATLAB Instrument Driver for use with PicoScope 5000 Series oscilloscopes (Beta Release)

[methodinfo,structs,enuminfo,ThunkLibName]=ps5000aMFile
function [methodinfo,structs,enuminfo,ThunkLibName]=ps5000aMFile
%PS5000AMFILE Create structures to define interfaces found in 'ps5000aApi'.

%This function was generated by loadlibrary.m parser version 1.1.6.38 on Thu May  2 16:26:01 2013
%perl options:'ps5000aApi.i -outfile=ps5000aMFile.m'
ival={cell(1,0)}; % change 0 to the actual number of functions to preallocate the data.
structs=[];enuminfo=[];fcnNum=1;
fcns=struct('name',ival,'calltype',ival,'LHS',ival,'RHS',ival,'alias',ival);
ThunkLibName=[];
% PICO_STATUS _stdcall ps5000aOpenUnit ( short * handle , char * serial , PS5000A_DEVICE_RESOLUTION resolution ); 
fcns.name{fcnNum}='ps5000aOpenUnit'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16Ptr', 'cstring', 'enPS5000ADeviceResolution'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aOpenUnitAsync ( short * status , char * serial , PS5000A_DEVICE_RESOLUTION resolution ); 
fcns.name{fcnNum}='ps5000aOpenUnitAsync'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16Ptr', 'cstring', 'enPS5000ADeviceResolution'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aOpenUnitProgress ( short * handle , short * progressPercent , short * complete ); 
fcns.name{fcnNum}='ps5000aOpenUnitProgress'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16Ptr', 'int16Ptr', 'int16Ptr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetUnitInfo ( short handle , char * string , short stringLength , short * requiredSize , PICO_INFO info ); 
fcns.name{fcnNum}='ps5000aGetUnitInfo'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'cstring', 'int16', 'int16Ptr', 'ulong'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aFlashLed ( short handle , short start ); 
fcns.name{fcnNum}='ps5000aFlashLed'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'int16'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aIsLedFlashing ( short handle , short * status ); 
fcns.name{fcnNum}='ps5000aIsLedFlashing'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'int16Ptr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aCloseUnit ( short handle ); 
fcns.name{fcnNum}='ps5000aCloseUnit'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aMemorySegments ( short handle , unsigned long nSegments , long * nMaxSamples ); 
fcns.name{fcnNum}='ps5000aMemorySegments'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulong', 'longPtr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetChannel ( short handle , PS5000A_CHANNEL channel , short enabled , PS5000A_COUPLING type , PS5000A_RANGE range , float analogOffset ); 
fcns.name{fcnNum}='ps5000aSetChannel'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'enPS5000AChannel', 'int16', 'enPS5000ACoupling', 'enPS5000ARange', 'single'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetBandwidthFilter ( short handle , PS5000A_CHANNEL channel , PS5000A_BANDWIDTH_LIMITER bandwidth ); 
fcns.name{fcnNum}='ps5000aSetBandwidthFilter'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'enPS5000AChannel', 'enPS5000ABandwidthLimiter'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetTimebase ( short handle , unsigned long timebase , long noSamples , long * timeIntervalNanoseconds , long * maxSamples , unsigned long segmentIndex ); 
fcns.name{fcnNum}='ps5000aGetTimebase'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulong', 'long', 'longPtr', 'longPtr', 'ulong'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetTimebase2 ( short handle , unsigned long timebase , long noSamples , float * timeIntervalNanoseconds , long * maxSamples , unsigned long segmentIndex ); 
fcns.name{fcnNum}='ps5000aGetTimebase2'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulong', 'long', 'singlePtr', 'longPtr', 'ulong'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetSigGenArbitrary ( short handle , long offsetVoltage , unsigned long pkToPk , unsigned long startDeltaPhase , unsigned long stopDeltaPhase , unsigned long deltaPhaseIncrement , unsigned long dwellCount , short * arbitraryWaveform , long arbitraryWaveformSize , PS5000A_SWEEP_TYPE sweepType , PS5000A_EXTRA_OPERATIONS operation , PS5000A_INDEX_MODE indexMode , unsigned long shots , unsigned long sweeps , PS5000A_SIGGEN_TRIG_TYPE triggerType , PS5000A_SIGGEN_TRIG_SOURCE triggerSource , short extInThreshold ); 
fcns.name{fcnNum}='ps5000aSetSigGenArbitrary'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'long', 'ulong', 'ulong', 'ulong', 'ulong', 'ulong', 'int16Ptr', 'long', 'enPS5000ASweepType', 'enPS5000AExtraOperations', 'enPS5000AIndexMode', 'ulong', 'ulong', 'enPS5000ASigGenTrigType', 'enPS5000ASigGenTrigSource', 'int16'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetSigGenBuiltIn ( short handle , long offsetVoltage , unsigned long pkToPk , PS5000A_WAVE_TYPE waveType , float startFrequency , float stopFrequency , float increment , float dwellTime , PS5000A_SWEEP_TYPE sweepType , PS5000A_EXTRA_OPERATIONS operation , unsigned long shots , unsigned long sweeps , PS5000A_SIGGEN_TRIG_TYPE triggerType , PS5000A_SIGGEN_TRIG_SOURCE triggerSource , short extInThreshold ); 
fcns.name{fcnNum}='ps5000aSetSigGenBuiltIn'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'long', 'ulong', 'enPS5000AWaveType', 'single', 'single', 'single', 'single', 'enPS5000ASweepType', 'enPS5000AExtraOperations', 'ulong', 'ulong', 'enPS5000ASigGenTrigType', 'enPS5000ASigGenTrigSource', 'int16'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSigGenSoftwareControl ( short handle , short state ); 
fcns.name{fcnNum}='ps5000aSigGenSoftwareControl'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'int16'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetEts ( short handle , PS5000A_ETS_MODE mode , short etsCycles , short etsInterleave , long * sampleTimePicoseconds ); 
fcns.name{fcnNum}='ps5000aSetEts'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'enPS5000AEtsMode', 'int16', 'int16', 'longPtr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetTriggerChannelProperties ( short handle , PS5000A_TRIGGER_CHANNEL_PROPERTIES * channelProperties , short nChannelProperties , short auxOutputEnable , long autoTriggerMilliseconds ); 
fcns.name{fcnNum}='ps5000aSetTriggerChannelProperties'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'tPS5000ATriggerChannelPropertiesPtr', 'int16', 'int16', 'long'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetTriggerChannelConditions ( short handle , PS5000A_TRIGGER_CONDITIONS * conditions , short nConditions ); 
fcns.name{fcnNum}='ps5000aSetTriggerChannelConditions'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'tPS5000ATriggerConditionsPtr', 'int16'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetTriggerChannelDirections ( short handle , PS5000A_THRESHOLD_DIRECTION channelA , PS5000A_THRESHOLD_DIRECTION channelB , PS5000A_THRESHOLD_DIRECTION channelC , PS5000A_THRESHOLD_DIRECTION channelD , PS5000A_THRESHOLD_DIRECTION ext , PS5000A_THRESHOLD_DIRECTION aux ); 
fcns.name{fcnNum}='ps5000aSetTriggerChannelDirections'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'enPS5000AThresholdDirection', 'enPS5000AThresholdDirection', 'enPS5000AThresholdDirection', 'enPS5000AThresholdDirection', 'enPS5000AThresholdDirection', 'enPS5000AThresholdDirection'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetSimpleTrigger ( short handle , short enable , PS5000A_CHANNEL source , short threshold , PS5000A_THRESHOLD_DIRECTION direction , unsigned long delay , short autoTrigger_ms ); 
fcns.name{fcnNum}='ps5000aSetSimpleTrigger'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'int16', 'enPS5000AChannel', 'int16', 'enPS5000AThresholdDirection', 'ulong', 'int16'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetTriggerDelay ( short handle , unsigned long delay ); 
fcns.name{fcnNum}='ps5000aSetTriggerDelay'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulong'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetPulseWidthQualifier ( short handle , PS5000A_PWQ_CONDITIONS * conditions , short nConditions , PS5000A_THRESHOLD_DIRECTION direction , unsigned long lower , unsigned long upper , PS5000A_PULSE_WIDTH_TYPE type ); 
fcns.name{fcnNum}='ps5000aSetPulseWidthQualifier'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'tPS5000APwqConditionsPtr', 'int16', 'enPS5000AThresholdDirection', 'ulong', 'ulong', 'enPS5000APulseWidthType'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aIsTriggerOrPulseWidthQualifierEnabled ( short handle , short * triggerEnabled , short * pulseWidthQualifierEnabled ); 
fcns.name{fcnNum}='ps5000aIsTriggerOrPulseWidthQualifierEnabled'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'int16Ptr', 'int16Ptr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetTriggerTimeOffset ( short handle , unsigned long * timeUpper , unsigned long * timeLower , unsigned int * timeUnits , unsigned long segmentIndex ); 
fcns.name{fcnNum}='ps5000aGetTriggerTimeOffset'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulongPtr', 'ulongPtr', 'uint32Ptr', 'ulong'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetTriggerTimeOffset64 ( short handle , long long * time , unsigned int * timeUnits , unsigned long segmentIndex ); 
fcns.name{fcnNum}='ps5000aGetTriggerTimeOffset64'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'int64Ptr', 'uint32Ptr', 'ulong'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetValuesTriggerTimeOffsetBulk ( short handle , unsigned long * timesUpper , unsigned long * timesLower , unsigned int * timeUnits , unsigned long fromSegmentIndex , unsigned long toSegmentIndex ); 
fcns.name{fcnNum}='ps5000aGetValuesTriggerTimeOffsetBulk'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulongPtr', 'ulongPtr', 'uint32Ptr', 'ulong', 'ulong'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetValuesTriggerTimeOffsetBulk64 ( short handle , long long * times , unsigned int * timeUnits , unsigned long fromSegmentIndex , unsigned long toSegmentIndex ); 
fcns.name{fcnNum}='ps5000aGetValuesTriggerTimeOffsetBulk64'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'int64Ptr', 'uint32Ptr', 'ulong', 'ulong'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetDataBuffers ( short handle , PS5000A_CHANNEL channel , short * bufferMax , short * bufferMin , long bufferLth , unsigned long segmentIndex , PS5000A_RATIO_MODE mode ); 
fcns.name{fcnNum}='ps5000aSetDataBuffers'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'enPS5000AChannel', 'int16Ptr', 'int16Ptr', 'long', 'ulong', 'enPS5000ARatioMode'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetDataBuffer ( short handle , PS5000A_CHANNEL channel , short * buffer , long bufferLth , unsigned long segmentIndex , PS5000A_RATIO_MODE mode ); 
fcns.name{fcnNum}='ps5000aSetDataBuffer'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'enPS5000AChannel', 'int16Ptr', 'long', 'ulong', 'enPS5000ARatioMode'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetEtsTimeBuffer ( short handle , long long * buffer , long bufferLth ); 
fcns.name{fcnNum}='ps5000aSetEtsTimeBuffer'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'int64Ptr', 'long'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetEtsTimeBuffers ( short handle , unsigned long * timeUpper , unsigned long * timeLower , long bufferLth ); 
fcns.name{fcnNum}='ps5000aSetEtsTimeBuffers'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulongPtr', 'ulongPtr', 'long'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aIsReady ( short handle , short * ready ); 
fcns.name{fcnNum}='ps5000aIsReady'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'int16Ptr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aRunBlock ( short handle , long noOfPreTriggerSamples , long noOfPostTriggerSamples , unsigned long timebase , long * timeIndisposedMs , unsigned long segmentIndex , ps5000aBlockReady lpReady , void * pParameter ); 
fcns.name{fcnNum}='ps5000aRunBlock'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'long', 'long', 'ulong', 'longPtr', 'ulong', 'FcnPtr', 'voidPtr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aRunStreaming ( short handle , unsigned long * sampleInterval , PS5000A_TIME_UNITS sampleIntervalTimeUnits , unsigned long maxPreTriggerSamples , unsigned long maxPostTriggerSamples , short autoStop , unsigned long downSampleRatio , PS5000A_RATIO_MODE downSampleRatioMode , unsigned long overviewBufferSize ); 
fcns.name{fcnNum}='ps5000aRunStreaming'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulongPtr', 'enPS5000ATimeUnits', 'ulong', 'ulong', 'int16', 'ulong', 'enPS5000ARatioMode', 'ulong'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetStreamingLatestValues ( short handle , ps5000aStreamingReady lpPs5000aReady , void * pParameter ); 
fcns.name{fcnNum}='ps5000aGetStreamingLatestValues'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'FcnPtr', 'voidPtr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aNoOfStreamingValues ( short handle , unsigned long * noOfValues ); 
fcns.name{fcnNum}='ps5000aNoOfStreamingValues'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulongPtr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetMaxDownSampleRatio ( short handle , unsigned long noOfUnaggreatedSamples , unsigned long * maxDownSampleRatio , PS5000A_RATIO_MODE downSampleRatioMode , unsigned long segmentIndex ); 
fcns.name{fcnNum}='ps5000aGetMaxDownSampleRatio'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulong', 'ulongPtr', 'enPS5000ARatioMode', 'ulong'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetValues ( short handle , unsigned long startIndex , unsigned long * noOfSamples , unsigned long downSampleRatio , PS5000A_RATIO_MODE downSampleRatioMode , unsigned long segmentIndex , short * overflow ); 
fcns.name{fcnNum}='ps5000aGetValues'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulong', 'ulongPtr', 'ulong', 'enPS5000ARatioMode', 'ulong', 'int16Ptr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetValuesAsync ( short handle , unsigned long startIndex , unsigned long noOfSamples , unsigned long downSampleRatio , PS5000A_RATIO_MODE downSampleRatioMode , unsigned long segmentIndex , void * lpDataReady , void * pParameter ); 
fcns.name{fcnNum}='ps5000aGetValuesAsync'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulong', 'ulong', 'ulong', 'enPS5000ARatioMode', 'ulong', 'voidPtr', 'voidPtr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetValuesBulk ( short handle , unsigned long * noOfSamples , unsigned long fromSegmentIndex , unsigned long toSegmentIndex , unsigned long downSampleRatio , PS5000A_RATIO_MODE downSampleRatioMode , short * overflow ); 
fcns.name{fcnNum}='ps5000aGetValuesBulk'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulongPtr', 'ulong', 'ulong', 'ulong', 'enPS5000ARatioMode', 'int16Ptr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetValuesOverlapped ( short handle , unsigned long startIndex , unsigned long * noOfSamples , unsigned long downSampleRatio , PS5000A_RATIO_MODE downSampleRatioMode , unsigned long segmentIndex , short * overflow ); 
fcns.name{fcnNum}='ps5000aGetValuesOverlapped'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulong', 'ulongPtr', 'ulong', 'enPS5000ARatioMode', 'ulong', 'int16Ptr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetValuesOverlappedBulk ( short handle , unsigned long startIndex , unsigned long * noOfSamples , unsigned long downSampleRatio , PS5000A_RATIO_MODE downSampleRatioMode , unsigned long fromSegmentIndex , unsigned long toSegmentIndex , short * overflow ); 
fcns.name{fcnNum}='ps5000aGetValuesOverlappedBulk'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulong', 'ulongPtr', 'ulong', 'enPS5000ARatioMode', 'ulong', 'ulong', 'int16Ptr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aEnumerateUnits ( short * count , char * serials , short * serialLth ); 
fcns.name{fcnNum}='ps5000aEnumerateUnits'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16Ptr', 'cstring', 'int16Ptr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetChannelInformation ( short handle , PS5000A_CHANNEL_INFO info , int probe , int * ranges , int * length , int channels ); 
fcns.name{fcnNum}='ps5000aGetChannelInformation'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'enPS5000AChannelInfo', 'int32', 'int32Ptr', 'int32Ptr', 'int32'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aMaximumValue ( short handle , short * value ); 
fcns.name{fcnNum}='ps5000aMaximumValue'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'int16Ptr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aMinimumValue ( short handle , short * value ); 
fcns.name{fcnNum}='ps5000aMinimumValue'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'int16Ptr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetAnalogueOffset ( short handle , PS5000A_RANGE range , PS5000A_COUPLING coupling , float * maximumVoltage , float * minimumVoltage ); 
fcns.name{fcnNum}='ps5000aGetAnalogueOffset'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'enPS5000ARange', 'enPS5000ACoupling', 'singlePtr', 'singlePtr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetMaxSegments ( short handle , unsigned long * maxSegments ); 
fcns.name{fcnNum}='ps5000aGetMaxSegments'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulongPtr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aChangePowerSource ( short handle , PICO_STATUS powerState ); 
fcns.name{fcnNum}='ps5000aChangePowerSource'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulong'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aCurrentPowerSource ( short handle ); 
fcns.name{fcnNum}='ps5000aCurrentPowerSource'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aStop ( short handle ); 
fcns.name{fcnNum}='ps5000aStop'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aPingUnit ( short handle ); 
fcns.name{fcnNum}='ps5000aPingUnit'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetNoOfCaptures ( short handle , unsigned long nCaptures ); 
fcns.name{fcnNum}='ps5000aSetNoOfCaptures'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulong'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetNoOfCaptures ( short handle , unsigned long * nCaptures ); 
fcns.name{fcnNum}='ps5000aGetNoOfCaptures'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulongPtr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetNoOfProcessedCaptures ( short handle , unsigned long * nProcessedCaptures ); 
fcns.name{fcnNum}='ps5000aGetNoOfProcessedCaptures'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'ulongPtr'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aSetDeviceResolution ( short handle , PS5000A_DEVICE_RESOLUTION resolution ); 
fcns.name{fcnNum}='ps5000aSetDeviceResolution'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'enPS5000ADeviceResolution'};fcnNum=fcnNum+1;
% PICO_STATUS _stdcall ps5000aGetDeviceResolution ( short handle , PS5000A_DEVICE_RESOLUTION * resolution ); 
fcns.name{fcnNum}='ps5000aGetDeviceResolution'; fcns.calltype{fcnNum}='stdcall'; fcns.LHS{fcnNum}='ulong'; fcns.RHS{fcnNum}={'int16', 'enPS5000ADeviceResolutionPtr'};fcnNum=fcnNum+1;
structs.tPS5000ATriggerConditions.packing=1;
structs.tPS5000ATriggerConditions.members=struct('channelA', 'enPS5000ATriggerState', 'channelB', 'enPS5000ATriggerState', 'channelC', 'enPS5000ATriggerState', 'channelD', 'enPS5000ATriggerState', 'external', 'enPS5000ATriggerState', 'aux', 'enPS5000ATriggerState', 'pulseWidthQualifier', 'enPS5000ATriggerState');
structs.tPS5000APwqConditions.packing=1;
structs.tPS5000APwqConditions.members=struct('channelA', 'enPS5000ATriggerState', 'channelB', 'enPS5000ATriggerState', 'channelC', 'enPS5000ATriggerState', 'channelD', 'enPS5000ATriggerState', 'external', 'enPS5000ATriggerState', 'aux', 'enPS5000ATriggerState');
structs.tPS5000ATriggerChannelProperties.packing=1;
structs.tPS5000ATriggerChannelProperties.members=struct('thresholdUpper', 'int16', 'thresholdUpperHysteresis', 'uint16', 'thresholdLower', 'int16', 'thresholdLowerHysteresis', 'uint16', 'channel', 'enPS5000AChannel', 'thresholdMode', 'enPS5000AThresholdMode');
enuminfo.enPS5000ARatioMode=struct('PS5000A_RATIO_MODE_NONE',0,'PS5000A_RATIO_MODE_AGGREGATE',1,'PS5000A_RATIO_MODE_DECIMATE',2,'PS5000A_RATIO_MODE_AVERAGE',4,'PS5000A_RATIO_MODE_DISTRIBUTION',8);
enuminfo.enPS5000AThresholdDirection=struct('PS5000A_ABOVE',0,'PS5000A_BELOW',1,'PS5000A_RISING',2,'PS5000A_FALLING',3,'PS5000A_RISING_OR_FALLING',4,'PS5000A_ABOVE_LOWER',5,'PS5000A_BELOW_LOWER',6,'PS5000A_RISING_LOWER',7,'PS5000A_FALLING_LOWER',8,'PS5000A_INSIDE',0,'PS5000A_OUTSIDE',1,'PS5000A_ENTER',2,'PS5000A_EXIT',3,'PS5000A_ENTER_OR_EXIT',4,'PS5000A_POSITIVE_RUNT',9,'PS5000A_NEGATIVE_RUNT',10,'PS5000A_NONE',2);
enuminfo.enPS5000AChannelInfo=struct('PS5000A_CI_RANGES',0);
enuminfo.enPS5000AThresholdMode=struct('PS5000A_LEVEL',0,'PS5000A_WINDOW',1);
enuminfo.enPS5000APulseWidthType=struct('PS5000A_PW_TYPE_NONE',0,'PS5000A_PW_TYPE_LESS_THAN',1,'PS5000A_PW_TYPE_GREATER_THAN',2,'PS5000A_PW_TYPE_IN_RANGE',3,'PS5000A_PW_TYPE_OUT_OF_RANGE',4);
enuminfo.enPS5000AChannelBufferIndex=struct('PS5000A_CHANNEL_A_MAX',0,'PS5000A_CHANNEL_A_MIN',1,'PS5000A_CHANNEL_B_MAX',2,'PS5000A_CHANNEL_B_MIN',3,'PS5000A_CHANNEL_C_MAX',4,'PS5000A_CHANNEL_C_MIN',5,'PS5000A_CHANNEL_D_MAX',6,'PS5000A_CHANNEL_D_MIN',7,'PS5000A_MAX_CHANNEL_BUFFERS',8);
enuminfo.enPS5000ACoupling=struct('PS5000A_AC',0,'PS5000A_DC',1);
enuminfo.enPS5000AEtsMode=struct('PS5000A_ETS_OFF',0,'PS5000A_ETS_FAST',1,'PS5000A_ETS_SLOW',2,'PS5000A_ETS_MODES_MAX',3);
enuminfo.enPS5000ASweepType=struct('PS5000A_UP',0,'PS5000A_DOWN',1,'PS5000A_UPDOWN',2,'PS5000A_DOWNUP',3,'PS5000A_MAX_SWEEP_TYPES',4);
enuminfo.enPS5000ASigGenTrigType=struct('PS5000A_SIGGEN_RISING',0,'PS5000A_SIGGEN_FALLING',1,'PS5000A_SIGGEN_GATE_HIGH',2,'PS5000A_SIGGEN_GATE_LOW',3);
enuminfo.enPS5000ADeviceResolution=struct('PS5000A_DR_8BIT',0,'PS5000A_DR_12BIT',1,'PS5000A_DR_14BIT',2,'PS5000A_DR_15BIT',3,'PS5000A_DR_16BIT',4);
enuminfo.enPS5000AIndexMode=struct('PS5000A_SINGLE',0,'PS5000A_DUAL',1,'PS5000A_QUAD',2,'PS5000A_MAX_INDEX_MODES',3);
enuminfo.enPS5000AWaveType=struct('PS5000A_SINE',0,'PS5000A_SQUARE',1,'PS5000A_TRIANGLE',2,'PS5000A_RAMP_UP',3,'PS5000A_RAMP_DOWN',4,'PS5000A_SINC',5,'PS5000A_GAUSSIAN',6,'PS5000A_HALF_SINE',7,'PS5000A_DC_VOLTAGE',8,'PS5000A_WHITE_NOISE',9,'PS5000A_MAX_WAVE_TYPES',10);
enuminfo.enPS5000ABandwidthLimiter=struct('PS5000A_BW_FULL',0,'PS5000A_BW_20MHZ',1);
enuminfo.enPS5000ASigGenTrigSource=struct('PS5000A_SIGGEN_NONE',0,'PS5000A_SIGGEN_SCOPE_TRIG',1,'PS5000A_SIGGEN_AUX_IN',2,'PS5000A_SIGGEN_EXT_IN',3,'PS5000A_SIGGEN_SOFT_TRIG',4);
enuminfo.enPS5000AChannel=struct('PS5000A_CHANNEL_A',0,'PS5000A_CHANNEL_B',1,'PS5000A_CHANNEL_C',2,'PS5000A_CHANNEL_D',3,'PS5000A_EXTERNAL',4,'PS5000A_MAX_CHANNELS',4,'PS5000A_TRIGGER_AUX',5,'PS5000A_MAX_TRIGGER_SOURCES',6);
enuminfo.enPS5000AExtraOperations=struct('PS5000A_ES_OFF',0,'PS5000A_WHITENOISE',1,'PS5000A_PRBS',2);
enuminfo.enPS5000ATriggerState=struct('PS5000A_CONDITION_DONT_CARE',0,'PS5000A_CONDITION_TRUE',1,'PS5000A_CONDITION_FALSE',2,'PS5000A_CONDITION_MAX',3);
enuminfo.enPS5000ATimeUnits=struct('PS5000A_FS',0,'PS5000A_PS',1,'PS5000A_NS',2,'PS5000A_US',3,'PS5000A_MS',4,'PS5000A_S',5,'PS5000A_MAX_TIME_UNITS',6);
enuminfo.enPS5000ARange=struct('PS5000A_10MV',0,'PS5000A_20MV',1,'PS5000A_50MV',2,'PS5000A_100MV',3,'PS5000A_200MV',4,'PS5000A_500MV',5,'PS5000A_1V',6,'PS5000A_2V',7,'PS5000A_5V',8,'PS5000A_10V',9,'PS5000A_20V',10,'PS5000A_50V',11,'PS5000A_MAX_RANGES',12);
methodinfo=fcns;

Contact us