Prog ramming the 3000A Series oscilloscopes92
Copyright © 2011-2013 Pico Technology Limited. All rights reserved.ps3000abpg.en r9
2.12.53.1 PS3000A_TRIGGER_CONDITIONS structure
A structure of this type is passed to ps3000aSetTriggerChannelConditions in the
conditions argument to specify the trigger conditions, and is defined as follows: -
typedef struct tPS3000ATriggerConditions
{
PS3000A_TRIGGER_STATE channelA;
PS3000A_TRIGGER_STATE channelB;
PS3000A_TRIGGER_STATE channelC;
PS3000A_TRIGGER_STATE channelD;
PS3000A_TRIGGER_STATE external;
PS3000A_TRIGGER_STATE aux;
PS3000A_TRIGGER_STATE pulseWidthQualifier;
} PS3000A_TRIGGER_CONDITIONS
Each structure is the logical AND of the states of the scope's inputs. The
ps3000aSetTriggerChannelConditions function can OR together a number of these
structures to produce the final trigger condition, which can be any possible Boolean
function of the scope's inputs.
The structure is byte-aligned. In C++, for example, you should specify this using the
#pragma pack() instruction.
channelA, channelB, channelC, channelD, external,
pulseWidthQualifier, the type of condition that should be
applied to each channel. Use these constants:
PS3000A_CONDITION_DONT_CARE
PS3000A_CONDITION_TRUE
PS3000A_CONDITION_FALSE
The channels that are set to PS3000A_CONDITION_TRUE or
PS3000A_CONDITION_FALSE must all meet their conditions
simultaneously to produce a trigger. Channels set to
PS3000A_CONDITION_DONT_CARE are ignored.
aux, not used